phischu
phischu
We want a module system for Effekt. At first we should focus on a simple and clear basis on which we then build interesting extensions. # Properties Some features we...
LLVM IR allows the following: ``` %MyInt = type i64 %MyInts = type [4 x %MyInt] ``` But when I try to encode one of the following ``` TypeDefinition (mkName...
It would be great if we had existential types ``` type Packet { Wrap[E](x: E, E => E at {}) } ```
The compiler is slower than it could be. As a first step we should measure how much time it takes for each phase in order to direct our optimization effort...
Currently we define extern definitions for each backend separately in a different file and then select which of these files to include based on which backend we are compiling with....
It would be great if objects could be passed implicitly without introducing an effect handler. ``` interface State { def get(): Int def set(x: Int): Unit } def myComputation(): Int...
We have records that desugar to data types with a single constructor. ``` record Stuff[A](x: A) type Stuff[A] { Stuff(x: A) } ``` Dually, we could have operations that desugar...
In functional programming languages it is possible to match on arguments directly without naming them. Consider: ``` data Vec3 = MkVec3 Double Double Double add : Vec3 -> Vec3 ->...
In the current standard library, arrays are extern value types and therefore not tracked individually. Operations on them do use the `io` resource. This is a difference to mutable references,...