ddc-core-0.3.1.1: ddc-core.cabal
Name: ddc-core
Version: 0.3.1.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
Bug-reports: 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, but explicit lazy evaluation is also supported.
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 suspended with
lazy evaluation.
See the @ddc-tools@ package for a user-facing interpreter and compiler.
Library
Build-Depends:
base == 4.6.*,
deepseq == 1.3.*,
containers == 0.5.*,
array == 0.4.*,
directory == 1.2.*,
transformers == 0.3.*,
mtl == 2.1.*,
ddc-base == 0.3.1.*
Exposed-modules:
DDC.Core.Lexer.Names
DDC.Core.Lexer.Tokens
DDC.Core.Transform.LiftT
DDC.Core.Transform.LiftX
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.DaCon
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.Pretty
DDC.Type.Subsumes
DDC.Type.Sum
DDC.Type.Universe
Other-modules:
DDC.Core.Check.CheckDaCon
DDC.Core.Check.CheckExp
DDC.Core.Check.CheckModule
DDC.Core.Check.CheckWitness
DDC.Core.Check.ErrorMessage
DDC.Core.Check.Error
DDC.Core.Check.TaggedClosure
DDC.Core.Collect.Support
DDC.Core.Collect.Free
DDC.Core.Exp.Base
DDC.Core.Exp.NFData
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.Core.Parser.Base
DDC.Core.Parser.Exp
DDC.Core.Parser.Module
DDC.Core.Parser.Param
DDC.Core.Parser.Type
DDC.Core.Parser.Witness
DDC.Type.Check.CheckCon
DDC.Type.Check.Error
DDC.Type.Check.ErrorMessage
DDC.Type.Collect.FreeT
DDC.Type.Exp.Base
DDC.Type.Exp.NFData
GHC-options:
-Wall
-fno-warn-orphans
-fno-warn-missing-signatures
-fno-warn-unused-do-bind
Extensions:
BangPatterns
ParallelListComp
PatternGuards
RankNTypes
FlexibleContexts
FlexibleInstances
MultiParamTypeClasses
UndecidableInstances
KindSignatures
NoMonomorphismRestriction
ScopedTypeVariables
StandaloneDeriving
DoAndIfThenElse
DeriveDataTypeable
ViewPatterns