项目作者: avatar29A

项目描述 :
Implementation Lambda Calculus with other Type system: from untyped lambda up to lambda with dependency typed
高级语言: Go
项目地址: git://github.com/avatar29A/lambdacube.git
创建时间: 2017-07-31T13:34:19Z
项目社区:https://github.com/avatar29A/lambdacube

开源协议:MIT License

下载


lambdacube

Implementation Lambda Calculus with various type systems: from simple type lambda up to lambda with dependency types.

It’s research project which aims to study various types systems.

alt lambda_cube.png

Goals:

Implement follow type system:

  • pure lambda (without types)
  • simple typed lambda calculus
  • STLC with Dependency Types
  • Linear types

Based on

  • Lambda Calculus
  1. Greg Michaelson
  2. AN INTRODUCTION TO FUNCTIONAL PROGRAMMING THROUGH LAMBDA CALCULUS
  3. https://pdfs.semanticscholar.org/d986/546bc3780db3a3c0f8d88b35e421ae4eec21.pdf
  • System F + Polymorphic Type System
  1. Types and Programming Languages
  2. Benjamin C. Pierce
  3. http://www.cis.upenn.edu/~bcpierce/tapl/
  • STLC with Dependency Typed
  1. A Tutorial Implementation of a Dependently Typed Lambda Calculus
  2. Andres Löh, Conor McBride and Wouter Swierstra
  3. http://www.andres-loeh.de/LambdaPi/LambdaPi.pdf
  • Linear types
  1. 'Use-Once' Variables and Linear Objects -- Storage Management, Reflection and Multi-Threading
  2. http://www.pipeline.com/~hbaker1/Use1Var.html
  3. A Brief Introduction to Linear Programming
  4. https://www.courses.psu.edu/for/for466w_mem14/Ch11/HTML/Sec1/ch11sec1.htm