]> gitweb.factorcode.org Git - factor.git/commitdiff
named-tuples: use ?offset-of-slot in M\ named-tuple at*.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sat, 17 Feb 2018 20:56:43 +0000 (12:56 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 17 Feb 2018 20:56:43 +0000 (12:56 -0800)
extra/named-tuples/named-tuples-tests.factor
extra/named-tuples/named-tuples.factor

index 1325bb07ae30ea6fb5987df32651546df01302f4..3dcf9531adf958d1d331326d27fcada31f4a9c3b 100644 (file)
@@ -24,6 +24,8 @@ INSTANCE: foo named-tuple
 { f } [ T{ foo } "y" of ] unit-test
 { f } [ T{ foo } "z" of ] unit-test
 
+{ f f } [ "not found" T{ foo f 1 2 3 } at* ] unit-test
+
 { 1 } [ T{ foo f 1 2 3 } "x" of ] unit-test
 { 2 } [ T{ foo f 1 2 3 } "y" of ] unit-test
 { 3 } [ T{ foo f 1 2 3 } "z" of ] unit-test
index 8d01fdce8ded9514d76247179608692844aa61a0..72be384a0eb741bc972bca86dd00f8e9fe2f683c 100644 (file)
@@ -11,7 +11,8 @@ MIXIN: named-tuple
 
 M: named-tuple assoc-size tuple-size ;
 
-M: named-tuple at* get-slot-named t ;
+M: named-tuple at*
+    [ nip ] [ ?offset-of-slot ] 2bi [ slot t ] [ drop f f ] if* ;
 
 M: named-tuple set-at set-slot-named ;