Re:Functionally Solving Problems With Haskell
by Dewie on Saturday April 05, 2014 @02:51PM
(#7538021)
So what features sets F# apart?
The ones I've been envious of (as a Haskell developer) include .Net library integration, type providers, and active patterns.
Re:Functionally Solving Problems With Haskell
by raphaelj on Saturday April 05, 2014 @04:33PM
(#7538341)
Type providers when using a remote API blown my mind.
Re:Functionally Solving Problems With Haskell
by manilafolder on Saturday April 05, 2014 @08:53PM
(#7539135)
I'm sorry for my ignorance, but there's something about type providers I just can't wrap my head around.
It seems like the primary purpose of using a typed provider is so that the types (classes) can dynamically change during runtime (for example, you get different table objects for the different connection strings you pass in). But how do you program a client against an API that can change at will? Is your client code just basically doing runtime reflection on the data the type provider returns?
Re:Functionally Solving Problems With Haskell
by liammclennan on Saturday April 05, 2014 @11:01PM
(#7539519)
My understanding is that type providers define the types at compile time.
Re:Functionally Solving Problems With Haskell
by MichaelGG on Sunday April 06, 2014 @12:07AM
(#7539679)
As far as I can tell, Type Providers are just a slicker way of having external codegen tools. So instead of "SoapToVBCode.exe" you have it wrapped up in a type provider and can just do "type MySoap = SoapProvider<http://wsdl>".
It seems like a useful feature but far from the power of having full macros.
Anyway, I needed to do a small .NET work two years ago. I choose to try F#. It was the first and only time I got highly please by another language features. Actually, I've to admit that I was pissed of : F# may well be a better language than Haskell.