From 536b412d2e308937e526d99251f4991b4d09c67a Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Sat, 29 Nov 2008 12:08:20 -0600 Subject: [PATCH] multi-method-syntax: Nicer specializer syntax to hold me over till multi-methods are official --- .../multi-method-syntax.factor | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 extra/multi-method-syntax/multi-method-syntax.factor diff --git a/extra/multi-method-syntax/multi-method-syntax.factor b/extra/multi-method-syntax/multi-method-syntax.factor new file mode 100644 index 0000000000..9f05525f23 --- /dev/null +++ b/extra/multi-method-syntax/multi-method-syntax.factor @@ -0,0 +1,23 @@ + +USING: accessors effects.parser kernel lexer multi-methods + parser sequences words ; + +IN: multi-method-syntax + +! A nicer specializer syntax to hold us over till multi-methods go in +! officially. +! +! Use both 'multi-methods' and 'multi-method-syntax' in that order. + +: scan-specializer ( -- specializer ) + + scan drop ! eat opening parenthesis + + ")" parse-effect in>> [ search ] map ; + +: CREATE-METHOD ( -- method ) + scan-word scan-specializer swap create-method-in ; + +: (METHOD:) ( -- method def ) CREATE-METHOD parse-definition ; + +: METHOD: (METHOD:) define ; parsing \ No newline at end of file