Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Rebol
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Dialects=== Rebol [[domain-specific language]]s, called ''dialects'', are micro-languages optimized for a specific purpose. Dialects can be used to define business rules, graphical user interfaces or sequences of screens during the installation of a program. Users can define their own dialects, reusing any existing Rebol word and giving it a specific meaning in that dialect.<ref name="RD" /> Dialects are [[interpreted language|interpreted]] by functions processing Rebol blocks (or parsing strings) in a specific way. An example of Rebol's dialecting abilities can be seen with the word <code>''return''</code>. In the ''data exchange dialect'' <code>''return''</code> is just a word not having any specific meaning. In the ''do dialect'', <code>''return''</code> is a [[global variable]] referring to a native [[Function (computer science)|function]] passing back a function result value.<ref name="OG">Goldman, E., Blanton, J. (2000). ''REBOL: The Official Guide.'' McGraw-Hill Osborne Media. {{ISBN|0-07-212279-X}}.</ref> In the ''visual interface dialect (VID)'', <code>''return''</code> is a [[Keyword (computer programming)|keyword]] causing the layout engine to simulate a [[carriage return]], moving the "rendering pen" down to the beginning of the next line.<ref name="RP" /> A Rebol interpreter with graphical abilities must understand and interpret many dialects. The table below lists the most important ones in order of significance. {| class="wikitable" |- ! Dialect name ! Interpreted by ! Purpose |- | Data exchange dialect | <code>load</code> function | represents data and metadata; common platform for Rebol dialects |- | Do dialect | <code>do</code> function | programming |- | Parse dialect | <code>parse</code> function | [[pattern matching]] |- | Function specification dialect | <code>make</code> function | [[function (computer science)|function]] definition; [[functional programming]] |- | Object specification dialect | <code>make</code> function | [[object (computer science)|object]] definition/inheritance; [[prototype-based programming]] |- | Visual interface dialect (VID)<br>or<br>RebGUI | <code>layout</code> function<br>or<br><code>display</code> function | specifies [[graphical user interface]] |- | Draw dialect | <code>view</code> function | defines graphical elements (lines, polygons, etc.) |- | Script specification dialect | <code>do</code> function | script definition |- | Security policy dialect | <code>secure</code> function | specifies security policy |}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)