Compose

Goals

It must be borne in mind that the tragedy of life doesn’t lie in not reaching your goal. The tragedy lies in having no goals to reach.” — Benjamin E. Mays

I have many goals for Compose, some radical, some mundane. Enumerating them here serves to convey my aims until that job can be done by a working prototype. Communicating the goals also helps me to clarify them to myself. Hello self!

Some of these goals are nebulous and will require research to further clarify and achieve; some are straightforward and “merely” require a lot of engineering work. In the fullness of time I hope to address them all, as my overarching goal is for Compose to be used (at least by me) to build real software that improves the world, not just a research prototype.

Note: this list is in-progress and incomplete.

Programming model

Functional core

Reactive / dataflow

Datalog

Syntax and type checking

Refactoring

Code organization

Documentation

Testing

Building

Debugging

Editing and Tooling

Version control

Code visualization

Learning

Microworlds