Skip to content

RaasAhsan/lambs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lambs

Scala CI

A playground for building a statically checked type system based on the simply typed lambda calculus. In the source code, there is merely a definition for an abstract syntax tree and a corresponding type checking function. It would be straightforward to define and implement the operational semantics for the language, but that falls outside the scope of the project. No lexing, parsing, or code generation is performed, however a parse syntax tree is defined to facilitate syntactic sugar.

Features

  1. System F first-class polymorphism
  2. Function abstraction and application
  3. Boolean and integer logic
  4. N-ary tuples
  5. Structural labeled records
  6. Structural labeled variants
  7. Statements
  8. Let bindings

TODO

  • user-defined nominal types
  • arrays
  • mutability
  • type inference/reconstruction

About

Enriched typed lambda calculus

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages