Commit graph

106 commits

Author SHA1 Message Date
Simon Cruanes
1445104e2b comprehensive BFS;
implemented LazyGraph.Dot.pp (and pp_enum to have more control);
LazyGraph.map and filter implemented too
2013-03-20 01:12:52 +01:00
Simon Cruanes
64a50fbedf pretty printing of an Enum 2013-03-20 01:10:36 +01:00
Simon Cruanes
bd99d044f7 simpler and better interface for LazyGraph.Dot;
LazyGraph.Full traversals start from an enum of vertices and not just one vertex
2013-03-20 00:16:53 +01:00
Simon Cruanes
5b4e205591 Enum.dup combinator 2013-03-19 23:59:07 +01:00
Simon Cruanes
025985b1df implementation of DFS 2013-03-19 23:29:07 +01:00
Simon Cruanes
c72cc692a7 IntGraph provided as facility;
BFS properly handles the optional start id
2013-03-19 21:45:05 +01:00
Simon Cruanes
5454f2dd32 BFS implemented 2013-03-19 21:32:49 +01:00
Simon Cruanes
9a66e90a02 bugfix in the scheduler 2013-03-19 18:09:56 +01:00
Simon Cruanes
81e7ee2c04 Futures.choose implemented 2013-03-19 17:18:16 +01:00
Simon Cruanes
c8b7b7dfed added Futures.sleep function;
Futures.MVar implemented;
Futures.sequence implemented (quite subtle)
2013-03-19 17:12:26 +01:00
Simon Cruanes
a4c8e3e408 close input of subprocess once stdin has been sent to it 2013-03-19 16:21:23 +01:00
Simon Cruanes
9708c4b01c Futures.MVar module (not implemented) for sharing values;
handlers to attach on a future to react upon failure/success/termination;
Futures.map implemented using handlers, flatMap also uses handlers (more lightweight);
growable thread pool (transient threads are added when the number of waiting jobs is too high)
2013-03-19 16:11:38 +01:00
Simon Cruanes
23029332df added Futures.is_done function;
.ocamlinit file to import stuff in the toplevel
2013-03-19 15:10:41 +01:00
Simon Cruanes
579746810e modified build system and other data for threading support 2013-03-19 15:04:42 +01:00
Simon Cruanes
41274c309e implementation of Futures 2013-03-19 15:04:18 +01:00
Simon Cruanes
205d47e81d interface for preemptive threading Futures 2013-03-19 14:35:19 +01:00
Simon Cruanes
21f499a5f5 fixed absurd comment;
better product implementation (in case outer is big and outer is empty)
2013-03-19 13:43:02 +01:00
Simon Cruanes
db302adab2 one more signature to be implemented later 2013-03-19 12:13:46 +01:00
Simon Cruanes
e83298ef24 moved generator functions into Enum.Gen 2013-03-19 11:44:48 +01:00
Simon Cruanes
4d293209a5 more tests for Enum 2013-03-19 11:35:48 +01:00
Simon Cruanes
96d3c7e8b7 added a bunch of combinators for Enum, some of them quite advanced.
A few are not yet implemented.
2013-03-19 11:25:26 +01:00
Simon Cruanes
ca5336dfb0 more tests for Enum 2013-03-19 00:48:11 +01:00
Simon Cruanes
101fc8a01e potential bugfix for Enum.to_rev_list 2013-03-19 00:35:54 +01:00
Simon Cruanes
a3c7b70e53 stubs for LazyGraph functions;
added LazyGraph to containers.mllib
2013-03-19 00:32:37 +01:00
Simon Cruanes
f3206ca019 |> combinator for Enum 2013-03-19 00:24:12 +01:00
Simon Cruanes
135989d55f Enum.take and Enum.drop 2013-03-19 00:22:41 +01:00
Simon Cruanes
a3182f131b start testing of Enum 2013-03-18 23:59:52 +01:00
Simon Cruanes
81e30d76bf Enum.Infix with some basic infix operators;
fixed bugs in Enum
2013-03-18 23:59:30 +01:00
Simon Cruanes
a378af8a8e append, flatMap and flatten in Enum 2013-03-18 23:42:29 +01:00
Simon Cruanes
5d289098b0 basic functions in Enum 2013-03-18 23:23:13 +01:00
Simon Cruanes
3da9444cd8 signature for a Lazy Graph 2013-03-18 23:13:17 +01:00
Simon Cruanes
8efc421650 draft of Enum type (restartable generator a la Batteries) 2013-03-18 23:12:57 +01:00
Simon Cruanes
7360834241 force Vector's initial size to be >= 3 2013-03-17 18:45:53 +01:00
Simon Cruanes
3b6722d1c4 small updates of Vector;
removed the capacity field in Vector
2013-03-17 18:43:46 +01:00
Simon Cruanes
ef08010c6f renamed tests/tests.ml into tests/run_tests.ml;
added some tests for Vector;
added Sequence functions to Vector
2013-03-17 18:36:51 +01:00
Simon Cruanes
9d556cb106 update of README and .mllib 2013-03-14 14:45:33 +01:00
Simon Cruanes
707d29210f cleanrer interface for Univ 2013-03-14 14:43:08 +01:00
Simon Cruanes
bf777e3d28 tags 2013-03-14 14:42:53 +01:00
Simon Cruanes
924fc1b970 rewrote Deque to be safe (no Obj anymore);
more functions in Deque, especially w.r.t. Sequence;
unit tests for Deque
2013-03-14 14:14:13 +01:00
Simon Cruanes
68dfbea2a0 add hashset to containers 2013-03-14 14:13:45 +01:00
Simon Cruanes
dabc9df46e added a is_empty function for FHashtbl;
more tests for FHashtbl
2013-03-10 15:04:38 +01:00
Simon Cruanes
a688d5dbc0 forgot fHashtbl in containers.mllib 2013-03-10 15:04:16 +01:00
Simon Cruanes
79942515cd added a functional Queue implementation 2013-03-09 20:35:45 +01:00
Simon Cruanes
a04e252d2c a bugfix in Sequence.product;
changed default block size of MList
2013-03-08 16:04:16 +01:00
Simon Cruanes
732cc90ea6 updated sequence files 2013-03-08 15:44:43 +01:00
Simon Cruanes
d00144375b do not assume too much on initial size 2013-03-07 19:10:57 +01:00
Simon Cruanes
7d96c9092a deletion for FHashtbl.Tree implemented 2013-03-07 18:22:42 +01:00
Simon Cruanes
f561e7af7c changed interface of Cache.S.with_cache_rec 2013-03-07 18:12:35 +01:00
Simon Cruanes
14ca51db92 bugfix: Graph.is_dag must explore every vertex 2013-03-07 16:55:50 +01:00
Simon Cruanes
246f2949ea tests and benchmark for the functional hashtables 2013-03-07 16:19:22 +01:00