Nameless methods may be declared inline. Such bare methods are typically used as parameters to other methods. For example, the following code fragment squares each element of a list using the built in map function and a bare method:
define method square-list(in :: <list>) => out :: <list> map(method(x) x * x end, in); end;
The map function takes each element of the list in and applies the anonymous method. It then builds a new list using the resulting values and returns it. The method square-list might be invoked as follows:Must distinguish return values from code.
square-list( #(1,2,3,4) ); => #(1,4,9,16)