Add slurp-heap combinator, like slurp-deque

db4
Slava Pestov 2008-09-15 02:59:00 -05:00
parent d363621625
commit 89ce8e1f3e
1 changed files with 5 additions and 0 deletions

View File

@ -190,3 +190,8 @@ M: heap heap-pop ( heap -- value key )
[ dup heap-empty? not ]
[ dup heap-pop swap 2array ]
[ ] produce nip ;
: slurp-heap ( heap quot: ( elt -- ) -- )
over heap-empty? [ 2drop ] [
[ [ heap-pop drop ] dip call ] [ slurp-heap ] 2bi
] if ; inline recursive