auto f = function () -> y ... ... endNormally if f has no input argument, it should be called by appending a pair of empty parentheses, as in f(). Here suppose that u is class member. If f were a common attribute, we would have to call it by u.f(). The only difference made by being an auto is now f can be called by u.f without the empty parentheses enclosure. For example
circle = class public radius = 1; auto perimeter = () -> 2 * pi * parent.radius; auto area = () -> pi * (parent.radius)^2; endIf x belongs to the circle class, to find its area, one only needs to write x.area. But manually setting x.area to new value using x.area = new_value is not allowed, since x.area can only be automatically calculated using the attribute function.