]> gitweb.factorcode.org Git - factor.git/blobdiff - core/generic/single/single.factor
core: using fry in a few places to see how it works.
[factor.git] / core / generic / single / single.factor
index 4dec5b9d83debe2ba58b1e184bfdae055ab3d776..7d38b2c603516aadfd5bc438283ce6e94552451c 100644 (file)
@@ -41,14 +41,15 @@ HOOK: picker combination ( -- quot )
 
 M: single-combination next-method-quot*
     [
-        2dup next-method dup [
+        2dup next-method [
             [
-                pick predicate-def %
+                [ picker % ] 3dip
+                [ dup predicate-def % ] 2dip
                 1quotation ,
                 [ inconsistent-next-method ] 2curry ,
                 \ if ,
-            ] [ ] make picker prepend
-        ] [ 3drop f ] if
+            ] [ ] make
+        ] [ 2drop f ] if*
     ] with-combination ;
 
 : method-for-object ( obj word -- method )
@@ -59,7 +60,7 @@ M: single-combination next-method-quot*
     bi or ;
 
 M: single-combination make-default-method
-    [ [ picker ] dip [ no-method ] curry append ] with-combination ;
+    [ [ picker ] dip '[ @ _ no-method ] ] with-combination ;
 
 ! ! ! Build an engine ! ! !