rlvaugh / Impractical_Python_Projects

Code & supporting files for chapters in book
400 stars 270 forks source link

Contacting the author: #21

Open liamzee opened 1 year ago

liamzee commented 1 year ago

Couldn't figure out any other way to communicate, but I'm enjoying your IPP book. I'm wondering how you'd feel if I used the book as a basis for a series of blog posts in Haskell; i.e, project translation? It's getting me a bit depressed about state of our ecosystem; for Monte Carlo, for instance, I'm working the "user-friendly" monomer framework, but monomer is buggy, questionably documented, and "user-friendly" is relative.

rlvaugh commented 1 year ago

Thank you. I have no problem with you using the book but would appreciate a mention/citation where appropriate. Good luck.

liamzee commented 1 year ago

Dear Mr. Vaughan,

Wanna join the Cult of Haskell? The games programming community is pretty practical, and there's at least one person (myself) that's annoyed at parts of the community culture:

-Monads can be explained by a competent programmer to a competent programmer in 15 minutes, but it's gotten hidden behind mysticism because a few people believe like 50% of the Haskell community doesn't really get monads and it's become gatekeeping.

-Pure has a technical term in academic programming, referring to a combination of referential transparency (an expression can be replaced by its value without changing the semantics of the program) and equivalence of call-by-value, call-by-name, and call by need. However, it has a different demotic meaning, and in reality, it masks the fact that while Haskell strictly has no mutable variables, it supports mutable references in the IO layer (IORef, MVar, TVar, etc) and ST type (STRef, bytearrays, either naked or under the Vector API) that behave as such.

In other words, purity, while technically correct in the academic sense, is a marketing scam, although idiomatic Haskell is pretty "pure", resorting to mutability only when absolutely necessary for performance reasons.

As to why invite you, you're a pretty good writer, I love your book, and we sort of need better writers and educators for Haskell, hopefully to help teach it without the ritualism and nonsense. As a language, Haskell is incredibly practical, as a community, it is just often de-facto elitist and academic.

Regards,

Liam

rlvaugh commented 1 year ago

Liam: Thank you for the invite but I've got way too much on my plate right now.  Best, Lee Vaughan

On Saturday, April 1, 2023 at 11:18:30 AM CDT, Liam ***@***.***> wrote:  

Dear Mr. Vaughan,

Wanna join the Cult of Haskell? The games programming community is pretty practical, and there's at least one person (myself) that's annoyed at parts of the community culture:

-Monads can be explained by a competent programmer to a competent programmer in 15 minutes, but it's gotten hidden behind mysticism because a few people believe like 50% of the Haskell community doesn't really get monads and it's become gatekeeping.

-Pure has a technical term in academic programming, referring to a combination of referential transparency (an expression can be replaced by its value without changing the semantics of the program) and equivalence of call-by-value, call-by-name, and call by need. However, it has a different demotic meaning, and in reality, it masks the fact that while Haskell strictly has no mutable variables, it supports mutable references in the IO layer (IORef, MVar, TVar, etc) and ST type (STRef, bytearrays, either naked or under the Vector API) that behave as such.

In other words, purity, while technically correct in the academic sense, is a marketing scam, although idiomatic Haskell is pretty "pure", resorting to mutability only when absolutely necessary for performance reasons.

As to why invite you, you're a pretty good writer, I love your book, and we sort of need better writers and educators for Haskell, hopefully to help teach it without the ritualism and nonsense. As a language, Haskell is incredibly practical, as a community, it is just often de-facto elitist and academic.

Regards,

Liam

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>