HackerTrans
TopNewTrendsCommentsPastAskShowJobs

kfixjviv

no profile record

comments

kfixjviv
·3 ปีที่แล้ว·discuss
I don't think making this claim is helpful. Monads aren't found everywhere in code. Solving a problem which could be solved by monads doesn't automatically lead to code that works in a monad-like way, not in any meaningful sense.
kfixjviv
·3 ปีที่แล้ว·discuss
"Everyone who has ever written a computer program has used one."

Absolutely false.
kfixjviv
·3 ปีที่แล้ว·discuss
You are going to be disappointed.

What on earth makes you convinced that a monad can be implemented in Excel? You don't understand what a monad is, so you can't know whether Excel is "perfectly capable" of it or not.

Read a bunch of monad tutorials, learn Haskell, hey, even develop some "mathematical maturity" if you can get over your disdain for math. That is the way to make progress.

It's not helpful to want monads to be tangible objects. It doesn't matter how much you want it. The world doesn't work like that.
kfixjviv
·3 ปีที่แล้ว·discuss
By the way, "throwing the rigid definition away" would be completely missing the point. The rigid definition is the essence of monads.
kfixjviv
·3 ปีที่แล้ว·discuss
Each Raspberry Pi could perform a function that was notionally passed to the monadic bind operator, but really a monad is the rules under which the Raspberry Pis would be connected.

From Wadler's paper "The Essence of Functional Programming":

"2.1 What is a monad?

For our purposes, a monad is a triple (M,unitM,bindM) consisting of a type constructor M and a pair of polymorphic functions.

unitM :: a-> M a

bindM :: M a-> (a-> M b)-> M b

These functions must satisfy three laws, which are discussed in Section 2.10."

So the monad is a functor plus a few operations and laws. It is an algebraic structure, not a type of object or function.
kfixjviv
·3 ปีที่แล้ว·discuss
The main reason that monads are restricted to fancy languages like Haskell is that the type system has to support their definition.

There are some examples of attempted implementations the list monad in other languages on RosettaCode https://rosettacode.org/wiki/Monads/List_monad

Caveat emptor, though. A lot of that page is erroneous.

A few years ago I fixed up the definition for F#, which is perhaps the closest thing to a language for ordinary Joes in which true monadic style can be defined/achieved.
kfixjviv
·3 ปีที่แล้ว·discuss
Haskell's sequence is not the same as strength. Strength specifically involves pairs.

Nobody seems to know where "strength" got its opaque name from. Like, nobody, not even the guy who first published the term.

There is another article on the topic here:

http://comonad.com/reader/2008/deriving-strength-from-lazine...
kfixjviv
·3 ปีที่แล้ว·discuss
"Multiply connected" is the topological term used in the English-language literature on mazes.
kfixjviv
·3 ปีที่แล้ว·discuss
They are referred to as "multiply connected" in the literature on mazes. Essentially, this is the mathematical way of saying that there are "islands" of hedge, not attached to the perimeter.
kfixjviv
·3 ปีที่แล้ว·discuss
Previously: "[Pike is] hardly the first hard-core hacker to be ignorant of the degree to which type theory has seen dramatic advances since the 1980s." It's a comment on this quote from Pike: https://news.ycombinator.com/item?id=6821389

I think Pike definitely had not, at that point, explored the way types work in ML-style languages.
kfixjviv
·3 ปีที่แล้ว·discuss
In geology, there's a literature about cable breaks caused by "turbidity currents".

In particular, this 1952 paper by Heezen and Ewing is celebrated https://gwern.net/doc/technology/1952-heezen.pdf
kfixjviv
·3 ปีที่แล้ว·discuss
See also: https://www.hedonisticlearning.com/posts/understanding-typin...