Giter VIP home page Giter VIP logo

lingua's Introduction

README

Implementations of and reasonings about the following languages:

name description common parlence resources
λ simply-typed λ-calculus STλC
λ2 λ with type polymorphism System F
λω λ2 with type constructors System Fω
λΠ λ with dependent types
λΠω λΠ with type constructors Calculus of Constructions Calculus of Constructions [wiki]
λS λΠω with self types System S Self Types for Dependently Typed Lambda Encodings [paper]
λID λΠω with inductive datatypes Calculus of Inductive Constructions
λCD λΠω with coinductive datatypes Calculus of Coinductive Constructions
λPID predicative λΠω with inductive datatypes Predicative Calculus of Coinductive Constructions

λ

λ: Simply-typed λ-calculus.

Language/Lambda/ contains an intrinsically-typed implementation. Based on Programming Language Foundations in Agda –– DeBruijn: Intrinsically-typed de Bruijn representation.

Tasks.

  • Grammar
  • Typing
  • Reducing
  • Examples
    • simples
    • Church numerals

λ2

λ2: λ with type polymorphism (System F).

Lambda/Lambda2/ contain an intrinsically-typed implementation. Based on System F in Agda for Fun and Profit.

Tasks.

  • Kinding
    • properties of _≅ₛ_
    • properties of rename-⊨
    • properties of reflect
    • properties of reify
    • interactions between rename, substitute, extend, evaluate, reflect, reify, and _≅ₛ_
    • properties of _≅ₛ_
    • properties of _≅ₑ_
    • completeness
    • stability
    • interactions between rename, substitute, weakenings, and single substitutions
  • Typing
  • Normal Typing
    • normalization lemmas
    • normalize-Type cases:
      • `fold
      • `unfold
    • progress cases:
      • _`∙♯_
      • `unfold
  • Type Erasure
    • erase-normalize-Type-≡
    • erase-substitution lemmas

λω

TODO

λΠ

TODO

λΠω

TODO

λS

TODO

λID

TODO

λCID

TODO

λPID

TODO

lingua's People

Contributors

rybla avatar

Stargazers

Arthur Correnson avatar

Watchers

James Cloos avatar

Forkers

zeta1999

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.