: phantom-shuffle ( shuffle -- )
[ in>> length phantom-datastack get phantom-input ] keep
- shuffle* phantom-datastack get phantom-append ;
+ shuffle phantom-datastack get phantom-append ;
: phantom->r ( n -- )
phantom-datastack get phantom-input
: infer-shuffle ( shuffle -- )
[ in>> length consume-d ] keep ! inputs shuffle
- [ drop ] [ shuffle* dup copy-values dup output-d ] 2bi ! inputs outputs copies
+ [ drop ] [ shuffle dup copy-values dup output-d ] 2bi ! inputs outputs copies
[ nip ] [ swap zip ] 2bi ! inputs copies mapping
#shuffle, ;
: shuffle* ( stack shuffle -- newstack )
[ [ load-shuffle ] keep shuffled-values ] with-scope ;
-
-: shuffle ( stack shuffle -- newstack )
- [ split-shuffle ] keep shuffle* append ;