Mercerenies / gdlisp

Lisp on the Godot platform
GNU General Public License v3.0
141 stars 1 forks source link

Bootstrapping #29

Closed Mercerenies closed 3 years ago

Mercerenies commented 3 years ago

Should we bootstrap GDLisp.gd from GDLisp code?

Pros:

Cons:

Mercerenies commented 3 years ago

Current blocking issues:

Mercerenies commented 3 years ago

Steps in the bootstrapping process

  1. [X] Translate built-in macros into straight GDLisp (1a193e2)
  2. [X] Commit GDLisp.lisp to a new branch (844baff)
  3. [X] Provide a way to perform a "minimalist" run, i.e. to run without incorporating the standard library at all. (4286e7b and 2f01196)
  4. [X] Read the standard library from GDLisp.lisp rather than generating it from hardcoded Rust (576b279)
  5. [X] Read macros from GDLisp.lisp rather than generating from Rust (4cbfb4f)
  6. [X] Compile GDLisp.lisp as part of the build process (576b279)
  7. [X] Set up test cases so they don't each have to compile the standard library separately (576b279)
Mercerenies commented 3 years ago

While not strictly blocking, #37 will make translating the built-in macros a lot easier.

Mercerenies commented 3 years ago

See branch bootstrapping for progress on this issue.

Mercerenies commented 3 years ago

I'll be using the blocks-bootstrapping label for any issues which are blocking progress on bootstrapping.

Mercerenies commented 3 years ago

As of cbf3a29, bootstrapping has been incorporated into master.