Safe Haskell | Safe |
---|
Intermediate representation for Copilot specifications. The form of the representation is based on this paper:
- Carette, Jacques and Kiselyov, Oleg and Shan, Chung-chieh, "Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages", Journal of Functional Programming vol. 19, p. 509-543, 2009.
The following article might also be useful:
- Guillemette, Louis-Julien and Monnier, Stefan, "Type-Safe Code Transformations in Haskell", Electronic Notes in Theoretical Computer Science vol. 174, p. 23-39, 2007.
For examples of how to traverse a Copilot specification see the source code of the interpreter (Copilot.Core.Interpret) and the pretty-printer (Copilot.Core.PrettyPrint).
Documentation
module Copilot.Core.Error
module Copilot.Core.Expr
module Copilot.Core.External
module Copilot.Core.MakeTags
module Copilot.Core.Operators
module Copilot.Core.Spec
module Copilot.Core.Type
module Data.Int
module Data.Word