Skip to content

Implement function, lexical scope, and let #4

Description

@alandipert

Background

eval in main.c knows how to find and execute special forms - functions defined in C and referred to the global environment - but user functions, the let binding, and lexical scope still all need to be implemented. The bottom of functions might be let, or vice-versa - they are in essence two ways to create a closure, and should share semantics.

Implementing implies a mechanism for merging scopes and supporting the idea of a scope chain, which is also not done. Before we do this, we probably want to move away from using alists for environments, and use real hash tables instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions