I was a Clojure user before Haskell and Common Lisp before that.
-
-
Replying to @bitemyapp @Meaningness and
Came for the power, stayed for the rigor.
2 replies 0 retweets 6 likes -
It would certainly be easy to make a language cleaner than CL (a hippopotamus designed by a committee), and I’m quite willing to believe Haskell is that. (As also is Scheme.)
1 reply 0 retweets 1 like -
Replying to @Meaningness @bitemyapp and
I’m also quite willing to believe that static typing with powerful type inference could win big (but I’ve never programmed in a statically typed language other than braindead algol derivatives, which suck, but that’s a different thing).
2 replies 0 retweets 0 likes -
Replying to @Meaningness @bitemyapp and
What I have not yet seen a coherent explanation for is what the category theory jargon buys you. I’ve done real category theory (real = for mathematicians, decades before computer scientists had heard of it), so I’m not dumb (at least not in that way) but I don’t get it.
4 replies 0 retweets 3 likes -
Replying to @Meaningness @bitemyapp and
Honestly, my sense is that you're overthinking this thing about CT. It's really not nonsense. I'll give a go at how I think about it:
1 reply 0 retweets 5 likes -
Replying to @StephenPiment @Meaningness and
When you start to really exercise practical use of higher-order functions with static types, you notice that there are particular patterns of said functions that come up again and again. It has practical value, from a software engineering perspective, to capture these patterns.
3 replies 20 retweets 62 likes -
Replying to @StephenPiment @Meaningness and
Haskell has "type classes," basically collections of types with a specified interface, that make it easy to both name and render reusable these patterns.
3 replies 4 retweets 7 likes -
Replying to @StephenPiment @Meaningness and
Naming is hard, and the patterns are sufficiently abstract that most have no everyday, "intuitive" names that would not somehow be misleading.
2 replies 3 retweets 13 likes -
Replying to @StephenPiment @Meaningness and
Some patterns, such as Applicative, were given newly coined names. For others, people noticed that the pattern was close to a construct in CT, and so they took that name. Functor and Monad, are examples of the latter.
3 replies 3 retweets 10 likes
Thanks, this is actually really making sense to me for the first time. I appreciate your effort!
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.