Logs: liberachat/#haskell
| 2026-04-18 17:08:49 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 17:09:47 | × | Guest37 quits (~Guest37@150.107.206.33) (Ping timeout: 245 seconds) |
| 2026-04-18 17:13:40 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-18 17:19:04 | → | Guest37 joins (~Guest37@150.107.206.33) |
| 2026-04-18 17:21:42 | <janus> | gentauro: that's not what Chris Penner says though. He says in the article that he considers the final version very readable |
| 2026-04-18 17:22:05 | × | Guest37 quits (~Guest37@150.107.206.33) (Client Quit) |
| 2026-04-18 17:24:11 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 17:24:21 | <monochrom> | I have too lazy to read that post. But supposedly you can always have your own judgment on the code, despite what the author self-declares. |
| 2026-04-18 17:25:40 | <janus> | i can see why streaming is seen as complicated. i've never used it in anger |
| 2026-04-18 17:26:00 | <janus> | but it seems like a useful abstraction at some point |
| 2026-04-18 17:26:42 | × | tromp quits (~textual@2001:1c00:340e:2700:bd40:ea59:f230:b9cd) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-04-18 17:27:05 | <janus> | and it's a subject we keep having to mention because lazy IO is a poor man's streaming, i think? |
| 2026-04-18 17:27:55 | <janus> | gentauro: but do you actually think lazy IO was a mistake? |
| 2026-04-18 17:28:30 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-18 17:29:25 | <monochrom> | Yeah l use lazy IO, but only because I only need toy programs. :) |
| 2026-04-18 17:29:48 | <monochrom> | aka scripts |
| 2026-04-18 17:30:03 | <monochrom> | (shots fired haha) |
| 2026-04-18 17:30:08 | <janus> | sure it's convenient, it's just unfortunate when the stdlib provides foot guns |
| 2026-04-18 17:30:27 | <janus> | i think your view is common. it's pragmatic |
| 2026-04-18 17:30:39 | <monochrom> | Alternatively, I really understand lazy evaluation, so lazy IO doesn't bite me. |
| 2026-04-18 17:31:20 | <janus> | heh i like that, that is the GOAT perspective |
| 2026-04-18 17:31:59 | <janus> | like Lamport dressing like a clown and saying "why should you trust me?", then changing clothes and saying "I won the turing award" |
| 2026-04-18 17:32:10 | <monochrom> | haha |
| 2026-04-18 17:34:44 | → | uli-fem joins (~uli-fem@14-202-246-84.tpgi.com.au) |
| 2026-04-18 17:34:57 | <monochrom> | I recognize that beyond toys and scripts, lazy IO requires too much thinking and re-thinking to tame, even if you understand lazy evaluation perfectly, e.g., it's fragile (tiny changes to your pure FP code implies big changes to I/O timing). Streaming libraries give you much better predictability and peace of mind. |
| 2026-04-18 17:39:09 | × | uli-fem quits (~uli-fem@14-202-246-84.tpgi.com.au) (Ping timeout: 246 seconds) |
| 2026-04-18 17:40:12 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 17:41:26 | → | marinelli joins (~weechat@brrr.fr) |
| 2026-04-18 17:44:30 | → | misterfish joins (~misterfis@84.53.85.146) |
| 2026-04-18 17:44:51 | <haskellbridge> | <maerwald> Depends on the streaming library |
| 2026-04-18 17:45:55 | × | Inline quits (~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) (Quit: KVIrc 5.2.8 Quasar http://www.kvirc.net/) |
| 2026-04-18 17:46:36 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-18 17:47:51 | × | jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 255 seconds) |
| 2026-04-18 17:48:37 | → | tromp joins (~textual@2001:1c00:340e:2700:bd40:ea59:f230:b9cd) |
| 2026-04-18 17:55:03 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 255 seconds) |
| 2026-04-18 17:58:16 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 18:02:31 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-18 18:04:49 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2026-04-18 18:08:36 | → | uli-fem joins (~uli-fem@14-202-246-84.tpgi.com.au) |
| 2026-04-18 18:13:21 | × | uli-fem quits (~uli-fem@14-202-246-84.tpgi.com.au) (Ping timeout: 272 seconds) |
| 2026-04-18 18:13:37 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 18:15:02 | → | user363627 joins (~user@user/user363627) |
| 2026-04-18 18:15:19 | × | weary-traveler quits (~user@user/user363627) (Ping timeout: 245 seconds) |
| 2026-04-18 18:17:38 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 265 seconds) |
| 2026-04-18 18:18:26 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-18 18:29:00 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 18:33:37 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-18 18:34:30 | × | puke quits (~puke@user/puke) (Ping timeout: 250 seconds) |
| 2026-04-18 18:43:26 | × | Square3 quits (~Square@user/square) (Ping timeout: 244 seconds) |
| 2026-04-18 18:43:26 | → | uli-fem joins (~uli-fem@14-202-246-84.tpgi.com.au) |
| 2026-04-18 18:44:24 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 18:47:40 | × | uli-fem quits (~uli-fem@14-202-246-84.tpgi.com.au) (Ping timeout: 245 seconds) |
| 2026-04-18 18:47:50 | <gentauro> | janus: lazy IO is the best |
| 2026-04-18 18:48:34 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 265 seconds) |
| 2026-04-18 18:49:13 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-18 18:49:25 | <janus> | gentauro: did you see Tweag is paying to remove acid-state from hackage-server? |
| 2026-04-18 18:50:50 | <janus> | (there is actually a SEGWAY between these topics, as we had a problem with referencial transparency and acid-state, it encoded the module location to disk) |
| 2026-04-18 18:51:02 | <gentauro> | janus: you can't really call the final solution "Haskell code" -> https://github.com/composewell/streamly/blob/master/src/Streamly/Internal/System/IOVec/Type.hsc |
| 2026-04-18 18:51:29 | <EvanR> | you can pay to remove things from hackage? |
| 2026-04-18 18:51:52 | <gentauro> | FFI'ing to C/C++ isn't really Haskell |
| 2026-04-18 18:51:56 | <janus> | EvanR: you have to pay! who would do the work without payment? |
| 2026-04-18 18:52:14 | <gentauro> | if that's the approach, well, then we are no better than "wrappy", ups, I mean Python |
| 2026-04-18 18:52:15 | <janus> | gentauro: ah right, that is an age old issue with the GHC ecosystem i suppose |
| 2026-04-18 18:52:52 | <janus> | EvanR: as part of the work, a new storage backend must be added, of course |
| 2026-04-18 18:53:01 | <gentauro> | janus: corner-cutting in the name of "pragmatism" (aka sloppiness) |
| 2026-04-18 18:53:10 | <EvanR> | FFIing to C isn't really haskell so, anything that uses Integer (gmp) isn't haskell! |
| 2026-04-18 18:53:20 | <gentauro> | EvanR: correct |
| 2026-04-18 18:53:26 | <EvanR> | lol |
| 2026-04-18 18:54:40 | <mauke> | segue? |
| 2026-04-18 18:55:03 | → | gmg joins (~user@user/gehmehgeh) |
| 2026-04-18 18:55:40 | <gentauro> | janus: is Tweag still doing Haskell? |
| 2026-04-18 18:55:54 | <janus> | mauke: yes sry |
| 2026-04-18 18:56:55 | × | gmg quits (~user@user/gehmehgeh) (Client Quit) |
| 2026-04-18 18:56:58 | <janus> | gentauro: yes, look at their blog: https://www.tweag.io/tag/haskell |
| 2026-04-18 18:57:22 | <gentauro> | hmmm, I thought they dropped all FP when Mathieu Boespflug sold the company |
| 2026-04-18 18:57:28 | <gentauro> | but good to know they still at it :) |
| 2026-04-18 18:57:56 | → | gmg joins (~user@user/gehmehgeh) |
| 2026-04-18 18:59:17 | → | uli-fem joins (~uli-fem@14-202-246-84.tpgi.com.au) |
| 2026-04-18 18:59:46 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 19:01:11 | <gentauro> | I guess there is still a spot for my (low-level) F# parquet/delta-lake lib (with pql {…} and dql {…} computations expressions …). I never understood the "simplistic" approach to wrapping stuff for the sake of wrapping stuff. At that point, just use Java … |
| 2026-04-18 19:01:17 | <gentauro> | anyway :-\ |
| 2026-04-18 19:04:21 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-18 19:08:04 | × | uli-fem quits (~uli-fem@14-202-246-84.tpgi.com.au) (Ping timeout: 276 seconds) |
| 2026-04-18 19:11:42 | gentauro | forgot posting link -> https://www.tweag.io/blog/2022-12-08-creating-a-Delta-Lake-in-Haskell-with-Sparkle/ |
| 2026-04-18 19:15:17 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 19:20:12 | → | troojg joins (~troojg@user/troojg) |
| 2026-04-18 19:21:47 | → | uli-fem joins (~uli-fem@14-202-246-84.tpgi.com.au) |
| 2026-04-18 19:21:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-18 19:29:29 | × | uli-fem quits (~uli-fem@14-202-246-84.tpgi.com.au) (Ping timeout: 265 seconds) |
| 2026-04-18 19:29:41 | × | hololeap quits (~quassel@user/hololeap) (Quit: Bye) |
| 2026-04-18 19:30:40 | → | hololeap joins (~quassel@user/hololeap) |
| 2026-04-18 19:33:13 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-18 19:33:41 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 2026-04-18 19:37:41 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-18 19:37:53 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-04-18 19:38:06 | × | target_i quits (~target_i@user/target-i/x-6023099) (Ping timeout: 255 seconds) |
| 2026-04-18 19:39:01 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 2026-04-18 19:39:40 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2026-04-18 19:40:32 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-04-18 19:48:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
All times are in UTC.