2026/04/02

Newest at the top

2026-04-02 17:30:22 +0200 <mauke> bwe: the former is impossible because the rest of the stream doesn't exist unless you run the embedded action first
2026-04-02 17:29:50 +0200 <mauke> bwe: the latter can be parallelized by collecting the values in a list and mapping over that, or by having your 'f' fork off a new thread for each element
2026-04-02 17:29:45 +0200 <Vq> Maybe I subconsciously regard pretty Python to be a lost cause. :o)
2026-04-02 17:29:27 +0200 <gentauro> Vq: when doing `case … of` all your cases get aligned with a nice uniform separation <3
2026-04-02 17:28:35 +0200 <Vq> When I write Python I quite like having the formatter black just strictly format everything, but with Haskell I prefer the amount of artistic freedom stylish-haskell gives me.
2026-04-02 17:28:26 +0200 <mauke> bwe: the way I see it, there are two kinds of monadic actions involved. one is the actions "embedded" in the stream; the other kind is the ones returned by your 'f'
2026-04-02 17:28:25 +0200 <gentauro> :-\
2026-04-02 17:28:21 +0200 <gentauro> for good or for bad, the `elm-format` is very rigid in the sense that "Evans knows best, take it or leave it". The good thing about that approach, is that all code cases using the tool, looks the same. And that bad is that people who don't like it, just don't use the tool
2026-04-02 17:27:12 +0200 <gentauro> Vq: so do I. However, from time to time, the project changes and then codes become "ugly" until you tweak to your liking
2026-04-02 17:26:53 +0200 <mauke> bwe: depends on what you mean by that
2026-04-02 17:26:19 +0200 <Vq> I know it's not universal, but I like the alignment behaviour of stylish-haskell.
2026-04-02 17:25:39 +0200 <gentauro> stylish-haskell is pretty, pretty, nice
2026-04-02 17:25:14 +0200Vqdoes use stylish-haskell
2026-04-02 17:24:57 +0200gentauroa trick to avoid a compile check, is to hook up `stylish-haskell` on save. If the code doesn't format nicely, then there is something that does not compile ;)
2026-04-02 17:24:50 +0200 <bwe> Currently I am doing `S.mapM_ f s` over some stream `s`. While this processes the stream sequentially, how do I process the stream concurrently (instead of using S.mapM_ )? https://hackage.haskell.org/package/streaming-0.2.4.0/docs/Streaming-Prelude.html
2026-04-02 17:24:00 +0200 <gentauro> Vg: it will save you a few compiles ;)
2026-04-02 17:23:17 +0200 <Vq> I generally use hoogle as well and the only autocompletion thing I have is hippie-expand. I think I need to try LSP out though.
2026-04-02 17:21:17 +0200 <gentauro> I don't really use the intellisense. I'm kind of used to Hoogle
2026-04-02 17:20:52 +0200 <gentauro> Vg: kind of. It gives you hints on refactoring and so. However, if you use `length` you will get annoyed by -> `Name: Infinite: ghc-internal/length`. It's OK I guess
2026-04-02 17:19:06 +0200ft(~ft@p508db341.dip0.t-ipconnect.de) ft
2026-04-02 17:17:54 +0200FirefoxDeHuk(~FirefoxDe@user/FirefoxDeHuk) (Client Quit)
2026-04-02 17:17:04 +0200FirefoxDeHuk(~FirefoxDe@user/FirefoxDeHuk) FirefoxDeHuk
2026-04-02 17:16:44 +0200wennefer0(~wennefer0@user/wennefer0) wennefer0
2026-04-02 17:09:54 +0200somemathguy(~somemathg@user/somemathguy) (Quit: WeeChat 4.1.1)
2026-04-02 17:07:05 +0200 <Vq> gentauro: I haven't started using LSP for any language yet. Does it work well for Haskell?
2026-04-02 17:05:59 +0200jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 252 seconds)
2026-04-02 16:58:16 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2026-04-02 16:51:57 +0200acidjnk_new3(~acidjnk@p200300d6e700e5001e1160b7d23e5dd6.dip0.t-ipconnect.de) acidjnk
2026-04-02 16:49:15 +0200rainbyte(~rainbyte@181.47.219.3) (Ping timeout: 246 seconds)
2026-04-02 16:44:38 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-04-02 16:35:44 +0200CiaoSen(~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-04-02 16:32:24 +0200synchromesh(~john@2406:5a00:2412:2c00:fc97:d0a4:cdd9:afc1) synchromesh
2026-04-02 16:32:01 +0200 <gentauro> I wouldn't be able to do that if they keep changing the lang (staying with Haskell2010 without all the pragmas enabled by default … jaiks)
2026-04-02 16:31:59 +0200synchromesh(~john@2406:5a00:2412:2c00:9d1a:235e:4b6d:c07a) (Read error: Connection reset by peer)
2026-04-02 16:31:25 +0200 <gentauro> Vq: I got it to work again (LSP) but I was just writing Haskell "without" any help.
2026-04-02 16:12:54 +0200machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-04-02 16:11:51 +0200sim590(~simon@2001:18c0:a82:2400::9fb)
2026-04-02 16:11:31 +0200 <Vq> mesaoptimizer: haskell-mode is a bit terrible, yeah. But I'm used to it now so it's not too bad.
2026-04-02 16:10:13 +0200 <mesaoptimizer> gentauro: emacs' `haskell-mode` for example, seems terrible
2026-04-02 16:09:44 +0200 <int-e> Huh I didn't expectt hat. But it may well explain the difference.
2026-04-02 16:08:30 +0200 <mesaoptimizer> int-e: it returns an empty string for me
2026-04-02 16:08:11 +0200mistivia(~mistivia@user/mistivia) (Read error: Connection reset by peer)
2026-04-02 16:06:32 +0200 <mesaoptimizer> language is not just its syntax and semantics
2026-04-02 16:06:30 +0200 <mesaoptimizer> gentauro: I think it makes sense to use text over String as a default, and records as properties instead of functions seems.... I'm unsure about that one. I agree that tooling is really important and I think you underestimate this. I dislike haskell, but I dislike it less than python. Even so, the tooling is a lovely experience in Python and Rust, and the feeling of using the tooling matters. A
2026-04-02 16:06:18 +0200 <int-e> (and `gmp` comes from extra-libraries in ghc-bignum)
2026-04-02 16:04:30 +0200Fijxu(~Fijxu@user/fijxu) fijxu
2026-04-02 16:04:26 +0200 <int-e> For me it's extra-libraries: c m
2026-04-02 16:04:11 +0200 <int-e> mesaoptimizer: actually, if you do `ghc-pkg field ghc-prim extra-libraries`, what does that say?
2026-04-02 16:04:05 +0200Rembane(~Rembane@user/Rembane) Rembane
2026-04-02 16:03:20 +0200 <mesaoptimizer> gentauro: lol at AI sponsored