Fleabit
Fleabit
Hi folks, I was pointed to this issue by @erlend-sh, after announcing [GameLisp](https://gamelisp.rs/) yesterday. You might be interested by GameLisp's garbage collector. It's not an exact fit for Mun (because...
Thanks for your interest! Line-and-column information is currently destroyed (converted to text) when constructing a `GError`. There's no easy way to access it programmatically. As a workaround, you could capture...
Good call - REPL support is a high-priority feature on the [roadmap](https://github.com/fleabitdev/glsp#roadmap) :) The working plan is to provide APIs (in both Rust and GameLisp) which can be used to...
There's a relevant article [here](https://mikelevins.github.io/posts/2020-12-18-repl-driven/), with discussion [here](https://news.ycombinator.com/item?id=25620256). 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...
In GameLisp, unlike most Lisps, the different bracket types have different semantic meanings. `()` is general-purpose, `[]` is for accessing an element of a collection, and `{}` is for string...
Thanks for the report! Seems like the origin was probably rust-lang/rust#89413. We were relying on the fact that `#[rustc_unsafe_specialization_marker]` permits marker traits to have supertraits which aren't, themselves, specializable. Turns...
It breaks my heart to say it, but right now I'd caution against using GameLisp for any new projects - progress stalled when the libraries and tooling were still quite...
Even with these modest ambitions, I'm afraid you've overestimated the tooling. GameLisp doesn't come with any code for windowing or rendering, and there are no bindings to third-party libraries. If...
Thanks for the report! This is intentional and [documented](https://gamelisp.rs/reference/the-glsp-crate.html#moving-data-between-runtimes). The best way to work around it is to construct your `Runtime` at the very start of your `main` function, `run`...
`run` is basically free! It just changes the value of a thread-local `Option`, and then changes it back after running the closure.