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