Don Syme
Don Syme
I have marked this as approved-in-principle. We should do this in some form
Hi @jonsequitur , I've forgotten, what's the status on widget support? Anywhere to look or help? I remember we discussed some aspects in a 1:1 but I can't track down...
Looking at the tests it looks great! :)
@nojaf Ouch, yes, that is long. Sigh. Still I think it's the right decision. People just have to use active patterns to control this complexity
This cascading is really problematic isn't it. Hmmm..... [https://github.com/dotnet/fsharp/commit/d0480259b450a9d8e398346a12e93be4961343d6#diff-6fb95f66781ae87d118ad76ae0d[…]88674bea9c7401fcb6282b6R125-R137](https://github.com/dotnet/fsharp/commit/d0480259b450a9d8e398346a12e93be4961343d6#diff-6fb95f66781ae87d118ad76ae0da934a0f345482288674bea9c7401fcb6282b6R125-R137) Likewise [https://github.com/dotnet/fsharp/commit/d0480259b450a9d8e398346a12e93be4961343d6#diff-7d548bc33531ee5fc089fbefa82[…]ae741ac7e4a5fcc11780c87R240-R253](https://github.com/dotnet/fsharp/commit/d0480259b450a9d8e398346a12e93be4961343d6#diff-7d548bc33531ee5fc089fbefa82fc245edf345e0fae741ac7e4a5fcc11780c87R240-R253)
In the linked real-world example - everything looks ok. I get that it's not identical to expressions though I can't quite rationalize why. For arrays: > You could move everything...
This looks so good
I'm actually almost more inclined to deprecate `x::xs` in favour of `Cons(x,xs)` (I'm not seriously advocating doing this, but it sometimes occurs to me of resolving the "privileged" way this...
Hmmm If we went for `Cons(x,xs)` it would still be only for F# lists. (One problem with that is that matching constructor is called `[]`/`Nil` and we don't want two...
I'm not totally thrilled about adding list patterns to a language, nor indeed most pattern sugar. For list patterns, I think their performance can be really subtle, especially for immutable...