This commit is contained in:
Ingy döt Net 2013-06-05 21:47:54 +00:00
parent 1f1ad49427
commit 6f050a029e
2496 changed files with 37609 additions and 3031 deletions

View file

@ -142,24 +142,67 @@ program. Example:
== Coercion (casting) ==
ALGOL 68 has a hierarchy of contexts which determine which kind of
coercions are available at a particular point in the program. These contexts are:
* soft - deproceduring
* weak - dereferencing or deproceduring, yielding a name
* meek - dereferencing or deproceduring
* firm - meek, followed by uniting
* strong - firm, followed by widening, rowing or voiding
Depending on the context a MODE (type) will be coerced (widened) to another type if there is no loss
of precision. For example: An INT will be coerced to a REAL, and a REAL will be
coerced to a LONG REAL. But not vice-versa. Examples:
* INT to REAL
* REAL to COMPL
* BITS to []BOOL
* BYTES to STRING
{|class="wikitable"
! Context name !! Context location !! Coercions available in this context!! Coercion examples
|-
!soft
|| The LHS of assignments, as "~" in: <lang algol68>~ := ...</lang>
|| deproceduring
||
* deproceduring of: <lang algol68>PROC REAL random: e.g. random</lang>
|-
!weak
||
* Primaries of slices, as in "~" in: <lang algol68>~[1:99]</lang>
* Secondaries of selections, as "~" in: <lang algol68>value OF ~</lang>
|| all '''soft''' then weak dereferencing
||
<lang algol68>REF BOOL to REF BOOL
REF REF INT to REF INT
REF REF REF REAL to REF REAL
REF REF REF REF STRUCT to REF STRUCT</lang>
|-
!meek
||
* Trimscripts (yielding INT)
* Enquiries: e.g. as "~" in the following<lang algol68>IF ~ THEN ... FI</lang> and <lang algol68>FROM ~ BY ~ TO ~ WHILE ~ DO ... OD etc</lang>
* Primaries of calls (e.g. sin in sin(x))
|| all '''weak''' then dereferencing
||
<lang algol68>REF REF BOOL to BOOL
REF REF REF INT to INT</lang>
|-
!firm
||
*Operands of formulas as "~" in:<lang algol68>OP: ~ * ~</lang>
*Parameters of transput calls
|| all '''meek''' then uniting
|| e.g. <lang algol68>UNION(INT,REAL) var := 1</lang>
|-
!strong
||Right hand side of:
* Identity-declarations, as "~" in: <lang algol68>REAL x = ~</lang>
* Initialisations, as "~" in: <lang algol68>REAL x := ~</lang>
Also:
* Actual-parameters of calls, as "~" in:<lang algol68>PROC: sin(~)</lang>
* Enclosed clauses of casts, as "~" in: <lang algol68>REAL(~)</lang>
* Units of routine-texts
* Statements yielding VOID
* All parts (but one) of a balanced clause
* One side of an identity relation, as "~" in: <lang algol68> ~ IS ~</lang>
|| all '''firm''' then widening, rowing and voiding
||Widening occures if there is no loss of precision. For example: An INT will be coerced to a REAL, and a REAL will be coerced to a LONG REAL. But not vice-versa. Examples:
<lang algol68>INT to LONG INT
INT to REAL
REAL to COMPL
BITS to []BOOL
BYTES to STRING</lang>
A variable can also be coerced (rowed) to an array of length 1. For example:
* INT to [1]INT
* REAL to [1]REAL etc
Pointers are followed (dereferenced), For example:
* REF REF REAL to REAL
<lang algol68>INT to [1]INT
REAL to [1]REAL</lang> etc
|}
For more details about Primaries and Secondaries refer to [[Operator_precedence#ALGOL_68|Operator precedence]].
== Code Specimen ==
{{language programming paradigm|Concurrent}}
{{language programming paradigm|Imperative}}

View file

@ -0,0 +1 @@
../../Task/Case-sensitivity-of-identifiers/ALGOL-68

View file

@ -1 +1,4 @@
{{language}}{{stub}}
{{stub}}{{language}}
;See
* [[ALGOL 60]]
* [[ALGOL 68]]

View file

@ -0,0 +1 @@
../../Task/CSV-to-HTML-translation/ANTLR

1
Lang/APL/Averages-Median Symbolic link
View file

@ -0,0 +1 @@
../../Task/Averages-Median/APL

View file

@ -0,0 +1 @@
../../Task/Factors-of-an-integer/APL

1
Lang/APL/Gray-code Symbolic link
View file

@ -0,0 +1 @@
../../Task/Gray-code/APL

View file

@ -0,0 +1 @@
../../Task/Look-and-say-sequence/APL

1
Lang/APL/Sum-of-a-series Symbolic link
View file

@ -0,0 +1 @@
../../Task/Sum-of-a-series/APL

1
Lang/APL/Sum-of-squares Symbolic link
View file

@ -0,0 +1 @@
../../Task/Sum-of-squares/APL

1
Lang/AWK/Hailstone-sequence Symbolic link
View file

@ -0,0 +1 @@
../../Task/Hailstone-sequence/AWK

View file

@ -0,0 +1 @@
../../Task/Largest-int-from-concatenated-ints/AWK

View file

@ -0,0 +1 @@
../../Task/Middle-three-digits/AWK

View file

@ -0,0 +1 @@
../../Task/Harshad-or-Niven-series/Ada

View file

@ -0,0 +1 @@
../../Task/Largest-int-from-concatenated-ints/Ada

1
Lang/Ada/String-comparison Symbolic link
View file

@ -0,0 +1 @@
../../Task/String-comparison/Ada

View file

@ -0,0 +1 @@
../../Task/Temperature-conversion/Ada

View file

@ -1,4 +1,8 @@
{{language|aime
|checking=static
|parampass=both
|safety=safe
|strength=strong
|site=http://sourceforge.net/projects/aime-embedded/
}}{{language programming paradigm|Imperative}}[[derived from::C| ]]
''aime'' is a simple, [[C|C]]-like, [[procedural programming|procedural]], [[imperative programming|imperative]] computer programming language. It is designed as a lightweight language targeted towards application extension [http://en.wikipedia.org/wiki/List_of_programming_languages_by_category#Extension_languages]. As such, the aime interpreter is easily embeddable in other applications. For the same reasons, the language stresses application integrity and accessibility.

1
Lang/Aime/Arrays Symbolic link
View file

@ -0,0 +1 @@
../../Task/Arrays/Aime

1
Lang/Aime/Assertions Symbolic link
View file

@ -0,0 +1 @@
../../Task/Assertions/Aime

1
Lang/Aime/Balanced-brackets Symbolic link
View file

@ -0,0 +1 @@
../../Task/Balanced-brackets/Aime

1
Lang/Aime/Binary-digits Symbolic link
View file

@ -0,0 +1 @@
../../Task/Binary-digits/Aime

1
Lang/Aime/Collections Symbolic link
View file

@ -0,0 +1 @@
../../Task/Collections/Aime

View file

@ -0,0 +1 @@
../../Task/Command-line-arguments/Aime

1
Lang/Aime/Copy-a-string Symbolic link
View file

@ -0,0 +1 @@
../../Task/Copy-a-string/Aime

1
Lang/Aime/Count-in-octal Symbolic link
View file

@ -0,0 +1 @@
../../Task/Count-in-octal/Aime

1
Lang/Aime/Create-a-file Symbolic link
View file

@ -0,0 +1 @@
../../Task/Create-a-file/Aime

1
Lang/Aime/Deepcopy Symbolic link
View file

@ -0,0 +1 @@
../../Task/Deepcopy/Aime

1
Lang/Aime/Delegates Symbolic link
View file

@ -0,0 +1 @@
../../Task/Delegates/Aime

View file

@ -0,0 +1 @@
../../Task/Detect-division-by-zero/Aime

View file

@ -0,0 +1 @@
../../Task/Determine-if-a-string-is-numeric/Aime

1
Lang/Aime/Empty-program Symbolic link
View file

@ -0,0 +1 @@
../../Task/Empty-program/Aime

1
Lang/Aime/Empty-string Symbolic link
View file

@ -0,0 +1 @@
../../Task/Empty-string/Aime

View file

@ -0,0 +1 @@
../../Task/Ethiopian-multiplication/Aime

1
Lang/Aime/Even-or-odd Symbolic link
View file

@ -0,0 +1 @@
../../Task/Even-or-odd/Aime

View file

@ -0,0 +1 @@
../../Task/Fibonacci-sequence/Aime

1
Lang/Aime/File-IO Symbolic link
View file

@ -0,0 +1 @@
../../Task/File-IO/Aime

1
Lang/Aime/Filter Symbolic link
View file

@ -0,0 +1 @@
../../Task/Filter/Aime

View file

@ -0,0 +1 @@
../../Task/Find-common-directory-path/Aime

1
Lang/Aime/Flatten-a-list Symbolic link
View file

@ -0,0 +1 @@
../../Task/Flatten-a-list/Aime

View file

@ -0,0 +1 @@
../../Task/Function-definition/Aime

View file

@ -0,0 +1 @@
../../Task/Function-prototype/Aime

1
Lang/Aime/Gray-code Symbolic link
View file

@ -0,0 +1 @@
../../Task/Gray-code/Aime

View file

@ -0,0 +1 @@
../../Task/Greatest-common-divisor/Aime

View file

@ -0,0 +1 @@
../../Task/Hello-world-Standard-error/Aime

1
Lang/Aime/Input-loop Symbolic link
View file

@ -0,0 +1 @@
../../Task/Input-loop/Aime

1
Lang/Aime/Langtons-ant Symbolic link
View file

@ -0,0 +1 @@
../../Task/Langtons-ant/Aime

View file

@ -0,0 +1 @@
../../Task/Levenshtein-distance/Aime

View file

@ -0,0 +1 @@
../../Task/Literals-Floating-point/Aime

View file

@ -0,0 +1 @@
../../Task/Loops-N-plus-one-half/Aime

1
Lang/Aime/Mad-Libs Symbolic link
View file

@ -0,0 +1 @@
../../Task/Mad-Libs/Aime

View file

@ -0,0 +1 @@
../../Task/Middle-three-digits/Aime

View file

@ -0,0 +1 @@
../../Task/Multiple-distinct-objects/Aime

View file

@ -0,0 +1 @@
../../Task/Non-decimal-radices-Convert/Aime

View file

@ -0,0 +1 @@
../../Task/Non-decimal-radices-Input/Aime

View file

@ -0,0 +1 @@
../../Task/Non-decimal-radices-Output/Aime

1
Lang/Aime/Ordered-words Symbolic link
View file

@ -0,0 +1 @@
../../Task/Ordered-words/Aime

1
Lang/Aime/Program-name Symbolic link
View file

@ -0,0 +1 @@
../../Task/Program-name/Aime

View file

@ -0,0 +1 @@
../../Task/Program-termination/Aime

1
Lang/Aime/Quine Symbolic link
View file

@ -0,0 +1 @@
../../Task/Quine/Aime

View file

@ -0,0 +1 @@
../../Task/Real-constants-and-functions/Aime

View file

@ -0,0 +1 @@
../../Task/Reduced-row-echelon-form/Aime

1
Lang/Aime/Reverse-a-string Symbolic link
View file

@ -0,0 +1 @@
../../Task/Reverse-a-string/Aime

View file

@ -0,0 +1 @@
../../Task/Rock-paper-scissors/Aime

1
Lang/Aime/Search-a-list Symbolic link
View file

@ -0,0 +1 @@
../../Task/Search-a-list/Aime

View file

@ -0,0 +1 @@
../../Task/Self-referential-sequence/Aime

1
Lang/Aime/Semordnilap Symbolic link
View file

@ -0,0 +1 @@
../../Task/Semordnilap/Aime

1
Lang/Aime/Set-consolidation Symbolic link
View file

@ -0,0 +1 @@
../../Task/Set-consolidation/Aime

View file

@ -0,0 +1 @@
../../Task/String-concatenation/Aime

1
Lang/Aime/String-length Symbolic link
View file

@ -0,0 +1 @@
../../Task/String-length/Aime

View file

@ -0,0 +1 @@
../../Task/Substring-Top-and-tail/Aime

1
Lang/Aime/Sum-of-a-series Symbolic link
View file

@ -0,0 +1 @@
../../Task/Sum-of-a-series/Aime

View file

@ -0,0 +1 @@
../../Task/Symmetric-difference/Aime

View file

@ -0,0 +1 @@
../../Task/Take-notes-on-the-command-line/Aime

View file

@ -0,0 +1 @@
../../Task/String-concatenation/AppleScript

1
Lang/BASIC/Include-a-file Symbolic link
View file

@ -0,0 +1 @@
../../Task/Include-a-file/BASIC

View file

@ -0,0 +1 @@
../../Task/Temperature-conversion/BBC-BASIC

View file

@ -1,6 +1,6 @@
{{alertbox|#ffffe0|''Were you looking for the [[Common Lisp]] library? That category has now been [[:Category:Babel (library)|renamed]].''}}
{{language}}Babel is an interpreted language designed by Clayton Bauman. It is an untyped, stack-based, postfix language with support for arrays, lists and hashes (dictionaries). Babel 1.0 will support built-in crypto-based verification of code in order to enable safer remote code execution.
Babel is implemented in [[C]]. It is still under development with a v0.9 release planned for December 2012, so please excuse the dust and debris in the [https://github.com/claytonkb/Babel current implementation].
Babel is implemented in [[C]]. It is still under development with a v0.9 release planned for December 2013, so please excuse the dust and debris in the [https://github.com/claytonkb/Babel current implementation].
Check out the <tt>README</tt> and the <tt>doc/</tt> folder on github for more information.

View file

@ -0,0 +1 @@
../../Task/Associative-array-Creation/Bracmat

View file

@ -0,0 +1 @@
../../Task/Associative-array-Iteration/Bracmat

1
Lang/Bracmat/Binary-digits Symbolic link
View file

@ -0,0 +1 @@
../../Task/Binary-digits/Bracmat

View file

@ -0,0 +1 @@
../../Task/Case-sensitivity-of-identifiers/Bracmat

View file

@ -0,0 +1 @@
../../Task/Execute-a-Markov-algorithm/Bracmat

View file

@ -0,0 +1 @@
../../Task/Greatest-element-of-a-list/Bracmat

1
Lang/Bracmat/Loops-Infinite Symbolic link
View file

@ -0,0 +1 @@
../../Task/Loops-Infinite/Bracmat

View file

@ -0,0 +1 @@
../../Task/Loops-N-plus-one-half/Bracmat

View file

@ -0,0 +1 @@
../../Task/Middle-three-digits/Bracmat

View file

@ -0,0 +1 @@
../../Task/Read-a-file-line-by-line/Bracmat

1
Lang/Bracmat/Same-Fringe Symbolic link
View file

@ -0,0 +1 @@
../../Task/Same-Fringe/Bracmat

1
Lang/Bracmat/Search-a-list Symbolic link
View file

@ -0,0 +1 @@
../../Task/Search-a-list/Bracmat

1
Lang/Bracmat/Semordnilap Symbolic link
View file

@ -0,0 +1 @@
../../Task/Semordnilap/Bracmat

View file

@ -0,0 +1 @@
../../Task/Send-an-unknown-method-call/Bracmat

View file

@ -0,0 +1 @@
../../Task/Shell-one-liner/Bracmat

View file

@ -0,0 +1 @@
../../Task/Short-circuit-evaluation/Bracmat

View file

@ -0,0 +1 @@
../../Task/Solve-a-Hidato-puzzle/Bracmat

View file

@ -0,0 +1 @@
../../Task/String-comparison/Bracmat

View file

@ -0,0 +1 @@
../../Task/Sum-of-a-series/Bracmat

View file

@ -0,0 +1 @@
../../Task/Anagrams-Deranged-anagrams/C++

1
Lang/C++/Brownian-tree Symbolic link
View file

@ -0,0 +1 @@
../../Task/Brownian-tree/C++

View file

@ -0,0 +1 @@
../../Task/Bulls-and-cows-Player/C++

Some files were not shown because too many files have changed in this diff Show more