@hackage uuagc-cabal1.3.1.0
Cabal plugin for UUAGC
Categories
License
BSD-3-Clause
Maintainer
Atze Dijkstra (atzedijkstra@gmail.com)
Links
- Homepage
- Documentation
- No source repository
- Security
Versions
Installation
Tested Compilers
Dependencies (8)
Dependents (10)
@hackage/uuagc, @hackage/ewe, @hackage/lol-typing, @hackage/acme-everything, @hackage/ruler, @hackage/uu-cco-examples, Show all…
This is a plugin for the UUAG system.
To use UUAG in combination with Cabal, add a dependency on the packages: uuagc -- installs the tool: uuagc uuagc-cabal -- installs a cabal plugin that uses uuagc Note that this package does not have a dependency on uuagc. You can use this module without having uuagc installed. (whether this is useful is a different question)
Then write a custom Setup.hs:
-- module Main where
import Distribution.Simple import Distribution.Simple.UUAGC (uuagcLibUserHook) import UU.UUAGC (uuagc)
main = defaultMainWithHooks (uuagcLibUserHook uuagc)
Add extra-source-files: uuagc_options The contents of this file are options per AG module, as specified as follows. Write for each AG file:
Two lines in a file uuagc_options in the root of the package:
file: "src-ag/Desugar.ag" options: module, pretty, catas, semfuns, signatures, genlinepragmas
The options depend on what you actually want to compile.- Add an extra source file to the AG file in the cabal file: extra-source-files: src/MyProgram.ag
- Add the module to the modules list in the cabal file.
Originally written by Juan Cardona (or one of his students).