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