Skip to content

cxinu/lambda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

λ

Examples

Boolean Logic

λ> def TRUE = \x.\y.x
Defined TRUE.
λ> def FALSE = \x.\y.y
Defined FALSE.
λ> def NOT = \p.p FALSE TRUE
Defined NOT.

λ> TRUE first second
first
λ> NOT TRUE
(\x.(\y.y)) # FALSE as defined.

Church Arithmetic

λ> def ZERO = \f.\x.x
Defined ZERO.
λ> def SUCC = \n.\f.\x.f (n f x)
Defined SUCC.
λ> def TWO = SUCC (SUCC ZERO)
Defined TWO.
λ> def THREE = SUCC (SUCC (SUCC ZERO))
Defined THREE.

λ> def ADD = \m.\n.\f.\x.m f (n f x)
Defined ADD.
λ> def MULT = \m.\n.\f.m (n f)
Defined MULT.

λ> ADD TWO THREE s z
(s (s (s (s (s z))))) # five
λ> MULT TWO THREE s z
(s (s (s (s (s (s z)))))) # six

About

untyped lambda calculus interpreter in odin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors