]> gitweb.factorcode.org Git - factor.git/blob - basis/alien/destructors/destructors.factor
Fix conflict in images vocab
[factor.git] / basis / alien / destructors / destructors.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: functors destructors accessors kernel parser words ;
4 IN: alien.destructors
5
6 SLOT: alien
7
8 FUNCTOR: define-destructor ( F -- )
9
10 F-destructor DEFINES-CLASS ${F}-destructor
11 <F-destructor> DEFINES <${F}-destructor>
12 &F DEFINES &${F}
13 |F DEFINES |${F}
14
15 WHERE
16
17 TUPLE: F-destructor alien disposed ;
18
19 : <F-destructor> ( alien -- destructor ) f F-destructor boa ; inline
20
21 M: F-destructor dispose* alien>> F ;
22
23 : &F ( alien -- alien ) dup <F-destructor> &dispose drop ; inline
24
25 : |F ( alien -- alien ) dup <F-destructor> |dispose drop ; inline
26
27 ;FUNCTOR
28
29 : DESTRUCTOR: scan-word define-destructor ; parsing