/gdlisp

Lisp on the Godot platform

Primary LanguageRustGNU General Public License v3.0GPL-3.0

GitHub Actions: Ubuntu GitHub Actions: Ubuntu GitHub Actions: Ubuntu GitHub Actions: Ubuntu

GDLisp

Lisp for the Godot platform! This language aims to be a Lisp dialect which compiles to GDScript.

This project is built using Cargo with Rake as a wrapper for custom build scripts. Use rake test to run the test suite, and use rake run to compile stdin input to GDScript.

The current version of GDLisp is tested against Godot 3.5 and expects a command called godot to be on your system's path which points to the Godot executable.

Check out the official documentation for a "Getting Started" guide!

GDLisp is not affiliated with or endorsed by the Godot project in any official capacity. This is an independent project.

Features

  • Support for standard GDScript functionality, including function declarations, class declarations, signals, etc.
  • The expression-based semantics we all love from Lisp
  • Lambdas / anonymous functions as well as anonymous classes
  • Support for compile-time macros that run in the GDLisp compiler itself

FAQs

Can I use GDLisp today?

Absolutely! GDLisp is production-ready, and I encourage everyone to try it out and provide any feedback on the issue tracker.

What Godot versions is GDLisp compatible with?

GDLisp works with Godot 3.x. The next major release of GDLisp will be fully compatible with Godot 4, though there's no definite timeline on that as yet.

Can I use GDLisp and GDScript in the same project?

You certainly can! GDLisp constructs compile in a straightforward way to existing Godot concepts. Classes and functions written in GDLisp can be used from GDScript, and vice versa.

License

GDLisp is distributed under the terms of the GNU General Public License version 3 or later. For more details, see COPYING.

As a special exception to the GNU General Public License, the GDLisp support file GDLisp.lisp can be used and redistributed without any restrictions.