Benoit Vey
Benoit Vey
This reduces vtable sizes.
LLVM has experimental support of NVPTX and AMDGPU backends. Getting Pony to run on these as a proof of concept would be great.
In the same vein as GPUs (#1330) LLVM has an experimental WebAssembly backend. A Pony-in-a-browser proof of concept would be great.
[Rendered](https://github.com/Praetonus/rfcs/blob/trust-boundary-specification/text/0000-trust-boundary-specification.md).
[Rendered](https://github.com/Praetonus/rfcs/blob/stateful-exceptions/text/0000-stateful-exceptions.md).
This optimisation pass, which turns heap allocations into stack allocations, currently doesn't handle stores at all and gives up as soon as it sees one. Line 314 of `genopt.cc` says...
We're currently using the standard LLVM pass order when optimising programs. This doesn't look like the best strategy as I've often observed improvements to the generated IR when rerunning `opt`...
Currently, a consumed variable in a `try` block can't be consumed in the associated `else` block, even if the variable isn't consumed in the erroring path of the `try` block....
In #554, the decision was made to add prefixes to exposed runtime functions, with `pony_` for public ones, and `ponyint_` for private ones. Functions used in the standard library (for...
```pony trait X[A: X[A] box] fun f() => P[A](this) class C is X[C box] class D is X[C box] primitive P fun apply[A: X[A] box](a: A) => None ``` This...