hhugo
hhugo
I'm getting ``` Error: Cannot read properties of undefined (reading 'toString'): ["unsaturated-solinas","--lang","bedrock2","--no-wide-int","--widen-carry","--widen-bytes","--split-multiret","--no-select","25519","64","5","2^255-19","carry_mul","carry_square","carry_scmul121666","carry","add","sub","opp","selectznz","to_bytes","from_bytes"] ``` from your second link.
The function causing the stack overflow is not tailrec ``` let rec append s1 s2 = match s1 with | [] -> s2 | c0::s1' -> c0::(append s1' s2) ```...
We could imagine a mode that would perform cps rewriting unconditionally
> the Array.fold_left_map function being available only from 4.13. What is the policy in this case, do we add it to compiler/lib/stdlib.ml or do we avoid using it? Just add...
Lambda_lifting doesn't seem to be used anymore, is it expected ? Should Lambda_lifting_simple replace Lambda_lifting ?
From a quick look at the PR, the benefit of such change is not clear, can you highlight examples where we see clear improvements ?
Given the size impact of this change, it would be nice to be able to disable (or control) this optimization. There are programs that would not benefit from this optimization,...
> when the program stays almost all the time within at least one level of effect handlers, there is essentially no performance gain as we run the CPS versions of...
Have you considered doing a static analysis to find out function calls that never perform effects (Like `List.map f l` when f doesn't doesn't perform effect). and use direct call...
@OlivierNicole, sorry for the radio silence. Would you be to rebase your PR on master. Thanks