ContentsIndex
PWCore
Portability portable
Stability experimental
Maintainer jproenca@di.uminho.pt
Description
A syntax of a general pointwise language.
Synopsis
data PWTerm
= Unit
| Var' String
| (:@:) PWTerm PWTerm
| Abstr String PWTerm
| (:><:) PWTerm PWTerm
| Fst PWTerm
| Snd PWTerm
| Inl PWTerm
| Inr PWTerm
| Case PWTerm (String, PWTerm) (String, PWTerm)
| In HsExpP PWTerm
| Out HsExpP PWTerm
| Fix PWTerm
Documentation

A simple definition of a pointwise language where:

  • products and sums are allowed;
  • constants are dealed by the use of in and out functions that allows to go from any type that has an associated base functor to and from a representation of that base functor using sums and products;
  • recursion is only possible by the use of the fixed point constructor.
data PWTerm
Constructors
UnitUnit
Var' StringVariable
(:@:) PWTerm PWTermAplication
Abstr String PWTermAbstraction
(:><:) PWTerm PWTermPair
Fst PWTermPoint-wise first
Snd PWTermPoint-wise second
Inl PWTermPoint-wise left injection
Inr PWTermPoint-wise right injection
Case PWTerm (String, PWTerm) (String, PWTerm)Case of
In HsExpP PWTermInjection on a specified type
Out HsExpP PWTermExtraction of the functor of a specified type
Fix PWTermFixed point
Instances
Show PWTerm
Produced by Haddock version 0.6