Skip to content

Implementation of EnvCap: A Programming Language with Capabilities as First-Class Modules using λₑ with extensions as the Core Calculus.

Notifications You must be signed in to change notification settings

jam-khan/EnvCap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EnvCap: Capabilities as First-Class Modules

Overview

An implementation of EnvCap Programming Language with environment-based λ_E with extensions as the core calculus.

Features

  • Environment-Based Semantics
  • First-Class Environments
  • Basic Operations: Includes application, merging, and projection operations.
  • Bidirectional Type Checker

Features to be implemented (Core Calculus)

  • Syntax/AST Definition
  • Unit testing setup
  • Big Step Operational Semantics
  • Bidirectional type checker
  • Booleans
  • Conditionals
  • Arithmetic Operations
  • Recursion
  • Let Bindings
  • Built-in Lists
  • Sums
  • Pairs
  • Case/Pattern matching for lists, sums and pairs

Surface Language

  • Language Design
  • Basic elaboration
  • Parser Implementation
    • Bindings
    • Integers
    • Booleans
    • String
    • Arithmetic
    • Logic
    • Comparison
    • Conditionals
    • Lists
    • Pairs
    • Sums
    • Functions
    • Modules
    • Header Files

License

This project is licensed under the MIT License. See the LICENSE file for details. -->

About

Implementation of EnvCap: A Programming Language with Capabilities as First-Class Modules using λₑ with extensions as the Core Calculus.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published