define infix-function


define return-type infix-function
      value type name
      value type name
(as function-body | elsewhere)


You can use define infix-function to define an infix function or operator. An infix function is a function that takes exactly two arguments. The function name is placed between the first and the second argument. The function name may be an OmniMark name or symbol.

The following example defines an infix function to determine the distance between two characters in the ASCII character set:

  define integer infix-function
        value string a
        value string b
     assert length of a = 1 & length of b = 1 message "Single characters only please."
     return binary b - binary a
     output "d" % ("A" distance "Q")

An infix function must return a value. The arguments to an infix function must be passed as value arguments.

Infix functions may be overloaded but not dynamic.