Giter Club home page Giter Club logo

lambdajs's Introduction

LambdaJS

Screenshot

LambdaJS is an interpreter of Lambda calculus written in JavaScript. It accepts terms of Lambda calculus written in JavaScript syntax.

Supported browsers and known issues

The latest version of Google Chrome or Firefox is recommended.

It should work on IE, Safari and Opera but less tested on these browsers. There were some minor issues on old versions of IE and Opera.

Features

  • Written in JavaScript and no need for server-side execution
  • Visualizes reduction steps
  • Allows users to choose evaluation strategy
  • Accepts syntax of Lambda calculus, JavaScript or mixture of both

Key bindings on the console

Key Action
Enter run
Ctrl+L clear the screen
Ctrl+P, Up arrow previous input
Ctrl+N, Down arrow next input
\ input '&lambda';

Running example

See https://tarao.github.io/LambdaJS .

lambdajs's People

Contributors

tarao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lambdajs's Issues

"freshVar is not defined"

Evaluating the following code gives the above error:

var T = λab.a
var not = \pab.(p b a)
(not T)

Variable name clashes

(λyx.y) λx.x is wrongly reduced to λxx.x, while there should be an α-conversion happening beforehands, leading to λzx.z.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.