Skip to content

Pure, functional programming language with deterministic, side-effect-controlled execution and efficient runtime memory management.

License

Notifications You must be signed in to change notification settings

J0sueTM/lowflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LowFlow

LowFlow is a functional, pure, data-oriented programming language designed for deterministic, side-effect-controlled computation. It emphasizes bottom-up evaluation, immutable intermediate values, and runtime-managed arenas for performance.

Key Features

  • Pure functions: Computation threads are free of side effects; all state changes happen only at the beginning or end.
  • First-class functions and values: Everything can be passed around as data, including function definitions.
  • Traits & interfaces: Support for protocol-like traits for type-safe abstraction.
  • Arena memory management: Efficient ephemeral value allocation; no garbage collection required for intermediate computation.
  • Bottom-up evaluation: Runtime builds a computation tree and evaluates it efficiently, with tail-call optimization.
  • Entry points & capsules: Explicit starting points for execution; runtime commands are returned and executed in a controlled environment.

Read the code walkthrough here!

Goals

  • Provide Python/Lua-level expressiveness with performance closer to C.
  • Make side effects explicit and controllable.
  • Enable developers to build higher-level libraries (DB clients, networking) without exposing unsafe operations.

Developing

Use premake5 to build a project file. For example:

premake5 gmake && make

About

Pure, functional programming language with deterministic, side-effect-controlled execution and efficient runtime memory management.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published