A practical lambda-calculator

A practical lambda-calculator is a normal-order evaluator for the untyped lambda-calculus, extended with convenient commands and shortcuts to make programming in it more productive. Shortcuts are distinguished constants that represent terms. Commands define new shortcuts, activate tracing of all reductions, compare terms modulo alpha-conversion, print all defined shortcuts and evaluation flags, etc. Terms to evaluate and commands are entered at a read-eval-print-loop (REPL) "prompt" or "included" from a file by a special command. A Haskell branch is an embedding of the lambda calculator (as a domain-specific language) into Haskell. The calculator can be used interactively within Hugs or GHCi.

Tags Scientific/Engineering Mathematics Software Development Interpreters
Licenses Public Domain
Operating Systems OS Independent
Implementation Other Scheme Haskell

Tweet this project Short link

Rss Recent releases

Changes: This version introduces P-numerals, which are arithmetically more convenient and efficient numerals than Church numerals. P-numerals are a functional equivalent of a list data structure. A solution to a bluff combinator puzzle in Lambda calculus was added. Lambda arithmetics were re-written in the notation of the lambda calculator in Haskell. A validation test suite was also added.

Changes: This is the initial release of the Haskell version of the Lambda Calculator. The calculator is a Domain-specific (sub)language embedded in Haskell.

Changes: Basic arithmetic operations (comparison, addition, subtraction, multiplication, and division) on non-negative and negative integer numbers was implemented and explained. Both the integers and the operations on them are represented as terms in the pure untyped lambda-calculus. The only building blocks are identifiers, abstractions, and applications. No constants or delta-rules are used. Reductions follow only the familiar beta-substitution and eta-rules.

No changes have been submitted for this release.

Ddf12ef8817643511a88a72cbd1e4aca_thumb

Project Spotlight

Ad Server Beans

Ad server software suitable for ad networks, advertising agencies, ad serving companies, and Web publishers.

No-screenshot

Project Spotlight

mbank-cli

A command line interface to mBank.