Skip to content

Repository files navigation

elomaxz — Hybrid Functional MVU Framework for C

Elomaxz

elomaxz (Elm + Maximum) is a thin, powerful hybrid MVU framework for C.

  • Core: Explicit Tagged Message + Pure Update
  • Strong Cmd / Effect System (Functional Core + Imperative Shell)
  • Foundation for Actor-style Composition
flowchart TD
    subgraph UserCode["User Application Code"]
        A["Define MachineState + Msg types"]
        B["Implement init / update / view functions"]
        C["Create ElomaxzProgram struct"]
    end

    subgraph elomaxzCore["elomaxz Core Framework"]
        D["ElomaxzProgram"]
        E["Cmd / Effect System"]
        F["Message Source next_msg"]
        G["Runners elomaxz_run_cli / elomaxz_run_with_msg_source"]
    end

    subgraph System["System Layer"]
        H["Execute shell commands pacman, cp, systemctl..."]
    end

    A --> B
    B --> C
    C --> D
    D --> E
    D --> F
    F --> G
    G --> E
    E --> H

    style UserCode fill:#f0f8ff,stroke:#1a365d,stroke-width:3px,color:#1a365d
    style elomaxzCore fill:#fffaf0,stroke:#c05621,stroke-width:3px,color:#c05621
    style System fill:#f0fff4,stroke:#276749,stroke-width:3px,color:#276749
Loading

Quick Start

make
./bin/counter

Or run directly:

make run

Build output goes to bin/.

Key Files

  • include/elomaxz.h — Main header
  • src/elomaxz.c — Implementation
  • examples/counter/main.c — Working demo
  • docs/cheat-sheet.md — Quick reference
  • docs/ — Architecture notes, patterns, and project structure

See legacy/elm-c/ for the original starting point.


From simple elm-c → powerful hybrid elomaxz

About

elomaxz — A modern hybrid Model-View-Update (MVU) framework for C. Features a clean ElomaxzProgram core, first-class Cmd/Effect system, and support for composition. Brings Elm-like clarity, testability, and predictability to C systems programming.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages