Paste: after inlines

Author: prunedtree
Mode: factor
Date: Mon, 17 Nov 2008 14:52:52
Plain Text |
( scratchpad ) [ list>sequence ] optimized.
[
    V{ } (clone) dup
    >r 2 slot (clone) r>
    swap over 2 set-slot dup
    >r r>
    >r
    >r dup mlist? [ ] [ mlist bad-slot-value ] if 1 {
        mlist-cursor
        2
        1
        tuple
        -90033422
        mlist-cursor
        -206343022
    } <tuple-boa> r>
    \ ( gensym ) [
        dup
        >r
        >r dup
        >r 0 r>
        dup
        >r 2 slot 2 slot 2dup 1 slot fixnum< [ t ] [ f ] if
        [ nip ] [ bounds-error ] if
        >r r>
        2 slot r>
        2 slot swap
        >r r>
        >fixnum swap
        >r dup 0 fixnum< [ 0 swap fixnum- ] [ ] if r>
        swap
        >r r>
        >fixnum swap
        >r 1 fixnum-fast r>
        2 slot 2dup dupd 1 slot fixnum<
        [ 0 fixnum>= ] [ drop f ] if [ ] [ bounds-error ] if
        >r r>
        swap 2 fixnum+fast slot
        >r r>
        >fixnum 0 fixnum<
        [ dup >r (delete-next) r> mlist-cursor=>lazy-next>> ] [
            >r 0 r>
            dup
            >r 2 slot 2 slot 2dup 1 slot fixnum< [ t ] [ f ] if
            [ nip ] [ bounds-error ] if
            >r r>
            2 slot r>
            2 slot swap
            >r r>
            >fixnum swap
            >r dup 0 fixnum< [ 0 swap fixnum- ] [ ] if
            r>
            swap
            >r r>
            >fixnum {
                mlist-cursor
                2
                1
                tuple
                -90033422
                mlist-cursor
                -206343022
            } <tuple-boa>
        ] if r>
        over
        >r
        >r dup
        >r 3 slot 2 fixnum- r>
        2 slot 3 slot 2dup dupd 1 slot <-integer-fixnum
        [ 0 >=-integer-fixnum ] [ drop f ] if
        [ ] [ bounds-error ] if
        >r >fixnum r>
        swap 2 fixnum+fast slot r>
        push r>
        dup dup
        >r 3 slot r>
        2 slot 5 slot eq? [ t ] [ f ] if [ f ] [ t ] if r>
        swap [ ( gensym ) ] [ drop drop ] if
    ] label r>
]

New Annotation

Summary:
Author:
Mode:
Body: