{ 1 }
is type lazy number
Functions can require that their parameters be lazy with the ~
:
fn times n ~do = if (n <= 0) { nothing } { eval do; times (n - 1) do }
(the ;
meaning chain evaluation of two expressions)
If a lazy value is passed to a function that doesn't want a lazy value,
then the lazy value is automatically evaluated. This, as a consequence
means that the definition of the eval
function in the language can