Commit graph

1365 commits

Author SHA1 Message Date
Simon Cruanes
f540a6d7e5
perf(vector): less aggressive growth for internal resizing 2022-02-03 18:50:32 -05:00
Simon Cruanes
2d30b2ae14
add CCSeq.{zip_i,of_string} 2022-01-27 13:48:49 -05:00
Simon Cruanes
e25b9fc9b4
fix @since in CCSeq 2022-01-27 13:45:01 -05:00
Ewen Maclean
4e79b72306
adding opt_map to simplify result function application over optionals (#397)
adding `Result.opt_map` to simplify result function application over optionals
2022-01-25 15:05:11 -05:00
Simon Cruanes
569e254540
fix: use == 2022-01-02 12:15:31 -05:00
Simon Cruanes
64ecd0c3ba
add shims for Atomic and Unit 2022-01-02 12:08:16 -05:00
Simon Cruanes
4e0f35c078
make fun shims inline 2021-12-22 11:00:33 -05:00
Simon Cruanes
a127e139ae
doc for CCParse
close #392
2021-12-16 13:17:09 -05:00
Shon Feder
946ac4e05d
Make CCSeq.to_array behave better with stateful sequences (#390)
Make Seq.to_array only traverse seq once

This PR suggests a change to `Seq.to_array`, which uses construction of
an intermediate list to prevent traversing the Seq twice. This requires
the allocation of an intermediate list, but it eliminates the surprising
behavior that otherwise occurs with state-full sequences, due to the
extra traversal required to obtain the length of the sequence. E.g.,
with the previous implementation, the value of `to_array` for the
sequence constructed in the test added in this commit is `[|4;5;6|]`,
while `to_list` gives `[|1;2;3|]`.
2021-12-11 21:28:10 -05:00
Simon Cruanes
16bea66073
more warnings 2021-12-02 11:48:57 -05:00
Simon Cruanes
cea6647c3c
fix warnigns for CCOption 2021-12-02 11:46:41 -05:00
Simon Cruanes
bee23722ea
fix: use labels in CCParse 2021-12-02 11:38:22 -05:00
Simon Cruanes
9123f7907f
feat(ccparse): expose pos to get current pos; improve perf
perf of obtaining many positions is now better because we cache line
offsets, which means computing a line,col pair is just a O(ln n) bisect
away.
2021-12-01 16:05:20 -05:00
Fardale
c33477c397 chore: remove unwanted comment 2021-11-12 17:38:37 +01:00
Fardale
a5822f7273 doc: inline the doc of CCShim*_ module in the doc 2021-11-12 17:34:06 +01:00
Fardale
099f2e176f chore(doc): adapt module docstring for the index page 2021-11-11 14:40:35 +01:00
Simon Cruanes
2100a0a0fb
fix: rely on either compatibility library 2021-10-24 22:56:36 -04:00
Simon Cruanes
2c2fa5d008
fix asymptotic behavior of resize functions 2021-10-21 11:07:11 -04:00
Simon Cruanes
e6e07ba4da
fix tests and implem for CCVector 2021-10-21 10:59:03 -04:00
Dario Pinto
d1ddeeb31f
add CCVector.resize_with and CCVector.resize_with_init, tests and doc (#389)
add CCVector.resize_with and CCVector.resize_with_init, tests and doc
2021-10-21 10:57:23 -04:00
Simon Cruanes
541d716d5c
in CCVector, use invalid_arg, and document it 2021-10-20 10:47:06 -04:00
Simon Cruanes
7288045828
more doc for CCVector 2021-10-19 09:34:45 -04:00
Simon Cruanes
b2cff1d0b7
prepare for 3.6 2021-10-18 22:31:44 -04:00
Simon Cruanes
bf15e88f0c
fix doc 2021-09-25 20:58:31 -04:00
Simon Cruanes
ff2d1d3cbc
Merge pull request #380 from c-cube/wip-parse-2021-05-04
refactor `CCParse` to make it easier to use
2021-09-25 20:57:26 -04:00
Simon Cruanes
9c72797515
minor changes 2021-09-25 20:51:18 -04:00
Simon Cruanes
938c7cb90a
more doc 2021-09-25 20:50:04 -04:00
Simon Cruanes
b8fa400465
a test to ensure chars1_if p = take1_if p >|= Slice.to_string 2021-09-25 20:48:23 -04:00
Simon Cruanes
e06cd516f0
detail 2021-09-25 15:38:35 -04:00
Simon Cruanes
396a7db967
more fixes 2021-09-24 22:58:08 -04:00
Simon Cruanes
8f9ecf5f41
some fixes related to review 2021-09-24 22:45:17 -04:00
Simon Cruanes
ac1baae839
add missing @since 2021-09-24 14:37:36 -04:00
Simon Cruanes
16576e8838
Update src/core/CCOpt.mli 2021-09-24 14:36:53 -04:00
Fardale
302dba6cb5 chore(CCOption): rename CCOpt to CCOption and deprecate CCOpt
In the stdlib the module associated with the option type is called
Option and in containers it was called CCOpt. Renaming CCOpt to CCOption
make the name of containers module uniforme with respect to the stdlib.
2021-09-22 23:07:05 +02:00
Fabian
fd783336b8 remove duplicate :standard in dune 2021-08-28 15:59:33 -04:00
Simon Cruanes
76b108203a
add iterator functions to CCIO 2021-08-19 10:23:00 -04:00
Simon Cruanes
6b99433716
bugfix in CCIO 2021-08-19 10:21:07 -04:00
Simon Cruanes
8e924c98be
add CCIO.File.walk_iter 2021-08-19 10:14:30 -04:00
Simon Cruanes
aa05f69471 prepare for 3.5 2021-08-04 16:49:29 -04:00
Simon Cruanes
1b87075284 fix test for multicore 2021-08-02 13:32:09 -04:00
Simon Cruanes
f5505297de add CCHash.map 2021-07-09 14:40:15 -04:00
Simon Cruanes
4db9d4eccb style 2021-06-26 23:51:06 -04:00
Simon Cruanes
61b9762269 feat(CCIO): add many Seq.t based functions
each generator function can now produce a seq.
2021-06-26 23:50:30 -04:00
Simon Cruanes
26af1f1297 feat(ccutf8string): add {make,empty,of_uchar} 2021-06-23 14:05:10 -04:00
Simon Cruanes
92aad159c8 add CCFormat.{const_string,opaque} 2021-06-23 14:05:10 -04:00
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