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
Simon Cruanes
55ff51f2cb
more combinators (iterate and forever);
...
some sequences of random elements
2013-02-15 17:35:05 +01:00
Simon Cruanes
45e331861d
more Sequence constructors and consumers
2013-02-15 17:20:33 +01:00
Simon Cruanes
af0c94dab4
functorial interface for Set too
2013-02-07 16:16:23 +01:00
Simon Cruanes
07cc9df645
offer two different functions for combining Map and Seq. Both build
...
an extended version of Map, with additional conversion functions relative to Sequence.
One can Adapt an already existing Map module, or Make an extended Map directly
2013-02-07 16:07:16 +01:00
Simon Cruanes
301205fafd
junk signature removed
2013-02-06 14:54:15 +01:00
Simon Cruanes
2bf5b628ab
removed type-conversion submodules, now replaced by simple values.
...
For instance, Sequence.List.of_seq is now Sequence.to_list.
Conversion with Set now uses first-class modules to avoir functor hell
(not done on Map because of limitations in the type systems)
2013-02-06 14:53:33 +01:00