27 lines
590 B
Factor
27 lines
590 B
Factor
! Copyright (C) 2009 Slava Pestov.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: functors destructors accessors kernel lexer words ;
|
|
IN: alien.destructors
|
|
|
|
FUNCTOR: define-destructor ( F -- )
|
|
|
|
F IS ${F}
|
|
F-destructor DEFINES ${F}-destructor
|
|
&F DEFINES &${F}
|
|
|F DEFINES |${F}
|
|
|
|
WHERE
|
|
|
|
TUPLE: F-destructor alien disposed ;
|
|
|
|
M: F-destructor dispose* alien>> F execute ;
|
|
|
|
: &F ( alien -- alien )
|
|
dup f F-destructor boa &dispose drop ; inline
|
|
|
|
: |F ( alien -- alien )
|
|
dup f F-destructor boa |dispose drop ; inline
|
|
|
|
;FUNCTOR
|
|
|
|
: DESTRUCTOR: scan define-destructor ; parsing |