No Description

Pat Hickey f01d23381c travis: ignore wip branches 9 years ago
executables 30e1edc4d6 gidl: command line frontend ftw 9 years ago
src 77144739e8 tower backend: rename Interface to Server, generate an umbrella module 9 years ago
support 2595f27766 tower backend: add Attr module as template 9 years ago
tests e37e8d29e4 Much improved error messages; added pretty-printer 9 years ago
.gitignore 89d04f0623 gidl: initial commit 9 years ago
.travis.yml f01d23381c travis: ignore wip branches 9 years ago
LICENSE d456b97842 gidl: oops, wrong license, its bsd3 now 9 years ago
Makefile 1623f1a6e6 makefile: haskell backend test outputs debug too 9 years ago
README.md f71527d211 update readme 9 years ago
Setup.hs 89d04f0623 gidl: initial commit 9 years ago
gidl.cabal 77144739e8 tower backend: rename Interface to Server, generate an umbrella module 9 years ago

README.md

Gidl

Gidl (for Galois Interface Description Language) is a simple IDL for describing structured types.

IDL format

See example in tests/example.idl. Currently, the format is not set in stone - revisions coming shortly.

Backends

Gidl currently has backends for:

  • Native Haskell
  • [Ivory][] language
  • [Tower][] wrapper over Ivory

Build and Test

Use the create-sandbox target in the Makefile to create a local cabal sandbox and install all dependencies.

The default target builds the gidl library. You can then use cabal run gidl -- <OPTIONS> to run the code generator. Use the --help option to get usage information.

Use the test target in the Makefile to generate and test each backend implementation.