packages feed

BiGUL-1.0.1: BiGUL.cabal

name:                BiGUL
version:             1.0.1
synopsis:            The Bidirectional Generic Update Language
description:
  Putback-based bidirectional programming allows the programmer to
  write only one putback transformation, from which the unique
  corresponding forward transformation is derived for free. BiGUL,
  short for the Bidirectional Generic Update Language, is designed to
  be a minimalist putback-based bidirectional programming language.
  BiGUL was originally developed in the dependently typed programming
  language Agda, and its well-behavedness has been completely formally
  verified; this package is the Haskell port of BiGUL.
  .
  For more detail, see the following paper:
  .
  * Hsiang-Shang Ko, Tao Zan, and Zhenjiang Hu. BiGUL: A formally
    verified core language for putback-based bidirectional programming.
    In /Partial Evaluation and Program Manipulation/, PEPM’16,
    pages 61–72. ACM, 2016. <http://dx.doi.org/10.1145/2847538.2847544>.

homepage:            http://www.prg.nii.ac.jp/project/bigul/
license:             PublicDomain
license-file:        UNLICENSE
author:              Josh Ko, Tao Zan, Li Liu, Zirun Zhu, Jorge Mendes, and Zhenjiang Hu
maintainer:          Josh Ko <hsiang-shang@nii.ac.jp> and Zirun Zhu <zhu@nii.ac.jp>
category:            Language, Generics, Lenses
build-type:          Simple
cabal-version:       >=1.22
extra-source-files:  CHANGELOG.md

library
  exposed-modules:     Generics.BiGUL
                       Generics.BiGUL.Error
                       Generics.BiGUL.PatternMatching
                       Generics.BiGUL.Interpreter
                       Generics.BiGUL.Interpreter.Unsafe
                       Generics.BiGUL.TH
                       Generics.BiGUL.Lib
                       Generics.BiGUL.Lib.HuStudies
                       Generics.BiGUL.Lib.List
  other-modules:       GHC.InOut
  default-extensions:  TupleSections,
                       ViewPatterns,
                       GADTs,
                       TypeFamilies,
                       TypeOperators,
                       EmptyCase,
                       ExistentialQuantification,
                       TemplateHaskell,
                       DeriveDataTypeable,
                       FlexibleInstances,
                       FlexibleContexts,
                       UndecidableInstances,
                       CPP
  if impl(ghc >= 7.10) && impl(ghc < 8)
    build-depends:     base == 4.8.*,
                       mtl >= 2.2,
                       containers >= 0.5,
                       template-haskell >= 2.10 && < 2.11,
                       th-extras >= 0.0.0.4
  else
    build-depends:     base == 4.9.*,
                       mtl >= 2.2,
                       containers >= 0.5,
                       template-haskell >= 2.11,
                       th-extras >= 0.0.0.4
  hs-source-dirs:      src
  default-language:    Haskell2010