]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix circularity
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 10 Feb 2009 22:42:35 +0000 (16:42 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 10 Feb 2009 22:42:35 +0000 (16:42 -0600)
basis/delegate/delegate.factor
basis/generalizations/generalizations.factor
basis/stack-checker/transforms/transforms.factor

index 37277685d515d4d66acf78e6eecb3c2e1a97fc04..a4eef54907fd078dcc1478f17b1249ec94fcfebc 100644 (file)
@@ -1,10 +1,9 @@
 ! Copyright (C) 2007, 2008 Daniel Ehrenberg
 ! Portions copyright (C) 2009 Slava Pestov
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs classes.tuple definitions
-generalizations generic generic.standard hashtables kernel
-lexer make math parser generic.parser sequences sets slots
-words words.symbol fry ;
+USING: accessors arrays assocs classes.tuple definitions generic
+generic.standard hashtables kernel lexer make math parser
+generic.parser sequences sets slots words words.symbol fry ;
 IN: delegate
 
 : protocol-words ( protocol -- words )
@@ -30,7 +29,7 @@ M: tuple-class group-words
 
 : consult-method ( word class quot -- )
     [ drop swap first create-method-in ]
-    [ nip [ , dup second , \ ndip , first , ] [ ] make ] 3bi
+    [ nip [ swap [ second [ [ dip ] curry ] times % ] [ first , ] bi ] [ ] make ] 3bi
     define ;
 
 : change-word-prop ( word prop quot -- )
index fe822f318c6898191a308c905bb14e57763751fb..0aa042d4f2e7056159d3d1775c8fd31853fc5808 100644 (file)
@@ -2,7 +2,7 @@
 ! Cavazos, Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: kernel sequences sequences.private math combinators
-macros quotations fry stack-checker.transforms effects ;
+macros quotations fry effects ;
 IN: generalizations
 
 <<
@@ -94,12 +94,4 @@ MACRO: nweave ( n -- )
 : nappend-as ( n exemplar -- seq )
     [ narray concat ] dip like ; inline
 
-: nappend ( n -- seq ) narray concat ; inline
-
-: nths-quot ( indices -- quot )
-    [ [ '[ _ swap nth ] ] map ] [ length ] bi
-    '[ _ cleave _ narray ] ;
-
-\ shuffle [
-    shuffle-mapping nths-quot
-] 1 define-transform
\ No newline at end of file
+: nappend ( n -- seq ) narray concat ; inline
\ No newline at end of file
index a2f616480a96c4d045386f604687ef2232cb85e3..e72916913351dbb4bad264a25ea8dfc6f14df88c 100755 (executable)
@@ -4,8 +4,8 @@ USING: fry accessors arrays kernel words sequences generic math
 namespaces make quotations assocs combinators classes.tuple
 classes.tuple.private effects summary hashtables classes generic
 sets definitions generic.standard slots.private continuations locals
-stack-checker.backend stack-checker.state stack-checker.visitor
-stack-checker.errors stack-checker.values
+generalizations stack-checker.backend stack-checker.state
+stack-checker.visitor stack-checker.errors stack-checker.values
 stack-checker.recursive-state ;
 IN: stack-checker.transforms
 
@@ -155,3 +155,12 @@ IN: stack-checker.transforms
 \ memq? [
     dup sequence? [ memq-quot ] [ drop f ] if
 ] 1 define-transform
+
+! Shuffling
+: nths-quot ( indices -- quot )
+    [ [ '[ _ swap nth ] ] map ] [ length ] bi
+    '[ _ cleave _ narray ] ;
+
+\ shuffle [
+    shuffle-mapping nths-quot
+] 1 define-transform
\ No newline at end of file