Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,072 events total
2025-09-09 09:38:52 <arahael> As it turns out there was another way to do it so no biggie.
2025-09-09 09:39:15 <arahael> (The other way being to spawn a thread anyway. And I've been learning about threads in Haskell as a consequence!)
2025-09-09 09:39:31 <merijn> arahael: If you make a PR that provides `Pty -> Fd` I'd make a new release
2025-09-09 09:39:56 <arahael> merijn: One day. One day. :)
2025-09-09 09:40:23 <arahael> It turns out it's not actually required, and it's probably better to block on it anyway.
2025-09-09 09:40:31 <merijn> ggVGc: The thing I hate is that for yield makes me write "_ <-" in front of every line whose return I don't care about
2025-09-09 09:40:48 <merijn> please god, lemme just write code without _ <- like in Haskell :(
2025-09-09 09:42:30 ZLima12_ joins (~zlima12@user/meow/ZLima12)
2025-09-09 09:45:46 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 256 seconds)
2025-09-09 09:54:08 <tomsmeding> merijn: make a keyboard macro that inserts '_ <- '
2025-09-09 09:54:20 Googulator51 is now known as Googulator
2025-09-09 09:54:34 <merijn> tomsmeding: That still makes it ugly to read
2025-09-09 09:54:35 <tomsmeding> for a while I was using a programmable keyboard (moved away again for unrelated reasons) and I had keys for -> <- => <=
2025-09-09 09:54:48 <tomsmeding> it was nice :p
2025-09-09 09:54:52 <tomsmeding> that's true
2025-09-09 09:55:17 <tomsmeding> merijn: are there so many functions that return useless results then?
2025-09-09 09:55:37 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
2025-09-09 09:55:40 <tomsmeding> in Haskell, I find that usually if there is a non-() return value, you want to use it -- not always, but often enough that '_ <-' is not _too_ common
2025-09-09 09:56:12 <merijn> tomsmeding: you have to write _ <- for unit returns too
2025-09-09 09:56:18 <tomsmeding> oh lol
2025-09-09 09:56:25 <tomsmeding> that's stupid
2025-09-09 09:56:58 <ski> ggVGc : "what I very much dislike .. " -- yea. i hear ya. that's because it's a retro-fit, so no layout-introducing keywords
2025-09-09 09:58:21 <merijn> tomsmeding: Exactly!
2025-09-09 09:59:28 <tomsmeding> use your units
2025-09-09 10:00:15 ski . o O ( `(void)printf("...",...);' )
2025-09-09 10:00:21 <ggVGc> merijn: oh yeah, that one sucks arse
2025-09-09 10:00:36 <tomsmeding> imagine you actually have to use all your units too, combining them with (<>) to build your own unit return
2025-09-09 10:00:54 <ggVGc> merijn: Also, Option.foreach makes me vomit a bit each time.
2025-09-09 10:02:06 <tomsmeding> % for (Just 42) print
2025-09-09 10:02:07 <yahb2> 42 ; Just ()
2025-09-09 10:02:19 <merijn> ggVGc: I never use that
2025-09-09 10:02:29 <merijn> ggVGc: We're using ZIO almost everywhere
2025-09-09 10:05:50 tremon joins (~tremon@83.80.159.219)
2025-09-09 10:13:33 sindu joins (~sindu@176.75.108.200)
2025-09-09 10:18:03 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 256 seconds)
2025-09-09 10:20:11 <ski> SML has
2025-09-09 10:20:21 <ski> val ignore : unit -> 'a
2025-09-09 10:20:45 <ski> imho, that would be a better name for
2025-09-09 10:20:50 <ski> void :: Functor f => f a -> f ()
2025-09-09 10:21:17 <ski> er .. mixed up domain and codomain of the `ignore' ..
2025-09-09 10:29:09 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-09-09 10:34:43 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 250 seconds)
2025-09-09 10:35:20 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
2025-09-09 10:36:01 gmg joins (~user@user/gehmehgeh)
2025-09-09 10:37:16 __monty__ joins (~toonn@user/toonn)
2025-09-09 10:37:53 <kqr> I'm trying to cabal build --enable-profiling my project, and I get an error that "Could not find module ‘Control.Seq’. Perhaps you haven't installed the profiling libraries for package ‘parallel-3.2.2.0’?" This was not a problem when I compiled without profiling. I'm not explicitly depending on parallel (it c is pulled in by the lens build). What am I doing wrong?
2025-09-09 10:39:56 sprotte24 joins (~sprotte24@p200300d16f36070054d9a83b6a36a30e.dip0.t-ipconnect.de)
2025-09-09 10:40:21 <haskellbridge> <sm> To build with profiling, unfortunately you have to have every transitive dependency also built with profiling. Often this isn't done by default so you have to force a reinstall of all of them
2025-09-09 10:40:39 fp1 joins (~Thunderbi@wireless-86-50-141-202.open.aalto.fi)
2025-09-09 10:41:13 merijn joins (~merijn@77.242.116.146)
2025-09-09 10:41:16 <haskellbridge> <sm> I'm surprised if cabal build --enable-profiling doesn't recognise that, like stack build --profile
2025-09-09 10:46:05 forell joins (~forell@user/forell)
2025-09-09 10:46:58 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-09-09 10:48:02 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-09 10:48:16 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
2025-09-09 10:49:05 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-09-09 10:52:04 × sprotte24 quits (~sprotte24@p200300d16f36070054d9a83b6a36a30e.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-09-09 10:58:30 <kqr> I see. Can I give cabal a flag to reinstall it or am I hunting them down individually and trying to install globally or what is the best solution there?
2025-09-09 11:00:05 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
2025-09-09 11:00:21 merijn joins (~merijn@77.242.116.146)
2025-09-09 11:02:05 caconym747 joins (~caconym@user/caconym)
2025-09-09 11:02:19 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 255 seconds)
2025-09-09 11:04:57 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-09-09 11:05:55 × kaotika quits (~user@user/d4q) (Ping timeout: 255 seconds)
2025-09-09 11:06:21 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-09 11:06:34 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
2025-09-09 11:07:54 kaotika joins (~user@user/d4q)
2025-09-09 11:09:59 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-09-09 11:11:33 × glguy quits (glguy@libera/staff/glguy) (Quit: Quit)
2025-09-09 11:11:38 glguy joins (glguy@libera/staff/glguy)
2025-09-09 11:11:44 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-09-09 11:12:19 × kaotika quits (~user@user/d4q) (Max SendQ exceeded)
2025-09-09 11:14:20 kaotika joins (~user@user/d4q)
2025-09-09 11:15:55 × kaotika quits (~user@user/d4q) (Max SendQ exceeded)
2025-09-09 11:16:34 merijn joins (~merijn@77.242.116.146)
2025-09-09 11:17:03 <kaol> I suppose there's no way to make Proxy to show its type?
2025-09-09 11:17:23 <dminuoso> kaol: What do you mean by "make it show its type"?
2025-09-09 11:18:29 <kaol> show (Proxy :: Proxy String) == "Proxy" is less than satisfying if I want to know that it's being used on a String.
2025-09-09 11:19:00 <dminuoso> kaol: You can do something like `showProxy :: Typeable a => Proxy a -> String`
2025-09-09 11:19:34 <dminuoso> Not quite sure what your goal is
2025-09-09 11:20:23 <kaol> Debug a piece of code that uses type classes and I have no idea where the execution goes since I don't know what type the particular Proxy is.
2025-09-09 11:20:57 <dminuoso> So the best you can do is constraint it to Typeable and do something like `show . typeOf`
2025-09-09 11:21:30 <dminuoso> Or well, `show . typeRep` rather
2025-09-09 11:21:59 <dminuoso> Debugging constraint resolving is tough
2025-09-09 11:22:23 kaotika joins (~user@user/d4q)
2025-09-09 11:23:04 <mauke> this is why hls integration
2025-09-09 11:23:37 <dminuoso> Right, or use GHCi to a similar effect
2025-09-09 11:23:42 <dminuoso> :k is a thing
2025-09-09 11:23:43 <lambdabot> error:
2025-09-09 11:23:43 <lambdabot> Not in scope: type variable ‘is’
2025-09-09 11:23:43 <lambdabot> Perhaps you meant type constructor or class ‘As’ (imported from Control.Lens)
2025-09-09 11:23:49 <dminuoso> Thanks.
2025-09-09 11:24:24 <kaol> show . typeRep and adding a few Typeable constraints got me what I was looking for. Thanks.
2025-09-09 11:26:28 <haskellbridge> <sm> kqr I don't know, I would ask in #hackage
2025-09-09 11:28:32 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
2025-09-09 11:29:15 <kaol> Interesting. servant-client-core is somehow trying to decode latin1. My server is sending utf8.
2025-09-09 11:29:54 xff0x joins (~xff0x@2405:6580:b080:900:263:a30e:567c:e7aa)
2025-09-09 11:29:57 <dminuoso> kaol: It respects Content-Type.
2025-09-09 11:30:10 <dminuoso> The actual encoding is irrelevant, there's no heuristics.
2025-09-09 11:30:10 <kaol> Well it has a bug. Content-Type is correct.

All times are in UTC.