packages feed

ddc-core-0.4.3.1: ddc-core.cabal

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