packages feed

nanopass-0.0.2.1: nanopass.cabal

cabal-version: 3.0
name: nanopass
version: 0.0.2.1
synopsis: Create compilers using small passes and many intermediate representations.
description:
  Uses Template Haskell to facilitate using a vast number of intermediate representations.
  On the one hand, it can generate data types for syntax trees based on their relationships.
  Further, generates the boilerplate for writing transformations between related syntax trees.
  
  See README.md for more details.
category: Language
homepage: https://github.com/edemko/nanopass
bug-reports: https://github.com/edemko/nanopass/issues
author: Marseille Bounchard
maintainer: zankoku.okuno@gmail.com
copyright: 2022 Marseille Bounchard
license: BSD-3-Clause
license-file: LICENSE
extra-source-files:
extra-doc-files: README.md, CHANGELOG.md, LICENSE

source-repository head
  type: git
  location: https://github.com/edemko/nanopass

library
  hs-source-dirs: src
  exposed-modules:
    Language.Nanopass
  other-modules:
    Language.Nanopass.LangDef
    Language.Nanopass.QQ
    Language.Nanopass.Xlate
    Text.Parse.Stupid
  build-depends:
    , base >=4.11.1 && <4.19
    , containers >=0.6 && <0.7
    , mtl >=2.2 && <2.4
    , template-haskell >=2.18 && <2.21
    , transformers >=0.5.6 && <0.7
  default-language: Haskell2010
  ghc-options: -Wall -Wunticked-promoted-constructors

executable dumb-nanopass-example
  hs-source-dirs: app
  main-is: Main.hs
  other-modules:
    Lang
  build-depends:
    , base >=4.11.1 && <4.19
    , nanopass
    , pretty-simple >=4 && <4.2
    , template-haskell >=2.18 && <2.21
    , transformers >=0.5.6 && <0.7
  default-language: Haskell2010
  ghc-options:
    -Wall -Wunticked-promoted-constructors