sdiehl / write-you-a-haskell

Building a modern functional compiler from first principles. (http://dev.stephendiehl.com/fun/)
MIT License
3.34k stars 256 forks source link

RSS status? #60

Open kach opened 9 years ago

kach commented 9 years ago

It looks like the RSS feed for this book is incomplete.

sdiehl commented 9 years ago

The book itself is incomplete.

tsuri commented 9 years ago

I think lot of people are eagerly waiting for the book to be more complete. I really hope you'll find the time to work on it, as many of the topics you're planning to cover cannot be easily found elsewhere (and in general are rather deeply embedded in source code rather than being explained in the way you do)

Maurizio

On Mon, Apr 6, 2015 at 8:47 AM, Stephen Diehl notifications@github.com wrote:

The book itself is incomplete.

— Reply to this email directly or view it on GitHub https://github.com/sdiehl/write-you-a-haskell/issues/60#issuecomment-90048191 .

sdiehl commented 9 years ago

Thanks for the kind words. I do very much intend to finish the book, although I think the timeline might be closer to the end of the year for completion.

kach commented 9 years ago

Ah, I see, I was confused because the chapters were listed in the index but did not appear on my RSS reader. Sorry for the trouble.

P.S. Your section on Hindley-Milner inference saved me hours of trouble—thank you very much for writing that. In particular, your quick listing of all the notation used was extremely helpful, and I think more books should do this.

One comment, though: your convention for the substitution operation appears to differ from the one used in the book Functional Programming (Field and Harrison, 1989). The order of the arguments, as in [a/b] vs [b/a], is reversed in the book.

One last thing—I found the diagrams in these slides very helpful to understanding the algorithm: http://www.cs.colorado.edu/~bec/courses/csci5535-s09/slides/ML_Type_Inference_and_Unification.pdf Perhaps they may interest you. :-)

tommythorn commented 9 years ago

My $0.02: The conventional usage in academia is to write new/old, e.g. e1[e2/x]. The intuition behind this is the analogy with division ("Dividing out the x, replacing with e2").

sdiehl commented 9 years ago

@Hardmath123 @tommythorn I debated this for a while, TAPL also uses the reveres notation. Is there a consensus among the people following this about which is preferable?

kach commented 9 years ago

To me personally, your convention is more "obvious" because it is reminiscent of sed-style text replacement.

sdiehl commented 9 years ago

@Hardmath123 That was my reasoning too.

tommythorn commented 9 years ago

I obviously think you should stay with the convention in the relevant literature, but failing that, maybe instead use a different notation, say e1[x → e2] so there's no ambiguity.

tommythorn commented 7 years ago

Is there a place to debate/ask questions about the implementation/book? (This obviously isn't, but the issue has already strayed from the original RSS)