Commit graph

120 commits

Author SHA1 Message Date
Simon Cruanes
08d33095f6 Future.sleep should take a float 2013-03-20 18:06:50 +01:00
Simon Cruanes
170c1031a9 some basic tests for Future 2013-03-20 18:04:04 +01:00
Simon Cruanes
174f10e4f2 update of the thread pool. It is growable, up to a certain limit, and threads are cached;
idle threads are killed after some (soft) time limit;
2013-03-20 17:53:49 +01:00
Simon Cruanes
43f926dcb3 copied Heap into Enum for implementing merge_sorted; test merge_sorted 2013-03-20 16:09:55 +01:00
Simon Cruanes
c1ad18407f fix in ocamlinit 2013-03-20 16:09:12 +01:00
Simon Cruanes
02481a9352 leaner Heap 2013-03-20 15:54:45 +01:00
Simon Cruanes
35aa6cb03a copied code of SplayTree into Heap, to reduce dependencies 2013-03-20 15:49:52 +01:00
Simon Cruanes
772e6e6844 renamed Futures into Future 2013-03-20 15:27:44 +01:00
Simon Cruanes
fac35bf61c renamed some operations in Enum 2013-03-20 13:58:50 +01:00
Simon Cruanes
fb75b7299b some functions of Enum are also available for Enum.Gen 2013-03-20 11:55:53 +01:00
Simon Cruanes
1d2e514d45 parametrize Futures.Pool with lifetime of transient threads; also give them time to
process jobs by increasing max_load temporarily
2013-03-20 10:54:26 +01:00
Simon Cruanes
e35f3c61dd circular list in examples/mem_size 2013-03-20 10:53:07 +01:00
Simon Cruanes
4839dd82ba example file, that uses LazyGraph to represent memory layout of values (and compute their size) 2013-03-20 10:32:11 +01:00
Simon Cruanes
b9ddea21bd fix error in Makefile 2013-03-20 09:41:59 +01:00
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