4 ms·
Just make sure you don't pointlessly store continuations when you don't need to, like on Hacker News.
by bhiggins 16y ago
Just make sure you don't pointlessly store continuations when you don't need to, like on Hacker News.
- jrockway 16y agoIndeed. The language of implementation does not matter much, what matters is what sort of data structure you use. When you can just read a piece of text from a database, it makes little sense to create an opaque state-carrying object dependent on the memory space of one process. news.arc is about as far from "functional programming" as you can get. People often use Darcs as an example of why functional programming is a bad idea "for industry". But the irony is that Darcs has a state-heavy mutable data storage model. This is what makes it slow, not Haskell. Compare Darcs to Git's completely immutable model, and you'll notice that you get fast Git clients even if you implement it in a language like Ruby. The "takeaway" from functional programming is that immutability scales, no matter what syntax you implement the pure data structures in. Since starting with Haskell many years ago, I don't think I've written any application that's been dependent on a mutable datastore. With nearly every business application requiring auditing and historical data retention, doing things right even gets you bullet-point features for free!
- silentbicycle 16y agoYou know what would knock the planet's socks flat on their asses? If the Haskell and Erlang people got together. I definitely fall on the Erlang side, but (especially if you shrug off the fanatic outliers) the differences are actually quite minor.
- bhiggins 16y agoLike strict vs. lazy evaluation by default...?
- jrockway 16y agoThis is not really an insurmountable issue. $ is the lazy function application operator. $! is the strict function application operator. Use the one you mean and it will all work out.
- thesz 16y agoCommunicating Haskell Processes? http://hackage.haskell.org/package/chp http://hackage.haskell.org/package/chp