Commit graph

155 commits

Author SHA1 Message Date
Simon Cruanes
856eacb8fc flatMap for LazyGraph.t! hey, why not? 2013-03-31 21:14:01 +02:00
Simon Cruanes
3c572559b7 play with the crawler! 2013-03-30 15:04:20 +01:00
Simon Cruanes
c582e18cfa more robust crawler 2013-03-30 14:53:13 +01:00
Simon Cruanes
a5d9a39afd example using LazyGraph and Futures to search a path between two urls 2013-03-30 14:41:07 +01:00
Simon Cruanes
69d75de295 additional handler for LazyGraph algorithms that search for paths 2013-03-30 14:40:44 +01:00
Simon Cruanes
ddd3175185 LazyGraph:
- Dijkstra and A* algorithms implemented, for minimal path search;
- is_dag predicate for finite graphs;
- simple "heap_graph" example (i -> 2*i,2*i+1)
2013-03-30 13:21:01 +01:00
Simon Cruanes
fe0b4d653f removed some non implemented functions from LazyGraph 2013-03-29 23:19:10 +01:00
Simon Cruanes
974df85321 cleanup of LazyGraph 2013-03-29 23:16:17 +01:00
Simon Cruanes
5553ed4699 updated benchs with persistentHashtbl 2013-03-27 21:47:24 +01:00
Simon Cruanes
a82ebf7d59 added PersistentHashtbl, adapted from persistent arrays of J-C Filliatre 2013-03-26 17:23:19 +01:00
Simon Cruanes
f992f279bc Gen.lexico for lexicographic comparison 2013-03-25 14:37:27 +01:00
Simon Cruanes
bc38851de6 added a test for Future.Timer 2013-03-24 20:27:27 +01:00
Simon Cruanes
8be147c50b added a timer in Future 2013-03-24 19:21:43 +01:00
Simon Cruanes
d74808efe0 small api change in future 2013-03-24 17:57:02 +01:00
Simon Cruanes
b4e07e07d2 benchmark SkipList with hashtables 2013-03-23 01:45:54 +01:00
Simon Cruanes
9788d108e3 faster SkipList.find 2013-03-23 01:45:46 +01:00
Simon Cruanes
6f455c7cb1 skipList module 2013-03-23 01:00:13 +01:00
Simon Cruanes
3da4f75487 correct comments for ocamldoc 2013-03-22 17:42:09 +01:00
Simon Cruanes
a9cdce9424 Gen.intersection, to intersect 2 sorted generators 2013-03-22 09:53:54 +01:00
Simon Cruanes
09817b236a update of Bench 2013-03-21 18:55:12 +01:00
Simon Cruanes
0af36e124e added repeatedly, rand_int, of_array and to_array to Gen 2013-03-21 18:06:00 +01:00
Simon Cruanes
6ba411d7f5 lower level pp function 2013-03-21 17:51:44 +01:00
Simon Cruanes
7ed1bced9d forgot to update examples/ 2013-03-21 17:35:23 +01:00
Simon Cruanes
2033f07aff renamed Enum into Gen (for "generator"), and updated code and test to reflect so 2013-03-21 17:25:02 +01:00
Simon Cruanes
dfbce71324 Enum.reduce 2013-03-21 17:19:50 +01:00
Simon Cruanes
ebbf4a9138 more explanations about merge 2013-03-21 17:14:15 +01:00
Simon Cruanes
6a918a95dc binary sorted_merge 2013-03-21 17:11:04 +01:00
Simon Cruanes
a49b37dbdb added infix operators in the module 2013-03-21 17:03:14 +01:00
Simon Cruanes
13fd7da142 added a lot of operations on Enum, including sort, uniq, for_all, exists, mem, min, max, group, unzip, unfold, scan 2013-03-21 16:48:46 +01:00
Simon Cruanes
0694064ef5 mutable structure to build LazyGraph on top 2013-03-21 13:53:51 +01:00
Simon Cruanes
c248c9b677 added some benchs of Sequence vs Enum 2013-03-21 12:35:22 +01:00
Simon Cruanes
1c1d602ca7 improvements in Enum (should be more efficient) 2013-03-21 12:25:14 +01:00
Simon Cruanes
9cd07d3395 examples graphs; small program that computes the collatz suite 2013-03-21 12:25:03 +01:00
Simon Cruanes
e0b6b8be5b LazyGraph is now fully polymorphic (plan to implement LazyGraph.product, which
cannot be expressed with functors), with optional eq/hash functions
2013-03-21 11:22:41 +01:00
Simon Cruanes
e6eb9a79eb expose an optional Pool argument in most Future\'s combinators;
handlers of a future are scheduled in pool rather than sequentially (to avoid
possible deadlocks among them)
2013-03-21 10:15:35 +01:00
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