| 
									
										
										
										
											2016-12-28 15:56:19 -05:00
										 |  |  | USING: alien.c-types ascii assocs kernel make math namespaces | 
					
						
							| 
									
										
										
										
											2016-03-30 21:43:14 -04:00
										 |  |  | sequences specialized-arrays tools.test ;
 | 
					
						
							|  |  |  | IN: assocs.tests | 
					
						
							| 
									
										
										
										
											2009-09-09 23:33:34 -04:00
										 |  |  | SPECIALIZED-ARRAY: double | 
					
						
							| 
									
										
										
										
											2009-08-13 20:21:44 -04:00
										 |  |  | IN: assocs.tests | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { t } [ H{ } dup assoc-subset? ] unit-test | 
					
						
							|  |  |  | { f } [ H{ { 1 3 } } H{ } assoc-subset? ] unit-test | 
					
						
							|  |  |  | { t } [ H{ } H{ { 1 3 } } assoc-subset? ] unit-test | 
					
						
							|  |  |  | { t } [ H{ { 1 3 } } H{ { 1 3 } } assoc-subset? ] unit-test | 
					
						
							|  |  |  | { f } [ H{ { 1 3 } } H{ { 1 "hey" } } assoc-subset? ] unit-test | 
					
						
							|  |  |  | { f } [ H{ { 1 f } } H{ } assoc-subset? ] unit-test | 
					
						
							|  |  |  | { t } [ H{ { 1 f } } H{ { 1 f } } assoc-subset? ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | ! Test some combinators | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     { 4 14 32 } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     [ | 
					
						
							|  |  |  |         H{ | 
					
						
							|  |  |  |             { 1 2 } | 
					
						
							|  |  |  |             { 3 4 } | 
					
						
							|  |  |  |             { 5 6 } | 
					
						
							|  |  |  |         } [ * 2 + , ] assoc-each
 | 
					
						
							|  |  |  |     ] { } make | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { t } [ H{ } [ 2drop f ] assoc-all? ] unit-test | 
					
						
							|  |  |  | { t } [ H{ { 1 1 } } [ = ] assoc-all? ] unit-test | 
					
						
							|  |  |  | { f } [ H{ { 1 2 } } [ = ] assoc-all? ] unit-test | 
					
						
							|  |  |  | { t } [ H{ { 1 1 } { 2 2 } } [ = ] assoc-all? ] unit-test | 
					
						
							|  |  |  | { f } [ H{ { 1 2 } { 2 2 } } [ = ] assoc-all? ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ } } [ H{ { t f } { f t } } [ 2drop f ] assoc-filter ] unit-test | 
					
						
							|  |  |  | { H{ } } [ H{ { t f } { f t } } clone dup [ 2drop f ] assoc-filter! drop ] unit-test | 
					
						
							|  |  |  | { H{ } } [ H{ { t f } { f t } } clone [ 2drop f ] assoc-filter! ] unit-test | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 3 4 } { 4 5 } { 6 7 } } } [ | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     H{ { 1 2 } { 2 3 } { 3 4 } { 4 5 } { 6 7 } } | 
					
						
							| 
									
										
										
										
											2008-04-26 00:12:44 -04:00
										 |  |  |     [ drop 3 >= ] assoc-filter
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 3 4 } { 4 5 } { 6 7 } } } [ | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 1 2 } { 2 3 } { 3 4 } { 4 5 } { 6 7 } } clone
 | 
					
						
							|  |  |  |     [ drop 3 >= ] assoc-filter!
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 3 4 } { 4 5 } { 6 7 } } } [ | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 1 2 } { 2 3 } { 3 4 } { 4 5 } { 6 7 } } clone dup
 | 
					
						
							|  |  |  |     [ drop 3 >= ] assoc-filter! drop
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 1 2 } { 2 3 } } } [ | 
					
						
							| 
									
										
										
										
											2015-05-12 22:07:00 -04:00
										 |  |  |     H{ { 1 2 } { 2 3 } { 3 4 } { 4 5 } { 6 7 } } | 
					
						
							|  |  |  |     [ drop 3 >= ] assoc-reject | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 1 2 } { 2 3 } } } [ | 
					
						
							| 
									
										
										
										
											2015-05-12 22:07:00 -04:00
										 |  |  |     H{ { 1 2 } { 2 3 } { 3 4 } { 4 5 } { 6 7 } } clone
 | 
					
						
							|  |  |  |     [ drop 3 >= ] assoc-reject! | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { 21 } [ | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     0 H{ | 
					
						
							|  |  |  |         { 1 2 } | 
					
						
							|  |  |  |         { 3 4 } | 
					
						
							|  |  |  |         { 5 6 } | 
					
						
							|  |  |  |     } [ | 
					
						
							|  |  |  |         + +
 | 
					
						
							|  |  |  |     ] assoc-each
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | H{ } clone "cache-test" set
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { 4 } [ 1 "cache-test" get [ 3 + ] cache ] unit-test | 
					
						
							|  |  |  | { 5 } [ 2 "cache-test" get [ 3 + ] cache ] unit-test | 
					
						
							|  |  |  | { 4 } [ 1 "cache-test" get [ 3 + ] cache ] unit-test | 
					
						
							|  |  |  | { 5 } [ 2 "cache-test" get [ 3 + ] cache ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     H{ { "factor" "rocks" } { 3 4 } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     H{ { "factor" "rocks" } { "dup" "sq" } { 3 4 } } | 
					
						
							|  |  |  |     H{ { "factor" "rocks" } { 1 2 } { 2 3 } { 3 4 } } | 
					
						
							| 
									
										
										
										
											2008-04-13 23:58:07 -04:00
										 |  |  |     assoc-intersect
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     H{ { 1 2 } { 2 3 } { 6 5 } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     H{ { 2 4 } { 6 5 } } H{ { 1 2 } { 2 3 } } | 
					
						
							| 
									
										
										
										
											2008-04-13 23:58:07 -04:00
										 |  |  |     assoc-union
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 1 2 } { 2 3 } { 6 5 } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 2 4 } { 6 5 } } clone dup H{ { 1 2 } { 2 3 } } | 
					
						
							|  |  |  |     assoc-union! drop
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 1 2 } { 2 3 } { 6 5 } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 2 4 } { 6 5 } } clone H{ { 1 2 } { 2 3 } } | 
					
						
							|  |  |  |     assoc-union!
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 1 2 } { 2 3 } } t } [ | 
					
						
							| 
									
										
										
										
											2008-04-13 23:58:07 -04:00
										 |  |  |     f H{ { 1 2 } { 2 3 } } [ assoc-union ] 2keep swap assoc-union dupd =
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     H{ { 1 f } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2008-04-13 23:58:07 -04:00
										 |  |  |     H{ { 1 f } } H{ { 1 f } } assoc-intersect
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 3 4 } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 1 2 } { 3 4 } } H{ { 1 3 } } assoc-diff
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 3 4 } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 1 2 } { 3 4 } } clone dup H{ { 1 3 } } assoc-diff! drop
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 3 4 } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2010-02-03 08:55:00 -05:00
										 |  |  |     H{ { 1 2 } { 3 4 } } clone H{ { 1 3 } } assoc-diff!
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { "hi" 2 } { 3 4 } } } | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | [ "hi" 1 H{ { 1 2 } { 3 4 } } clone [ rename-at ] keep ] | 
					
						
							|  |  |  | unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 1 2 } { 3 4 } } } | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | [ "hi" 5 H{ { 1 2 } { 3 4 } } clone [ rename-at ] keep ] | 
					
						
							|  |  |  | unit-test | 
					
						
							| 
									
										
										
										
											2007-12-03 19:29:16 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2007-12-03 19:29:16 -05:00
										 |  |  |     H{ { 1.0 1.0 } { 2.0 2.0 } } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2008-12-03 04:44:08 -05:00
										 |  |  |     double-array{ 1.0 2.0 } [ dup ] H{ } map>assoc
 | 
					
						
							| 
									
										
										
										
											2007-12-03 19:29:16 -05:00
										 |  |  | ] unit-test | 
					
						
							| 
									
										
										
										
											2008-03-26 04:57:48 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-12 00:43:58 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     { { 1.0 1.0 } { 2.0 2.0 } } | 
					
						
							|  |  |  | } [ | 
					
						
							|  |  |  |     double-array{ 1.0 2.0 } [ dup ] { } map>assoc
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { { 3 } } [ | 
					
						
							| 
									
										
										
										
											2008-03-26 04:57:48 -04:00
										 |  |  |     [ | 
					
						
							|  |  |  |         3
 | 
					
						
							|  |  |  |         H{ } clone
 | 
					
						
							|  |  |  |         2 [ | 
					
						
							| 
									
										
										
										
											2008-03-27 06:13:52 -04:00
										 |  |  |             2dup [ , f ] cache drop
 | 
					
						
							| 
									
										
										
										
											2008-03-26 04:57:48 -04:00
										 |  |  |         ] times
 | 
					
						
							|  |  |  |         2drop
 | 
					
						
							| 
									
										
										
										
											2008-03-27 06:13:52 -04:00
										 |  |  |     ] { } make | 
					
						
							| 
									
										
										
										
											2008-03-26 04:57:48 -04:00
										 |  |  | ] unit-test | 
					
						
							| 
									
										
										
										
											2008-05-22 23:41:48 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2008-05-22 23:41:48 -04:00
										 |  |  |     H{ | 
					
						
							|  |  |  |         { "bangers" "mash" } | 
					
						
							|  |  |  |         { "fries" "onion rings" } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | } [ | 
					
						
							| 
									
										
										
										
											2008-05-22 23:41:48 -04:00
										 |  |  |     { "bangers" "fries" } H{ | 
					
						
							|  |  |  |         { "fish" "chips" } | 
					
						
							|  |  |  |         { "bangers" "mash" } | 
					
						
							|  |  |  |         { "fries" "onion rings" } | 
					
						
							|  |  |  |         { "nachos" "cheese" } | 
					
						
							|  |  |  |     } extract-keys
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							| 
									
										
										
										
											2009-01-20 16:27:14 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { "b" [ 2 ] } { "d" [ 4 ] } } H{ { "a" [ 1 ] } { "c" [ 3 ] } } } [ | 
					
						
							| 
									
										
										
										
											2009-01-27 00:19:49 -05:00
										 |  |  |     H{ | 
					
						
							|  |  |  |         { "a" [ 1 ] } | 
					
						
							|  |  |  |         { "b" [ 2 ] } | 
					
						
							|  |  |  |         { "c" [ 3 ] } | 
					
						
							|  |  |  |         { "d" [ 4 ] } | 
					
						
							|  |  |  |     } [ nip first even? ] assoc-partition
 | 
					
						
							| 
									
										
										
										
											2009-02-22 18:13:18 -05:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { 1 f } [ 1 H{ } ?at ] unit-test | 
					
						
							|  |  |  | { 2 t } [ 1 H{ { 1 2 } } ?at ] unit-test | 
					
						
							| 
									
										
										
										
											2009-05-26 19:45:37 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { f } [ 1 2 H{ { 2 1 } } maybe-set-at ] unit-test | 
					
						
							|  |  |  | { t } [ 1 3 H{ { 2 1 } } clone maybe-set-at ] unit-test | 
					
						
							|  |  |  | { t } [ 3 2 H{ { 2 1 } } clone maybe-set-at ] unit-test | 
					
						
							| 
									
										
										
										
											2009-07-22 03:06:14 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 1 2 } { 2 3 } } } [ | 
					
						
							| 
									
										
										
										
											2009-07-22 03:06:14 -04:00
										 |  |  |     { | 
					
						
							|  |  |  |         H{ { 1 3 } } | 
					
						
							|  |  |  |         H{ { 2 3 } } | 
					
						
							|  |  |  |         H{ { 1 2 } } | 
					
						
							|  |  |  |     } assoc-combine
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { H{ { 1 7 } } } [ | 
					
						
							| 
									
										
										
										
											2009-07-22 03:06:14 -04:00
										 |  |  |     { | 
					
						
							|  |  |  |         H{ { 1 2 } { 2 4 } { 5 6 } } | 
					
						
							|  |  |  |         H{ { 1 3 } { 2 5 } } | 
					
						
							|  |  |  |         H{ { 1 7 } { 5 6 } } | 
					
						
							|  |  |  |     } assoc-refine
 | 
					
						
							| 
									
										
										
										
											2009-08-13 20:21:44 -04:00
										 |  |  | ] unit-test | 
					
						
							| 
									
										
										
										
											2011-09-17 00:52:14 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-02 20:28:17 -04:00
										 |  |  | { f } [ "a" { } assoc-stack ] unit-test | 
					
						
							|  |  |  | { 1 } [ "a" { H{ { "a" 1 } } H{ { "b" 2 } } } assoc-stack ] unit-test | 
					
						
							|  |  |  | { 2 } [ "b" { H{ { "a" 1 } } H{ { "b" 2 } } } assoc-stack ] unit-test | 
					
						
							|  |  |  | { f } [ "c" { H{ { "a" 1 } } H{ { "b" 2 } } } assoc-stack ] unit-test | 
					
						
							| 
									
										
										
										
											2012-08-24 01:36:10 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     { { 1 f } } | 
					
						
							|  |  |  | } [ | 
					
						
							|  |  |  |     { { 1 f } { f 2 } } sift-keys
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-08 12:58:40 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         { { 2 } 1 } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } [ | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         { { 2 } 1 } | 
					
						
							|  |  |  |         { { } 3 } | 
					
						
							|  |  |  |     } harvest-keys | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         { 1 { 2 } } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } [ | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         { 1 { 2 } } | 
					
						
							|  |  |  |         { 3 { } } | 
					
						
							|  |  |  |     } harvest-values | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-24 01:36:10 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     { { f 2 } } | 
					
						
							|  |  |  | } [ | 
					
						
							|  |  |  |     { { 1 f } { f 2 } } sift-values
 | 
					
						
							| 
									
										
										
										
											2014-11-08 03:39:38 -05:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ! zip, zip-as | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     { { 1 4 } { 2 5 } { 3 6 } } | 
					
						
							|  |  |  | } [ { 1 2 3 } { 4 5 6 } zip ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-08 21:26:21 -05:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2014-11-11 21:13:01 -05:00
										 |  |  |     { { 1 4 } { 2 5 } { 3 6 } } | 
					
						
							| 
									
										
										
										
											2014-11-08 21:26:21 -05:00
										 |  |  | } [ V{ 1 2 3 } { 4 5 6 } zip ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-08 03:39:38 -05:00
										 |  |  | { | 
					
						
							|  |  |  |     { { 1 4 } { 2 5 } { 3 6 } } | 
					
						
							|  |  |  | } [ { 1 2 3 } { 4 5 6 } { } zip-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     { { 1 4 } { 2 5 } { 3 6 } } | 
					
						
							|  |  |  | } [ B{ 1 2 3 } { 4 5 6 } { } zip-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     V{ { 1 4 } { 2 5 } { 3 6 } } | 
					
						
							|  |  |  | } [ { 1 2 3 } { 4 5 6 } V{ } zip-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     V{ { 1 4 } { 2 5 } { 3 6 } } | 
					
						
							|  |  |  | } [ BV{ 1 2 3 } BV{ 4 5 6 } V{ } zip-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-08 21:14:50 -05:00
										 |  |  | { { { 1 3 } { 2 4 } } | 
					
						
							|  |  |  | } [ { 1 2 } { 3 4 } { } zip-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     V{ { 1 3 } { 2 4 } } | 
					
						
							|  |  |  | } [ { 1 2 } { 3 4 } V{ } zip-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     H{ { 1 3 } { 2 4 } } | 
					
						
							|  |  |  | } [ { 1 2 } { 3 4 } H{ } zip-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-08 03:39:38 -05:00
										 |  |  | ! zip-index, zip-index-as | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     { { 11 0 } { 22 1 } { 33 2 } } | 
					
						
							|  |  |  | } [ { 11 22 33 } zip-index ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-08 21:26:21 -05:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2014-11-11 21:13:01 -05:00
										 |  |  |     { { 11 0 } { 22 1 } { 33 2 } } | 
					
						
							| 
									
										
										
										
											2014-11-08 21:26:21 -05:00
										 |  |  | } [ V{ 11 22 33 } zip-index ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-08 03:39:38 -05:00
										 |  |  | { | 
					
						
							|  |  |  |     { { 11 0 } { 22 1 } { 33 2 } } | 
					
						
							|  |  |  | } [ { 11 22 33 } { } zip-index-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     { { 11 0 } { 22 1 } { 33 2 } } | 
					
						
							|  |  |  | } [ V{ 11 22 33 } { } zip-index-as ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     V{ { 11 0 } { 22 1 } { 33 2 } } | 
					
						
							|  |  |  | } [ { 11 22 33 } V{ } zip-index-as ] unit-test | 
					
						
							| 
									
										
										
										
											2016-12-28 15:56:19 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     H{ | 
					
						
							|  |  |  |         { 0 V{ 0 3 6 9 } } | 
					
						
							|  |  |  |         { 1 V{ 1 4 7 } } | 
					
						
							|  |  |  |         { 2 V{ 2 5 8 } } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } [ | 
					
						
							| 
									
										
										
										
											2017-06-01 17:59:35 -04:00
										 |  |  |     10 <iota> [ 3 mod ] collect-by | 
					
						
							| 
									
										
										
										
											2016-12-28 15:56:19 -05:00
										 |  |  | ] unit-test |