Re:Monoids, Functors, Applicatives, and Monads: Main Ideas
by AnimalMuppet on Monday January 05, 2015 @06:18PM
(#8841917)
> I'm saying that it obviously doesn't make pragmatic sense to require things in contexts where they don't make sense...
Absolutely.
> you would do well (for pragmatic reasons) to actually learn about this stuff before deciding you don't need it.
I keep learning about it. I still haven't seen any need for it. But then, my whole career is in a context where it doesn't make sense...
Re:Monoids, Functors, Applicatives, and Monads: Main Ideas
by dllthomas on Monday January 05, 2015 @08:09PM
(#8842365)
"But then, my whole career is in a context where it doesn't make sense..."
Well, like I said, applicability can be occasionally surprising. What is your background like?
Re:Monoids, Functors, Applicatives, and Monads: Main Ideas
by AnimalMuppet on Monday January 05, 2015 @08:31PM
(#8842437)
Embedded systems. It's all about driving external hardware, and much of it has to be sequential.
Re:Monoids, Functors, Applicatives, and Monads: Main Ideas
by dllthomas on Monday January 05, 2015 @11:45PM
(#8842973)
Gotcha. I certainly agree (albeit with low confidence - never sure what someone somewhere has done) that would make no sense as a GHC target. But that doesn't mean the concepts necessarily have no applicability. As I said, I've found myself wishing for some of Haskell's capabilities while writing C. That said, when the usefulness is subtle it's probably not the place to start. I'd dig deeper into some of the other monads first and basically forget about IO until you actually want to code in Haskell.
Incidentally, you can write Haskell to write your embedded C: https://hackage.haskell.org/package/atom
I haven't actually played with it, but understand it's used in production.
http://en.wikipedia.org/wiki/Strict_programming_language
"Haskell's the one that insists that I have to do it Haskell's way."
... when you're writing Haskell. But I am the one who sometimes wishes I could manipulate actions in that way when I am writing C.
"But I suppose you'd say that I have the choice to not use Haskell, so stop complaining."
I'm saying that it obviously doesn't make pragmatic sense to require things in contexts where they don't make sense, but that 1) some things can make sense in more contexts than you might think, and 2) that you would do well (for pragmatic reasons) to actually learn about this stuff before deciding you don't need it.