Commit graph

74 commits

Author SHA1 Message Date
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
beb50229ad fix foldi to have 'a param first 2015-01-03 13:16:56 -05:00
carm
2083590773 fold_while impl for sequences 2015-01-03 13:13:54 -05: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
15a0b9dd30 fix release numbers 2014-10-30 01:19:06 +01: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
78fefc2178 update doc 2014-07-09 10:22:49 +02:00
Simon Cruanes
d5b9674124 version 0.5 2014-07-07 18:16:33 +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
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
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
b54714957a document to_list 2013-10-21 13:35:11 +02:00
Simon Cruanes
85b063737f allow to specify the blocksize in persistent 2013-10-20 22:02:19 +02:00
Simon Cruanes
d0bedb7a76 documentation 2013-10-20 21:56:57 +02:00
Simon Cruanes
855428b2e9 more doc 2013-10-20 21:05:26 +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
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
f1c101310c update header of sequence.mli to explain some assumptions about sequences. 2013-03-10 15:17:27 +01:00
Simon Cruanes
e23e1f8da1 added alias 'flatten' for 'concat' 2013-03-08 18:09:22 +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
Simon Cruanes
836049b6f1 Sequence.to_stream implemented (O(n) memory and time) 2013-03-01 15:56:35 +01:00
Simon Cruanes
2ba0cfe2f4 added some typeclasses in a submodule 2013-02-27 17:52:29 +01:00
Simon Cruanes
df7ef45ad5 added Sequence.persistent function (copy sequence in memory);
implementation is done by unrolled linked list (also used for Sequence.rev and Sequence.to_array);
should be quite efficient in time and memory
2013-02-25 02:18:40 +01:00
Simon Cruanes
d64691f1b3 creation of the empty sequence 2013-02-18 17:23:56 +01:00
Simon Cruanes
099b0bbb8d some combinators (inspired by Data.List in Haskell):
intersperse, product, unfoldr, max and min
2013-02-18 17:20:15 +01:00
Simon Cruanes
8c44f7c63e added flatMap to the combinators 2013-02-18 17:04:24 +01:00