name:          curry-frontend
version:       2.0.0
cabal-version: 2.0
synopsis:      Compile the functional logic language Curry to several
               intermediate formats
description:   The Curry front end consists of the executable program
               "curry-frontend".
               It is used by various backends to compile Curry programs to
               an intermediate representation.
               The code is a stripped-down version of an early version of
               the Muenster Curry Compiler
               (<http://danae.uni-muenster.de/curry/>)
               which has been extended to produce different intermediate
               representations.
               For further information, please check
               <http://curry-language.org>
category:      Language
license:       BSD3
license-file:  LICENSE
author:        Wolfgang Lux, Martin Engelke, Bernd Brassel, Holger Siegel,
               Bjoern Peemoeller, Finn Teegen
maintainer:    fte@informatik.uni-kiel.de
homepage:      http://curry-language.org
build-type:    Simple
stability:     experimental

extra-source-files: README.md CHANGELOG.md

data-dir:   data
data-files: currysource.css

source-repository head
  type:     git
  location: https://git.ps.informatik.uni-kiel.de/curry/curry-frontend.git

library
  hs-source-dirs:   src
  default-language: Haskell2010
  other-extensions: CPP, TemplateHaskell
  ghc-options:      -Wall
  build-depends:
      base >= 4.11
    , template-haskell >= 2.10
    , extra >= 1.4.6
    , transformers
    , mtl
    , directory >= 1.2.0.1
    , filepath
    , file-embed
    , containers
    , set-extra
    , bytestring >= 0.10
    , process
    , network-uri >= 2.6
    , pretty
    , binary
    , time
    , parsec
  exposed-modules:
      Base.AnnotExpr
    , Base.CurryKinds
    , Base.CurryTypes
    , Base.Expr
    , Base.KindSubst
    , Base.Kinds
    , Base.Messages
    , Base.NestEnv
    , Base.PrettyKinds
    , Base.PrettyTypes
    , Base.SCC
    , Base.Subst
    , Base.TopEnv
    , Base.TypeExpansion
    , Base.TypeSubst
    , Base.Types
    , Base.Typing
    , Base.Utils
    , Checks
    , Checks.DeriveCheck
    , Checks.ExportCheck
    , Checks.ExtensionCheck
    , Checks.ImportSyntaxCheck
    , Checks.InstanceCheck
    , Checks.InterfaceCheck
    , Checks.InterfaceSyntaxCheck
    , Checks.KindCheck
    , Checks.PrecCheck
    , Checks.SyntaxCheck
    , Checks.TypeCheck
    , Checks.TypeSyntaxCheck
    , Checks.WarnCheck
    , Curry.AbstractCurry
    , Curry.AbstractCurry.Files
    , Curry.AbstractCurry.Type
    , Curry.Base.Ident
    , Curry.Base.LexComb
    , Curry.Base.LLParseComb
    , Curry.Base.Message
    , Curry.Base.Monad
    , Curry.Base.Position
    , Curry.Base.Pretty
    , Curry.Base.Span
    , Curry.Base.SpanInfo
    , Curry.CondCompile.Parser
    , Curry.CondCompile.Transform
    , Curry.CondCompile.Type
    , Curry.Files.Filenames
    , Curry.Files.PathUtils
    , Curry.Files.Unlit
    , Curry.FlatCurry
    , Curry.FlatCurry.Files
    , Curry.FlatCurry.Goodies
    , Curry.FlatCurry.InterfaceEquivalence
    , Curry.FlatCurry.Pretty
    , Curry.FlatCurry.Type
    , Curry.FlatCurry.Typeable
    , Curry.FlatCurry.Annotated.Goodies
    , Curry.FlatCurry.Annotated.Type
    , Curry.FlatCurry.Typed.Goodies
    , Curry.FlatCurry.Typed.Type
    , Curry.Syntax
    , Curry.Syntax.Extension
    , Curry.Syntax.InterfaceEquivalence
    , Curry.Syntax.Lexer
    , Curry.Syntax.Parser
    , Curry.Syntax.Pretty
    , Curry.Syntax.ShowModule
    , Curry.Syntax.Type
    , Curry.Syntax.Utils
    , CompilerEnv
    , CompilerOpts
    , CondCompile
    , CurryBuilder
    , CurryDeps
    , Env.Class
    , Env.Instance
    , Env.Interface
    , Env.ModuleAlias
    , Env.OpPrec
    , Env.Type
    , Env.TypeConstructor
    , Env.Value
    , Exports
    , Files.CymakePath
    , Generators
    , Generators.GenAbstractCurry
    , Generators.GenFlatCurry
    , Generators.GenTypedFlatCurry
    , Generators.GenAnnotatedFlatCurry
    , Html.CurryHtml
    , Html.SyntaxColoring
    , IL
    , IL.Pretty
    , IL.ShowModule
    , IL.Type
    , IL.Typing
    , Imports
    , Interfaces
    , Modules
    , TokenStream
    , Transformations
    , Transformations.CaseCompletion
    , Transformations.CurryToIL
    , Transformations.Derive
    , Transformations.Desugar
    , Transformations.Dictionary
    , Transformations.Lift
    , Transformations.Newtypes
    , Transformations.Qual
    , Transformations.Simplify
    , Paths_curry_frontend
  autogen-modules:
      Paths_curry_frontend

executable curry-frontend
  hs-source-dirs:   app
  main-is:          cymake.hs
  default-language: Haskell2010
  ghc-options:      -Wall
  build-depends:
      base >= 4.11
    , curry-frontend

test-suite test-frontend
  type:             detailed-0.9
  hs-source-dirs:   test
  test-module:      TestFrontend
  default-language: Haskell2010
  other-extensions: CPP, TemplateHaskell
  ghc-options:      -Wall
  build-depends:
      base >= 4.11
    , Cabal >= 1.20
    , template-haskell >= 2.10
    , extra >= 1.4.6
    , transformers
    , mtl
    , directory >= 1.2.0.1
    , filepath
    , file-embed
    , containers
    , set-extra
    , bytestring >= 0.10
    , process
    , network-uri >= 2.6
    , pretty
    , curry-frontend
