The Lobster Programming Language
a year ago
- #programming
- #game-development
- #open-source
- Lobster is a general-purpose programming language with a focus on game development and graphical applications.
- It combines static typing and compile-time memory management with a lightweight, terse syntax.
- Features include flow-sensitive type inference, compile-time reference counting, and lightweight blocks.
- Supports vector operations, unified overloading, immutable structs, and a GIL-less memory model for multi-threading.
- Syntax is Python-style indentation-based with C-style flavoring.
- Implementation options include JIT for direct execution or compilation to C++ for speed.
- Reference counting with cycle detection and lifetime analysis minimizes overhead.
- Includes a graphical debugger, dynamic code loading, and is faster than Python and Lua.
- Portable across Windows, Linux, Mac OS X, iOS, Android, and WebAssembly.
- High-level OpenGL interface, 3D primitives, GLSL shaders, FreeType text rendering, and uniform input system.
- Comes with libraries for A* pathfinding and game GUIs.
- Example code demonstrates terse syntax, blocks, type inference, and dynamic dispatch.
- Supports custom datatypes with inheritance, immutable structs, and vector operations.
- Graphics example shows recursive rendering with OpenGL for a Sierpinski triangle.
- Open-source under Apache v2 license, with documentation and community on GitHub, Discord, Gitter, and Facebook.