Import 2Iota version 1.0 revision 2011.1214 sources.
Cat's Eye Technologies
12 years ago
0 | 0 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
1 | <!-- encoding: UTF-8 --> | |
1 | 2 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> |
2 | 3 | <head> |
3 | 4 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
4 | 5 | <title>The 2Iota Programming Language</title> |
6 | <!-- begin html doc dynamic markup --> | |
7 | <script type="text/javascript" src="/contrib/jquery-1.6.4.min.js"></script> | |
8 | <script type="text/javascript" src="/scripts/documentation.js"></script> | |
9 | <!-- end html doc dynamic markup --> | |
5 | 10 | </head> |
6 | 11 | <body> |
7 | 12 | |
8 | 13 | <h1>2Iota</h1> |
9 | 14 | |
10 | 15 | <p>Language version 1.0, revision 2010.0428. |
11 | <br/>©2004-2010 Cat's Eye Technologies.</p> | |
16 | <br/>©2004-2010 Cat's Eye Technologies.</p> | |
12 | 17 | |
13 | 18 | <h2>Overview</h2> |
14 | 19 | |
15 | 20 | <p>2Iota is the successor language to the |
16 | 21 | <a href="/projects/b_juliet/">beta-Juliet and Portia languages</a>. |
17 | It is extremely similar — nearly identical — in syntax and semantics to these languages, | |
22 | It is extremely similar — nearly identical — in syntax and semantics to these languages, | |
18 | 23 | with the following exceptions:</p> |
19 | 24 | |
20 | 25 | <ul> |
36 | 41 | <code>Sun Sets</code>, <code>Address Line Six Goes High</code> |
37 | 42 | and <code>Greengrocer Falls Asleep on Subway</code>.</p> |
38 | 43 | |
39 | <p>The occurance of each event may cause any number of other events to | |
40 | happen — these are termed <dfn>consequences</dfn> of the event. These | |
44 | <p>The occurence of each event may cause any number of other events to | |
45 | happen — these are termed <dfn>consequences</dfn> of the event. These | |
41 | 46 | consequences may be conditional. However, the only condition available for |
42 | 47 | checking is: <em>given two events, which one happened more recently?</em></p> |
43 | 48 | |
74 | 79 | symbol in a string is in the same alphabet.</p> |
75 | 80 | |
76 | 81 | <p>Thus, for some alphabet, every symbol-string has one and only one successor. |
77 | Again, though, there is one symbol-string which has no predecessor — the symbol-string | |
82 | Again, though, there is one symbol-string which has no predecessor — the symbol-string | |
78 | 83 | which is one symbol long, where that symbol is the first symbol of the alphabet.</p> |
79 | 84 | |
80 | 85 | <p>These concepts are implemented in 2Iota with <dfn>modifiers</dfn>. |
82 | 87 | bound to, and this can be altered by one of the following modifiers:</p> |
83 | 88 | |
84 | 89 | <ul> |
85 | <li><code>next</code> — assuming the value is a single symbol, use the next symbol | |
90 | <li><code>next</code> — assuming the value is a single symbol, use the next symbol | |
86 | 91 | in its alphabet instead;</li> |
87 | <li><code>prev</code> — assuming the value is a single symbol, use the previous symbol | |
92 | <li><code>prev</code> — assuming the value is a single symbol, use the previous symbol | |
88 | 93 | in its alphabet instead;</li> |
89 | <li><code>succ</code> — assuming the value is a symbol-string, use the successor | |
94 | <li><code>succ</code> — assuming the value is a symbol-string, use the successor | |
90 | 95 | symbol-string over its alphabet;</li> |
91 | <li><code>pred</code> — assuming the value is a symbol-string, use the predecessor | |
96 | <li><code>pred</code> — assuming the value is a symbol-string, use the predecessor | |
92 | 97 | symbol-string over its alphabet instead.</li> |
93 | 98 | </ul> |
94 | 99 |