Adding lappend
parent
05c84a72e1
commit
e41f1338c6
|
|
@ -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
|
||||
|
|
@ -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 ;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue