Simon Cruanes
|
61afcb8c2a
|
use labels in combinators that have at least two arguments, when it makes sense
|
2015-01-10 21:26:57 +01:00 |
|
carm
|
2083590773
|
fold_while impl for sequences
|
2015-01-03 13:13:54 -05:00 |
|
Simon Cruanes
|
a5a1315f79
|
implement Set.Adapt.of_list for < 4.02
|
2014-12-01 16:03:37 +01:00 |
|
Simon Cruanes
|
cdae072e5e
|
removed many warnings
|
2014-11-08 01:36:20 +01:00 |
|
Simon Cruanes
|
0226a4cef5
|
more warnings enabled; fix tests
|
2014-11-04 22:28:39 +01:00 |
|
Simon Cruanes
|
22705b24f0
|
change name of IO functions (keep compat)
|
2014-11-04 22:10:11 +01:00 |
|
Simon Cruanes
|
0de04d0eb8
|
depend on bytes; compliant with -safe-string
|
2014-11-04 21:45:23 +01:00 |
|
Simon Cruanes
|
9fc9a311e4
|
bugfix: using the same ExitSequence exception in take and is_empty cannot work
|
2014-10-19 20:51:04 +02:00 |
|
Simon Cruanes
|
81d7315000
|
bugfix: take would fail on 0
|
2014-08-08 23:47:51 +02:00 |
|
Drup
|
ae390d34f4
|
Add on_list.
|
2014-08-08 20:37:54 +02:00 |
|
Simon Cruanes
|
3458581ff2
|
Sequence.IO module, a very very simple way to read/write files
|
2014-08-07 12:06:59 +02:00 |
|
Simon Cruanes
|
c79fa08b52
|
options: to_opt/of_opt/head/head_exn
|
2014-07-17 18:06:51 +02:00 |
|
Simon Cruanes
|
fea71526b0
|
of_list/to_list in Map/Set adapters
|
2014-07-07 18:14:16 +02:00 |
|
Simon Cruanes
|
4475d52b0f
|
code cleaning;
exception raised in of_in_channel upon second iteration
|
2014-07-07 18:14:16 +02:00 |
|
Simon Cruanes
|
77d74953fd
|
sequence.concat_str
|
2014-07-07 18:14:16 +02:00 |
|
Simon Cruanes
|
e0a95a3c31
|
cons, snoc, take_while, drop_while, doubleton
|
2014-07-07 17:12:49 +02:00 |
|
Simon Cruanes
|
75c87b0507
|
conversion with klist
|
2014-07-07 14:44:40 +02:00 |
|
Simon Cruanes
|
abe4ba2aaf
|
applicative and choice infix operators
|
2014-07-07 14:25:37 +02:00 |
|
Simon Cruanes
|
ed5a602f4e
|
add monadic operators and >|=
|
2014-07-07 13:57:20 +02:00 |
|
Simon Cruanes
|
a40866e9ec
|
add several functions: product2, find, mem;
fix doc error on product
|
2014-07-01 16:00:09 +02:00 |
|
Simon Cruanes
|
54025273dd
|
remove trailing whitespace
|
2014-07-01 15:54:15 +02:00 |
|
Simon Cruanes
|
632a820b1d
|
aliases to existing functions
|
2014-07-01 15:54:00 +02:00 |
|
Simon Cruanes
|
3d61de614e
|
apparently drup doesn't like polymorphic variants
|
2014-05-19 14:58:11 +02:00 |
|
Simon Cruanes
|
6ff605ac04
|
Sequence.persistent_lazy added, for caching without upfront cost
|
2014-05-19 14:51:12 +02:00 |
|
Simon Cruanes
|
281032c61f
|
conversion with Gen
|
2014-04-16 17:57:11 +02:00 |
|
Simon Cruanes
|
93b6a18c41
|
cleanup of Infix (removed some operators);
remove TypeClass
|
2014-04-16 17:56:54 +02:00 |
|
Simon Cruanes
|
2d380a48ca
|
change the interface of min/max so that they return an option
in case the sequence is empty
|
2014-04-16 17:39:32 +02:00 |
|
Simon Cruanes
|
a5385ce649
|
API change for Sequence.persistent: no need to
provide a block size, the unrolled list manages it (doubling block size);
new implementation for persistent is more efficient.
|
2014-02-27 11:51:57 +01:00 |
|
Simon Cruanes
|
a3ff8ee854
|
added a benchmark for persistent; moved all benchs to bench/
|
2014-02-27 11:06:07 +01:00 |
|
Simon Cruanes
|
b1e5176177
|
printing functions
|
2013-11-18 15:17:22 +01:00 |
|
Simon Cruanes
|
61a4f64e75
|
decreasing int range operator
|
2013-11-18 15:10:07 +01:00 |
|
Simon Cruanes
|
85b063737f
|
allow to specify the blocksize in persistent
|
2013-10-20 22:02:19 +02:00 |
|
Simon Cruanes
|
0e16d544d5
|
replace array functions by loops
|
2013-10-20 21:17:09 +02:00 |
|
Simon Cruanes
|
049fe898ce
|
bugfix in Sequence.take
|
2013-10-03 21:54:51 +02:00 |
|
Simon Cruanes
|
12c0c5a6f5
|
fmap function
|
2013-08-28 15:01:09 +02:00 |
|
Simon Cruanes
|
4f06874e39
|
more natural functors to adapt Set and Map
|
2013-08-28 14:57:28 +02:00 |
|
Simon Cruanes
|
fa18a7ba83
|
better pp_seq
|
2013-05-26 22:35:54 +02:00 |
|
Simon Cruanes
|
b946b7157b
|
optimized MList, with twice as fast insertion (on big tests);
see ./simple_bench.native 10_000_000. The optimization is based on increasing block size.
|
2013-03-11 00:54:28 +01:00 |
|
Simon Cruanes
|
0115102c2a
|
revert implementation of MList (new one is slower)
|
2013-03-10 19:02:30 +01:00 |
|
Simon Cruanes
|
b0428e3f05
|
re-implementation of the internal MList storage, with a kind
of 2-3 B-tree
|
2013-03-10 16:48:48 +01:00 |
|
Simon Cruanes
|
bd472ba2e0
|
small error in comment
|
2013-03-10 15:41:21 +01:00 |
|
Simon Cruanes
|
7eb4fb370b
|
Sequence.join combinator
|
2013-03-10 15:36:26 +01:00 |
|
Simon Cruanes
|
91a167a885
|
small API updates; Sequence.intersperse has a signature that is consistent
with the rest of the API, and combines well with |>
|
2013-03-10 15:26:50 +01:00 |
|
Simon Cruanes
|
e23e1f8da1
|
added alias 'flatten' for 'concat'
|
2013-03-08 18:09:22 +01:00 |
|
Simon Cruanes
|
9b6acc00ae
|
a bugfix in Sequence.product;
changed default block size of MList
|
2013-03-08 16:05:34 +01:00 |
|
Simon Cruanes
|
2aef4afa6a
|
sort, uniq, group and sort_uniq combinators implemented
|
2013-03-08 15:11:26 +01:00 |
|
Simon Cruanes
|
43f4f25ed7
|
some conversion functions that use Sequence.t2
|
2013-03-07 19:52:04 +01:00 |
|
Simon Cruanes
|
ba3564c2bb
|
infix operators in Sequence.Infix
|
2013-03-07 19:48:22 +01:00 |
|
Simon Cruanes
|
b109e99c00
|
Sequence.t2 type for efficient iteration on pairs of elements;
some combinators are adapted to Sequence.t2;
zip, unzip and zip_i to convert between t and t2
|
2013-03-07 19:42:10 +01:00 |
|
Simon Cruanes
|
b308a8ae87
|
added scan combinator
|
2013-03-07 19:30:57 +01:00 |
|