From: How is Rebol Different? web page.
" REBOL was designed to solve one of the fundamental problems in computing: the exchange and interpretation of information between distributed computer systems."
This is a small attempt first to see some of the W3C. web languages that are standards to be treated as DSLs. Every programming language that's nessecary to view web pages will be considered as a DSL. Any formatted syntactic computer language really. Lets start off small shall we.
Every language as a DSL should be transcoded to be exchanged and interpretated between other DSLs in Rebol
as a Dialect Object Model. Passed from language to language then distributed between computer programs.
There is no need to compile or dowload/run dependacies. Each language in its text form is distributed as A Rebol DOM. No language needs a complete interpretation to be used as a DOM, but how much code can be transcoded will be designated as a Dialect of its DSL.
"In technical terms, REBOL is a meta-circular language. That is, REBOL acts as its own meta language."
In my technical terms:
A DOM (Dialect Object Model) is the meta-circular model language that are interpreted and acted on by other languages. Then returned as a Dialect of code.
A Dialect is how much of a given DSL (A supported language of a DOM that can be used by Rebol code)that can become a DOM.
So with the Rebol-DOM so far, you can use rebol code, json, html, css and js arrays or objects. Take a look at the my-dialect code. It could have been closely written as any of the above mentioned languages, interacted with the DOM functions and returned as html and or VID code for now.
It's not really meant to try to use the DOM, it's just meant to be interacted against in stead of multiple languages trying to communicates in and out of Rebol code.
In order to be a supported DSL language it must be very closely read without code, data, or formatting changes. The DSL must closely resemble its data.
It should be able to be loaded by a DOM, acted upon, and returned as its Domain specific language that is able to be loaded/interpreted by other programs or languages without changes.