alien.destructors: ignore any output values from disposal word
parent
602fe353e8
commit
84b5ace863
|
@ -1,6 +1,7 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: functors destructors accessors kernel parser words ;
|
||||
USING: functors destructors accessors kernel parser words
|
||||
combinators.smart ;
|
||||
IN: alien.destructors
|
||||
|
||||
SLOT: alien
|
||||
|
@ -18,7 +19,7 @@ TUPLE: F-destructor alien disposed ;
|
|||
|
||||
: <F-destructor> ( alien -- destructor ) f F-destructor boa ; inline
|
||||
|
||||
M: F-destructor dispose* alien>> F ;
|
||||
M: F-destructor dispose* [ alien>> F ] drop-outputs ;
|
||||
|
||||
: &F ( alien -- alien ) dup <F-destructor> &dispose drop ; inline
|
||||
|
||||
|
|
|
@ -4,6 +4,9 @@ USING: accessors fry generalizations kernel macros math.order
|
|||
stack-checker math ;
|
||||
IN: combinators.smart
|
||||
|
||||
MACRO: drop-outputs ( quot -- quot' )
|
||||
dup infer out>> '[ @ _ ndrop ] ;
|
||||
|
||||
MACRO: output>sequence ( quot exemplar -- newquot )
|
||||
[ dup infer out>> ] dip
|
||||
'[ @ _ _ nsequence ] ;
|
||||
|
|
Loading…
Reference in New Issue