Rémy Mouëza <remy.mou...@gmail.com> writes: > How will your Ocean language lab be different from Rebol?
Thanks for the pointer, Remy. I was not very familiar with Rebol before. The difference is that the Rebol syntax can be compared with just one component of Ocean, _Rock_, which is the default concrete syntax I alluded to earlier. However, the main contribution of Ocean will be first-class grammars, encouraging people to use them as a control structure (as innovated by the VPRI folks), and thereby assimilate other syntaxes/protocols that don't need to have any relationship to Rock. Ocean will share much more in common with John Shutt's Kernel language (a cleaned up and simplified "Scheme reloaded"), which I take as an excellent starting point for a language lab. As an example, Ocean will be fexpr-based, as well as having first-class environments. I believe that first-class grammars combined with fexprs will add significant power to the language, allowing for any construct to define syntactical transformations via a grammar and direct eval calls, rather than indirectly as in macros. Rebol, on the other hand, depends on simple precedence rules and shoehorns all its DSLs into the same syntax. I can't overemphasize the convincing case that Ian made about how simple a language bootstrap can be when you have first-class grammars, and how much of a useful tool they can be in everyday programming. Ocean's next contributions will be in determining a minimal set of basic abstractions that are needed to bootstrap the environment, potentially differently expressed than in Kernel (which, to me, doesn't seem too focused on bootstrapping). This needs very convincing stories for namespaces, peer-to-peer and parent-child messaging, protocol/syntax description, and (what may not yet be an obvious need, and I wish I had a better way of describing it) steganography. Of course, that's all hot air until I get the first release together. If there was one key idea I wanted to impart to you, dear reader, it is that _plurality_ is the theme. I have no agenda to promote or disparage another system, just that I want to understand them and integrate with them to the highest degree possible. But of course, that will only be an option once the environment is bootstrapped. Good night, -- Michael FIG <mich...@fig.org> //\ http://michael.fig.org/ \// _______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc