Logs: liberachat/#haskell
| 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.