Commit graph

209 commits

Author SHA1 Message Date
Simon Cruanes
ee5c5340af oasis files 2014-06-15 23:30:32 +02:00
Simon Cruanes
7289adf13d merge from master 2014-06-15 23:30:32 +02:00
Simon Cruanes
ebb8310f84 bugfix 2014-06-15 23:10:16 +02:00
Simon Cruanes
d0393cd9b6 a few more functions in CCVector, including in-place filtering
and efficient non-order-preserving removal
2014-06-15 19:36:15 +02:00
Simon Cruanes
90239f2c3e CCArray.Sub.of_slice; bugfix in reverse_in_place 2014-06-15 19:35:47 +02:00
Simon Cruanes
4d2fa4ea4c small bugfix in CCArray.Sub: bound checking 2014-06-15 19:13:42 +02:00
Simon Cruanes
9a9954c420 Array.Sub: slice implementation 2014-06-15 18:58:32 +02:00
Simon Cruanes
e2bb0e93cb CCArray.find 2014-06-14 14:30:15 +02:00
Simon Cruanes
4c69e8216c CCError for functional error handling 2014-06-14 13:52:50 +02:00
Simon Cruanes
bb12ed932c much better error handling in CCLinq 2014-06-14 13:51:50 +02:00
Simon Cruanes
c021a2b310 map, set, and IO/string adapters for CCLinq;
also a lazy constructor
2014-06-14 12:09:07 +02:00
Simon Cruanes
4550a1c2c2 cleaner system to specify hash/eq/cmp for operations in CCLinq;
use Map to implement most binary operations, including join
2014-06-14 02:16:49 +02:00
Simon Cruanes
2492ee48a6 small change in CCOrd 2014-06-14 02:16:14 +02:00
Simon Cruanes
e3bde40598 more operators in CCKlist 2014-06-14 01:01:40 +02:00
Simon Cruanes
174957e604 more reasonable increase in size in CCVector 2014-06-14 01:01:22 +02:00
Simon Cruanes
4579213e63 some small additions 2014-06-14 00:23:09 +02:00
Simon Cruanes
65aceba85e phantom types for CCVector, for read-write and read-only vectors 2014-06-14 00:11:16 +02:00
Simon Cruanes
043003cf3b big refactoring of CCVector, to fit the recent coding style;
safe functions with _exn versions, iterators, printers, comparison
and other monadic operators
2014-06-13 23:51:34 +02:00
Simon Cruanes
e7dbdeff2e added zippers to CCList 2014-06-13 22:33:17 +02:00
Simon Cruanes
71bdc7667d gen interface in leftistheap 2014-06-13 21:57:47 +02:00
Simon Cruanes
89f4500fc2 updated CCLefistheap (more functions) 2014-06-13 21:51:38 +02:00
Simon Cruanes
d368931f70 CCOpt infix map 2014-06-13 17:56:32 +02:00
Simon Cruanes
933638244d more combinators for comparisons 2014-06-13 15:56:28 +02:00
Simon Cruanes
e9e861479c basic combinators for ordering (including lexico combination) 2014-06-13 15:08:27 +02:00
Simon Cruanes
86cd5c0e8d group_by now uses lists; a few more utils 2014-06-13 00:54:51 +02:00
Simon Cruanes
6ec499799c a few helpers + 1 example 2014-06-13 00:21:53 +02:00
Simon Cruanes
0d39bfdbf4 more optimizations, and a big chunk of query evaluation in CCLinq 2014-06-12 23:55:26 +02:00
Simon Cruanes
17930cf119 CCLinq: powerful interface for querying containers (work in progress) 2014-06-12 21:03:22 +02:00
Simon Cruanes
730f99de70 fix benchmark broken by Drup;
fix some small issues;
add CCBatch.extern combinator for arbitrary computations (that wont be optimized)
2014-06-12 11:56:57 +02:00
Simon Cruanes
8b2f5deb14 bugfix in CCArray 2014-06-12 11:56:13 +02:00
Drup
7f3a33a78d Change the representation of optimized list of operation and add folding. 2014-06-12 02:58:43 +02:00
Simon Cruanes
ee72934864 more operations on collections;
optimization level as a parameter in CCBatch
2014-06-11 23:27:21 +02:00
Simon Cruanes
80522a4959 expose the optimization to the user in CCBatch 2014-06-11 22:26:02 +02:00
Simon Cruanes
40f8955b34 updated CCBatch (more optimizations and type-safety,
enforcing some structural constraints with GADT)
2014-06-11 22:21:29 +02:00
Simon Cruanes
5567b12b79 CCBatch: batch operations on collections, with some fusion optimizations
to reduce the numbre of intermediate collections
2014-06-11 21:57:54 +02:00
Simon Cruanes
d7909200f6 operations on arrays (filter, filter_map, flat_map) 2014-06-11 21:54:20 +02:00
Simon Cruanes
bc40893166 CCList.filter 2014-06-11 21:54:01 +02:00
Simon Cruanes
9ca1f76bd7 more explicit type declaration 2014-06-09 18:10:53 +02:00
Simon Cruanes
945325054f more functions for CCOpt 2014-06-03 17:03:34 +02:00
Simon Cruanes
fd88f10216 safe version of fold_right 2014-05-31 12:36:15 +02:00
Simon Cruanes
9a10d477ee update the klist type in other modules 2014-05-26 22:01:21 +02:00
Simon Cruanes
ffcdfa8625 udpate the type of CCKlist 2014-05-26 21:26:45 +02:00
Simon Cruanes
8ad03fcc1d _oasis generated files 2014-05-23 00:01:07 +02:00
Simon Cruanes
488e97b439 CCInt.hash 2014-05-22 23:58:58 +02:00
Simon Cruanes
26060f83ff CCArray 2014-05-21 00:19:24 +02:00
Simon Cruanes
aa89d7fcad CCKlist.range and flatten 2014-05-20 20:16:31 +02:00
Simon Cruanes
9bcc410c36 better CCKlist.flat_map 2014-05-20 20:10:09 +02:00
Simon Cruanes
29ff651f3b details 2014-05-20 19:52:17 +02:00
Simon Cruanes
c5b2373c03 additional functions for KList 2014-05-20 19:50:46 +02:00
Simon Cruanes
ab83ea4827 bool and int modules 2014-05-20 19:23:46 +02:00