]> gitweb.factorcode.org Git - factor.git/commitdiff
Adding lappend
authorJames Cash <james.nvc@gmail.com>
Mon, 9 Jun 2008 01:12:15 +0000 (21:12 -0400)
committerJames Cash <james.nvc@gmail.com>
Wed, 11 Jun 2008 05:36:35 +0000 (01:36 -0400)
extra/lists/lists-tests.factor
extra/lists/lists.factor

index cdc51b76e8378a63e4d0ea1c3a91bda65aaaf6f0..4a08a4d1e316f02d75b103aa3564dd6062080b5b 100644 (file)
@@ -63,4 +63,8 @@ IN: lists.tests
     
 { { 3 4 { 5 6 { 7 } } } } [
   { 1 2 { 3 4 { 5 } } } seq>cons [ atom? ] [ 2 + ] traverse cons>seq
+] unit-test
+    
+{ { 1 2 3 4 5 6 } } [
+    { 1 2 3 } seq>list { 4 5 6 } seq>list lappend list>seq
 ] unit-test
\ No newline at end of file
index 13d77f757a66b3fddfd38e87edd983905371bcd5..613d75c4aee98812300e591925cafe72ccdc6059 100644 (file)
@@ -1,4 +1,4 @@
-! Copyright (C) 2008 Chris Double & James Cash
+! Copyright (C) 2008 James Cash
 ! See http://factorcode.org/license.txt for BSD license.
 USING: kernel sequences accessors math arrays vectors classes words locals ;
 
@@ -75,6 +75,9 @@ M: object nil? drop f ;
 : lreverse ( list -- newlist )    
     nil [ swap cons ] foldl ;
     
+: lappend ( list1 list2 -- newlist )    
+    [ lreverse ] dip [ swap cons ] foldl ;
+    
 : seq>list ( seq -- list )    
     <reversed> nil [ swap cons ] reduce ;