Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,280 events total
2025-11-25 20:06:23 × Wygulmage quits (~Wygulmage@user/Wygulmage) (Ping timeout: 250 seconds)
2025-11-25 20:06:51 × hseg_ quits (~hseg_@46.120.21.70) (Remote host closed the connection)
2025-11-25 20:10:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-25 20:11:05 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 250 seconds)
2025-11-25 20:11:52 jmcantrell joins (~weechat@user/jmcantrell)
2025-11-25 20:16:59 kritzefitz joins (~kritzefit@debian/kritzefitz)
2025-11-25 20:18:01 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 250 seconds)
2025-11-25 20:20:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-25 20:23:44 ttybitnik joins (~ttybitnik@user/wolper)
2025-11-25 20:25:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-25 20:26:15 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 250 seconds)
2025-11-25 20:26:37 × kitadamian quits (~kitadamia@95.49.84.49.ipv4.supernova.orange.pl) (Quit: Client closed)
2025-11-25 20:32:41 Wygulmage joins (~Wygulmage@user/Wygulmage)
2025-11-25 20:33:03 <Wygulmage> tomsmedding: Sorry for the belated answer. Thank you. `.&&.` is exactly what I wanted.
2025-11-25 20:34:27 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-25 20:36:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-25 20:40:06 <tomsmeding> Wygulmage: protip: use tab-completion for nicks, mentioning doesn't work if there's a typo :)
2025-11-25 20:40:09 <tomsmeding> but nice :)
2025-11-25 20:40:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-25 20:42:12 vanishingideal joins (~vanishing@user/vanishingideal)
2025-11-25 20:51:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-25 20:54:35 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 240 seconds)
2025-11-25 20:56:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-11-25 20:58:25 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-11-25 20:59:16 <hseg> my brain is a little too fried for this -- how do I cleanly write https://0x0.st/KWE8.txt ?
2025-11-25 21:00:12 <hseg> the idea is to try two different ways of computing a monadic result, returning the first among them that doesn't result in m Nothing along the way, with a default
2025-11-25 21:01:34 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 246 seconds)
2025-11-25 21:01:59 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-25 21:02:17 <geekosaur> asum?
2025-11-25 21:02:41 <tomsmeding> :t asum
2025-11-25 21:02:42 <lambdabot> (Foldable t, Alternative f) => t (f a) -> f a
2025-11-25 21:02:46 <tomsmeding> what's f here?
2025-11-25 21:02:52 <hseg> Maybe
2025-11-25 21:02:57 <tomsmeding> so what about the IO
2025-11-25 21:03:01 <Leary> Rather, `<|>` on `MaybeT IO`.
2025-11-25 21:03:44 <tomsmeding> https://hackage.haskell.org/package/transformers-0.6.1.1/docs/src/Control.Monad.Trans.Maybe.html#line-165
2025-11-25 21:04:23 <tomsmeding> yes and then end with `maybe default return =<<`
2025-11-25 21:04:35 <hseg> am getting a little confused with the tower of monads I'm using here
2025-11-25 21:04:50 <[exa]> in IO you can just bind to `Just env <- getEnv` and return the env in 2 alternatives, no need to do MaybeT
2025-11-25 21:05:05 <[exa]> (otoh yeah MaybeT is the clean way)
2025-11-25 21:05:28 <hseg> wait, won't Just env <- getEnv crash if the envvar is unset?
2025-11-25 21:05:37 <[exa]> it crashes but <|> saves
2025-11-25 21:06:00 <tomsmeding> doing it with IO exceptions feels ugly
2025-11-25 21:06:03 <[exa]> (IO is Alternative)
2025-11-25 21:07:09 <[exa]> yeah it feels dirty
2025-11-25 21:07:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-25 21:07:34 <[exa]> but no need for transformers
2025-11-25 21:07:46 <hseg> problem. Shake.Action is not an Alternative
2025-11-25 21:08:42 <tomsmeding> Leary: hseg: like this? https://play.haskell.org/saved/C0K0rs9c
2025-11-25 21:09:06 <tomsmeding> this asum uses <|> on MaybeT
2025-11-25 21:09:43 <hseg> on MaybeT IO?
2025-11-25 21:09:49 <tomsmeding> yes
2025-11-25 21:10:01 <tomsmeding> but 'MaybeT m' is Alternative regardless of m, as long as m implements Monad
2025-11-25 21:10:19 <hseg> ah, excellent
2025-11-25 21:10:31 <tomsmeding> (because it chooses based on the Maybe, not based on monadic state in m)
2025-11-25 21:10:34 <hseg> it's been a while, am a little rusty
2025-11-25 21:10:52 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-11-25 21:11:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-25 21:21:09 <tomsmeding> I very rarely use MaybeT so I also had to double-check that it does the right thing
2025-11-25 21:21:29 <hseg> ... for some reason it's not working when I paste it into the actual code -- ghc doesn't think this typechecks?
2025-11-25 21:21:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-25 21:21:52 <hseg> (probably because there are some differences between what I pasted and what I wrote)
2025-11-25 21:25:04 <hseg> ... ah, that's why you wrote fmap .. $ and not <$> -- precedence
2025-11-25 21:28:31 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-25 21:29:55 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 240 seconds)
2025-11-25 21:33:38 Frostillicus joins (~Frostilli@71.174.119.69)
2025-11-25 21:36:09 <tomsmeding> yes :)
2025-11-25 21:36:23 × Googulator33 quits (~Googulato@2a01-036d-0106-4ad8-11e2-562e-881b-eb37.pool6.digikabel.hu) (Quit: Client closed)
2025-11-25 21:36:38 Googulator33 joins (~Googulato@2a01-036d-0106-4ad8-11e2-562e-881b-eb37.pool6.digikabel.hu)
2025-11-25 21:39:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-25 21:42:31 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 250 seconds)
2025-11-25 21:42:52 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
2025-11-25 21:43:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-25 21:46:02 × Wygulmage quits (~Wygulmage@user/Wygulmage) (Quit: Client closed)
2025-11-25 21:46:05 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
2025-11-25 21:46:55 <hseg> it builds !
2025-11-25 21:47:01 <hseg> well, this bit
2025-11-25 21:47:12 <hseg> now to see if my patch actually fixed things...
2025-11-25 21:47:58 <hseg> hrmph. I broke something
2025-11-25 21:52:08 <hseg> btw, it seems that only by running cabal exec do I get GHC_ENVIRONMENT populated
2025-11-25 21:54:36 hseg facepalms
2025-11-25 21:55:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-25 21:55:57 <hseg> after writing a bad parser for the environment files, realized I could just pass them as --ghc-option=-package-env --ghc-option=$GHC_ENVIRONMENT
2025-11-25 21:56:28 <hseg> the MaybeT code is still important, though
2025-11-25 21:59:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-25 21:59:42 <tomsmeding> hseg: will you be submitting your work back as a PR? :P
2025-11-25 21:59:58 <hseg> I should
2025-11-25 22:00:10 <hseg> though it's a _mess_
2025-11-25 22:00:50 <tomsmeding> well if it doesn't work without the mess...
2025-11-25 22:02:01 × tired- quits (~tired@user/tired) (Ping timeout: 250 seconds)
2025-11-25 22:03:28 <hseg> hrm. OK, shake complains of fewer dependencies missing
2025-11-25 22:04:53 <hseg> nm re being able to reuse ghc's package-env parser -- Setup.hs configure doesn't use ghc for this
2025-11-25 22:06:05 europhobic joins (~europhobi@109.166.129.14)
2025-11-25 22:06:17 × tromp quits (~textual@2001:1c00:3487:1b00:bd07:71f2:e20b:fdc) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-25 22:08:35 <hseg> hrm. the GHC_ENVIRONMENT that cabal passes is incomplete -- it's missing the ghcup package db, which is causing eg base to be reported as missing
2025-11-25 22:10:08 <tomsmeding> isn't the ghcup package db really the package db of the installed GHC, and thus added by default by ghc unless you add this initial command to forget everything (forget what it's called)?
2025-11-25 22:10:25 <hseg> ok, by dropping the --package-db=clear parameter from my fix, configure goes through
2025-11-25 22:10:33 <tomsmeding> that
2025-11-25 22:10:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-25 22:11:09 <tomsmeding> I meant clear-package-db in the environment file

All times are in UTC.