packages feed

ddc-core-0.2.0.2: ddc-core.cabal

Name:           ddc-core
Version:        0.2.0.2
License:        MIT
License-file:   LICENSE
Author:         Ben Lippmeier
Maintainer:     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:       Disciple 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 features 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 also 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 @ddci-core@ package for a user-facing interpreter.

Library
  Build-Depends: 
        base            == 4.5.*,
        containers      == 0.4.*,
        array           == 0.4.*,
        transformers    == 0.2.*,
        mtl             == 2.0.*,
        ddc-base        == 0.2.0.*

  Exposed-modules:
        DDC.Core.Check.CheckExp
        DDC.Core.Check.CheckWitness
        DDC.Core.Check.Error
        DDC.Core.Check.TaggedClosure
        DDC.Core.Parser.Lexer
        DDC.Core.Parser.Tokens
        DDC.Core.Transform.LiftW
        DDC.Core.Transform.LiftX
        DDC.Core.Transform.SpreadX
        DDC.Core.Transform.SubstituteTX
        DDC.Core.Transform.SubstituteWX
        DDC.Core.Transform.SubstituteXX
        DDC.Core.Check
        DDC.Core.Collect
        DDC.Core.Compounds
        DDC.Core.DataDef
        DDC.Core.Exp
        DDC.Core.Pretty
        DDC.Core.Predicates
        DDC.Core.Parser
        DDC.Type.Check.Monad
        DDC.Type.Transform.Crush
        DDC.Type.Transform.Instantiate
        DDC.Type.Transform.LiftT
        DDC.Type.Transform.LowerT
        DDC.Type.Transform.SpreadT
        DDC.Type.Transform.SubstituteT
        DDC.Type.Transform.Trim
        DDC.Type.Check
        DDC.Type.Compounds
        DDC.Type.Env
        DDC.Type.Equiv
        DDC.Type.Exp
        DDC.Type.Parser
        DDC.Type.Predicates
        DDC.Type.Rewrite
        DDC.Type.Subsumes
        DDC.Type.Sum
        DDC.Type.Universe

  Other-modules:
        DDC.Core.Check.ErrorMessage
        DDC.Type.Check.CheckCon
        DDC.Type.Check.CheckError
        DDC.Type.Pretty
                  
  GHC-options:
        -Wall
        -fno-warn-orphans
        -fno-warn-missing-signatures
        -fno-warn-unused-do-bind

  Extensions:
        ParallelListComp
        PatternGuards
        RankNTypes
        FlexibleContexts
        FlexibleInstances
        MultiParamTypeClasses
        UndecidableInstances
        KindSignatures
        NoMonomorphismRestriction
        ScopedTypeVariables
        StandaloneDeriving
        DoAndIfThenElse