ddc-core-0.4.1.2: ddc-core.cabal
Name: ddc-core
Version: 0.4.1.2
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.8,
array >= 0.4 && < 0.6,
deepseq == 1.3.*,
containers == 0.5.*,
directory == 1.2.*,
transformers == 0.4.*,
mtl == 2.2.*,
ddc-base == 0.4.1.*
Exposed-modules:
DDC.Core.Annot.AnT
DDC.Core.Annot.AnTEC
DDC.Core.Compounds.Annot
DDC.Core.Compounds.Simple
DDC.Core.Exp.Annot
DDC.Core.Exp.Simple
DDC.Core.Lexer.Names
DDC.Core.Lexer.Tokens
DDC.Core.Transform.Annotate
DDC.Core.Transform.Deannotate
DDC.Core.Transform.LiftT
DDC.Core.Transform.LiftX
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.Transform.Trim
DDC.Core.Check
DDC.Core.Collect
DDC.Core.Compounds
DDC.Core.Exp
DDC.Core.Fragment
DDC.Core.Lexer
DDC.Core.Load
DDC.Core.Module
DDC.Core.Parser
DDC.Core.Predicates
DDC.Core.Pretty
DDC.Type.Transform.Crush
DDC.Type.Transform.Instantiate
DDC.Type.Transform.LiftT
DDC.Type.Transform.Rename
DDC.Type.Transform.SpreadT
DDC.Type.Transform.SubstituteT
DDC.Type.Transform.Trim
DDC.Type.Bind
DDC.Type.Check
DDC.Type.Collect
DDC.Type.Compounds
DDC.Type.DataDef
DDC.Type.Env
DDC.Type.Equiv
DDC.Type.Exp
DDC.Type.Predicates
DDC.Type.Subsumes
DDC.Type.Sum
DDC.Type.Universe
Other-modules:
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.Eq
DDC.Core.Check.Judge.Inst
DDC.Core.Check.Judge.Sub
DDC.Core.Check.Base
DDC.Core.Check.Error
DDC.Core.Check.ErrorMessage
DDC.Core.Check.Exp
DDC.Core.Check.Module
DDC.Core.Check.TaggedClosure
DDC.Core.Check.Witness
DDC.Core.Collect.Free
DDC.Core.Collect.Free.Simple
DDC.Core.Collect.Support
DDC.Core.Exp.DaCon
DDC.Core.Exp.Pat
DDC.Core.Exp.WiCon
DDC.Core.Parser.Base
DDC.Core.Parser.Context
DDC.Core.Parser.Exp
DDC.Core.Parser.Module
DDC.Core.Parser.Param
DDC.Core.Parser.Type
DDC.Core.Parser.Witness
DDC.Core.Fragment.Compliance
DDC.Core.Fragment.Error
DDC.Core.Fragment.Feature
DDC.Core.Fragment.Profile
DDC.Core.Lexer.Comments
DDC.Core.Lexer.Offside
DDC.Type.Check.Judge.Eq
DDC.Type.Check.Judge.Kind
DDC.Type.Check.Base
DDC.Type.Check.CheckCon
DDC.Type.Check.Config
DDC.Type.Check.Context
DDC.Type.Check.Data
DDC.Type.Check.Error
DDC.Type.Check.ErrorMessage
DDC.Type.Collect.FreeT
DDC.Type.Pretty
DDC.Type.Exp.Base
DDC.Type.Exp.NFData
GHC-options:
-Wall
-fno-warn-orphans
-fno-warn-missing-signatures
-fno-warn-unused-do-bind
-fno-warn-missing-methods
Extensions:
BangPatterns
ParallelListComp
PatternGuards
RankNTypes
FlexibleContexts
FlexibleInstances
MultiParamTypeClasses
UndecidableInstances
KindSignatures
NoMonomorphismRestriction
ScopedTypeVariables
StandaloneDeriving
DoAndIfThenElse
DeriveDataTypeable
ViewPatterns
FunctionalDependencies