Tomas Grosup

Results 530 comments of Tomas Grosup

Hi @alexzzzs , yes - we would appreciate a contribution targeting this issue 👍 .

@voronoipotato : What is the scope you would want to tackle in the first prototype, is it about `erase single-case DUs` ? I think it is a good starting point,...

TLDR: 👍 to start small 👍 to make a separate suggestion for it

Hi @edgarfgp , this must have slipped trough! (I have enabled auto merge and stopped monitoring it here, but it got disabled due to a push). Merging in now, this...

Bisecting tells me the issue (I assume it is an infinite loop, but could also be something too slow and I was not patient enough to see it finish) is...

The presence of a `when` can disable certain optimizations due to having the possibility of a side effect. This `--times:files.csv` output indeed tells that there is something in optimizations for...

There is definitely a missing reduction step to put those shared conditions together, which is also what might be slowing down the compilation's optimization phase. It correctly unifies the type...

I would love to be able to tell more, but I am also not deeply familiar. I would start with looking at PatterMatchCompilation, this section might be relevant: https://github.com/dotnet/fsharp/blob/main/src/Compiler/Checking/PatternMatchCompilation.fs#L1689 ....

This comment admits something you spotted when trying different placement of the `when` clause: https://github.com/dotnet/fsharp/blob/0dd8a0a3d562996ab5ad3854cd27eabab5fb7ae4/src/Compiler/Checking/PatternMatchCompilation.fs#L1673

It's difficult to assess if the complexity is inherent to the problem space, or just accidental and possible to avoid via different coding style. I have a feeling a "warning:...