packages feed

ddc-core-0.4.1.2: ddc-core.cabal

Name:           ddc-core
Version:        0.4.1.2
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.8,
        array           >= 0.4 && < 0.6,
        deepseq         == 1.3.*,
        containers      == 0.5.*,
        directory       == 1.2.*,
        transformers    == 0.4.*,
        mtl             == 2.2.*,
        ddc-base        == 0.4.1.*

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

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

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

        DDC.Core.Lexer.Names
        DDC.Core.Lexer.Tokens
        
        DDC.Core.Transform.Annotate
        DDC.Core.Transform.Deannotate
        DDC.Core.Transform.LiftT
        DDC.Core.Transform.LiftX
        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.Transform.Trim

        DDC.Core.Check
        DDC.Core.Collect
        DDC.Core.Compounds
        DDC.Core.Exp
        DDC.Core.Fragment
        DDC.Core.Lexer
        DDC.Core.Load
        DDC.Core.Module
        DDC.Core.Parser
        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.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.TaggedClosure
        DDC.Core.Check.Witness

        DDC.Core.Collect.Free
        DDC.Core.Collect.Free.Simple
        DDC.Core.Collect.Support
        
        DDC.Core.Exp.DaCon
        DDC.Core.Exp.Pat
        DDC.Core.Exp.WiCon
        
        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.Core.Fragment.Compliance
        DDC.Core.Fragment.Error
        DDC.Core.Fragment.Feature
        DDC.Core.Fragment.Profile

        DDC.Core.Lexer.Comments
        DDC.Core.Lexer.Offside

        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.Pretty

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

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

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