Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the cl-lambdacalc Reference Manual, version 0.0.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Sun May 15 03:54:37 2022 GMT+0.
• Introduction | What cl-lambdacalc is all about | |
• Systems | The systems documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
This is a simple library that allows you to define lisp functions using lambda calculus syntax. Function strings should use the uppercase letter 'A' as the lambda character. Nested functions may appear in the body of a function (example: Aa.Ab.(Axyz.xyz)ab(Axy.y)
), and you may shorten arguments into one group (example: Afx.x
is equivalent to Af.Ax.x
).
The project includes a number of tests in the cl-lambdacalc-test package. These may be run with the included script.
You can install the library with Quicklisp.
(ql:quickload "cl-lambdacalc")
> (define-lc-func foo "Ax.Ay.xy")
#<FUNCTION (LAMBDA (X)) {52DF54DB}>
> (funcall (foo (lc-func "Ax.x")) 42)
42
> (funcall (lc-and #'lc-true) #'lc-true)
#<FUNCTION (LAMBDA (X)) {52D34A8B}>
> (lc-true-p (funcall (lc-and #'lc-true) #'lc-true))
T
> (lc-true-p (funcall (lc-and #'lc-true) (lc-not #'lc-true)))
NIL
> (define-lc-func four "Afx.f(f(f(fx)))")
#<FUNCTION (LAMBDA (F)) {52DF583B}>
> (church-numeral-to-number (lc-succ #'four))
5
> (church-numeral-to-number (funcall (lc-expt #'four) #'four))
256
Axy.x
Axy.y
Axyz.xyz
Axy.(Axyz.xyz)xy(Axy.y)
Axy.(Axyz.xyz)x(Axy.x)y
Ax.(Axyz.xyz)x(Axy.y)(Axy.x)
Anfx.f(nfx)
Amnfx.mf(nfx)
Axyz.x(yz)
Axy.yx
Next: Files, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The cl-lambdacalc system |
S M McLeod
MIT
Define Lisp functions using lambda calculus syntax
0.0.1
cl-ppcre
cl-lambdacalc.asd (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
• The cl-lambdacalc.asd file | ||
• The cl-lambdacalc/package.lisp file | ||
• The cl-lambdacalc/cl-lambdacalc.lisp file |
Next: The cl-lambdacalc/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
cl-lambdacalc.asd
cl-lambdacalc (system)
Next: The cl-lambdacalc/cl-lambdacalc․lisp file, Previous: The cl-lambdacalc․asd file, Up: Lisp files [Contents][Index]
cl-lambdacalc (system)
package.lisp
Previous: The cl-lambdacalc/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
cl-lambdacalc (system)
cl-lambdacalc.lisp
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The cl-lambdacalc package |
package.lisp (file)
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported macros | ||
• Exported functions |
Next: Exported functions, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
cl-lambdacalc.lisp (file)
Previous: Exported macros, Up: Exported definitions [Contents][Index]
cl-lambdacalc.lisp (file)
/builds/quickref/quickref/bin/declt
/builds/quickref/quickref/bin/declt
/builds/quickref/quickref/bin/declt
/builds/quickref/quickref/bin/declt
cl-lambdacalc.lisp (file)
cl-lambdacalc.lisp (file)
/builds/quickref/quickref/bin/declt
/builds/quickref/quickref/bin/declt
/builds/quickref/quickref/bin/declt
/builds/quickref/quickref/bin/declt
/builds/quickref/quickref/bin/declt
/builds/quickref/quickref/bin/declt
cl-lambdacalc.lisp (file)
cl-lambdacalc.lisp (file)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal macros | ||
• Internal functions |
Next: Internal functions, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
cl-lambdacalc.lisp (file)
Previous: Internal macros, Up: Internal definitions [Contents][Index]
cl-lambdacalc.lisp (file)
cl-lambdacalc.lisp (file)
cl-lambdacalc.lisp (file)
cl-lambdacalc.lisp (file)
cl-lambdacalc.lisp (file)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | C F L |
---|
Jump to: | C F L |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | C D F L M N P T U |
---|
Jump to: | C D F L M N P T U |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | C P S |
---|
Jump to: | C P S |
---|