misc: (*,*)


(*,*):
    description:
        (*)
        (*,*)
        (*,*,*)
        (*,*,*,*)
        anonymous or unbound function symbol
        used to define a function, but without binding the variables to an op-ket
        instead, the input variables bind to |__selfk>, where k is a positive integer
        note that the input sequence binds to |__self0>
        the first param binds to |__self> or |__self1>
        the second param to |__self2>, and so on
        currently limited to a max of 4 parameters, bound functions in contrast do not have this limit
        in many cases, bound functions are now preferred over anonymous functions

    examples:
        -- anonymous function with 1 parameter:
        fn1 (*) #=> 2|__self0> + 3|__self1>

        -- anonymous function with 2 parameters:
        fn2 (*,*) #=> 2|__self0> + 3|__self1> + 5|__self2>

        -- anonymous function with 3 parameters:
        fn3 (*,*,*) #=> 2|__self0> + 3|__self1> + 5|__self2> + 7|__self3>

        -- anonymous function with 4 parameters:
        fn4 (*,*,*,*) #=> 2|__self0> + 3|__self1> + 5|__self2> + 7|__self3> + 11|__self4>


        -- another example, this time a multi-line rule:
        foo2 (*,*) #=>
            sprint["input: "] |__self0>
            sprint["one: "] |__self1>
            sprint["two: "] |__self2>
            |return var>

        -- now invoke it:
        foo2(ssplit |abc>, ssplit |uv>) ssplit |xyz>

            input: |x> . |y> . |z>
            one: |a> . |b> . |c>
            two: |u> . |v>
            |return var>

    see also:
        |__self>

Home