Lobster – statically typed programming language

Lobster is a statically typed programming language with a Python-esque syntax that combines the advantages of an expressive type system and compile-time memory management with a very lightweight, friendly and terse syntax, by doing most of the heavy lifting for you.

This is free and open source software.

Features include:

  • Language:
    • Static typing that feels almost as easy to write as dynamic typing thanks to “Flow-Sensitive Type-Inference and Specialization”.
    • Compile time reference counting / lifetime analysis / borrow checker.
    • Lightweight Blocks / Anonymous Functions that make any function using them look identical to built-in control structures.
    • Vector operations (for math and many other builtins).
    • Unified overloading & dynamic dispatch, in & outside classes, supporting specialization.
    • Immutable “inline” structs (zero overhead).
    • GIL-less, race-less distributed memory model multi-threading.
    • Python-style indentation based syntax with C-style flavoring
  • Implementation:
    • Choose between running directly using the convenient JIT, or compilation to C++ for extra speed.
    • Reference Counting with cycle detection at exit, 95% of reference count ops removed at compile time thanks to lifetime analysis.
    • Fully graphical debugger (inspect stack traces, modify variables etc).
    • Dynamic code loading.
    • Relatively fast (order of magnitude faster than Python, significantly faster than Lua (benchmark), not yet a C competitor, but can be eventually) and economical (low overhead memory allocation)
    • Easy to deploy (engine/JIT exe + compressed bytecode file)
    • Modularly extendable with your own library of C++ functions
  • Engine:
    • Portable (mostly courtesy of OpenGL/SDL/Freetype), allowing your games to be run on
    • Windows, Linux, Mac OS X, iOS, Android and WebAssembly (in that order of maturity, currently).
    • High level interface to OpenGL functionality, very quick to get going with simple 2D geometric primitives
    • 3D primitive construction either directly from triangles, or using high level primitives made into meshes through marching cubes
    • GLSL shaders (usable accross OpenGL & OpenGL ES 2 without changes)
    • Accurate text rendering through FreeType
    • Uniform input system for mouse & touch
    • Simple sound system supporting .wav and .sfxr synth files.
    • ImGui support.
    • Comes with useful libraries written in Lobster for things like A* path finding and game GUIs

Website: github.com/aardappel/lobster
Support:
Developer: Wouter van Oortmerssen
License: Apache 2.0 License

Lobster is written in C++ and C. Learn C++ with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials.


Explore Linux

Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category.
In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality.

The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions.
Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others.
Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems.
Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks.
Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems.
Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux.
Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools.
Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux.
Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted