mps-coderules/samples/lambdacalc
Fedor Isakov f8dcf127db Extend typechecking query TYPECHECK with a parameter to report types.
Reporting of calculated types is to be more explicit.
The not-so-obvious _type_.set() operation is to be phased out.
2019-10-10 17:30:11 +02:00
..
.mps lc: add DemoScopes test case, fix one test example; reverse displayed order of user-supplied type annotations 2019-01-09 12:49:34 +03:00
languages/samples.lambdacalc Extend typechecking query TYPECHECK with a parameter to report types. 2019-10-10 17:30:11 +02:00
solutions Migration: "update versions in descriptors". 2019-07-30 11:49:26 +02:00
.gitignore Initial commit. A simple functional language with numeric and string constants, single-argument abstractions and let bindings. 2018-07-18 15:54:47 +02:00
README.md Add a reference to the article on typechecking STLC to readme 2018-08-19 17:32:59 +02:00
build.gradle Straghten up build tasks: assemble to be the default task. Remove superfluous configure_gradle script, use -P switches instead. 2019-02-04 11:32:13 +01:00
build.xml Switch to reactor version 0.9.14. 2019-09-30 16:44:36 +02:00

README.md

Type Checking Lambda Calculus

This is a demo of type checking simply typed lambda calculus using constraint rules.

This project is made with JetBrains MPS using coderules experimental extension.

Details of implementation can be found in the article available online.

Installation

The code in this project relies on coderules languages and solutions to be available, either as a project library or as a plugin. There are two possibilities to install coderules:

  1. Follow the instructions for building the root project, or
  2. Install the compiled plugin (see the latest release on GitHub).

License

Copyright 2014-2018 JetBrains s.r.o.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.