[HN Gopher] Parallel streaming in Haskell: Part 1 - Fast, effici...
___________________________________________________________________
Parallel streaming in Haskell: Part 1 - Fast, efficient, and fun
Author : rkrzr
Score : 47 points
Date : 2023-01-04 13:03 UTC (9 hours ago)
(HTM) web link (www.channable.com)
(TXT) w3m dump (www.channable.com)
| eikenberry wrote:
| Nice to see more articles on data flow techniques. They deserve
| way more attention as a great whole program model for all sorts
| of problem domains.
| WJW wrote:
| I enjoy programming in conduits but somehow never come across a
| big enough problem to really make use of them. They encapsulate a
| whole class of problems in a very comprehensible and modular way.
| The higher order conduits like `scanlC` and friends also enable
| more complicated ideas than just the usual `map` and `reduce`
| variants you usually see. It's quite straightforward to model all
| sorts of chat-/websocket-/trading-bots as conduits for example, I
| wrote a blog post about it at
| https://wjwh.eu/posts/2022-05-06-haskell-conduit-bots.html.
|
| Btw @rkrzr I hope you don't mind me asking but "niet geschoten is
| altijd mis": are you looking for freelance assistance at the
| moment at all? I've been consistently impressed by the
| engineering work done at Channable, for example the Aho-Corasick
| work and the stuff relating to compact regions, but am not able
| to commit to fulltime work at the moment. Lately I've been mostly
| working with Ruby and DBA/db performance stuff, but Haskell is
| the first language I got properly good at and it will always have
| a warm place in my heart. I'm pretty experienced at the
| intersection between backend dev and DBA/devops type problems and
| if you are experiencing any problems in that area I would love to
| help out there. Looking at the channable github page, I just
| realized I even made made some PRs for Icepeak way back in 2020.
| :)
| valcron1000 wrote:
| You don't need to use them in "big enough problems". I've used
| them with great success in a microservice architecture: had to
| consume some events, do some processing and spit out some data
| into Kafka. Absolute straightforward code, I could just focus
| on the "processing" part and ignore the boring plumbing. I'm
| sure that a lot of apps fit this pattern really well: consume
| data, processing, spit new data.
___________________________________________________________________
(page generated 2023-01-04 23:01 UTC)