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 typecomplete 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 objecttype operationname; 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): resulttype
 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 typecomplete languages (28 items)
