Commit graph

1449 commits

Author SHA1 Message Date
Simon Cruanes
0364929a99
improve test behavior 2022-02-22 11:26:43 -05:00
Simon Cruanes
f6dc3b23f8
fix: compat in CCArray 2022-02-21 22:26:51 -05:00
Simon Cruanes
558c069b7b
forgotten module 2022-02-21 22:03:40 -05:00
Simon Cruanes
dae93cf25f
remove final shims 2022-02-21 22:03:26 -05:00
Simon Cruanes
b837509de9
remove many more shims 2022-02-21 21:52:06 -05:00
Simon Cruanes
26ab8229e1
preprocess monomorphic too 2022-02-21 21:26:49 -05:00
Simon Cruanes
6f3a7d902a
remove more shims 2022-02-21 21:25:39 -05:00
Simon Cruanes
59407b0f5e
wip: remove some shims 2022-02-21 17:12:32 -05:00
Yotam Barnoy
408c14fac7
CCVector.insert: check if there's a need to blit
Co-authored-by: Simon Cruanes <simon.cruanes.2007@m4x.org>
2022-02-21 18:50:19 +02:00
Yotam Barnoy
9bb280e353 CCVector: add insert 2022-02-21 18:42:16 +02:00
Simon Cruanes
ef9851983f
update dune to 1.10, condition some rules to unix 2022-02-20 22:01:39 -05:00
Simon Cruanes
b23e075762
fix occurrences of warning 50 2022-02-20 22:01:02 -05:00
Simon Cruanes
6717d03a35
remove custom split_on_char post 4.04 2022-02-17 14:37:14 -05:00
Simon Cruanes
01295a71fd
grr \r on windows 2022-02-17 10:46:34 -05:00
Simon Cruanes
c50ee3d928
try to fix compat issue 2022-02-17 10:20:24 -05:00
Simon Cruanes
acadb6b9d3
move to dune 2.0 2022-02-17 10:17:08 -05:00
Simon Cruanes
4934b302c6
feat(cpp): better locations after blocks end 2022-02-17 10:16:11 -05:00
Simon Cruanes
60a1614919
silence warning 70 2022-02-17 00:17:31 -05:00
Simon Cruanes
7ae113b6dc
compat with merlin by using [@@@ifge 4.12] instead of [%IFGE 4.12] 2022-02-16 23:14:26 -05:00
Simon Cruanes
bc6c8947b1
start using preprocessor to remove some shim modules 2022-02-16 23:01:00 -05:00
Simon Cruanes
2d860b30ae
fix 2022-02-16 22:45:10 -05:00
Simon Cruanes
7bd0aa075c
wip: try to have a custom little preprocessor 2022-02-12 20:22:52 -05:00
Simon Cruanes
45f567dca1
perf: reduce allocations in CCSeq.to_array 2022-02-11 21:15:09 -05:00
Simon Cruanes
2a1c7cd8f0
fix warning 2022-02-11 21:15:04 -05:00
Simon Cruanes
c5d435848b
improve test for CCByte_buffer 2022-02-08 13:07:51 -05:00
Simon Cruanes
826381690c
add random test to CCByte_buffer 2022-02-08 13:07:51 -05:00
Simon Cruanes
d7214345e5
update doc and aliases 2022-02-08 13:07:51 -05:00
Simon Cruanes
b42b1f4907
fix: rename size to cap in CCByte_buffer 2022-02-08 13:07:50 -05:00
Simon Cruanes
5f064dbbbf
feat: add Byte_buf, a byte buffer. 2022-02-08 13:07:50 -05:00
Simon Cruanes
21c10d2ad4
less aggressive constant.
series of sizes should now be:

```
 # let next n = n + n lsr 1 + 2;;
 # CCSeq.unfold (fun x -> Some (x, next x)) 0 |> CCSeq.take 20 |> CCSeq.to_list;;
- : int list =
[0; 2; 5; 9; 15; 24; 38; 59; 90; 137; 207; 312; 470; 707; 1062; 1595; 2394;
 3593; 5391; 8088]
 ```
2022-02-03 19:15:13 -05:00
Simon Cruanes
02c0953468
fix stupid typo 2022-02-03 19:13:43 -05:00
Simon Cruanes
0baa4fddec
perf(vector): inline some more stuff plz 2022-02-03 18:55:50 -05:00
Simon Cruanes
8c9d7016b8
perf: uniformize ocamlopt_flags
we don't need codegen which depends on >= 4.03, it's assumed. Also
include a reasonable value for `-inline` when flambda isn't available.
2022-02-03 18:54:59 -05:00
Simon Cruanes
7ec9e50f74
perf: make sure to use some decent level of inlining even without flambda 2022-02-03 18:51:09 -05:00
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