Commit graph

962 commits

Author SHA1 Message Date
Master Builder
17eab9c3f4 CCVector: Add function foldi 2024-01-11 12:19:12 -05:00
Gabriel Scherer
9de8f1fb2e CCVector: fix two labels-omitted warnings
These warnings are silenced by the use of -nolabels in the compilation
flags (which I understand is designed to make the life of the
CC*Labels file easier, not let minor labeling mistakes sleep in.)
2024-01-04 16:44:34 -05:00
Simon Cruanes
8dc4d5a706
fix: overshoot, concat_map is only TRMC after 5.1 2023-12-20 14:38:39 -05:00
Simon Cruanes
d6fe4db6a2
fixity fix 2023-12-15 22:37:57 -05:00
Simon Cruanes
81f410649e
list: TRMC was in 4.14, we can use it earlier 2023-12-15 22:37:57 -05:00
Simon Cruanes
ad2ceb6e13
perf: use concat_map for CCList.flat_map on >= 5.1 2023-12-15 22:37:35 -05:00
Simon Cruanes
c4dcf1efe2
fix insidious bug in CCList.flat_map
we have been accidentally relying on evaluation order.
2023-12-15 22:36:39 -05:00
Simon Cruanes
7c1ca1d82f
prepare for 3.13 2023-12-05 16:09:29 -05:00
Simon Cruanes
f68d187142
fix stupid bug 2023-12-05 15:02:41 -05:00
Simon Cruanes
4682f9787b
tweak tweak tweak 2023-12-05 14:35:25 -05:00
Simon Cruanes
98ceaac8de
detail 2023-12-05 13:03:53 -05:00
Simon Cruanes
36790cf3ed
bugfix 2023-12-05 12:19:15 -05:00
Simon Cruanes
7fcf26963b
ensure unfold is tailrec 2023-12-05 12:04:55 -05:00
Ben Bellick
73e68dae7c CCList: add unfold 2023-12-05 11:59:55 -05:00
Simon Cruanes
50b478366f fix for 4.08 2023-12-03 20:03:16 -05:00
Simon Cruanes
fcee2f9c41 perf: accelerate List.append and List.flat_map on 5.1 2023-12-03 20:03:16 -05:00
Master Builder
77bfa34355 CCBool: Add functions if_then and if_then_else 2023-11-26 23:31:36 -05:00
Simon Cruanes
8c224e42fd
CCList: remove some functions that are subsumed by the stdlib 2023-11-19 21:56:10 -05:00
Simon Cruanes
3bd95d257c
CCList: use TRMC for many functions on 5.1 2023-11-19 21:47:57 -05:00
Simon Cruanes
51cb8e2992
feat: cpp: handle iflt and ifgt 2023-11-19 21:47:14 -05:00
Simon Cruanes
492484a9a2
cleanup: remove stubs for code always present on 4.08 2023-07-10 11:55:43 -04:00
Simon Cruanes
61887100ae
deprecate containers.thread 2023-06-28 11:47:02 -04:00
Simon Cruanes
1a23731730
remove conditional over OCaml >= 4.08
in particular, all the let-ops are now unconditional!
2023-06-24 15:22:21 -04:00
Michael Lan
adda7864e1 doc: fix typo 2023-06-15 21:58:16 -04:00
Simon Cruanes
bbfbe0f770
fix many, many warnings 2023-06-06 22:16:20 -04:00
Simon Cruanes
81acaaa2cb
prepare for 3.12 2023-06-06 10:26:11 -04:00
Simon Cruanes
9f1ecdba27
another fix for CCParse and slices 2023-06-01 15:03:46 -04:00
Simon Cruanes
c7de9389b0
fix bug in CCParse 2023-06-01 15:03:46 -04:00
Simon Cruanes
10a8a7ce0f
fix(CCParse): fix issue in recurse
recursively parsing a slice means we temporarily switch the state
to the slice; but once the sub-parser returns we need to switch back to
the old state.
2023-06-01 15:03:46 -04:00
Simon Cruanes
cb6c646978
fix small typo in docs 2023-05-28 21:07:29 -04:00
Basile Clément
7cf1ba1764
[doc] CCIO.File.walk
This PR clarifies the behavior of `walk` and `read_dir ~recurse:true` by documenting that:

 - `walk p` always includes `p`
 - `read_dir ~recurse:true` only includes file paths (whereas `read_dir ~recurse:false` can include directory paths)
2023-05-26 13:32:47 +02:00
Fardale
b4c164a8e4 fix: __FUNCTION__ was only introduced in 4.12 2023-04-12 13:56:53 +02:00
Fardale
ff3e838553 CCArray(feat): Add max,argmax,min,argmin and their _exn conterpart 2023-04-12 11:52:57 +02:00
Simon Cruanes
7ec9cd94dc
details 2023-04-09 14:59:32 -04:00
Simon Cruanes
9261e654e7
add Option.flat_map_l 2023-04-07 20:30:43 -04:00
Simon Cruanes
84173382db
feat(CCParse): add take_until_success
this reads a slice using the given parser to parse the end delimiter
(e.g "end gpg signature" 😉)
2023-04-07 11:45:12 -04:00
Fardale
ea0e4473a8 fix: fix Set.find_last_map on OCaml 4.03 2023-03-31 12:14:03 +02:00
Fardale
b6d99645ea CCSet: implement find_last_map using find_last
find_last exists since ocaml 4.05, using it for find_map avoid the
linear time behavior on ocaml >= 4.05
2023-03-14 19:17:45 +01:00
Simon Cruanes
503c61f72b
fix(vector): make sure Vector.to_{seq,gen} captures the length initially 2023-03-13 15:37:00 -04:00
Simon Cruanes
83009aac10
feat(cchash): native FNV hash for int64/int32 2023-03-13 15:37:00 -04:00
Fardale
a7b14c5620 doc: inline the stdlib doc of Seq and ListLabels 2023-03-13 11:26:23 +01:00
Fardale
e6611f1920 feat(CCSet): add find_first_map and find_last_map 2023-02-16 12:23:14 +01:00
Fardale
0a167dc3dd doc: remove link to ocaml manual
The goal is to use odig to build the documentation and with odig the
comment of the function from the standard library are shown.
2023-02-15 14:32:05 +01:00
Fardale
a30e471a6f
fix doc (#425) 2023-02-14 20:56:15 -05:00
Simon Cruanes
161c192bff
prepare for 3.11 2023-02-07 12:39:35 -05:00
Simon Cruanes
735729c329
add CCFun.(let@) (if OCaml >= 4.08) 2023-02-07 12:23:27 -05:00
Simon Cruanes
b1c39832aa fix(CCVector): concurrent modification safety in resize_with 2023-01-08 22:42:24 -05:00
Simon Cruanes
b73fc4ee5c fix(CCVector): always obtain a copy of array before using unsafe_{set,get}
close #423
2023-01-08 22:42:24 -05:00
Samuel Hym
5d3768b5a2 Allow explicit fallback to bytecode for cpp
Relax the requirements for the cpp preprocessor, to fall back on the
bytecode version when the native version is not available. Otherwise the
build fails on bytecode-only architectures.
2022-12-12 12:31:04 +01:00
Nino Annighoefer
46e53ec85f Fix more typos 2022-11-26 10:19:10 +00:00