packages feed

ddc-core-0.3.2.1: ddc-core.cabal

Name:           ddc-core
Version:        0.3.2.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.*,
        deepseq         == 1.3.*,
        containers      == 0.5.*,
        array           == 0.4.*,
        directory       == 1.2.*,
        transformers    == 0.3.*,
        mtl             == 2.1.*,
        ddc-base        == 0.3.2.*

  Exposed-modules:
        DDC.Core.Annot.AnT
        DDC.Core.Annot.AnTEC

        DDC.Core.Check
        DDC.Core.Collect

        DDC.Core.Compounds.Annot
        DDC.Core.Compounds.Simple
        DDC.Core.Compounds

        DDC.Core.Exp.Simple
        DDC.Core.Exp.Annot
        DDC.Core.Exp

        DDC.Core.Fragment

        DDC.Core.Lexer.Names
        DDC.Core.Lexer.Tokens
        DDC.Core.Lexer

        DDC.Core.Parser

        DDC.Core.Transform.Annotate
        DDC.Core.Transform.Deannotate
        DDC.Core.Transform.LiftT
        DDC.Core.Transform.LiftX
        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.Load
        DDC.Core.Module
        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.Pretty
        DDC.Type.Subsumes
        DDC.Type.Sum
        DDC.Type.Universe

  Other-modules:
        DDC.Core.Check.CheckDaCon
        DDC.Core.Check.CheckExp
        DDC.Core.Check.CheckModule
        DDC.Core.Check.CheckWitness
        DDC.Core.Check.ErrorMessage
        DDC.Core.Check.Error
        DDC.Core.Check.TaggedClosure

        DDC.Core.Collect.Support
        DDC.Core.Collect.Free

        DDC.Core.Exp.WiCon
        DDC.Core.Exp.DaCon
        DDC.Core.Exp.Pat

        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.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.Type.Check.CheckCon
        DDC.Type.Check.Error
        DDC.Type.Check.ErrorMessage
        DDC.Type.Check.Config

        DDC.Type.Collect.FreeT

        DDC.Type.Exp.Base
        DDC.Type.Exp.NFData

                  
  GHC-options:
        -Wall
        -fno-warn-orphans
        -fno-warn-missing-signatures
        -fno-warn-unused-do-bind

  Extensions:
        BangPatterns
        ParallelListComp
        PatternGuards
        RankNTypes
        FlexibleContexts
        FlexibleInstances
        MultiParamTypeClasses
        UndecidableInstances
        KindSignatures
        NoMonomorphismRestriction
        ScopedTypeVariables
        StandaloneDeriving
        DoAndIfThenElse
        DeriveDataTypeable
        ViewPatterns
        FunctionalDependencies