cola — combined lambda/object architecture
cola (aka Idst, Jolt, the SODA languages, &c.) is an
ongoing project to create a springboard for investigating new
computing paradigms. Everything in it is late-bound, the intention
being that any paradigm (existing or yet to be invented, formal
complexity notwithstanding) be easily and efficiently mapped to it and
made available to the user.
It is a small part (the implementation vehicle) of the
reinventing computing
project.
The system is slowly evolving towards version 1.0 which
- is completely self-describing (from the metal, or even FPGA gates, up)
exposing all aspects of its implementation for inspection and incremental
modification;
- treats state and behaviour as orthogonal but mutually-completing
descriptions of computation;
- treats static and dynamic compilation as two extremes of a continuum;
- treats static and dynamic typing as two extremes of a continuum; and
- late-binds absolutely everything: programming (parsing through codegen
to runtime and ABI), applications (libraries, communications facilities),
interaction (graphics frameworks, rendering algorithms), and so on.
The source code is hosted in a Subversion repository. To obtain the latest version:
svn co http://piumarta.com/svn2/idst/trunk idst
Otherwise you might prefer to:
Download a recent snapshot of the source code:
idst-20070918.tar.gz
Browse a recent snapshot of the source code:
idst-20070918
There is some (often slightly stale, or at the very least incomplete)
documentation available for:
There is a mailing
list for the insatiably curious.
idst (cola, whatever you want to call it) is distributed
under the MIT license. You will not be infected with a contagious
disease if you decide to use any part (or all) of it for your own
purposes.
As you might have guessed, we're not happy with the name yet. If you
have (polite and/or humorous) suggestions, send them to Ian at this
website's domain name.