Syntax of Quirk21. [Revision 1] Revision history: Revision 1, 16 Sept 2004: Corrected the production for new array values. **************************************************************** ::= where ::= export from | export from where ::= variables | functions | types ::= = ::= = ::= = ::= | ::= | | ::= | ::= boolean | char | int | float ::= [] ::= ( -> ) ::= void | ::= | ::= oneof { } ::= allof { } ::= : ::= lambda ( ) : . ::= : ::= : ::= | | | let in | letrec in | new [ ] ! | new { } | case of else | if then else | while do | for to do | begin end ::= | ::= | ::= | ::= | ::= | ::= | | ( ) | ::= | ( ) | . | [ ] ::= : then ::= true | false | charliteral | stringliteral | intliteral | floatliteral ::= | ::= | , ::= | ::= | ; ::= | ::= | , ::= | ::= | ::= | ::= | ::= | * ::= | , ::= | ::= | , ::= | , ::= | ::= := ::= or ::= and ::= == | != | < | <= | > | >= ::= + | - ::= * | / ::= ! | - | # ::= id