Skip to content

charleskoffler/clprolf

Repository files navigation

Clprolf – Clear Programming Language & Framework

Turn a class’s responsibility into a keyword.
Build simulations and complex systems that explain themselves.

// One word tells the intent:
agent OrderService {                   // business actor
    with_compat OrderRepository repo;  // explicit contract
    void checkout(Order o) { /* model Order */
        repo.save(o);
    }
}

Why bother?

Pain in vanilla OOP

a) A service accidentally calls a low-level helper → architectural drift

b) Concurrency bugs need ad-hoc synchronized

c) New dev spends hours mapping layers

Same code with Clprolf

a) 🚫 Compile-time error (agent cannot depend on worker_agent)

b) one_at_a_time + turn_monitor declare the intent up front

c) One glance at agent, worker_agent, model keywords tells the whole story

What is Clprolf?

A minimal language where every class starts with a role keyword (agent, worker_agent, model, information, indef_obj).

A set of modifiers for tricky realities: long_action (frame-based ops), one_at_a_time (critical section), dependent_activity (producer/consumer), underst (non-obvious algos).

A lightweight annotation framework that brings those ideas to Java, C#, PHP—no new VM required.

Perfect fit for

Large simulations & MAS-style games

Scientific prototypes that model “actors” interacting

Teaching OOP / design-pattern concepts without a 70-slide intro

Detailed guides:

The declensions and genders

Talking in Java versus talking in Clprolf - Quicksort example

Learning the class roles through Java wrappers

A clprolf design pattern example with multiple inheritance

The basics and the single inheritance of interfaces

Interface multiple inheritance in Clprolf

Concurrency and parallelism

The "underst" modifier

Getting started for OOP programmers

clprolf official web site

AI Insights

Sources

clprolf compiler

clprolf compiler directory

clprolf frameworks

clprolf Java framework

clprolf C# framework

clprolf PHP framework

Source examples

clprolf wrappers for Java Standard Libraries

clprolf simple examples

clprolf algorithms examples

clprolf design patterns examples

clprolf games examples