packages feed

hic-0.0.0.1: hic.cabal

name:          hic
version:       0.0.0.1
synopsis:      High Integrity Cimple (Hic) inference and lowering
homepage:      https://toktok.github.io/
license:       GPL-3
license-file:  LICENSE
author:        Iphigenia Df <iphydf@gmail.com>
maintainer:    Iphigenia Df <iphydf@gmail.com>
copyright:     Copyright (c) 2016-2026, Iphigenia Df
category:      Data
stability:     Experimental
cabal-version: >=1.10
build-type:    Simple
description:
  Reverse compiler for Cimple, inferring higher-level constructs from C-like code.

library
  default-language: Haskell2010
  hs-source-dirs:   src
  ghc-options:      -Wall
  exposed-modules:
    Language.Cimple.Hic
    Language.Cimple.Hic.Ast
    Language.Cimple.Hic.Context
    Language.Cimple.Hic.Feature
    Language.Cimple.Hic.Inference
    Language.Cimple.Hic.Inference.Context
    Language.Cimple.Hic.Inference.Raise
    Language.Cimple.Hic.Inference.Scoped
    Language.Cimple.Hic.Inference.TaggedUnion
    Language.Cimple.Hic.Inference.Type
    Language.Cimple.Hic.Program
    Language.Cimple.Hic.Program.Types
    Language.Cimple.Analysis.Pretty
    Language.Cimple.Analysis.Types
    Language.Cimple.Analysis.Worklist
    Language.Cimple.Analysis.TypeCheck
    Language.Cimple.Analysis.GlobalStructuralAnalysis
    Language.Cimple.Analysis.ArrayUsageAnalysis
    Language.Cimple.Analysis.CallGraphAnalysis
    Language.Cimple.Analysis.ConstraintGeneration
    Language.Cimple.Analysis.OrderedSolver
    Language.Cimple.Analysis.TypeSystem
    Language.Cimple.Analysis.TypeSystem.AlgebraicSolver
    Language.Cimple.Analysis.TypeSystem.Canonicalization
    Language.Cimple.Analysis.TypeSystem.Constraints
    Language.Cimple.Analysis.TypeSystem.GraphAlgebra
    Language.Cimple.Analysis.TypeSystem.GraphSolver
    Language.Cimple.Analysis.TypeSystem.Lattice
    Language.Cimple.Analysis.TypeSystem.Qualification
    Language.Cimple.Analysis.TypeSystem.Solver
    Language.Cimple.Analysis.TypeSystem.Substitution
    Language.Cimple.Analysis.TypeSystem.Transition
    Language.Cimple.Analysis.TypeSystem.TypeGraph
    Language.Cimple.Analysis.TypeSystem.Types
    Language.Cimple.Analysis.TypeSystem.Unification
    Language.Cimple.Analysis.Errors
    Language.Cimple.Analysis.AstUtils
    Language.Cimple.Analysis.BuiltinMap
    Language.Cimple.Analysis.Builtins
    Language.Cimple.Analysis.CFG
    Language.Cimple.Analysis.DataFlow
    Language.Cimple.Analysis.NullabilityAnalysis
    Language.Cimple.Analysis.Scope
    Language.Cimple.Analysis.TypeCheck.Constraints
    Language.Cimple.Analysis.TypeCheck.Solver
    Language.Cimple.Analysis.Refined.Context
    Language.Cimple.Analysis.Refined.Inference
    Language.Cimple.Analysis.Refined.Inference.Lifter
    Language.Cimple.Analysis.Refined.Inference.Substitution
    Language.Cimple.Analysis.Refined.Inference.Translator
    Language.Cimple.Analysis.Refined.Inference.Types
    Language.Cimple.Analysis.Refined.Inference.Utils
    Language.Cimple.Analysis.Refined.Lattice
    Language.Cimple.Analysis.Refined.LatticeOp
    Language.Cimple.Analysis.Refined.PathContext
    Language.Cimple.Analysis.Refined.Registry
    Language.Cimple.Analysis.Refined.SemanticEquality
    Language.Cimple.Analysis.Refined.Solver
    Language.Cimple.Analysis.Refined.State
    Language.Cimple.Analysis.Refined.Transition
    Language.Cimple.Analysis.Refined.Types
    Language.Cimple.Hic.Analyze
    Language.Cimple.Hic.Inference.Iteration
    Language.Cimple.Hic.Inference.Utils
    Language.Cimple.Hic.Pretty
  build-depends:
      aeson
    , base                 <5
    , cimple               >=0.0.28
    , containers
    , data-fix
    , hashable
    , mtl
    , prettyprinter
    , prettyprinter-ansi-terminal
    , QuickCheck
    , text
    , transformers-compat

executable hic-check
  default-language: Haskell2010
  hs-source-dirs:   tools
  ghc-options:      -Wall
  main-is:          hic-check.hs
  build-depends:
      aeson
    , base        <5
    , bytestring
    , cimple
    , containers
    , data-fix
    , groom
    , hic
    , optparse-applicative
    , prettyprinter
    , prettyprinter-ansi-terminal
    , process
    , text

test-suite testsuite
  type:               exitcode-stdio-1.0
  default-language:   Haskell2010
  hs-source-dirs:     test
  main-is:            testsuite.hs
  other-modules:
    Language.Cimple.HicSpec
    Language.Cimple.Hic.InferenceSpec
    Language.Cimple.Hic.Inference.TaggedUnionSpec
    Language.Cimple.Analysis.GlobalStructuralAnalysisSpec
    Language.Cimple.Analysis.TypeSystemSpec
    Language.Cimple.Analysis.ArrayUsageAnalysisSpec
    Language.Cimple.Analysis.CallGraphAnalysisSpec
    Language.Cimple.Analysis.ConstraintGenerationSpec
    Language.Cimple.Analysis.OrderedSolverSpec
    Language.Cimple.Analysis.TypeSystem.GraphAlgebraSpec
    Language.Cimple.Analysis.DataFlowSpec
    Language.Cimple.Analysis.ErrorMessageSpec
    Language.Cimple.Analysis.NullabilityAnalysisSpec
    Language.Cimple.Analysis.ScopeSpec
    Language.Cimple.Analysis.TypeCheck.ConstraintsSpec
    Language.Cimple.Analysis.TypeCheck.SolverSpec
    Language.Cimple.Analysis.TypeCheckSpec
    Language.Cimple.Analysis.TypeSystem.AlgebraicSolverSpec
    Language.Cimple.Analysis.TypeSystem.CanonicalizationSpec
    Language.Cimple.Analysis.TypeSystem.ConstraintsSpec
    Language.Cimple.Analysis.TypeSystem.GraphSolverSpec
    Language.Cimple.Analysis.TypeSystem.LatticeSpec
    Language.Cimple.Analysis.TypeSystem.SolverSpec
    Language.Cimple.Analysis.TypeSystem.SubstitutionSpec
    Language.Cimple.Analysis.TypeSystem.TransitionSpec
    Language.Cimple.Analysis.TypeSystem.TypeGraphSpec
    Language.Cimple.Analysis.TypeSystem.TypesSpec
    Language.Cimple.Analysis.TypeSystem.UnificationSpec
    Language.Cimple.Analysis.Refined.ContextSpec
    Language.Cimple.Analysis.Refined.Arbitrary
    Language.Cimple.Analysis.Refined.LatticeOpSpec
    Language.Cimple.Analysis.Refined.PathContextSpec
    Language.Cimple.Analysis.Refined.SemanticEqualitySpec
    Language.Cimple.Analysis.Refined.TransitionSpec
    Language.Cimple.Analysis.Refined.InferenceSpec
    Language.Cimple.Analysis.Refined.Inference.LifterSpec
    Language.Cimple.Analysis.Refined.Inference.SubstitutionSpec
    Language.Cimple.Analysis.Refined.Inference.TranslatorSpec
    Language.Cimple.Hic.Inference.IterationSpec
    Language.Cimple.Hic.Inference.RaiseSpec
    Language.Cimple.Hic.Inference.ScopedSpec

  ghc-options:        -Wall -Wno-unused-imports
  build-tool-depends: hspec-discover:hspec-discover
  build-depends:
      base                 <5
    , cimple
    , containers
    , data-fix
    , groom
    , hic
    , hspec
    , QuickCheck
    , mtl
    , prettyprinter
    , prettyprinter-ansi-terminal
    , text