>not a good example - in fact, * (like all k primitives) is
> is it lazy? you bet:
>
> !-1
>
> causes a k error, because ! takes only non-negative integers.
>
> *x
>
> takes the first of the list x.
>
> *[10;!-1]
>
> returns 10. i.e. !-1 is not evaluated.
strict: *x fully evaluates its argument, then takes the
first.
this is a better example:
first x y is x;
(first 10)(!-1)
10