define infix-function

declaration/definition

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


Purpose

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
     distance
        value string b
  as
     assert length of a = 1 & length of b = 1 message "Single characters only please."
  
     return binary b - binary a
  
  
  process
     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.