Moving extra/lisp/conses to extra/lists
parent
25fa024898
commit
cfc3381cab
|
@ -1 +0,0 @@
|
||||||
Cons cell helper functions for extra/lisp
|
|
|
@ -1,8 +1,8 @@
|
||||||
! Copyright (C) 2008 James Cash
|
! Copyright (C) 2008 James Cash
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: tools.test lisp.conses math ;
|
USING: tools.test lists math ;
|
||||||
|
|
||||||
IN: lisp.conses.tests
|
IN: lists.tests
|
||||||
|
|
||||||
{ { 3 4 5 6 } } [
|
{ { 3 4 5 6 } } [
|
||||||
T{ cons f 1
|
T{ cons f 1
|
||||||
|
@ -11,3 +11,11 @@ IN: lisp.conses.tests
|
||||||
T{ cons f 4
|
T{ cons f 4
|
||||||
T{ cons f f f } } } } } [ 2 + ] map-cons
|
T{ cons f f f } } } } } [ 2 + ] map-cons
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
{ 10 } [
|
||||||
|
T{ cons f 1
|
||||||
|
T{ cons f 2
|
||||||
|
T{ cons f 3
|
||||||
|
T{ cons f 4
|
||||||
|
T{ cons f f f } } } } } 0 [ + ] reduce-cons
|
||||||
|
] unit-test
|
|
@ -2,7 +2,7 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: kernel sequences accessors ;
|
USING: kernel sequences accessors ;
|
||||||
|
|
||||||
IN: lisp.conses
|
IN: lists
|
||||||
|
|
||||||
TUPLE: cons car cdr ;
|
TUPLE: cons car cdr ;
|
||||||
: cons \ cons new ;
|
: cons \ cons new ;
|
||||||
|
@ -26,6 +26,9 @@ TUPLE: cons car cdr ;
|
||||||
: map-cons ( cons quot -- seq )
|
: map-cons ( cons quot -- seq )
|
||||||
[ { } clone ] 2dip (map-cons) ;
|
[ { } clone ] 2dip (map-cons) ;
|
||||||
|
|
||||||
|
: cons>seq ( cons -- array )
|
||||||
|
[ ] map-cons ;
|
||||||
|
|
||||||
: reduce-cons ( cons identity quot -- result )
|
: reduce-cons ( cons identity quot -- result )
|
||||||
pick null? [ drop nip ]
|
pick null? [ drop nip ]
|
||||||
[ [ uncons ] 2dip swapd [ call ] keep reduce-cons ] if ;
|
[ [ uncons ] 2dip swapd [ call ] keep reduce-cons ] if ;
|
|
@ -0,0 +1 @@
|
||||||
|
Implementation of lisp-style linked lists
|
|
@ -1,4 +1,3 @@
|
||||||
lisp
|
|
||||||
cons
|
cons
|
||||||
lists
|
lists
|
||||||
sequences
|
sequences
|
Loading…
Reference in New Issue