Personal tools

Chaitin's construction/Combinatory logic

From HaskellWiki

< Chaitin's construction(Difference between revisions)
Jump to: navigation, search
(Lifting section hierarchy)
m (table of contents and categorising under Category:Theoretical foundations)

Latest revision as of 14:34, 4 August 2006


Combinatory logic term modules

[edit] 1 CL

 module CL (CL, k, s, apply) where
 import Tree (Tree (Leaf, Branch))
 import BaseSymbol (BaseSymbol, kay, ess)
 type CL = Tree BaseSymbol 
 k, s :: CL
 k = Leaf kay
 s = Leaf ess
 apply :: CL -> CL -> CL
 apply = Branch

[edit] 2 CL extension

 module CLExt ((>>@)) where
 import CL (CL, apply)
 import Control.Monad (Monad, liftM2)
 (>>@) :: Monad m => m CL -> m CL -> m CL
 (>>@) = liftM2 apply

[edit] 3 Base symbol

 module BaseSymbol (BaseSymbol, kay, ess) where
 data BaseSymbol = K | S
 kay, ess :: BaseSymbol
 kay = K
 ess = S