Jakob Schneider
Jakob Schneider
How is `flatMap3` faster than `flatMap`? 🤯
What do you mean by support type constraints? Should we generate semantic tokens for these, or what do you have in mind?
I guess the error messages should be for missing instances of: - `Monad` - `MonadZero` - `Applicative` - `Iterable` What do you reckon they should say? Something like "Missing instance...
I'm also in favor of disallowing non-exhaustive matches. You get the same functionality by writing ```flix for (x ??? case ... => ??? case _ => ??? } ``` That...
@mlutze I think I could use an extra pair of eyes on this. Any obvious mistakes? Currently getting this error (which I'm investigating): ``` An exception or error caused a...
Hmm it appears that the arguments to the function is not a list but a nested application. This makes sense when the functions are curried but what's the point then...
AST before rewrite ``` Par( Apply( Apply( Apply(Sym(f%35944), List(Apply(Sym(a%35952), List(())))), List(Apply(Sym(b%35958), List(())))), List(Apply(Sym(c%35962), List(()))))) ``` AST after rewrite ``` Cast( Let(chan%172653%172654, Modifiers(List(Synthetic)), NewChannel(1i32), Let(chan%172656%172657, Modifiers(List(Synthetic)), NewChannel(1i32), Stm(Spawn(PutChannel(Sym(chan%172653%172654), Apply(Apply(Sym(f%35944), List(Apply(Sym(a%35952), List(())))),...
Hmm when does currying happen? It seems the three parameter function in the test is curried.
``` def Test/Exp/Par.f(x%172714: Int32, ) & Pure = x%172714 == 1i32 def Test/Exp/Par.testPar01(_unit%172668: Unit, ) & Pure = let chan%172655%172669 = Channel 1i32; let chan%172658%172670 = Channel 1i32; let _%172807...