packages feed

ddc-core-0.3.1.1: ddc-core.cabal

Name:           ddc-core
Version:        0.3.1.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
Bug-reports:    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, but explicit lazy evaluation is also supported.
        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 suspended with
        lazy evaluation.

        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.1.*

  Exposed-modules:
        DDC.Core.Lexer.Names
        DDC.Core.Lexer.Tokens

        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.Check
        DDC.Core.Collect
        DDC.Core.Compounds
        DDC.Core.DaCon
        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.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.Base
        DDC.Core.Exp.NFData

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