Name: ddc-core Version: 0.4.3.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.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