packages feed

pisigma-0.2: pisigma.cabal

cabal-version: >= 1.6
name:          pisigma
version:       0.2
license:       BSD3
license-file:  LICENSE
data-files:    examples/*.pi
               emacs-mode/*.el
author:        Thorsten Altenkirch <txa@cs.nott.ac.uk>,
               Andres Loeh <kspisigma@andres-loeh.de>,
               Nils Anders Danielsson <nad@cs.nott.ac.uk>,
               Nicolas Oury <Nicolas.Oury@ed.ac.uk>,
               Darin Morrison <dwm@cs.nott.ac.uk>
maintainer:    Thorsten Altenkirch <txa@cs.nott.ac.uk>,
               Andres Loeh <kspisigma@andres-loeh.de>
synopsis:      A dependently typed core language
description:   
  PiSigma is a small dependently typed language with only very few
  constructs: Type:Type, Pi-types, Sigma-types, enumerations and a
  general meachanism for mutual recursion for types and values
  controlled by lifted types. It is intended as a core language for
  dependently typed languages like Agda. It has been described in the
  paper <em>PiSigma: Dependent Types Without the Sugar</em> which has
  appeared in the proceedings of FLOPS 2010.
category:      Development, Language, Dependent Types
build-type:    Simple

flag debug
  description:      Enable debug support
  default:          False

library
  build-depends:    array           >= 0.2   && < 0.4,
                    base            >= 4.0   && < 5.0,
                    bytestring      >= 0.9   && < 1.0,
                    haskeline       >= 0.6   && < 0.7,
                    haskeline-class >= 0.6.1 && < 0.7,
                    mpppc           >= 0.1.0 && < 0.2,
                    mtl             >= 1.1   && < 1.2,
                    parsec          >= 3.0   && < 4.0,
                    text            >= 0.5   && < 0.6,
                    utf8-string     >= 0.3.5 && < 0.4,
                    containers      >= 0.2   && < 0.4

  exposed-modules:  Language.PiSigma.Check
                    Language.PiSigma.Equality
                    Language.PiSigma.Evaluate
                    Language.PiSigma.Normalise
                    Language.PiSigma.Lexer
                    Language.PiSigma.Parser
                    Language.PiSigma.Pretty
                    Language.PiSigma.Syntax
                    Language.PiSigma.Util.String.Internal
                    Language.PiSigma.Util.String.Parser

  if flag(debug)
    ghc-options:    -Wall --enable-library-profiling -auto -funbox-strict-fields
  else
    ghc-options:    -funbox-strict-fields

  hs-source-dirs:   src



executable pisigma

  if flag(debug)
    ghc-options:    -Wall --enable-library-profiling -auto -funbox-strict-fields
  else
    ghc-options:    -funbox-strict-fields

  hs-source-dirs:   src

  main-is:          Tools/Interpreter/Main.hs

  other-modules:    Language.PiSigma.Check
                    Language.PiSigma.Equality
                    Language.PiSigma.Evaluate
                    Language.PiSigma.Normalise
                    Language.PiSigma.Lexer
                    Language.PiSigma.Parser
                    Language.PiSigma.Pretty
                    Language.PiSigma.Syntax
                    Language.PiSigma.Util.String.Internal
                    Language.PiSigma.Util.String.Parser
                    Tools.Interpreter.REPL