uuagc-cabal: Cabal plugin for the Universiteit Utrecht Attribute Grammar System

[ bsd3, development, library ] [ Propose Tags ]
Dependencies base (==4.*), Cabal (>=, containers (>=0.3), directory (>=, filepath (>=, mtl (>=, process (>=, uulib (>=0.9.14) [details]
License BSD-3-Clause
Copyright Universiteit Utrecht
Author Software Technology at Universiteit Utrecht
Maintainer Jeroen Bransen <J.Bransen@uu.nl>
Category Development
Home page http://www.cs.uu.nl/wiki/HUT/WebHome
Bug tracker hut-developers@cs.uu.nl
Uploaded by JeroenBransen at Fri Dec 7 16:00:41 UTC 2012
Distributions Debian:, FreeBSD:, NixOS:
Downloads 8956 total (82 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Cabal plugin for UUAGC

[Skip to Readme]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for uuagc-cabal-

[back to package description]
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

compiler = "uuagc"
main = defaultMainWithHooks (uuagcUserHook' compiler)

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).