Feature: Tree-walk interpreter #14

Open
opened 2023-10-30 11:20:30 +00:00 by j · 0 comments
Owner

Feature Progress

  • Mock up a faux-dynamic-typing MVP
  • Implement expression evaluation
  • Mock up lexical scoping
  • Variable binding and resolution MVP
  • Implement function calls
    • Implement interpreter builtin print function(s)
  • Implement function declaration
  • Fix unhygienic scope in closures
  • Statically assign backing space for variables
    • Shadowing is AWESOME
  • Type-check those assignments!
  • Type check function args and return values
    • Requires new syntax

Feature description

The interpreter's environment allows for relatively easy prototyping and validation of new language structures and concepts.

Example

N/A
# Feature Progress <!-- Describe the steps for implementing this feature in libconlang --> - [x] Mock up a faux-dynamic-typing MVP - [x] Implement expression evaluation - [x] Mock up lexical scoping - [x] Variable binding and resolution MVP - [x] Implement function calls - [x] Implement interpreter builtin print function(s) - [x] Implement function declaration - [ ] Fix unhygienic scope in closures - [ ] Statically assign backing space for variables - [ ] Shadowing is AWESOME - [ ] Type-check those assignments! - [ ] Type check function args and return values - Requires new syntax # Feature description <!-- [Feature name] does a cool thing that you should describe here --> The interpreter's environment allows for relatively easy prototyping and validation of new language structures and concepts. # Example <!-- Demonstrate this feature with a clear, concise code example Right now, we're (ab)using Rust syntax highlighting, since it most closely matches what I'm currently aiming for --> ```rust N/A ```
j added the
enhancement
label 2023-10-30 11:20:30 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: j/Conlang#14
No description provided.