lambda_calc

Crates.iolambda_calc
lib.rslambda_calc
version2.2.2
sourcesrc
created_at2019-10-14 03:10:06.9008
updated_at2020-06-15 03:32:31.337815
descriptionA command-line untyped lambda calculus interpreter.
homepage
repositoryhttps://gitlab.com/mcmfb/lambda-calculator
max_upload_size
id172323
size198,092
(mcmfb)

documentation

https://docs.rs/lambda_calc

README

An untyped lambda calculus interpreter.

It has several useful features:

  • Has support for the usual implicit parenthesization rules of lambda calculus

    • See the documentation for the parse function on here).
  • Highlights the expression reduced last at each beta reduction step

    • (Can be disabled.)
  • Allows bind lambda terms to symbols (definitions)

    • Lazy symbol substitution

    • Allows recursive definitions

  • Has context-sensitive TAB completion, matching brace highlighter, and history support (thanks to rustyline).

  • Allows escaping line breaks with &

    • The line will be saved to history as a single line.
  • Has a non-interactive mode whose output is in a can be easily parsed by scripts

  • Allows counting the number of reduction steps

...along with many other features; run with --help for more.

Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Installation

Install cargo if you don't have it, then run

$ cargo install lambda_calc

This will install the lambda_calc binary. Opitonally, you may use the --root option to install to a different directory; run man cargo-install for details.

Commit count: 0

cargo fmt