Talk:History of Haskell/Version 1
Comments on "The History of Haskell" (draft)
Please use the Wiki to add your comments here. Include your name and the date. You can do this with four tildes, like this: ~~~~.
To edit the page, you need to log in: click the login link at the bottom of the window. If you don't already have an account, the login page lets you create one in 30 seconds. See HaskellWiki:Contributing.
Simonpj 18:51, 14 July 2006 (UTC) Simon PJ. Here is an example comment
Typo on page 39: Another example is that Linspire’s toold must handle legacy data formats. --Neil Mitchell 15:23, 14 July 2006 (UTC)
On page 4 after the list of goals, it seems that the following sentence ("We agreed to base it on an existing language, namely OL.") should be preceeded by a line break (it now starts on the same line as the sixth goal).
JaredUpdike 20:38, 14 July 2006 (UTC) Other ideas for a title: The History of Haskell: Unsuccessfully Avoiding Success or something using the motto "Avoid success at all costs." Or perhaps Success Considered Harmful, or, A History of Haskell or Doomed to Succeed quoting Hoare (although this sounds somewhat self-congratulatory).
JaredUpdike 22:00, 14 July 2006 (UTC) Section 3.8, last paragraph, syntax error: should be "Miranda is still in use today: it is still taught in some institutions", missing word. (Sec 4.2 This tradition was honed by Moses Schonfinkel and Haskell Curry, and came to be called currying. I half expected a joke following this, saying [it was] called currying, luckily, and not schonfinkeling.) Same section, typo: is a list of lists should be in a list of lists.
JaredUpdike 04:27, 15 July 2006 (UTC) Section 9.2 misspelling "existance" should be "existence" third to last paragraph. Sec. 9.5 second to last paragraph. test bad should be test bed.
GaneshSittampalam 09:18, 15 July 2006 (UTC) Section 11.2.3 page 34 typo "unsagePerformIO".
GaneshSittampalam 09:19, 15 July 2006 (UTC) I really like the "eager to be lazy" title.
BerniePope 15:42, 15 July 2006 (UTC) Typo: page 2, column 2, "Rod Bustall" should be "Rod Burstall".
BerniePope 15:42, 15 July 2006 (UTC) Spelling: page 3, column 1, "confernce".
BerniePope 15:42, 15 July 2006 (UTC) Suggestion. Section 3.3, third paragraph. Rather than talk about "div" (are the first quote marks backwards?), perhaps you could say - "for example, Miranda's type system allows floating point values to be given to functions which are only defined on the integer subset of num, thus turning a static error into a dynamic one."
Hoan 12:45, 15 July 2006 (UTC) On page 33 it says that Ruby on Rails is a continuation based framework. I think thats wrong. PS. Its a riveting read.
BerniePope 15:42, 15 July 2006 (UTC) Expression. page 9. It says "Haskell did not adopt Miranda's abstract data types, using its module system instead." It is not clear whose module system it is using. Perhaps it should read "using a module system instead." ?
BerniePope 15:42, 15 July 2006 (UTC) Comment. Section 4.1, layout. It says "The rules are simple ...". I think this is a contentious issue. Recent discussions on the Haskell Prime mailing list [1] suggested a contrary view. How many Haskellers actually know the rules? Perhaps it would be more accurate to say that experience shows it is not hard to adopt a style of programming which stays within the rules.
BerniePope 15:42, 15 July 2006 (UTC) Comment. Footnote 2 on page 10 says the Scheme authors took a more Draconian approach with respect to operators, though it doesn't actually say what that means. On the off chance that someone reading the paper doesn't know Scheme, it might be worth elaborating on that point.
BerniePope 15:42, 15 July 2006 (UTC) Comment. Section 4.4. Near the end of the section you give an example of "where" being attached to a declaration. I think the example function "f" is rather obscure, perhaps there is a better example? Maybe one from the Prelude? Also, there seems to be another point you could make here. Due to laziness we get some more freedom in the way that we write where clauses. For instance, the thing being defined in the where clause may only be well defined in a subset of the alternatives. But that doesn't matter because we will only evaluate the thing if and when it is needed, not before.
BerniePope 15:42, 15 July 2006 (UTC) Comment. Section 4.5, list comprehensions. Perhaps it is worth noting the Haskell does not have the diagonalisation operator like Miranda. It may also be worth remarking on why this is so. Surely it was considered.
BerniePope 15:56, 15 July 2006 (UTC) Tense. Section 5.1, algebraic data types. It says "In general, every algebraic data type specified...", should that be "specifies" ? or perhaps even better "In general, algebraic data types specify" ?
BerniePope 16:05, 15 July 2006 (UTC) Comment. Section 5.3 Abstract types. It says that the type has one constructor. Is it really necessary to limit the type to just one constructor? Surely it is enough that the constructors of the type are not exported, regardless of how many there are?
BerniePope 16:15, 15 July 2006 (UTC) Tense. Section 5.3 Abstract types. It says "This had the advantage ...". Perhaps it should be: "This has the advantage", since Miranda still exists, and the advantage still holds. Later in the same paragraph the expression about adopting the feature in Haskell is a bit awkward. Perhaps it could read: "It is not clear how to adapt Miranda's method of defining abstract data types to type classes, and that is one reason we chose a different solution." ?
BerniePope 16:27, 15 July 2006 (UTC) Typo. Section 5.6, page 14 and in Bibliography. Godel's name in citation missing the 'o'.
Weihu 21:35, 15 July 2006 (UTC) Typo: page 31, column 2, "a central them" should be "a central theme".
BerniePope 05:28, 16 July 2006 (UTC) Comment. Section 6.1, Type classes. Perhaps it should mention that eqInt is primitive equality on integers, maybe as a comment in the code.