Commit graph

1606 commits

Author SHA1 Message Date
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
49d66def49
Merge pull request #441 from c-cube/wip-rely-on-trmc
rely on TRMC more
2023-11-20 19:05:12 -05:00
Simon Cruanes
ba9ef1f453 breaking: pp: modify Ext.t so it takes surrounding value
The type is now opaque, using a smart constructor, and is passed
the value used in the closest surrounding call to this extension,
if any. It is used by `Term_color` to properly restore ANSI
style in nested situations.
2023-11-19 22:27:51 -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
3a296ba127
feat ccfunvec: add fold_rev 2023-11-16 15:32:07 -05:00
Simon Cruanes
1508b6c940 add Containers_pp.newline_or_spaces 2023-11-13 14:32:59 -05:00
Simon Cruanes
33af762216
fix doc 2023-08-31 11:26:56 -04:00
BridgeTheMasterBuilder
c97b934542
fix(CCMultiMap): Integrate suggested changes to doc comment for find_right
Co-authored-by: Simon Cruanes <simon.cruanes.2007@m4x.org>
2023-08-03 21:39:39 +00:00
BridgeTheMasterBuilder
85cf52d5ee
fix(CCMultiMap): Integrate suggested changes to doc comment for find_left
Co-authored-by: Simon Cruanes <simon.cruanes.2007@m4x.org>
2023-08-03 21:39:18 +00:00
Master Builder
e0fb678d1e fix(CCMultiMap): Correct @since tags 2023-08-03 15:40:12 +00:00
Master Builder
528b9030a4 fix(CCMultiMap): Rename functions find_left and find_right in the bidirectional multimap to find_left_iter and find_right_iter respectively to reflect their usage, and add new functions to replace the old find_left and find_right that return a list of values rather than an iterator, to make the signatures of CCMultiMap.S and CCMultiMap.BIDIR cohere. Additionally, change the return type of S.find_iter from t -> key -> (value -> unit) -> unit to t -> key -> value iter. These types are the same though, it's just for clarity since CCMultiMap already exposes an iter type 2023-08-03 15:17:47 +00:00
Simon Cruanes
ba516e81af
detail 2023-07-12 19:15:23 -04: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
64eb7737e3
revert change that broke 4.03 2023-06-06 22:55:45 -04:00
Simon Cruanes
bbfbe0f770
fix many, many warnings 2023-06-06 22:16:20 -04:00
Simon Cruanes
77ff1ee6a5
stricter warnings; remove dead code 2023-06-06 22:03:24 -04:00
Simon Cruanes
3975eb9862
fix warnings
reimplement CCtimer's server loop with `Unix.select` because of a
deprecation warning.
2023-06-06 21:54:02 -04:00
Simon Cruanes
afeb2b762a
dune: enable more warnings 2023-06-06 21:53:58 -04:00
Simon Cruanes
81acaaa2cb
prepare for 3.12 2023-06-06 10:26:11 -04:00
Simon Cruanes
e6afa76eaf
fix for OCaml 5.1: use a generative functor for CCBitfield 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
a8449e9847
Merge pull request #428 from c-cube/wip-pp
pretty printer
2023-06-01 15:03:05 -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
Simon Cruanes
74e3a9e875
compat, reformat 2023-04-19 21:22:19 -04:00
Simon Cruanes
c2952e0ce6
pp: add Term_color extension 2023-04-19 21:22:19 -04:00
Simon Cruanes
adaecf470e
pp: add zero-width text; add bracket2 combinator 2023-04-19 21:22:18 -04:00
Simon Cruanes
c1d980048d
more doc 2023-04-19 21:22:18 -04:00
Simon Cruanes
785932861b
helpers for pp 2023-04-19 21:22:18 -04:00
Simon Cruanes
1ed81107df
pp: expose fill and and fill_map 2023-04-19 21:22:17 -04:00
Simon Cruanes
9d35f96033
add Pp.debug 2023-04-19 21:21:46 -04:00
Simon Cruanes
679534597d
fix(pp): slicing needs attention 2023-04-19 21:21:46 -04:00
Simon Cruanes
94640e9efe
comment 2023-04-19 21:21:46 -04:00
Simon Cruanes
91a2ecee4a
Pp: rename wrap to ext; more doc, more combinators 2023-04-19 21:21:46 -04:00
Simon Cruanes
4d77a17029
Pp: expose generic output; simplify extensions 2023-04-19 21:21:45 -04:00
Simon Cruanes
d36c57459e
feat(Pp): add wrap for extension nodes 2023-04-19 21:21:45 -04:00
Simon Cruanes
03c25cb18f
wip: add Containers_pp sub-library
this implements Wadler's pretty printers, albeit in a more eager way.
2023-04-19 21:21:44 -04:00
Simon Cruanes
c5c72e0a50
move cbor tests 2023-04-19 21:21:43 -04:00
Fardale
b4c164a8e4 fix: __FUNCTION__ was only introduced in 4.12 2023-04-12 13:56:53 +02:00