# Re: [stack] a lazy k (correction)

## stevan apter — 2005-06-01 00:03:03

    >

    > 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.

     not a good example - in fact, * (like all k primitives) is

    strict:  *x fully evaluates its argument, then takes the

    first.

    this is a better example:

        first x y is x;

        (first 10)(!-1)

      10