No Description

Trevor Elliott bc64ea1c55 Merge remote-tracking branch 'origin/master' into wip/rpc 9 years ago
executables 30e1edc4d6 gidl: command line frontend ftw 9 years ago
src bc64ea1c55 Merge remote-tracking branch 'origin/master' into wip/rpc 9 years ago
support bc64ea1c55 Merge remote-tracking branch 'origin/master' into wip/rpc 9 years ago
tests bc64ea1c55 Merge remote-tracking branch 'origin/master' into wip/rpc 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 bc64ea1c55 Merge remote-tracking branch 'origin/master' into wip/rpc 9 years ago
README.md f71527d211 update readme 9 years ago
Setup.hs 89d04f0623 gidl: initial commit 9 years ago
gidl.cabal bc64ea1c55 Merge remote-tracking branch 'origin/master' into wip/rpc 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.