Simon Cruanes
25660ee2c1
add CCOpt.{some,none}
...
close #382
2021-06-19 18:43:17 -04:00
Simon Cruanes
f1084c9b9e
test: add some property tests on Csexp/Canonical_sexp
2021-06-08 18:25:46 -04:00
Simon Cruanes
d46a679b3b
fix bug in CCParse.line, add set_current_slice, fix tests
2021-06-06 23:00:51 -04:00
Simon Cruanes
352fc10d3b
more doc for CCParse
2021-06-06 22:49:43 -04:00
Simon Cruanes
1517f64f55
CCParse: add slice and the ability to recurse on them
...
the idea is that it's often convenient to split the input into smaller
part (e.g. lines), or do a first pass of parsing that just returns a
slice of the input; and then later to use another parser on that slice
to extract the actual data. The new notion of `slice` allows that,
while preserving locations wrt the original input.
2021-06-06 22:42:20 -04:00
Simon Cruanes
88fe234a4c
add CCParse.{char_fold, chars_fold_map}
...
useful for non-trivial lexing
2021-06-06 18:49:55 -04:00
Simon Cruanes
c63a2b7b37
fix tests: use dune's locks with absolute path
2021-06-06 18:49:36 -04:00
Simon Cruanes
294fce8634
fixup! feat(ord): add poly, deprecate compare
2021-06-06 17:39:09 -04:00
Simon Cruanes
7081a411c8
small doc change
2021-06-06 17:16:26 -04:00
Simon Cruanes
78a530ccee
feat(ord): add poly, deprecate compare
2021-06-06 17:15:51 -04:00
Simon Cruanes
c10ae8d84f
parse: fix bugs, add tests, add U.{in_paren,in_paren_opts,option}
2021-06-06 17:08:57 -04:00
Simon Cruanes
37af485971
parse: expose Position module, add or_, both, lookahead, U.bool
2021-06-06 15:08:13 -04:00
Simon Cruanes
171b4ddcd9
parse: deprecate try_, rename new function try_opt
2021-06-06 14:14:48 -04:00
Simon Cruanes
0ec40c2331
CCParse: heavy refactoring, many new functions
2021-06-06 14:14:48 -04:00
Simon Cruanes
7318162c55
wip: rework CCParse
2021-06-06 14:14:48 -04:00
Simon Cruanes
95e96fb5e1
feat(CCFormat): expose ANSI_codes module
2021-06-04 15:43:59 -04:00
Simon Cruanes
57e810a882
Revert "small changes related to docs of sorted_diff_uniq"
...
This reverts commit f7a2edae25 .
2021-05-25 19:19:48 -04:00
Simon Cruanes
f7a2edae25
small changes related to docs of sorted_diff_uniq
2021-05-25 19:16:37 -04:00
favonia
1c6bc16362
style(list): move sorted_mem up
2021-05-24 09:26:23 -05:00
favonia
8d532f9a00
feat(list): add sorted_diff_uniq
...
Also fixed documentation
2021-05-24 09:26:08 -05:00
favonia
80e403c969
feat(list): add sorted_mem
2021-05-23 00:45:18 -05:00
favonia
e58c5d8f3b
fix(list): add the test sorted_diff (sorted_merge l1 l2) l2 = l1
...
Also fixed a typo.
2021-05-22 21:41:36 -05:00
favonia
c030beaf52
fix(list): support 4.03 (using CCList.init)
2021-05-22 21:29:21 -05:00
favonia
6d2dc4ccf4
feat(list): add the optional argument all to sorted_remove
...
Also added another missing "since".
2021-05-22 21:27:35 -05:00
favonia
f6829d1219
fix(list): add "since" for sorted_diff
...
Co-authored-by: Simon Cruanes <simon.cruanes.2007@m4x.org>
2021-05-22 21:06:20 -05:00
favonia
130f0a63bb
feat(list): add sorted_diff
2021-05-22 21:02:15 -05:00
favonia
de7f445207
fix(list): support 4.03
2021-05-22 20:43:35 -05:00
favonia
8c197da02c
feat(list): add sorted_remove
2021-05-22 20:28:45 -05:00
Fardale
3eb676c55c
replace for loop and unsafe_get by using iter
2021-05-19 23:36:00 +02:00
favonia
e3b0600a8b
fix(hash): resolve ambiguous doc comment of bytes
2021-05-18 17:53:23 -04:00
Simon Cruanes
f352ca916d
add a bit of doc
2021-05-18 11:11:31 -04:00
Simon Cruanes
c286bb6d4e
Update src/core/CCHash.mli
2021-05-18 10:54:44 -04:00
favonia
13429e5e88
feat(hash): add bytes
2021-05-18 10:54:44 -04:00
Simon Cruanes
6ace6f71e0
doc: fix wrong @since
2021-05-10 11:26:53 -04:00
Simon Cruanes
943ce7f734
get ready for 3.4
2021-05-03 16:56:24 -04:00
Simon Cruanes
c99f7818c3
udpate doc and add test
2021-04-27 13:21:34 -04:00
Daniil Baturin
3628feed9c
Add CCOpt.get_exn_or and deprecate CCOpt.get_exn
2021-04-27 13:15:51 -04:00
Simon Cruanes
5611cbf7f3
fix(sexp): re-export the loc type to the functor's argument's type
2021-04-15 10:34:27 -04:00
Fardale
375ae27622
feat(CCString): add CCString.uniq
...
CCString.uniq remove consecutive duplicate characters
2021-04-08 23:09:53 +02:00
Simon Cruanes
e75d93bb9d
refactor and clarify cutoff in String.edit_distance
2021-04-08 11:20:54 -04:00
Simon Cruanes
45b3956421
improve test hash
2021-04-05 00:13:33 -04:00
Simon Cruanes
4f68b0fc37
fix test for old ocaml
2021-04-03 18:12:03 -04:00
Simon Cruanes
77e3e97dd0
perf: direct alias in CCHash.int
2021-04-03 17:42:17 -04:00
Simon Cruanes
6323bdc6d3
fix test in CCHash
2021-04-03 17:42:17 -04:00
Simon Cruanes
5bd031c3c2
add test executable for hash functions
2021-04-03 17:42:17 -04:00
Simon Cruanes
cf0d044407
refactor CCHash to use FNV in many combinators
2021-04-03 17:42:17 -04:00
Simon Cruanes
238123b955
move uniformity tests out of CCRandom
2021-04-03 17:42:17 -04:00
Simon Cruanes
7717cc13db
fix(ccint): make sure hash is always positive
2021-04-03 17:42:17 -04:00
Simon Cruanes
cc7799f379
perf(ccint): single implementation of popcount using int64
2021-04-03 17:42:17 -04:00
Simon Cruanes
ec796d5fc5
perf(int): use FNV for integer hashing
2021-04-03 17:42:17 -04:00