pads-haskell: PADS data description language for Haskell.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Please see the README on Github at https://github.com/padsproj/pads-haskell#readme


[Skip to Readme]

Properties

Versions 0.0.0.1, 0.1.0.0, 0.1.0.0
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), byteorder (>=1.0.4 && <1.1), bytestring (>=0.10 && <0.11), containers (>=0.5.10 && <0.7), ghc-prim (>=0.5.3 && <0.6), haskell-src-meta (>=0.8 && <0.9), HUnit (>=1.6 && <1.8), mainland-pretty (>=0.6.1 && <0.8), mtl (>=2.2.2 && <3), mwc-random (>=0.13.6.0 && <0.15), parsec (>=3.1.13 && <3.2), random (>=1.1 && <1.2), regex-posix (>=0.95.2 && <0.96), syb (>=0.7 && <0.8), template-haskell (>=2.14.0.0 && <=2.15), th-lift (>=0.7.11 && <0.8), time (>=1.7.0 && <1.8.1), transformers (>=0.5 && <0.6) [details]
License MIT
Copyright 2011 Kathleen Fisher & John Launchbury
Author Kathleen Fisher and John Launchbury
Maintainer karl@cs.tufts.edu
Category Language
Home page https://github.com/padsproj/pads-haskell#readme
Bug tracker https://github.com/padsproj/pads-haskell/issues
Source repo head: git clone https://github.com/padsproj/pads-haskell
Uploaded by KarlCronburg at 2019-06-10T04:51:11Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for pads-haskell-0.1.0.0

[back to package description]

pads-haskell

Massive amounts of useful data are stored and processed in ad hoc formats for which common tools like parsers, printers, query engines and format converters are not readily available. Pads/Haskell is a domain-specific language that facilitates the generation of data processing tools for ad hoc formats. Pads/Haskell includes features such as dependent, polymorphic and recursive datatypes, which allow programmers to describe the syntax and semantics of ad hoc data in a concise, easy-to-read notation.

The pads haskell repository contains the code for the Haskell binding for PADS. For more information about the project, see the pads website (www.padsproj.org).

Building

pads-haskell currently requires GHC 8.2.2 and stack resolver lts-11.3.

Setup

To generate an appropriate Stack configuration file and install an appropriate GHC tool chain:

$ stack solver    # Updates stack.yaml if necessary
$ stack setup     # Installs ghc in a sandbox for you

Build

To build pads-haskell:

$ stack build

Testing

To run the automated testing infrastructure:

$ stack test :examples --ghc-options="-ddump-splices"
# Followed by this if you want to see the dumped splice files:
$ find . -name *.dump-splices

To run individual tests do:

$ stack repl
λ> :l Examples.First
...
λ> test
Cases: 89  Tried: 89  Errors: 0  Failures: 0
Counts {cases = 89, tried = 89, errors = 0, failures = 0}
(0.11 secs, 0 bytes)

Contributing and Development

In order to build and view the haddock documentation do the following:

stack haddock
firefox `find .stack-work -name index.html | grep "html/pads-haskell"`

Pull requests are strongly encouraged, though we're more likely to merge them in a timely fashion if they either add small features to existing modules or are new PADS descriptions to add to the examples directory.