]> gitweb.factorcode.org Git - factor.git/commitdiff
slots.macros: Refactor {word-names}.
authorDoug Coleman <doug.coleman@gmail.com>
Sun, 23 Jul 2017 20:18:14 +0000 (15:18 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Sun, 20 Aug 2017 16:36:32 +0000 (11:36 -0500)
extra/slots/macros/macros-tests.factor
extra/slots/macros/macros.factor

index 46ca59d8a5c1019ab895185a6ab445a1946cb829..345cd4da892c383aec9663362d7ab6665a64ef1c 100644 (file)
@@ -58,7 +58,7 @@ TUPLE: foo a b c ;
 
 { { 2 1 3 } } [
     T{ foo { a 1 } { b 2 } { c 3 } }
-    { "b" "a" "c" } {slots}
+    { "b" "a" "c" } slots>array
 ] unit-test
 
 { T{ foo { a "one" } { b "two" } { c "three" } } } [
@@ -70,5 +70,5 @@ TUPLE: foo a b c ;
 { T{ foo { a "one" } { b "two" } { c "three" } } } [
     { "two" "one" "three" }
     T{ foo { a 1 } { b 2 } { c 3 } } clone
-    [ { "b" "a" "c" } {set-slots} ] keep
+    [ { "b" "a" "c" } array>set-slots ] keep
 ] unit-test
index cedccade7b53a6f7b1744f3ff7e946ab32663b69..7b2d8a18718458f27a2d74b56ac1c33101cd813d 100644 (file)
@@ -44,12 +44,12 @@ MACRO: set-slot ( name -- quot: ( value tuple -- ) )
 MACRO: slots ( names -- quot: ( tuple -- values... ) )
     [ '[ _ slot ] ] { } map-as '[ _ cleave ] ;
 
-MACRO: {slots} ( names -- quot: ( tuple -- {values} ) )
+MACRO: slots>array ( names -- quot: ( tuple -- values ) )
     dup length '[ _ slots _ narray ] ;
 
 MACRO: set-slots ( names -- quot: ( values... tuple -- ) )
     [ [ '[ _ set-slot ] ] [ ] map-as ] [ length dup ] bi
     '[ @ _ cleave-curry _ spread* ] ;
 
-MACRO: {set-slots} ( names -- quot: ( {values} tuple -- ) )
+MACRO: array>set-slots ( names -- quot: ( values tuple -- ) )
     [ length ] keep '[ [ _ firstn ] dip _ set-slots ] ;