fleabitdev / glsp

The GameLisp scripting language
https://gamelisp.rs/
Apache License 2.0
393 stars 13 forks source link

Repl #8

Open usaccounts opened 4 years ago

fleabitdev commented 4 years ago

Good call - REPL support is a high-priority feature on the roadmap :)

The working plan is to provide APIs (in both Rust and GameLisp) which can be used to straightforwardly write a console-based REPL, but which also make it easy to define a custom in-game console, mostly intended for debugging. It's not just (loop (print (eval (read))))... the API will need to deal with let, let-macro, error-handling, stack frame inspection/mutation, and so on.

It'll be important to come up with a design sketch for hotloading (#10) and interactive programming (#9) first, since there's potentially a lot of overlap between these features

Olical commented 3 years ago

Once the REPL is pretty settled I could always look at integrating it into Conjure as a client. It's REPL tooling for various lisps, they share UX and common code as much as possible. Right now it supports Racket, Fennel, Clojure and Janet. Just thought it might be neat to provide some fairly intricate tooling since it's not a huge amount of work on my part 😄

fleabitdev commented 3 years ago

There's a relevant article here, with discussion here.

Initially, I'll only be aiming for a REPL which is good enough to implement a decent in-game debugging console. The REPL-driven development style discussed in the article (and issue #9) will be a non-goal.