Skip to content

fleabitdev/glsp

Repository files navigation

GameLisp

GameLisp is a scripting language for Rust game development.

To get started, take a look at the homepage. Please note that GameLisp currently requires the latest version of nightly Rust.

Update, March 2022: My game project is on hold, meaning that GameLisp is not currently under active maintenance. Due to issue #36, the glsp crate will fail to compile when using nightly Rust toolchains newer than 30th September 2021. Apologies for any inconvenience!

Contributing

Bug reports and pull requests are welcome. All contributions submitted for inclusion in the work will be dual-licensed as described below, with no additional terms or conditions.

Roadmap

Short-term goals for the language, in descending order of priority:

  • Fix issue #36
  • Add test suite
  • Add syntax-highlighting for more text editors
  • Report the location of mismatched parentheses when parsing
  • Work off some technical debt
    • Make gc timing more consistent when "unsafe-internals" is disabled
    • Optimize forn, collections, objects, and the write-barrier
    • Forbid names like iter from being bound as local variables
  • Add built-in functions for debugging
    • Convenient functions for running a REPL in-game
    • Some level of support for hotloading
  • Audit the crate's integer conversions and overflow (e.g. usize as u32 casts)
  • Add multiple-value operations for the DequeOps trait, like set_slice and starts_with
  • Add bindings to the regex and chrono crates, behind feature flags
  • Experiment with reflection, raw classes or metaclasses, as potential replacements for mixins and classmacros

License

This project is licensed under either of

at your option.

About

The GameLisp scripting language

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published