Commit graph

1449 commits

Author SHA1 Message Date
Simon Cruanes
33dd681acd update headers 2016-03-14 20:04:52 +01:00
Simon Cruanes
69e8f7abf8 Merge pull request #60 from johanneskloos/master
Make `CCPersistentHashtbl.S.merge` more general.
2016-03-14 13:56:26 +01:00
Simon Cruanes
0c04df58b0 update CCHet to not use Obj.magic; add test 2016-03-11 21:20:25 +01:00
Simon Cruanes
3a34cc9aa8 add CCHet, heterogeneous containers (table/map) indexed by keys
Difference with CCMix{tbl,map} is that there is no other key than the
polymorphic injection.
2016-03-11 16:11:16 +01:00
Simon Cruanes
7c9633f06f change the semantics of CCString.find_all (allow overlaps) 2016-03-10 16:34:29 +01:00
Simon Cruanes
ce6d981973 add a special case for pattern of length 1 in CCString.find 2016-03-09 23:34:38 +01:00
Simon Cruanes
ab0b198f97 more tests, bugfixes, and benchs for KMP in CCString 2016-03-09 22:38:27 +01:00
Simon Cruanes
b5f54e3424 new benchmarks for strings 2016-03-09 21:10:06 +01:00
Simon Cruanes
5f188c4f7e in CCString, use KMP for faster sub-string search; add find_all{,_l} 2016-03-09 21:09:32 +01:00
Simon Cruanes
9c338f193e add CCString.rev 2016-03-09 19:45:38 +01:00
jkloos
fecbd7683a Make CCPersistentHashtbl.S.merge more general.
This patch brings the merge function of CCPersistentHashtbl
in line with the merge functions of other maps
(Map, BatMap from batteries). In particular, its signature
changes from the restrictive
  merge: (key -> 'a option -> 'a option -> 'a option) ->
    'a t -> 'a t -> 'a t
to a more general
  merge: (key -> 'a option -> 'b option -> 'c option) ->
    'a t -> 'b t -> 'c t
2016-03-09 11:28:55 +01:00
Simon Cruanes
d6487a02a0 add CCList.Assoc.remove 2016-03-08 15:50:11 +01:00
Simon Cruanes
574b4ac62e add CCImmutArray into containers.data 2016-03-01 20:31:53 +01:00
Simon Cruanes
b129e23414 some modules should be deprecated properly 2016-02-25 10:19:54 +01:00
Simon Cruanes
a2179d4355 prepare for 0.16 2016-02-24 22:08:26 +01:00
Simon Cruanes
8a3b559970 breaking: change the signature of CCHeap.{of_gen,of_seq,of_klist} 2016-02-24 21:52:26 +01:00
Simon Cruanes
ac6900976a add a printer into CCHeap 2016-02-24 21:52:26 +01:00
Simon Cruanes
903dac110b add {CCList,CCOpt}.Infix modules 2016-02-24 20:38:22 +01:00
Simon Cruanes
5cdf59f30c add CCOpt.map_or, deprecating CCopt.maybe 2016-02-24 20:37:56 +01:00
Simon Cruanes
33b61e8bab add CCFormat.{h,v,hov,hv}box printer combinators 2016-02-24 20:01:18 +01:00
Simon Cruanes
b3d7a0d654 missing constraint in CCSexpM.ID_MONAD 2016-02-23 17:13:12 +01:00
Simon Cruanes
23e3544adc add CCList.hd_tl 2016-02-23 15:34:26 +01:00
Simon Cruanes
16ac701de1 add CCResult.{map_or,get_or} 2016-02-23 14:21:37 +01:00
Simon Cruanes
86f170f213 small rename 2016-02-23 14:19:14 +01:00
Simon Cruanes
db1de6e6e6 add CCGraph.make and utils 2016-02-21 21:45:14 +01:00
Simon Cruanes
26298516b5 add CCHashtbl.add_list 2016-02-21 21:26:02 +01:00
Simon Cruanes
485c6a11b5 test 2016-02-21 18:33:44 +01:00
Simon Cruanes
822a6d806c bugfix: fix wrong signature of CCHashtbl.Make.{keys,values}_list 2016-02-21 18:33:44 +01:00
Simon Cruanes
34b1a4f9ae add counter function in CCHashtbl, to replace CCHashtbl.Counter 2016-02-21 18:33:44 +01:00
Simon Cruanes
6dfd51d17d deprecate containers.bigarray 2016-02-21 18:33:44 +01:00
Simon Cruanes
bb37ea469d add CCPair.make 2016-02-21 18:33:44 +01:00
Simon Cruanes
1cf81c0031 add CCString.Split.{left,right}_exn 2016-02-21 18:33:44 +01:00
Simon Cruanes
41536c6dd6 fix test 2016-02-21 18:33:33 +01:00
Simon Cruanes
b0b768b60a add CCIO.File.{read,write,append} for quickly handling files 2016-02-20 23:36:48 +01:00
Simon Cruanes
d2fbd8dd77 add CCRandom.pick_{list,array} 2016-02-20 23:29:44 +01:00
Simon Cruanes
34445bead0 replace headers in the rest of containers core 2016-02-20 23:24:24 +01:00
Simon Cruanes
1993eabd21 breaking: change the API of CCMixmap
- make it easier to use |> with CCMixmap
- add test and example
2016-02-19 19:58:21 +01:00
Simon Cruanes
52f585d27b headers 2016-02-19 19:44:39 +01:00
Simon Cruanes
526ea35495 add CCFormat.sprintf_no_color 2016-02-19 16:34:01 +01:00
Simon Cruanes
12ca402025 provide "bold" style 2016-02-19 14:10:29 +01:00
Simon Cruanes
b8beed4587 add CCList.Assoc.update 2016-02-18 15:49:53 +01:00
Simon Cruanes
dcfbff7827 add CCList.Assoc.mem 2016-02-18 15:40:40 +01:00
Simon Cruanes
12fe3fdde3 deprecation incoming for CCHashtbl.{Counter,Default} tables 2016-02-18 12:28:19 +01:00
Simon Cruanes
708a92d027 add {CCMap,CCHashtbl}.get_or for lookup with default value 2016-02-18 12:21:21 +01:00
Simon Cruanes
db67b19fe8 update some headers, formatting 2016-02-18 12:18:19 +01:00
Simon Cruanes
9e94f002e4 breaking: make type CCHash.state abstract 2016-01-29 15:57:00 +01:00
Simon Cruanes
1b73c54b07 deprecate CCLinq in favor of standalone OLinq 2016-01-29 10:08:42 +01:00
Simon Cruanes
663a3cd693 introduce a min_size in CCPool, to keep threads alive
- in benchs, keep `min_size=0` for resource management (need to spawn
  lots of threads)
2016-01-26 02:14:35 +01:00
Simon Cruanes
b0c59e036b add appliative instance in CCPool, factor code 2016-01-26 01:33:24 +01:00
Simon Cruanes
067e89b1fe add CCLock.{decr_then_get, get_then_{decr,set,clear}}
atomic updates for integers and bools
2016-01-26 01:04:43 +01:00