Commit graph

48 commits

Author SHA1 Message Date
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
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
Simon Cruanes
48839be132 CCFun.id and const 2014-05-20 17:43:56 +02:00
Simon Cruanes
d9ccb619a1 additional utils for pairs and functions 2014-05-20 17:38:54 +02:00
Simon Cruanes
a8dc42024b bugfix in CCList.take 2014-05-20 17:27:00 +02:00
Simon Cruanes
e61039152f more functions in CCList; CCHash and CCKlist added 2014-05-20 16:22:42 +02:00
Simon Cruanes
113ea6d395 updated and fixed things in core/:
fixed warnings, updated Sequence/Gen with tests and more recent interface; added printers
2014-05-17 01:00:00 +02:00
Simon Cruanes
2674349871 more modules in containers_string (CCString, Levenshtein); CCFun.finally 2014-05-17 00:10:47 +02:00
Simon Cruanes
9a5e6e9558 many more functions in CCList 2014-05-16 23:18:26 +02:00
Simon Cruanes
3ccabcd7b0 more modules in containers Core;
moved KMP to sublibrary containers_string
2014-05-16 22:26:59 +02:00
Simon Cruanes
4bc6c8a008 split into package core (no pack, 'CC' prefix, stable)
and misc where oneshot ideas go
2014-05-16 20:58:28 +02:00