-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'uniconproject:master' into keywordproc
- Loading branch information
Showing
7 changed files
with
211 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
<NotepadPlus> | ||
<UserLang name="Unicon-Dark" ext="icn" udlVersion="2.1"> | ||
<Settings> | ||
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" /> | ||
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" /> | ||
</Settings> | ||
<KeywordLists> | ||
<Keywords name="Comments">00# 01 02((EOL)) 03 04</Keywords> | ||
<Keywords name="Numbers, prefix1"></Keywords> | ||
<Keywords name="Numbers, prefix2"></Keywords> | ||
<Keywords name="Numbers, extras1"></Keywords> | ||
<Keywords name="Numbers, extras2"></Keywords> | ||
<Keywords name="Numbers, suffix1"></Keywords> | ||
<Keywords name="Numbers, suffix2"></Keywords> | ||
<Keywords name="Numbers, range"></Keywords> | ||
<Keywords name="Operators1">@< @> @<< @>> ! * + - / \ . ++ ? ~ ^ () < > | || ||| -- ** = ~= == ~== === ~=== .| @ % $$ -> <= >= << <<= >> >>= && & ; : ( ) { } ?? := <- :=: <=> :=|| :=||| :=+ :=- :=* :=++ :=-- :=** :=/ :=% :== :=== :==== :=~= :=~== :=~=== :=^ :=? :=& :=@ :=>>= :=>> :=<<= :=<< :=>= :=> :=<= :=<</Keywords> | ||
<Keywords name="Operators2">abstract all break by case class create critical default do else end every fail global if import initial initially invocable link local method next not of package procedure record repeat return static suspend then thread to type until while write close open &allocated &ascii &clock &col &collections &column &control &cset &current &date &dateline &digits &dump &e &errno &error &errornumber &errortext &errorvalue &errout &eventcode &eventsource &eventvalue &fail &features &file &host &input &interval &lcase &ldrag &letters &level &line &lpress &lrelease &main &mdrag &meta &mpress &mrelease &now &null &output &phi &pi &pick &pos &progname &random &rdrag &regions &resize &row &rpress &rrelease &shift &source &storage &subject &time &trace &ucase &version &window &x &y</Keywords> | ||
<Keywords name="Folders in code1, open">{</Keywords> | ||
<Keywords name="Folders in code1, middle"></Keywords> | ||
<Keywords name="Folders in code1, close">}</Keywords> | ||
<Keywords name="Folders in code2, open">if</Keywords> | ||
<Keywords name="Folders in code2, middle">else if</Keywords> | ||
<Keywords name="Folders in code2, close">else</Keywords> | ||
<Keywords name="Folders in comment, open">#</Keywords> | ||
<Keywords name="Folders in comment, middle"></Keywords> | ||
<Keywords name="Folders in comment, close">((EOL))</Keywords> | ||
<Keywords name="Keywords1"></Keywords> | ||
<Keywords name="Keywords2"></Keywords> | ||
<Keywords name="Keywords3"></Keywords> | ||
<Keywords name="Keywords4"></Keywords> | ||
<Keywords name="Keywords5"></Keywords> | ||
<Keywords name="Keywords6"></Keywords> | ||
<Keywords name="Keywords7"></Keywords> | ||
<Keywords name="Keywords8"></Keywords> | ||
<Keywords name="Delimiters">00" 01\ 02" 03. 04 05( 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords> | ||
</KeywordLists> | ||
<Styles> | ||
<WordsStyle name="DEFAULT" fgColor="FFFFFF" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="COMMENTS" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="LINE COMMENTS" fgColor="FF0000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="NUMBERS" fgColor="FFFFFF" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS1" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS2" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="OPERATORS" fgColor="C879FF" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="FOLDER IN CODE1" fgColor="8080FF" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="FOLDER IN CODE2" fgColor="0080FF" bgColor="3F3F3E" fontName="" fontStyle="4" nesting="0" /> | ||
<WordsStyle name="FOLDER IN COMMENT" fgColor="FF0000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS1" fgColor="6464FF" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS2" fgColor="C879FF" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS3" fgColor="C879FF" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS4" fgColor="C879FF" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="50331650" /> | ||
<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="3F3F3E" fontName="" fontStyle="0" nesting="0" /> | ||
</Styles> | ||
</UserLang> | ||
</NotepadPlus> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
<NotepadPlus> | ||
<UserLang name="Unicon-Light" ext="icn" udlVersion="2.1"> | ||
<Settings> | ||
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" /> | ||
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" /> | ||
</Settings> | ||
<KeywordLists> | ||
<Keywords name="Comments">00# 01 02((EOL)) 03 04</Keywords> | ||
<Keywords name="Numbers, prefix1"></Keywords> | ||
<Keywords name="Numbers, prefix2"></Keywords> | ||
<Keywords name="Numbers, extras1"></Keywords> | ||
<Keywords name="Numbers, extras2"></Keywords> | ||
<Keywords name="Numbers, suffix1"></Keywords> | ||
<Keywords name="Numbers, suffix2"></Keywords> | ||
<Keywords name="Numbers, range"></Keywords> | ||
<Keywords name="Operators1">@< @> @<< @>> ! * + - / \ . ++ ? ~ ^ () < > | || ||| -- ** = ~= == ~== === ~=== .| @ % $$ -> <= >= << <<= >> >>= && & ; : ( ) { } ?? := <- :=: <=> :=|| :=||| :=+ :=- :=* :=++ :=-- :=** :=/ :=% :== :=== :==== :=~= :=~== :=~=== :=^ :=? :=& :=@ :=>>= :=>> :=<<= :=<< :=>= :=> :=<= :=<</Keywords> | ||
<Keywords name="Operators2">abstract all break by case class create critical default do else end every fail global if import initial initially invocable link local method next not of package procedure record repeat return static suspend then thread to type until while write close open &allocated &ascii &clock &col &collections &column &control &cset &current &date &dateline &digits &dump &e &errno &error &errornumber &errortext &errorvalue &errout &eventcode &eventsource &eventvalue &fail &features &file &host &input &interval &lcase &ldrag &letters &level &line &lpress &lrelease &main &mdrag &meta &mpress &mrelease &now &null &output &phi &pi &pick &pos &progname &random &rdrag &regions &resize &row &rpress &rrelease &shift &source &storage &subject &time &trace &ucase &version &window &x &y</Keywords> | ||
<Keywords name="Folders in code1, open">{</Keywords> | ||
<Keywords name="Folders in code1, middle"></Keywords> | ||
<Keywords name="Folders in code1, close">}</Keywords> | ||
<Keywords name="Folders in code2, open">if</Keywords> | ||
<Keywords name="Folders in code2, middle">else if</Keywords> | ||
<Keywords name="Folders in code2, close">else</Keywords> | ||
<Keywords name="Folders in comment, open">#</Keywords> | ||
<Keywords name="Folders in comment, middle"></Keywords> | ||
<Keywords name="Folders in comment, close">((EOL))</Keywords> | ||
<Keywords name="Keywords1"></Keywords> | ||
<Keywords name="Keywords2"></Keywords> | ||
<Keywords name="Keywords3"></Keywords> | ||
<Keywords name="Keywords4"></Keywords> | ||
<Keywords name="Keywords5"></Keywords> | ||
<Keywords name="Keywords6"></Keywords> | ||
<Keywords name="Keywords7"></Keywords> | ||
<Keywords name="Keywords8"></Keywords> | ||
<Keywords name="Delimiters">00" 01\ 02" 03. 04 05( 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords> | ||
</KeywordLists> | ||
<Styles> | ||
<WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="LINE COMMENTS" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS1" fgColor="00FFFF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="OPERATORS" fgColor="8500DD" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="FOLDER IN CODE1" fgColor="8500DD" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="FOLDER IN CODE2" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="4" nesting="0" /> | ||
<WordsStyle name="FOLDER IN COMMENT" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS2" fgColor="8500DD" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS3" fgColor="8500DD" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS4" fgColor="8500DD" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="50331650" /> | ||
<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | ||
</Styles> | ||
</UserLang> | ||
</NotepadPlus> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
\chapter{Experimental Features} | ||
|
||
The designers of Unicon have taken a very conservative approach when adding to | ||
the language and when changing existing features. With the small number of | ||
exceptions that have been previously noted on page \pageref{Unicon-Icon}, an | ||
Icon program that runs on the final version of Icon (version 9.5, first released | ||
in 1996) will run on the current Unicon system {\em and give the same results\/} | ||
a quarter of a century later. The conservative approach is continued when | ||
dealing with additions to Unicon; breaking existing Unicon programs by making an | ||
incompatible change to the language is, in most circumstances, considered to be | ||
a very bad thing to do. | ||
|
||
Most of the development of Unicon starting from it's progenitor has already been | ||
discussed but there are some more experimental features that are waiting in the | ||
wings. Some of them may never see the light of day in their present form -- or, | ||
perhaps, in any form -- so the most cautious approach is not to rely on any of | ||
them until they make their way from this appendix into the definition of the | ||
language in Appendix A. | ||
|
||
Without exception, the experimental features are not enabled by default in a | ||
release build of Unicon -- they can only be accessed by making the appropriate | ||
pre-processor definitions (or, in some cases, by specifying additional arguments | ||
to \texttt{configure}) and rebuilding the system from the source code. Some | ||
features that are now part of the language -- for example, the array extension | ||
to lists that makes them faster in many cases -- are still guarded by | ||
pre-processor definitions, showing their pedigree as experimental additions, but | ||
are now enabled by default. | ||
|
||
%% Candidates for inclusion | ||
%% | ||
%% Plugins | ||
%% User defined operators | ||
%% UTF-8 | ||
%% Extensions to &random | ||
|
||
\section{User defined operators} | ||
This feature extends the syntax of classes to allow the built-in operator | ||
symbols to be redefined when their operands are objects. It may be enabled by | ||
using the \texttt{-{}-enable-ovld} option to \texttt{configure} before | ||
rebuilding the Unicon system. | ||
|
||
\section{Extensions to \texttt{\&random}} | ||
This feature allows the programmer to choose from a portfolio of different | ||
random number generators (in addition to the one provided by Icon). It is also | ||
possible to implement other generators and use them without rebuilding Unicon. | ||
More than one generator may be in use at the same time. | ||
It may be enabled by defining the C preprocessor symbol \texttt{RngLibrary} | ||
before rebuilding the Unicon system. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters