2 USING: accessors effects.parser kernel lexer multi-methods
3 parser sequences words ;
5 IN: multi-method-syntax
7 ! A nicer specializer syntax to hold us over till multi-methods go in
10 ! Use both 'multi-methods' and 'multi-method-syntax' in that order.
12 : scan-specializer ( -- specializer )
14 scan drop ! eat opening parenthesis
16 ")" parse-effect in>> [ search ] map ;
18 : CREATE-METHOD ( -- method )
19 scan-word scan-specializer swap create-method-in ;
21 : (METHOD:) ( -- method def ) CREATE-METHOD parse-definition ;
23 : METHOD: (METHOD:) define ; parsing