packages feed

nanopass-0.0.3.2: nanopass.cabal

cabal-version: 3.0
name: nanopass
version: 0.0.3.2
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/marseillebd/nanopass
bug-reports: https://github.com/marseillebd/nanopass/issues
author: Marseille Bounchard
maintainer: marseillebd@proton.me
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/marseillebd/nanopass

common deps
  build-depends:
    , base >=4.11.1 && <4.22
    , template-haskell >=2.18 && <2.24

library
  import: deps
  hs-source-dirs: src
  exposed-modules:
    Language.Nanopass
    Nanopass.Internal
    Nanopass.Internal.Error
    Nanopass.Internal.Extend
    Nanopass.Internal.Parser
    Nanopass.Internal.Representation
    Nanopass.Internal.Validate
  other-modules:
    Language.Nanopass.LangDef
    Language.Nanopass.QQ
    Language.Nanopass.Xlate
  build-depends:
    , containers >=0.6 && <0.9
    , megaparsec >=9.2 && <9.8
    , mtl >=2.2 && <2.4
    , sexpr-parser >=0.2.2.0 && <0.3
    , text >=2.0 && <2.2
    , pretty-simple >=3.0 && <4.2
    , transformers >=0.5.6 && <0.7
  default-language: Haskell2010
  ghc-options: -Wall -Wpartial-fields -Wunticked-promoted-constructors

executable dumb-nanopass-example
  import: deps
  hs-source-dirs: app
  main-is: Main.hs
  other-modules:
    Lang
  build-depends:
    , nanopass
    , pretty-simple >=4 && <4.2
    , transformers >=0.5.6 && <0.7
  default-language: Haskell2010
  ghc-options:
    -Wall -Wpartial-fields -Wunticked-promoted-constructors