]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/smalltalk/selectors/selectors.factor
factor: trim using lists
[factor.git] / extra / smalltalk / selectors / selectors.factor
index 2ea1e99afd1ce349fa6e1871f449c756d7a63192..c10a7e2b0170c597136c5a4f3a09bec5b81e2d7e 100644 (file)
@@ -1,6 +1,6 @@
-! Copyright (C) 2009 Slava Pestov.
+! Copyright (C) 2009, 2010 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: combinators effects generic generic.standard
+USING: arrays combinators effects generic.standard
 kernel sequences words lexer ;
 IN: smalltalk.selectors
 
@@ -15,14 +15,14 @@ SYMBOLS: unary binary keyword ;
 
 : selector>effect ( selector -- effect )
     dup selector-type {
-        { unary [ drop 0 ] }
-        { binary [ drop 1 ] }
-        { keyword [ [ CHAR: : = ] count ] }
+        { unary [ drop { } ] }
+        { binary [ drop { "x" } ] }
+        { keyword [ [ CHAR: : = ] count "x" <array> ] }
     } case "receiver" suffix { "result" } <effect> ;
 
 : selector>generic ( selector -- generic )
-    [ "selector-" prepend "smalltalk.selectors" create dup ]
+    [ "selector-" prepend "smalltalk.selectors" create-word dup ]
     [ selector>effect ]
     bi define-simple-generic ;
 
-SYNTAX: SELECTOR: scan selector>generic drop ;
\ No newline at end of file
+SYNTAX: SELECTOR: scan-token selector>generic drop ;