3 ms·
> "if it compiles it works" I think this wasn't meant literally. I think it rather means that a program that type-checks is at least more likely to work than a
by semigroupoid 11y ago
> "if it compiles it works"
I think this wasn't meant literally. I think it rather means that a program that type-checks is at least more likely to work than a dynamically typed one. I think this is far from verification.
> Haskell's claim to fame and the justification for its learning curve is verification (both formal and informal).
I think Haskell's claim to fame is being a pure language (and maybe its laziness). I don't know what languages you had in mind, but Haskell's learning curve is usually also related to people not being familiar with functional programming as a paradigm.
- pron 11y ago> I think this is far from verification. How would you characterize verification, then? (and remember, most verification methods aren't proofs) > I think Haskell's claim to fame is being a pure language Sure, but why would you want to use a pure language? I mean, you could say that any programming paradigm is intellectually interesting, but some people seem to think that using Haskell actually has some real advantages. What are those advantages? Performance? Readability? Sure, some believe it results in more maintainable code, but I think that the most common praises are "helps to reason about code equationally" -- which is informal verification -- or "helps write more correct code faster due to the rich type-system" -- which is formal verification (BTW, I say "believe" and "claim" because unfortunately we don't yet have any significant evidence to speak with confidence regarding Haskell's benefits in large, challenging real-world software because it has hardly been used in any yet). > Haskell's learning curve is usually also related to people not being familiar with functional programming as a paradigm. Partly, but I was quite familiar with FP (Scheme, ML) when I started learning Haskell, and there's a very steep curve (steeper than going from Java to OCaml).
- tome 11y ago> "helps write more correct code faster due to the rich type-system" -- which is formal verification No it's not. It's an informal probabilistic statement based on induction, not formal reasoning based on deduction. Stop trolling.
- pron 11y ago> not formal reasoning based on deduction Formal verification is not the same as deductive proof. Some formal methods produce "probabilistic statements based on induction".
- tome 11y agoYou know what? I'd like to ask you a personal question. What is it that motivates you, at the same time as introducing interesting and pertinent details to a discussion, to be so negative and condescending about other people's choice of technologies? You are clearly very intelligent and well educated. Why do you feel the need to do this? I can't for the life of me understand where this is coming from. Do you not realise how aggravating it is for the other parties in the discussion? You have plenty to contribute by mentioning interesting technologies like TLA+ and your threading implementation. Why do you have to dump on other people at the same time?
- tome 11y agoAh right. It's you who gets to define the word "verification" and Haskell is aiming to do it, yet failing to do it, whether its creators and proponents like it or not. An easy way to both start and win an argument!
- tome 11y agoSeeing you edit this post once every five minutes is really quite jarring.