Group: type checking
Topic: BNF grammar
Topic: function call
Topic: function definition
Topic: function signature
Topic: function syntax by pattern
Topic: parameter passing by keyword or position
Topic: syntax analysis
Topic: type algebras, typed lambda calculus, and type-complete languages
| |
Summary
Function syntax consists of an identifying label and parameters. The identifying label may include keywords, noise words, and punctuation. It should reflect the function's name. With cluster operations the function name includes the name of an object in the cluster. The parameters may be located by a comma list, keywords, prefix, postfix, matchfix, or infix. A function can define the syntax for calling the function. (cbb 5/80)
Subtopic: examples
Quote: in CLU, call operations by object-type operation-name; e.g., array(int)$create(0) [»liskBH2_1976, OK]
| Quote: the signature of a Russell procedure is the list of signatures of its parameters
| QuoteRef: wulfWA6_1976 ;;20 ref by function (element, parameters) or element. function (params)
| QuoteRef: sammJE_1969 ;;516 a i.j (c.de) is function reference A??(c,d,e) [Symbolic mathematical library]
| QuoteRef: wulfWA4_1974 ;;8 declare forms with type returned eg form a(x:int):int= and b:a(5) b is an integer. form a= is same as form a:a =
| QuoteRef: wirtN1_1971 ;;55 PROCEDURE ( ids:type; CONST id:type; VAR ids:type also FUNCTION,PROCEDURE local/literal definitions, type definitions variable definitions, procedure etc
| QuoteRef: wirtN1_1971 ;;58 FUNCTION id (param list): result-type
| QuoteRef: rtl2 ;;proc() for no arguments
| QuoteRef: schuSA_1970 ;;12 procedures as a type value eg mode trigo is proc (real) real;
| Subtopic: binary, matchfix, etc.
QuoteRef: wegbB_1971 ;;257 any id can be an infix operator, prefix operator, id or all (context)
| QuoteRef: wegbB2_1974 ;;43 matchfix operator. has left and right deliminators eg <1,2,3> is operation < on 3 parameters 1,2,3 (closure to protect global variables
| QuoteRef: stanT_1967 ;;50 binary operator <- [='+'] .union. [='-'] .union. [='x'] .union. [='/'] simplified as {+,-,x,/}
| QuoteRef: sammJE_1969 ;;201 triplets of two operators with operand in between (Neliac)
| QuoteRef: bennRK7_1976 ;;35 words classed as variable, infix operator
| Quote: in Flex can define new binary and unary operations [»kayAC6_1968, OK]
| Quote: in Russell can also define infix and suffix functions [»demeA3_1979]
| Quote: Russell can overload existing operators if they have different argument signatures
|
Related Topics
Group: type checking (12 topics, 392 quotes)
Topic: BNF grammar (9 items)
Topic: function call (28 items)
Topic: function definition (25 items)
Topic: function signature (21 items)
Topic: function syntax by pattern (15 items)
Topic: parameter passing by keyword or position (13 items)
Topic: syntax analysis (29 items)
Topic: type algebras, typed lambda calculus, and type-complete languages (28 items)
|