ECS

April 25, 2026 ยท View on GitHub

A framework for Coalton game development

ECS is a small game framework for developing games in Coalton. Currently, its two main components are:

  • A port of the Haskell Apecs library
  • A wrapper around the Raylib library for drawing, rendering, input, audio, etc.
  (declare update-physics (System_ Unit))
  (define update-physics
    "Updates all position/velocity/acceration components."
    (cmap
     (fn ((Tuple3 (Position p) (Velocity v) (Acceleration a)))
       (let new-v = (v+ v a))
       (let new-p = (v+ p new-v))
       (Tuple (Position new-p) (Velocity new-v)))))

Asteroids Example Screenshot

Installing

ECS is currently not on UltraLisp, but can be installed by checking out to your local-projects directory.

ECS depends on the cl-raylib library, which can be installed via Quicklisp.