I am a professional project manager and cybernetician. I have been
studying TUNES (http://www.tunes.org/) for several years, and have
come up with a project plan to accomplish it. I am running it past
you to see what you think, but honestly, I will work on it whether you
want to cooperate or not, as is my freedom with free software.
However, I would be happier if you joined me. :)
My home page (in my signature) fully explains my history and
intentions, which you can explore at your leisure.
I propose a layered architecture:
6. Category Theory
5. Specification Language
4. Dynamic Compiler
3. Runtime Environment
2. Computational Model
1. Virtual Machine
Here are the URLs of the best-of-breed free software I have chosen to
fulfill these requirements.
6. Arrow - http://tunes.org/~water/arrow/
5. Epigram - http://e-pig.org/
4. Pliant - http://fullpliant.org/
3. Figure - http://fig.org/figure/figure.txt (also see The Circle of
the Promises http://fig.org/figure/CircleOfPromises.pdf.)
2. An amalgamation of the Mozart (http://www.mozart-oz.org/), E
(http://erights.org/), and Erlang (http://erlang.org/) models
1. Factor - http://factorcode.org/
0. Optical computers - http://en.wikipedia.org/wiki/Optical_computer
None of these systems is yet complete:
6. Arrow's design has not yet been formalized.
5. Epigram is not yet a compiled language.
4. Pliant is a dynamic compiler. I did some work to extend its model
to static compilation, and that work could easily be readopted to
produce binaries for any kind of programming language.
3. Figure has yet to be prototyped in Haskell, Erlang, and several
other languages to prove its design and bring it to market.
2. The ultimate multithreaded, functional/logical/imperative, message
passing computational model is not complete. The Mozart, Erlang, and
E communities need to rally their efforts and set their language
differences aside for this to happen.
1. Factor lacks preemptive multithreading, but is otherwise nearly
ready to host any arbitrary language. It completely replaces the need
for assembler, C, or C++ to do low-level implementation, and
interfaces well with C libraries.
0. Optical computers don't yet exist.
Please don't hesitate to contact me. My home page has contact
Michael FIG <email@example.com> /\//\
Can you please explain the role of Pliant in your project ?
Do you see a place for the new pliant ui in the TUNES system ?
How do you intend to mix all this software ? For example, Factor and Erlang ?
Will you only mix concepts or will you take existing, ready software and try to
make them work together ? Are these systems going to be layered one on top of
the other ? Or, do you intend to implement all these layers/languages as
pliant modules, and switch between languages back and forth.
Can you please elaborate on the changes that you made to the pliant
compiler internals. Do you think that they should be incorporated into pliant
source code? Do they make it easier to implement a pliant C++ parser ?