ddc-core-0.4.3.1: ddc-core.cabal
Name: ddc-core
Version: 0.4.3.1
License: MIT
License-file: LICENSE
Author: The Disciplined Disciple Compiler Strike Force
Maintainer: Ben Lippmeier <benl@ouroborus.net>
Build-Type: Simple
Cabal-Version: >=1.6
Stability: experimental
Category: Compilers/Interpreters
Homepage: http://disciple.ouroborus.net
Synopsis: Disciplined Disciple Compiler core language and type checker.
Description:
Disciple Core is an explicitly typed language based on System-F2,
intended as an intermediate representation for a compiler. In addition
to the polymorphism of System-F2 it supports region, effect and closure
typing. Evaluation order is left-to-right call-by-value by default.
There is a capability system to track whether objects are mutable or
constant, and to ensure that computations that perform visible side
effects are not reordered inappropriately.
See the @ddc-tools@ package for a user-facing interpreter and compiler.
Library
Build-Depends:
base >= 4.6 && < 4.10,
array >= 0.4 && < 0.6,
deepseq >= 1.3 && < 1.5,
containers == 0.5.*,
directory == 1.2.*,
text >= 1.0 && < 1.3,
transformers == 0.5.*,
mtl >= 2.2 && < 2.3,
inchworm >= 1.0.2 && < 1.1,
filepath >= 1.4.1 && < 1.5,
wl-pprint >= 1.2 && < 1.3,
parsec >= 3.1 && < 3.2
Exposed-modules:
DDC.Control.Check
DDC.Control.Panic
DDC.Control.Parser
DDC.Core.Collect.Support
DDC.Core.Collect.BindStruct
DDC.Core.Collect.FreeT
DDC.Core.Collect.FreeX
DDC.Core.Env.EnvT
DDC.Core.Env.EnvX
DDC.Core.Exp.Annot.AnT
DDC.Core.Exp.Annot.AnTEC
DDC.Core.Exp.Annot.Context
DDC.Core.Exp.Annot.Ctx
DDC.Core.Exp.Generic.BindStruct
DDC.Core.Exp.Annot
DDC.Core.Exp.Generic
DDC.Core.Exp.Literal
DDC.Core.Lexer.Offside
DDC.Core.Lexer.Tokens
DDC.Core.Lexer.Unicode
DDC.Core.Transform.BoundT
DDC.Core.Transform.BoundX
DDC.Core.Transform.MapT
DDC.Core.Transform.Reannotate
DDC.Core.Transform.Rename
DDC.Core.Transform.SpreadX
DDC.Core.Transform.SubstituteTX
DDC.Core.Transform.SubstituteWX
DDC.Core.Transform.SubstituteXX
DDC.Core.Call
DDC.Core.Check
DDC.Core.Collect
DDC.Core.Exp
DDC.Core.Fragment
DDC.Core.Lexer
DDC.Core.Load
DDC.Core.Module
DDC.Core.Parser
DDC.Core.Pretty
DDC.Data.Canned
DDC.Data.Env
DDC.Data.ListUtils
DDC.Data.Name
DDC.Data.Pretty
DDC.Data.SourcePos
DDC.Type.Exp.Flat.Exp
DDC.Type.Exp.Flat.Pretty
DDC.Type.Exp.Generic.Binding
DDC.Type.Exp.Generic.Compounds
DDC.Type.Exp.Generic.Exp
DDC.Type.Exp.Generic.NFData
DDC.Type.Exp.Generic.Predicates
DDC.Type.Exp.Generic.Pretty
DDC.Type.Exp.Simple.Compounds
DDC.Type.Exp.Simple.Equiv
DDC.Type.Exp.Simple.Exp
DDC.Type.Exp.Simple.Predicates
DDC.Type.Exp.Simple.Subsumes
DDC.Type.Exp.Flat
DDC.Type.Exp.Generic
DDC.Type.Exp.Pretty
DDC.Type.Exp.Simple
DDC.Type.Exp.TyCon
DDC.Type.Transform.BoundT
DDC.Type.Transform.Instantiate
DDC.Type.Transform.Rename
DDC.Type.Transform.SpreadT
DDC.Type.Transform.SubstituteT
DDC.Type.Bind
DDC.Type.DataDef
DDC.Type.Env
DDC.Type.Exp
DDC.Type.Sum
DDC.Type.Universe
DDC.Version
Other-modules:
DDC.Core.Check.Context.Apply
DDC.Core.Check.Context.Base
DDC.Core.Check.Context.Effect
DDC.Core.Check.Context.Elem
DDC.Core.Check.Context.Mode
DDC.Core.Check.Error.ErrorData
DDC.Core.Check.Error.ErrorDataMessage
DDC.Core.Check.Error.ErrorExp
DDC.Core.Check.Error.ErrorExpMessage
DDC.Core.Check.Error.ErrorType
DDC.Core.Check.Error.ErrorTypeMessage
DDC.Core.Check.Judge.Kind.TyCon
DDC.Core.Check.Judge.Type.AppT
DDC.Core.Check.Judge.Type.AppX
DDC.Core.Check.Judge.Type.Base
DDC.Core.Check.Judge.Type.Case
DDC.Core.Check.Judge.Type.Cast
DDC.Core.Check.Judge.Type.DaCon
DDC.Core.Check.Judge.Type.LamT
DDC.Core.Check.Judge.Type.LamX
DDC.Core.Check.Judge.Type.Let
DDC.Core.Check.Judge.Type.LetPrivate
DDC.Core.Check.Judge.Type.Sub
DDC.Core.Check.Judge.Type.VarCon
DDC.Core.Check.Judge.Type.Witness
DDC.Core.Check.Judge.DataDefs
DDC.Core.Check.Judge.EqT
DDC.Core.Check.Judge.Inst
DDC.Core.Check.Judge.Kind
DDC.Core.Check.Judge.Module
DDC.Core.Check.Judge.Sub
DDC.Core.Check.Judge.Witness
DDC.Core.Check.Base
DDC.Core.Check.Config
DDC.Core.Check.Context
DDC.Core.Check.Error
DDC.Core.Check.Exp
DDC.Core.Exp.Annot.Exp
DDC.Core.Exp.Annot.Compounds
DDC.Core.Exp.Annot.Predicates
DDC.Core.Exp.Annot.Pretty
DDC.Core.Exp.Generic.Exp
DDC.Core.Exp.Generic.Compounds
DDC.Core.Exp.Generic.Predicates
DDC.Core.Exp.Generic.Pretty
DDC.Core.Exp.DaCon
DDC.Core.Exp.WiCon
DDC.Core.Fragment.Compliance
DDC.Core.Fragment.Error
DDC.Core.Fragment.Feature
DDC.Core.Fragment.Profile
DDC.Core.Lexer.Token.Builtin
DDC.Core.Lexer.Token.Index
DDC.Core.Lexer.Token.Keyword
DDC.Core.Lexer.Token.Literal
DDC.Core.Lexer.Token.Names
DDC.Core.Lexer.Token.Operator
DDC.Core.Lexer.Token.Symbol
DDC.Core.Module.Export
DDC.Core.Module.Import
DDC.Core.Module.Name
DDC.Core.Parser.Base
DDC.Core.Parser.Context
DDC.Core.Parser.DataDef
DDC.Core.Parser.Exp
DDC.Core.Parser.ExportSpec
DDC.Core.Parser.ImportSpec
DDC.Core.Parser.Module
DDC.Core.Parser.Param
DDC.Core.Parser.Type
DDC.Core.Parser.Witness
DDC.Type.Exp.Simple.NFData
DDC.Type.Exp.Simple.Pretty
GHC-options:
-Wall
-fno-warn-orphans
-fno-warn-unused-do-bind
-fno-warn-missing-methods
-fno-warn-missing-signatures
-fno-warn-missing-pattern-synonym-signatures
-fno-warn-redundant-constraints
Extensions:
NoMonomorphismRestriction
FunctionalDependencies
MultiParamTypeClasses
UndecidableInstances
ScopedTypeVariables
StandaloneDeriving
DeriveDataTypeable
FlexibleInstances
ParallelListComp
FlexibleContexts
ConstraintKinds
DoAndIfThenElse
PatternSynonyms
KindSignatures
PatternGuards
BangPatterns
InstanceSigs
ViewPatterns
RankNTypes