|
| Pointfree | | Portability | portable | | Stability | experimental | | Maintainer | jproenca@di.uminho.pt |
|
|
|
|
|
| Description |
| A syntax of a general pointfree language.
|
|
| Synopsis |
|
|
|
|
| Data Type |
|
Represents a pointfree language where:
- products and sums are treated
- base types are obtained and decomposed by the use of the IN and
OUT constructors
- recursion can be expressed by the point-fix function or by a paramorphism
- free variables are called macros and represent known pointfree expressions
|
|
| data PFTerm |
| Constructors | | BANG | Constant function that returns Unit | | ID | Identity | | APP | Apply | | Curry PFTerm | Curry | | (:.:) PFTerm PFTerm | Composition | | (:\/:) PFTerm PFTerm | Either | | (:/\:) PFTerm PFTerm | Split | | FST | Point-free first | | SND | Point-free second | | INL | Point-free left injection | | INR | Point-free right injection | | IN HsExpP | Injection on a specified type | | OUT HsExpP | Gets the functor | | PARA HsExpP PFTerm | Paramorphism | | FIX | Fixed point function | | Macro String | Macros of frequently used pointfree terms |
| | Instances | |
|
|
| Conversion of a PFTerm to an haskell expression |
|
| pf2Exp :: PFTerm -> HsExpI PNT |
| Applies a tranformation from a PFTerm to an expression of programatica's
abstract tree. Note that the type information inside the IN, OUT and PARA
terms is represented as a programatica's expression L::type, where the type
is the real type information.
|
|
| Produced by Haddock version 0.6 |