Name: ddc-core Version: 0.4.2.1 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.9, array >= 0.4 && < 0.6, deepseq >= 1.3 && < 1.5, containers == 0.5.*, directory == 1.2.*, text >= 1.0 && < 1.3, transformers == 0.4.*, mtl == 2.2.1.*, ddc-base == 0.4.2.* Exposed-modules: DDC.Core.Collect.Support DDC.Core.Exp.Annot.AnT DDC.Core.Exp.Annot.AnTEC DDC.Core.Exp.Annot.Compounds DDC.Core.Exp.Annot.Context DDC.Core.Exp.Annot.Ctx DDC.Core.Exp.Annot.Exp DDC.Core.Exp.Annot.Predicates DDC.Core.Exp.Generic.BindStruct DDC.Core.Exp.Generic.Compounds DDC.Core.Exp.Generic.Exp DDC.Core.Exp.Generic.Predicates DDC.Core.Exp.Generic.Pretty DDC.Core.Exp.Simple.Compounds DDC.Core.Exp.Simple.Exp DDC.Core.Exp.Annot DDC.Core.Exp DDC.Core.Lexer.Names DDC.Core.Lexer.Tokens DDC.Core.Lexer.Unicode DDC.Core.Transform.Annotate DDC.Core.Transform.BoundT DDC.Core.Transform.BoundX DDC.Core.Transform.Deannotate 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.Fragment DDC.Core.Lexer DDC.Core.Load DDC.Core.Module DDC.Core.Parser DDC.Core.Pretty 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.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.Witness DDC.Core.Collect.Free DDC.Core.Collect.Free.Simple 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.Comments DDC.Core.Lexer.Offside 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.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.Exp.Base DDC.Type.Exp.NFData DDC.Type.Pretty GHC-options: -Wall -fno-warn-orphans -fno-warn-unused-do-bind -fno-warn-missing-methods -fno-warn-missing-signatures Extensions: NoMonomorphismRestriction FunctionalDependencies MultiParamTypeClasses UndecidableInstances ScopedTypeVariables StandaloneDeriving DeriveDataTypeable FlexibleInstances ParallelListComp FlexibleContexts ConstraintKinds DoAndIfThenElse PatternSynonyms KindSignatures PatternGuards BangPatterns InstanceSigs ViewPatterns RankNTypes