Name: ddc-core Version: 0.4.1.3 License: MIT License-file: LICENSE Author: The Disciplined Disciple Compiler Strike Force Maintainer: Ben Lippmeier 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