
Dear Emmanuel Chantréau, You may want to look into Objective CAML http://caml.inria.fr/ which is a French product as you can see from the Internet address. It is likely better suited to the task than Haskell and has a reputation for speed. For those who prefer object oriented programming it has facilities for that which may ease your transition from C++. The Microsoft F# language is based on Objective CAML. Haskell has a problem with its type system and is not rigorous. Haskell is not a suitable language for proof assistants and so I would advise you to stay clear of Haskell. Standard ML was engineered with the needs of proof assistants in mind and so you may want to look into Standard ML, but you should be very happy with Objective CAML. It has an excellent reputation. The Coq proof assistant which is another French product is based on Objective CAML. If you do decide that Haskell is the way, it will help ease your transition to Haskell. There is nothing that says you can't keep your fingers in several pies at once.

JohnDEarle:
You may want to look into Objective CAML http://caml.inria.fr/ which is a French product as you can see from the Internet address. It is likely better suited to the task than Haskell and has a reputation for speed. For those who prefer object oriented programming it has facilities for that which may ease your transition from C++. The Microsoft F# language is based on Objective CAML.
Haskell has a problem with its type system and is not rigorous. Haskell is not a suitable language for proof assistants and so I would advise you to stay clear of Haskell. Standard ML was engineered with the needs of proof assistants in mind and so you may want to look into Standard ML, but you should be very happy with Objective CAML. It has an excellent reputation. The Coq proof assistant which is another French product is based on Objective CAML.
Ok, that is serious trolling. There are several proof assistants written in Haskell: http://hackage.haskell.org/package/Agda http://hackage.haskell.org/package/ivor http://www.e-pig.org/ http://wiki.di.uminho.pt/wiki/bin/view/PURe/Camila http://www.cwi.nl/~jve/demo/ http://www.haskell.org/dumatel/ http://www.cs.chalmers.se/~koen/folkung/ http://taz.cs.wcupa.edu/~dmead/code/prover/ http://www.math.chalmers.se/~koen/paradox/ http://proofgeneral.inf.ed.ac.uk/Kit http://www.haskell.org/yarrow/ and the guarantees of purity the type system provides are extremely useful for verification purposes. Please, before posting like this to the Haskell community, inform yourself more of what the Haskell community has produced. -- Don

See "[Haskell-cafe] Optimization with Strings ?" for background. Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled. I am already well aware of the numbers. They do not impress me. I have written on this already. I have given Haskell the benefit of the doubt and said, What's wrong with being uncompromising? There is something wrong with it, if it has taken you off the path of truth. This is not uncompromising. This is something else. It is called fanaticism and this is the opinion that I have come to after due consideration. If you are going to argue your case, be constructive. Tell me how the type system is not flawed and how the Haskell language is rigorous. What proof do you have of this? Explain to me how Haskell has been merely uncompromising in its pursuit of perfection and did not manage to step over the threshold into fanaticism. Please remain on topic and on point.

The burden of proof is on you to demonstrate that it _is_.
On Thu, Dec 3, 2009 at 12:09 PM, John D. Earle
See "[Haskell-cafe] Optimization with Strings ?" for background.
Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled.
I am already well aware of the numbers. They do not impress me. I have written on this already. I have given Haskell the benefit of the doubt and said, What's wrong with being uncompromising? There is something wrong with it, if it has taken you off the path of truth. This is not uncompromising. This is something else. It is called fanaticism and this is the opinion that I have come to after due consideration.
If you are going to argue your case, be constructive. Tell me how the type system is not flawed and how the Haskell language is rigorous. What proof do you have of this? Explain to me how Haskell has been merely uncompromising in its pursuit of perfection and did not manage to step over the threshold into fanaticism. Please remain on topic and on point. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

*flawed, that is
On Thu, Dec 3, 2009 at 12:13 PM, John Van Enk
The burden of proof is on you to demonstrate that it _is_.
On Thu, Dec 3, 2009 at 12:09 PM, John D. Earle
wrote: See "[Haskell-cafe] Optimization with Strings ?" for background.
Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled.
I am already well aware of the numbers. They do not impress me. I have written on this already. I have given Haskell the benefit of the doubt and said, What's wrong with being uncompromising? There is something wrong with it, if it has taken you off the path of truth. This is not uncompromising. This is something else. It is called fanaticism and this is the opinion that I have come to after due consideration.
If you are going to argue your case, be constructive. Tell me how the type system is not flawed and how the Haskell language is rigorous. What proof do you have of this? Explain to me how Haskell has been merely uncompromising in its pursuit of perfection and did not manage to step over the threshold into fanaticism. Please remain on topic and on point. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

John, Miguel (and others),
Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled. [...]
The burden of proof is on you to demonstrate that it _is_.
I admit it's tempting, but wouldn't you agree that, especially in this case, it's better not to feed the troll? Cheers, Stefan

Am Donnerstag 03 Dezember 2009 19:14:40 schrieb Stefan Holdermans:
John, Miguel (and others),
Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled. [...]
The burden of proof is on you to demonstrate that it _is_.
I admit it's tempting, but wouldn't you agree that, especially in this case, it's better not to feed the troll?
To feed, or not to feed: that is the question: Whether 'tis nobler in the mind to suffer The quips and ramblings of outrageous trolling, Or to take arms against a sea of nonsense, And by opposing end them?
Cheers,
Stefan

Brilliant. Just brilliant. On 3 Dec 2009, at 22:54, Daniel Fischer wrote:
Am Donnerstag 03 Dezember 2009 19:14:40 schrieb Stefan Holdermans:
John, Miguel (and others),
Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled. [...]
The burden of proof is on you to demonstrate that it _is_.
I admit it's tempting, but wouldn't you agree that, especially in this case, it's better not to feed the troll?
To feed, or not to feed: that is the question: Whether 'tis nobler in the mind to suffer The quips and ramblings of outrageous trolling, Or to take arms against a sea of nonsense, And by opposing end them?
Cheers,
Stefan
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I think you meant to say: Now is the winter of our discontent with this troll made glorious summer by this son of Fischer. So long as we bastardize the bard, we best bastardize him fully! :) /Joe On Dec 3, 2009, at 2:58 PM, Miguel Mitrofanov wrote:
Brilliant. Just brilliant.
On 3 Dec 2009, at 22:54, Daniel Fischer wrote:
Am Donnerstag 03 Dezember 2009 19:14:40 schrieb Stefan Holdermans:
John, Miguel (and others),
Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled. [...]
The burden of proof is on you to demonstrate that it _is_.
I admit it's tempting, but wouldn't you agree that, especially in this case, it's better not to feed the troll?
To feed, or not to feed: that is the question: Whether 'tis nobler in the mind to suffer The quips and ramblings of outrageous trolling, Or to take arms against a sea of nonsense, And by opposing end them?
Cheers,
Stefan
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

To feed, or not to feed: that is the question: Whether 'tis nobler in the mind to suffer The quips and ramblings of outrageous trolling, Or to take arms against a sea of nonsense, And by opposing end them?
Brilliant. Just brilliant.
+1 Cheers, Stefan

Daniel Fischer
To feed, or not to feed: that is the question:
Out, out, brief troll! This is certainly a thread that's full of sound and fury, but (or so I'm afraid) signifying nothing. :-) -k -- If I haven't seen further, it is by standing in the footprints of giants

On Dec 3, 2009, at 13:14 , Stefan Holdermans wrote:
John, Miguel (and others),
Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled. [...]
The burden of proof is on you to demonstrate that it _is_.
I admit it's tempting, but wouldn't you agree that, especially in this case, it's better not to feed the troll?
This "troll" was, apparently, invited by one of the Simons onto the Haskell' list, then asked to move his spiels here. That said, I have to say that, based on his output so far, I have trouble interpreting his "path of truth" as one of mathematical rigor; in the context of his "On the Meaning of Haskell" screeds, it sounds more like some kind of religious "truth". I.e. the "fanatic" arrow's pointing the wrong way, as far as I can tell. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

On Dec 3, 2009, at 21:22 , Brandon S. Allbery KF8NH wrote:
Haskell" screeds, it sounds more like some kind of religious "truth". I.e. the "fanatic" arrow's pointing the wrong way, as far as I can tell.
I also have trouble understanding how a programming language can be a fanatic. Or how you give that statement any mathematical rigor. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

On 3 Dec 2009, at 20:09, John D. Earle wrote:
See "[Haskell-cafe] Optimization with Strings ?" for background.
Somehow all your posts to the "Optimization..." thread were classified as spam by my e-mail client. Seems like it's developing self-awareness.
If you are going to argue your case, be constructive. Tell me how the type system is not flawed and how the Haskell language is rigorous. What proof do you have of this? Explain to me how Haskell has been merely uncompromising in its pursuit of perfection and did not manage to step over the threshold into fanaticism. Please remain on topic and on point.
Happily. But it takes two to make a conversation. Why don't YOU start first?

On Thu, Dec 3, 2009 at 5:09 PM, John D. Earle
See "[Haskell-cafe] Optimization with Strings ?" for background.
Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled.
I am already well aware of the numbers. They do not impress me. I have written on this already. I have given Haskell the benefit of the doubt and said, What's wrong with being uncompromising? There is something wrong with it, if it has taken you off the path of truth. This is not uncompromising. This is something else. It is called fanaticism and this is the opinion that I have come to after due consideration.
If you are going to argue your case, be constructive. Tell me how the type system is not flawed and how the Haskell language is rigorous. What proof do you have of this? Explain to me how Haskell has been merely uncompromising in its pursuit of perfection and did not manage to step over the threshold into fanaticism. Please remain on topic and on point.
I honestly don't understand what your beef is. Could you explain what you mean with some specifics? In what way does Haskell lack polish? What makes you think it's not going in a direction where it will self correct? What's the "path of truth" and in what way is Haskell not on it? I would very much appreciate if you could try to explain what you mean using specific examples. I read the other thread and the post of yours didn't really seem to make much sense to me there either. -- Sebastian Sylvan

Sebastian, It helps if you think of John as having already won in this discussion, since he succeeded in getting a lengthy high-noise emotional reaction from us. :-) Cheers, Greg On Dec 4, 2009, at 10:00 AM, Sebastian Sylvan wrote:
On Thu, Dec 3, 2009 at 5:09 PM, John D. Earle
wrote: See "[Haskell-cafe] Optimization with Strings ?" for background. Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled.
I am already well aware of the numbers. They do not impress me. I have written on this already. I have given Haskell the benefit of the doubt and said, What's wrong with being uncompromising? There is something wrong with it, if it has taken you off the path of truth. This is not uncompromising. This is something else. It is called fanaticism and this is the opinion that I have come to after due consideration.
If you are going to argue your case, be constructive. Tell me how the type system is not flawed and how the Haskell language is rigorous. What proof do you have of this? Explain to me how Haskell has been merely uncompromising in its pursuit of perfection and did not manage to step over the threshold into fanaticism. Please remain on topic and on point.
I honestly don't understand what your beef is. Could you explain what you mean with some specifics? In what way does Haskell lack polish? What makes you think it's not going in a direction where it will self correct? What's the "path of truth" and in what way is Haskell not on it?
I would very much appreciate if you could try to explain what you mean using specific examples. I read the other thread and the post of yours didn't really seem to make much sense to me there either.
-- Sebastian Sylvan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Well, since he thinks we're fanatics, getting a strong emotional reaction from us is something one certainly wouldn't desire. On 4 Dec 2009, at 21:14, Gregory Crosswhite wrote:
Sebastian,
It helps if you think of John as having already won in this discussion, since he succeeded in getting a lengthy high-noise emotional reaction from us. :-)
Cheers, Greg
On Dec 4, 2009, at 10:00 AM, Sebastian Sylvan wrote:
On Thu, Dec 3, 2009 at 5:09 PM, John D. Earle
wrote: See "[Haskell-cafe] Optimization with Strings ?" for background. Don Stewart wrote, "the guarantees of purity the type system provides are extremely useful for verification purposes". My response to this is in theory. This is what caught my attention initially, but the language lacks polish and does not appear to be going in a direction where it shows signs where it will self-correct. It may even be beyond repair. I care about others and I don't want people to be misled.
I am already well aware of the numbers. They do not impress me. I have written on this already. I have given Haskell the benefit of the doubt and said, What's wrong with being uncompromising? There is something wrong with it, if it has taken you off the path of truth. This is not uncompromising. This is something else. It is called fanaticism and this is the opinion that I have come to after due consideration.
If you are going to argue your case, be constructive. Tell me how the type system is not flawed and how the Haskell language is rigorous. What proof do you have of this? Explain to me how Haskell has been merely uncompromising in its pursuit of perfection and did not manage to step over the threshold into fanaticism. Please remain on topic and on point.
I honestly don't understand what your beef is. Could you explain what you mean with some specifics? In what way does Haskell lack polish? What makes you think it's not going in a direction where it will self correct? What's the "path of truth" and in what way is Haskell not on it?
I would very much appreciate if you could try to explain what you mean using specific examples. I read the other thread and the post of yours didn't really seem to make much sense to me there either.
-- Sebastian Sylvan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Thank you Sir for giving me a good laugh!
On Thu, Dec 3, 2009 at 5:25 PM, John D. Earle
Dear Emmanuel Chantréau,
You may want to look into Objective CAML http://caml.inria.fr/ which is a French product as you can see from the Internet address. It is likely better suited to the task than Haskell and has a reputation for speed. For those who prefer object oriented programming it has facilities for that which may ease your transition from C++. The Microsoft F# language is based on Objective CAML.
Haskell has a problem with its type system and is not rigorous. Haskell is not a suitable language for proof assistants and so I would advise you to stay clear of Haskell. Standard ML was engineered with the needs of proof assistants in mind and so you may want to look into Standard ML, but you should be very happy with Objective CAML. It has an excellent reputation. The Coq proof assistant which is another French product is based on Objective CAML.
If you do decide that Haskell is the way, it will help ease your transition to Haskell. There is nothing that says you can't keep your fingers in several pies at once. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Thu, Dec 3, 2009 at 8:25 AM, John D. Earle
Haskell has a problem with its type system and is not rigorous. Haskell is not a suitable language for proof assistants and so I would advise you to stay clear of Haskell. Standard ML was engineered with the needs of proof assistants in mind and so you may want to look into Standard ML, but you should be very happy with Objective CAML. It has an excellent reputation. The Coq proof assistant which is another French product is based on Objective CAML.
If I understand you correctly, SML was engineered with the needs of a proof assistant in mind, but OCaml is a very different language. And it seems you are pushing F#/OCaml not SML. Do F# and OCaml have full formal semantics for their type systems that have been verified? Or are they "merely" based on Hindley-Milner type systems? If it is the latter, then could you help me understand why Haskell is so much worse? If it's the former could you please point me to the appropriate research so I can educate myself? If the objection is primarily String performance based then I would recommend that you take a look at ByteString or uvector. Please help me understand the holes in Haskell's type system. Have you published some research on the flaws of Haskell's design? If Haskell is unsound I'd certainly like to know where and why so that I can improve my programs. Please help. Thanks, Jason

Or maybe it should be renamed proofObligationsOnUseNeedToBeSupliedBySuitablyQualifiedIndividualPerformIO which is what it really is - unsafe in the wrong hands Nei On 4 Dec 2009, at 08:57, Colin Adams wrote:
Please help me understand the holes in Haskell's type system.
Not really wanting to support the troll, but ...
unsafePerformIO?
Can't it be removed? -- Colin Adams Preston, Lancashire, ENGLAND _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

But the type system doesn't insist on such a proof - so is it not a hole?
2009/12/4 Neil Davies
Or maybe it should be renamed
proofObligationsOnUseNeedToBeSupliedBySuitablyQualifiedIndividualPerformIO
which is what it really is - unsafe in the wrong hands
Nei
On 4 Dec 2009, at 08:57, Colin Adams wrote:
Please help me understand the holes in Haskell's type system.
Not really wanting to support the troll, but ...
unsafePerformIO?
Can't it be removed? -- Colin Adams Preston, Lancashire, ENGLAND _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Colin Adams Preston, Lancashire, ENGLAND

Ah but the type system is the proof - it doesn't permit you to construct things that are 'unsafe' - the whole way the language (and its implementation) is constructed is to do that for you. The issue is that, very occasionally, you the programmer (usually for reasons of performance - runtime or code lines) want something slightly out of the ordinary. This is the escape mechanism. To quote the late, great DNA - it is all about rigidly defined areas of doubt and uncertainty - one of the arts of programming is to push all the nasty doubt and uncertainty into a small corner where you can beat it to death with a large dose of logic, proof and (occasional) handwaving... Now before you start talking about 'surely the type system should be complete' - I refer you to http://en.wikipedia.org/wiki/Gödel%27s_incompleteness_theorem Take comfort in that, I do, it means that us humans still have a role....... Neil On 4 Dec 2009, at 09:16, Colin Adams wrote:
But the type system doesn't insist on such a proof - so is it not a hole?
2009/12/4 Neil Davies
: Or maybe it should be renamed
proofObligationsOnUseNeedToBeSupliedBySuitablyQualifiedIndividualPerformIO
which is what it really is - unsafe in the wrong hands
Nei
On 4 Dec 2009, at 08:57, Colin Adams wrote:
Please help me understand the holes in Haskell's type system.
Not really wanting to support the troll, but ...
unsafePerformIO?
Can't it be removed? -- Colin Adams Preston, Lancashire, ENGLAND _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Colin Adams Preston, Lancashire, ENGLAND
participants (15)
-
Brandon S. Allbery KF8NH
-
Colin Adams
-
Daniel Fischer
-
Don Stewart
-
Gregory Crosswhite
-
Jason Dagit
-
Joe Fredette
-
John D. Earle
-
John Van Enk
-
Ketil Malde
-
Lennart Augustsson
-
Miguel Mitrofanov
-
Neil Davies
-
Sebastian Sylvan
-
Stefan Holdermans