Home liberachat/#haskell: Logs Calendar

Logs on 2023-05-28 (liberachat/#haskell)

00:02:14 nate2 joins (~nate@98.45.169.16)
00:04:09 cheater_ joins (~Username@user/cheater)
00:06:37 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
00:06:45 cheater_ is now known as cheater
00:07:20 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
00:19:47 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:19:47 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:19:47 wroathe joins (~wroathe@user/wroathe)
00:21:17 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:21:49 mechap joins (~mechap@user/mechap)
00:26:05 pavonia joins (~user@user/siracusa)
00:27:46 <reach> Hi, I am new to haskell. I am trying to build cabal and cabal-install and just cloned the git repository , As I am following the readme, I am trying to run this command cabal install cabal-install , but I get this error Error: cabal-3.10.1.0.exe: Failed to build directory-1.3.7.1 (which is
00:27:46 <reach> required by exe:cabal from cabal-install-3.10.1.0). The failure occurred
00:27:46 <reach> during the configure step. The build process terminated with exit code 127. What is the issue here? Thanks in advance
00:29:35 <hpc> you already have cabal-install, or you wouldn't be able to run "cabal install"
00:30:05 <hpc> there's not enough info in that part of the error to know why directory failed to build though
00:35:54 freeside joins (~mengwong@103.252.202.189)
00:35:59 × ystael_ quits (~ystael@user/ystael) (Ping timeout: 240 seconds)
00:36:12 <Axman6> reach: you shoulldn't need to build either of those from the git repo ever, ubless you are contributing to cabal itself. How have you installed ghc?
00:37:09 <sclv> reach is a hsoc contributetor
00:37:18 <sclv> they need to build it
00:37:56 <sclv> reach: what system are you on?
00:37:56 <Axman6> these days, by far the simplest thing to do is a) don't install ghc using your package manage3r, b) install ghcup, c) run ghcup tui and install cabal, a recent GHC (9.2 or 9.4 are usually a good bet today), HLS if you want editor integration and stack if you need it
00:38:02 ystael joins (~ystael@user/ystael)
00:38:06 <Axman6> oh ok then!
00:40:05 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
00:41:36 <sclv> reach: don’t run cabal install, run cabal build to develop and test
00:42:09 <sclv> run with -v2 or -v3 to observe the results with higher verbosity
00:42:53 <reach> sclv: Windows 11
00:43:27 <sclv> ah i guessed. how did you install ghc and cabal?
00:45:03 <sclv> i’m guessing you’re not configured with msys…
00:45:57 <sclv> (ghcup should do this automatically for you if you install via ghcup. ditto chocalatey if you use the right cocolatey package)
00:46:25 <reach> I installed through chocalatey
00:48:10 <sclv> which package?
00:48:13 nate2 joins (~nate@98.45.169.16)
00:48:26 <sclv> the recommended route is haskell-dev https://community.chocolatey.org/packages/haskell-dev
00:51:22 <reach> yes i followed from the link u shared.
00:54:29 <reach> i tried running cabal v2- build cabal and it still throws error
00:54:30 <reach> Error: cabal-3.10.1.0.exe: Failed to build time-1.12.2 (which is required by
00:54:30 <reach> Cabal-3.11.0.0). The failure occurred during the configure step. The build
00:54:31 <reach> process terminated with exit code 127
01:03:18 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
01:10:24 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:16:31 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:29:27 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 256 seconds)
01:34:41 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
01:38:13 talismanick joins (~user@76.133.152.122)
01:39:03 <sclv> reach: msys isn’t configured right. thats why it cant build those packages
01:39:23 <talismanick> What's the most idiomatic way to map [(a, Maybe b)] to [(a, b)], filtering (_, Nothing) and mapping (x, Just y) to (x, y)?
01:40:18 <reach> @sclv : Invoking msys2 shell command: -defterm -no-start -c "pacman --noconfirm -Syuu --disable-download-timeout | tee -a /update.log; ps -ef | grep '[?]' | awk '{print $2}' | xargs -r kill"
01:40:18 <lambdabot> Unknown command, try @list
01:40:18 <reach> :: Synchronizing package databases...
01:40:18 <reach> clangarm64 downloading...
01:40:18 <reach> mingw32 downloading...
01:40:18 <reach> mingw64 downloading...
01:40:19 <reach> ucrt64 downloading...
01:40:21 <reach> clang32 downloading...
01:40:24 <reach> clang64 downloading...
01:40:25 <reach> msys downloading...
01:40:27 <reach> :: Starting core system upgrade...
01:40:29 <talismanick> hoogling "f (a, g b) -> f (a, b)" (and anyything more specific) hasn't yielded anything
01:40:29 <reach> there is nothing to do
01:40:32 <reach> :: Starting full system upgrade...
01:40:36 <reach> there is nothing to do
01:40:38 <reach> PATH environment variable does not have C:\tools\msys64 in it. Adding...
01:40:38 <monochrom> Um please use a paste bin.
01:40:40 <reach> Environment Vars (like PATH) have changed. Close/reopen your shell to
01:40:42 <reach> see the changes (or in powershell/cmd.exe just type `refreshenv`).
01:40:44 <reach> The install of msys2 was successful.
01:40:46 <reach> Software installed to 'C:\tools\msys64'
01:40:48 <reach> haskell-dev v0.0.1 [Approved]
01:40:48 <talismanick> seriously dude?
01:40:50 <reach> haskell-dev package files install completed. Performing other installation steps.
01:40:52 <reach> The install of haskell-dev was successful.
01:40:52 <monochrom> @where paste
01:40:52 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
01:40:54 <reach> Software installed to 'C:\ProgramData\chocolatey\lib\haskell-dev'
01:41:24 <sclv> reach please don’t paste long things in irc directly. use a pastebin
01:42:17 <reach> sorry, irc is new to me,
01:42:35 <sclv> there should be values in the cabal config file pointing to the necessary locations. cf https://stackoverflow.com/q/42555250
01:42:54 <sclv> (the values won’t be the same, but should be similar)
01:43:27 <sclv> if that approach doesn’t work i recommend just trying the ghcup route instead
01:44:18 <sclv> the reason the builds are failing is they are trying to link against msys c libs and not finding them
01:44:32 <sclv> those values help find the libs
01:48:31 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
02:00:25 × vandita quits (~vandit@178-164-188-2.pool.digikabel.hu) (Ping timeout: 240 seconds)
02:02:22 vandita joins (~vandit@84-236-8-26.pool.digikabel.hu)
02:06:37 <reach> Thanks sclv, I added mysys64 path to extra-prog-path variable in cabal config file and ran cabal v2-build cabal, this completed without issues. Thanks for the direction.
02:07:16 <sclv> wonderful!
02:11:25 <talismanick> What's the shortest function `f :: [(a, Maybe b)] -> [(a, b)]` which filters/drops `(_, Nothing)` and maps `(x, Just y)` to `(x, y)`?
02:12:36 <probie> Not the shortest, but I'm a fan of `f xs = [(x,y) | (x, Just y) <- xs]`
02:13:52 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 248 seconds)
02:15:51 <int-e> > sequence (1, Just 2)
02:15:52 <lambdabot> Just (1,2)
02:16:18 <talismanick> probie: oh, perfect
02:16:19 <talismanick> thanks
02:17:22 <int-e> :t catMaybes . map sequence
02:17:23 <lambdabot> Traversable t => [t (Maybe a)] -> [t a]
02:18:19 <int-e> (really not worth it; it's barely shorter than the list comprehension and much harder to understand)
02:18:24 <[Leary]> :t mapMaybe sequenceA
02:18:25 <lambdabot> Traversable t => [t (Maybe a)] -> [t a]
02:19:11 <probie> :t concatMap (maybe [] pure) . map sequence -- if you don't want to import Data.Maybe
02:19:12 <lambdabot> Traversable t => [t (Maybe a)] -> [t a]
02:19:22 <[Leary]> Seems pretty straightforward to me, but list comprehensions that leverage pattern matching to filter do have a special charm.
02:19:30 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
02:19:34 <int-e> :t (>>= maybe [] pure . sequence)
02:19:35 <lambdabot> Traversable t => [t (Maybe a)] -> [t a]
02:21:00 <probie> derp, `concatMap f . map g = concatMap (f . g)`. I must still be half asleep (despite it being midday in my timezone)
02:21:22 <int-e> Relying on the fact that the Maybe is in the second component of the pair feels awkward.
02:27:32 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
02:37:24 <probie> Is there a way to write something like `Arr n f g` where `Arr 0 f g = f -> g` and `Arr n f g = forall v_1 v_2 ... v_n . f v_1 v_2 ... v_n -> g v_1 v_2 ... v_n`?
02:38:10 <probie> I get stuck because the kinds of `f` and `g` depends on the value of `n`, and I don't know if I can even express that in Haskell
02:44:48 × phma quits (~phma@host-67-44-208-181.hnremote.net) (Read error: Connection reset by peer)
02:45:15 phma joins (phma@2001:5b0:2172:dd28:fe45:160f:de72:96fc)
02:47:07 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:47:07 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:47:07 finn_elija is now known as FinnElija
02:54:44 × phma quits (phma@2001:5b0:2172:dd28:fe45:160f:de72:96fc) (Read error: Connection reset by peer)
02:55:08 phma joins (phma@2001:5b0:2172:dd28:fe45:160f:de72:96fc)
02:58:56 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
02:59:21 ec joins (~ec@gateway/tor-sasl/ec)
03:00:23 freeside joins (~mengwong@103.252.202.189)
03:01:52 × td_ quits (~td@i53870921.versanet.de) (Ping timeout: 248 seconds)
03:02:12 <Axman6> well you certainly can using template haskell, you'd need quite a bit of machinery make that work though. feels posssible, but hard
03:03:56 td_ joins (~td@i53870919.versanet.de)
03:04:28 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
03:07:33 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
03:09:35 × pointlessslippe1 quits (~pointless@212.82.82.3) (Ping timeout: 240 seconds)
03:10:08 johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
03:14:53 <probie> I'm not too interested in using template haskell (especially not until it plays nicely with cross compilation), and there's no pressing need to actually solve this
03:18:10 pointlessslippe1 joins (~pointless@212.82.82.3)
03:19:26 <probie> I just wanted to generalise recursion-schemes to work with functor-like things, so I could have some generic type like `cata :: FunctorN n f => FNAlg n f g -> (Arr n (FixN n f) g)`
03:20:46 freeside joins (~mengwong@103.252.202.189)
03:22:11 <probie> where `FNAlg n f g = forall v_1 v_2 .. v_n . f v_1 v_2 .. v_n g -> g v_1 v_2 .. v_n` and `newtype FixN n f v_1 v_2 .. v_n = FixN (f v_1 v_2 .. v_n (FixN f))`
03:23:17 <probie> with template Haskell (or just manually writing it by hand, or using codegen), it's very easy to make these concrete types for a given value of n, but I was hoping there was some way to generalise it
03:23:23 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
03:25:01 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
03:27:28 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
03:42:57 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
03:43:19 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
03:53:44 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
03:54:10 ec joins (~ec@gateway/tor-sasl/ec)
03:55:11 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
03:58:15 nick__ joins (~nick@98.186.194.67)
04:05:34 freeside joins (~mengwong@103.252.202.189)
04:09:35 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
04:31:36 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
04:31:59 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
04:38:56 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 248 seconds)
04:50:12 nick___ joins (~nick@98.186.194.67)
04:52:25 × nick__ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
05:08:53 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:12:35 kriity joins (~kriity@c-76-155-235-153.hsd1.co.comcast.net)
05:19:08 × vandita quits (~vandit@84-236-8-26.pool.digikabel.hu) (Ping timeout: 240 seconds)
05:21:02 vandita joins (~vandit@87-97-2-208.pool.digikabel.hu)
05:28:15 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds)
05:34:00 trev joins (~trev@user/trev)
05:34:54 Lycurgus joins (~juan@user/Lycurgus)
05:36:39 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
05:37:05 × ubert quits (~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
05:37:12 ub joins (~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
05:37:46 freeside joins (~mengwong@103.252.202.189)
05:39:20 hugo joins (znc@verdigris.lysator.liu.se)
05:39:30 ub is now known as ubert
05:43:08 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
05:50:05 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
05:50:17 freeside joins (~mengwong@103.252.202.189)
05:51:05 nick__ joins (~nick@98.186.194.67)
05:53:31 × nick___ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
05:54:26 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 250 seconds)
06:03:22 freeside joins (~mengwong@103.252.202.189)
06:10:20 xameer joins (~xameer@144.48.224.57)
06:10:23 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
06:10:37 × xameer quits (~xameer@144.48.224.57) (Client Quit)
06:17:59 gmg joins (~user@user/gehmehgeh)
06:22:47 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
06:23:45 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
06:25:57 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:27:10 freeside joins (~mengwong@103.252.202.189)
06:32:02 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 268 seconds)
06:37:59 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
06:41:09 × kriity quits (~kriity@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Client closed)
06:44:15 CiaoSen joins (~Jura@145.224.73.17)
06:49:59 × jero98772 quits (~jero98772@190.158.28.80) (Ping timeout: 240 seconds)
06:50:39 × nick__ quits (~nick@98.186.194.67) (Read error: Connection reset by peer)
06:51:16 nick__ joins (~nick@98.186.194.67)
06:52:56 freeside joins (~mengwong@103.252.202.189)
06:57:08 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
07:03:32 zaquest joins (~notzaques@5.130.79.72)
07:04:03 jero98772 joins (~jero98772@2800:484:1d7f:5d36::1)
07:19:54 × edmundnoble quits (sid229620@helmsley.irccloud.com) (Ping timeout: 265 seconds)
07:22:12 oo_miguel joins (~Thunderbi@77.252.47.84)
07:22:12 edmundnoble joins (sid229620@id-229620.helmsley.irccloud.com)
07:23:40 gurkenglas joins (~user@dynamic-046-114-179-235.46.114.pool.telefonica.de)
07:26:11 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
07:29:36 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:32:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
07:33:14 ec joins (~ec@gateway/tor-sasl/ec)
07:36:08 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
07:37:48 acidjnk joins (~acidjnk@p200300d6e7072f94f4c7cbffa0780c8e.dip0.t-ipconnect.de)
07:41:54 use-value1 joins (~Thunderbi@2a00:23c6:8a03:2f01:e065:ca7f:f336:c3ee)
07:44:04 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:ddaa:9bff:1a38:a342) (Ping timeout: 265 seconds)
07:44:04 use-value1 is now known as use-value
07:44:33 bigLama joins (~alex@2001:861:4f80:4a50:e792:bb46:1a0c:b1d2)
07:45:11 <bigLama> Hi guys, are there people using the Diagrams library for making figures in scientific papers ?
07:45:38 <bigLama> I wanted to try to use Haskell but Tikz has a larger community, better documentation for that
07:46:02 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
07:46:17 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
07:48:06 <Hecate> I don't write scientific papers but in any case you will want to try out both
07:49:46 <tomsmeding> probie: generating the long kinds is easy, kinds are types so you can use a type family lol
07:49:55 <tomsmeding> it's the chain of foralls
07:51:30 <bigLama> Hecate: I've contribute to some figures in the Diagrams gallery back then, but it looks like graph generation is a weak point of Diagrams
07:51:51 nick___ joins (~nick@98.186.194.67)
07:52:19 <bigLama> I've been playing with diagrams-graphviz yesterday but haven't been satisfied (node labels are not printed out in my tests)
07:53:25 × nick__ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
07:55:30 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
07:57:05 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 240 seconds)
07:58:16 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e958:834b:4d15:c9fd) (Remote host closed the connection)
07:59:41 freeside joins (~mengwong@103.252.202.189)
08:00:28 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 240 seconds)
08:02:32 <tomsmeding> probie: seems ghc doesn't like gadt pattern matches in a type family :p
08:02:37 <tomsmeding> so don't think that's going to work
08:04:01 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
08:05:37 tomboy64 joins (~tomboy64@user/tomboy64)
08:05:50 chomwitt joins (~chomwitt@2a02:587:7a16:6700:1ac0:4dff:fedb:a3f1)
08:08:57 × CiaoSen quits (~Jura@145.224.73.17) (Ping timeout: 256 seconds)
08:13:41 jero98772 joins (~jero98772@2800:484:1d7f:5d36::1)
08:20:28 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
08:22:28 × vandita quits (~vandit@87-97-2-208.pool.digikabel.hu) (Ping timeout: 240 seconds)
08:24:26 vandita joins (~vandit@92-249-194-88.pool.digikabel.hu)
08:24:59 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:25:20 gmg joins (~user@user/gehmehgeh)
08:33:05 × talismanick quits (~user@76.133.152.122) (Ping timeout: 246 seconds)
08:41:39 freeside joins (~mengwong@103.252.202.189)
08:43:18 × slack1256 quits (~slack1256@181.43.60.199) (Remote host closed the connection)
08:45:35 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
08:48:18 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:49:12 eugenrh joins (~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8)
08:52:12 nick__ joins (~nick@98.186.194.67)
08:53:59 × nick___ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
08:54:29 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
08:54:31 DoxYourselfNow joins (~DoxYourse@030-171-099-087.dynamic.caiway.nl)
08:55:31 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
08:57:21 Lord_of_Life_ is now known as Lord_of_Life
08:58:34 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6539:794e:79f5:ac83)
09:00:00 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:00:48 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
09:02:50 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6539:794e:79f5:ac83) (Ping timeout: 246 seconds)
09:04:02 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
09:38:34 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
09:53:20 nick___ joins (~nick@98.186.194.67)
09:55:11 × nick__ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
10:43:02 freeside joins (~mengwong@103.252.202.189)
10:45:55 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
10:47:28 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 248 seconds)
10:50:02 kritzefitz joins (~kritzefit@debian/kritzefitz)
10:53:19 nick__ joins (~nick@98.186.194.67)
10:55:25 × nick___ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
10:55:35 Pickchea joins (~private@user/pickchea)
10:56:12 _d0t parts (~{-d0t-}@user/-d0t-/x-7915216) (Konversation terminated!)
11:06:58 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
11:15:05 × gurkenglas quits (~user@dynamic-046-114-179-235.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
11:15:23 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
11:16:50 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
11:17:58 machinedgod joins (~machinedg@93-138-72-188.adsl.net.t-com.hr)
11:27:18 gurkenglas joins (~user@dynamic-046-114-179-235.46.114.pool.telefonica.de)
11:35:55 × kluk quits (~arrowhead@cpe-74-66-76-151.nyc.res.rr.com) (Remote host closed the connection)
11:43:06 freeside joins (~mengwong@103.252.202.189)
11:44:59 accord joins (uid568320@id-568320.hampstead.irccloud.com)
11:47:36 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 250 seconds)
11:48:53 __monty__ joins (~toonn@user/toonn)
11:53:35 nick___ joins (~nick@98.186.194.67)
11:55:35 × nick__ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
11:56:04 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
11:56:09 kritzefitz joins (~kritzefit@debian/kritzefitz)
12:04:39 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
12:09:01 <jade[m]> when I have lenses for two records where one contains a value of the other, how do I modify a value of the nested one?
12:10:34 <Axman6> can you give a more concrete example?
12:10:56 <Axman6> that just sounds like composing two lenses to me, so i'm probably not understanding the question
12:11:08 <Axman6> :t over
12:11:09 <lambdabot> ASetter s t a b -> (a -> b) -> s -> t
12:11:41 <Axman6> "over (foo . bar) f" feels like what're after?
12:12:24 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
12:12:31 <Axman6> a.k.a myData & foo . bar %~ f
12:15:39 <jade[m]> yeah that's what I tried but I think previously for this case I needed a zoom first
12:15:54 <jade[m]> I suppose I don't know the difference between zoom and view
12:16:22 <jade[m]> I really don't know what I'm doing
12:17:22 <Axman6> I've never used zoom
12:17:33 <Axman6> I would be surprised if you need it
12:17:59 <jade[m]> brick seems to require it for this
12:18:17 <jade[m]> `appEvent :: BrickEvent Name () -> EventM Name ApplicationState ()` this is the signature of the function I'm writing
12:18:26 <jade[m]> and I want to modify the ApplicationState
12:18:46 <Axman6> that feels like you want the stateful functions then
12:18:48 <jade[m]> which I'm super confused by in the first place because it's not passed in?!
12:18:54 <jade[m]> but it somehow worked with zoom
12:19:01 <Axman6> trhey usually have a = instead of a ~
12:19:13 <maralorn> What’s the best way to convert "Decimal -> Scientific"? (knowing that I just rounded the decimal to 2 digits behind the dot.)
12:19:22 <geekosaur> sure it's passed in, invisibly. state monad style
12:19:36 <Axman6> is there an inst5ance for MonadState s (EventM name s)?
12:19:47 <jade[m]> I think so, yes
12:19:58 <Axman6> if so, yopu can use do ...; foo . bar %= f; ...
12:20:33 <Axman6> maralorn: does fromRational work? where does Decimal come from?
12:21:04 × perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.8)
12:21:37 <jade[m]> oh wait, fuck
12:21:38 <maralorn> Axman6: Yes, I currently use "fromRational . toRational". Just not sure if thats nice.
12:21:44 <jade[m]> I had my composition the wrong way
12:22:00 enoq joins (~enoq@194-208-133-121.lampert.tv)
12:22:21 <jade[m]> because I read foo . bar as foo after bar, but here you need the inner lens first (?)
12:22:22 <Axman6> that'll do it :)
12:22:29 <Axman6> yes
12:22:48 <Axman6> Think of lens as oo style field access
12:24:11 <jade[m]> mhm that makes sense
12:24:23 <Axman6> it's worth learning how lens is actually implemented, the "backwards" composition actually makes sense when you realise it's functions of the form (a -> f b) -> (s -> f t)
12:24:27 <jade[m]> I think this is a good sign for my fp thinking though :P
12:25:27 Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::aaf)
12:25:58 <jade[m]> lenses are starting to make sense and ... actually feel pretty fucking useful
12:26:04 <ncf> note that, if you wanted to *get* the foo.bar out of an object, with usual field accessors you'd write bar . foo, but if you wanted to *modify* the foo.bar of an object you're write something like modifyFoo . modifyBar
12:26:12 <jade[m]> ok
12:26:20 <ncf> (.) on van Laarhoven lenses is kind of magic in that it *combines* both directions
12:26:49 <jade[m]> I should read some of the background of this
12:26:58 <jade[m]> I think the general idea is called 'optics' right?
12:27:14 <ncf> yes
12:27:20 <Axman6> I hope there's some3 good videos out there somewhere, I'm sure Ed's done a few talks on lenses
12:28:42 <ncf> i think the original article is https://www.twanvl.nl/blog/haskell/cps-functional-references , but https://kseo.github.io/posts/2016-12-10-encodings-of-lense.html might be more readable
12:29:03 freeside joins (~mengwong@103.252.202.189)
12:29:26 <jade[m]> thank you very much
12:33:27 wootehfoot joins (~wootehfoo@user/wootehfoot)
12:34:14 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
12:34:33 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 265 seconds)
12:34:45 × machinedgod quits (~machinedg@93-138-72-188.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
12:36:13 × Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::aaf) (Quit: Where is it)
12:39:28 × acidjnk quits (~acidjnk@p200300d6e7072f94f4c7cbffa0780c8e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
12:46:15 pavonia joins (~user@user/siracusa)
12:48:36 × monoidal quits (~monoidal@2001:861:3f42:1b60:93b1:31be:ae42:8ec9) (Quit: Client closed)
12:49:06 monoidal joins (~monoidal@2001:861:3f42:1b60:b032:576b:1cee:47f4)
12:54:18 nick__ joins (~nick@98.186.194.67)
12:56:56 × nick___ quits (~nick@98.186.194.67) (Ping timeout: 250 seconds)
13:03:48 × gurkenglas quits (~user@dynamic-046-114-179-235.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
13:04:39 freeside joins (~mengwong@103.252.202.189)
13:06:03 gurkenglas joins (~user@dynamic-046-114-177-130.46.114.pool.telefonica.de)
13:09:08 × bigLama quits (~alex@2001:861:4f80:4a50:e792:bb46:1a0c:b1d2) (Remote host closed the connection)
13:09:10 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 268 seconds)
13:14:18 titibandit joins (~titibandi@user/titibandit)
13:24:35 freeside joins (~mengwong@103.252.202.189)
13:29:04 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 248 seconds)
13:31:57 × gurkenglas quits (~user@dynamic-046-114-177-130.46.114.pool.telefonica.de) (Ping timeout: 256 seconds)
13:35:07 xameer joins (~xameer@144.48.224.57)
13:38:11 × xameer quits (~xameer@144.48.224.57) (Client Quit)
13:39:31 × eugenrh quits (~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8) (Ping timeout: 240 seconds)
13:41:18 eugenrh joins (~eugenrh@2a02:2f08:4b00:6a00:ab5b:20eb:9a4c:afc)
13:45:28 lewisje joins (~lewisje@74.215.20.3)
13:46:28 × eugenrh quits (~eugenrh@2a02:2f08:4b00:6a00:ab5b:20eb:9a4c:afc) (Ping timeout: 240 seconds)
13:48:30 eugenrh joins (~eugenrh@2a02:2f08:4d13:f600:b5b6:b254:6944:c58b)
13:53:25 freeside joins (~mengwong@103.252.202.189)
13:54:41 nick___ joins (~nick@98.186.194.67)
13:56:23 × nick__ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
13:56:26 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
13:56:55 gemmaro joins (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc)
13:58:01 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
14:01:46 perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
14:05:29 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6c9c:9af5:8708:5fc6)
14:07:41 shapr joins (~user@2600:1700:c640:3100:6ac8:cf17:6356:ff5f)
14:08:51 gurkenglas joins (~user@dynamic-046-114-177-130.46.114.pool.telefonica.de)
14:09:55 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6c9c:9af5:8708:5fc6) (Ping timeout: 256 seconds)
14:10:45 × nick___ quits (~nick@98.186.194.67) (Ping timeout: 240 seconds)
14:14:55 × Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
14:15:28 freeside joins (~mengwong@103.252.202.189)
14:20:45 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
14:25:33 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
14:33:11 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
14:39:39 shriekingnoise joins (~shrieking@186.137.175.87)
14:51:36 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
14:59:13 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:59:43 × gemmaro quits (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Remote host closed the connection)
15:01:49 <jade[m]> <ncf> "i think the original article..." <- amazing, thank you
15:04:32 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 248 seconds)
15:06:26 stef204 joins (~stef204@user/stef204)
15:08:17 Pickchea joins (~private@user/pickchea)
15:18:20 <ManofLetters[m]> hi! what am I missing; why doesn't this work?
15:18:20 <ManofLetters[m]> ```hs
15:18:20 <ManofLetters[m]> ~/r/horde-ad$ ghci-9.6.1
15:18:20 <ManofLetters[m]> ...(truncated)
15:19:01 <geekosaur> the bridge ate that. can you use a pastebin?
15:19:04 <geekosaur> @where paste
15:19:04 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
15:19:12 <ManofLetters[m]> sorry
15:19:32 <geekosaur> apparently it no longer pastebins, it just outputs the first line or so and truncates
15:19:35 <ManofLetters[m]> https://paste.tomsmeding.com/okqxry2D
15:19:38 <geekosaur> (boo hiss)
15:19:43 <ManofLetters[m]> :)
15:21:07 <geekosaur> `*` doesn't match `* -> *`
15:22:12 <geekosaur> that is, `k -> *` won't match `* -> * -> *`
15:22:26 <ManofLetters[m]> I'd expect `:k Compose Either` to be `(* -> (* -> *)) -> * -> *`
15:22:26 <maralorn> Man of Letters: Either isn’t a functor. `Either a` is a functor forall a
15:22:54 <geekosaur> it associates rightward, so k can't match against * -> *
15:23:05 <geekosaur> and * is not a wildcaard, it means Type
15:23:17 <geekosaur> and Type -> Type doesn't match Type
15:23:30 <ManofLetters[m]> oh, dear, so which of this zoo of type operators do I need to wrap it in? https://hackage.haskell.org/package/bifunctors-5.6.1/docs/Data-Bifunctor-Wrapped.html
15:23:32 × enoq quits (~enoq@194-208-133-121.lampert.tv) (Quit: enoq)
15:24:08 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
15:25:10 <geekosaur> I haven't leveled up that far yet 😕
15:25:31 <ManofLetters[m]> or all is lost, because Either is not a bifunctor either?
15:25:34 <ManofLetters[m]> heh, thanks
15:26:05 <monoidal> Either is a bifunctor
15:28:45 <monoidal> perhaps you're looking for https://hackage.haskell.org/package/bifunctors-5.6.1/docs/Data-Bifunctor-Sum.html
15:32:05 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
15:33:00 <ManofLetters[m]> ok, thanks; what I really need to is composing two type operators `F1 : * -> *` and `F2: * -> Nat -> *` so that I get `Compose F1 F2 :: * -> Nat -> *` and my idea to do this was `Compose (Compose F1) F2`
15:33:17 <ManofLetters[m]> F1 is a datatype, F2 is a type variable (class parameter)
15:33:49 <ManofLetters[m]> blurg; let me edit:
15:34:11 <ManofLetters[m]> * ok, thanks; what I really need to is composing two type operators `F1 : * -> *` and `F2: * -> Nat -> *` so that I get a result of kind `* -> Nat -> *` and my idea to do this was `Compose (Compose F1) F2`
15:36:12 <ManofLetters[m]> and I guess in simply typed lambda calculus it would work (actually I have to check); I knew there are restrictions to partial application (of type families at least) and non-top-level abstraction, but I didn't know we are otherwise so far from simply typed lambda calculus on the level of types
15:38:04 <monoidal> IIUIC you'd like https://hackage.haskell.org/package/bifunctors-5.6.1/docs/Data-Bifunctor-Tannen.html
15:38:32 <ManofLetters[m]> yes, I think it works fine on value level: `f a b = (.) ((.) a) b :: (b -> c) -> (a1 -> a2 -> b) -> a1 -> a2 -> c`
15:38:47 <ManofLetters[m]> ok, ta; will have a look later on; cheers!
15:40:31 × Alex_test quits (~al_test@178.34.163.104) (Ping timeout: 240 seconds)
15:41:35 × AlexZenon quits (~alzenon@178.34.163.104) (Ping timeout: 240 seconds)
15:46:44 Alex_test joins (~al_test@178.34.163.104)
15:46:48 AlexZenon joins (~alzenon@178.34.163.104)
15:53:59 × AlexZenon quits (~alzenon@178.34.163.104) (Ping timeout: 240 seconds)
15:54:22 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
15:54:23 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
15:54:23 wroathe joins (~wroathe@user/wroathe)
15:54:59 scrungus joins (~scrungus@bras-base-aurron9127w-grc-63-70-24-87-21.dsl.bell.ca)
15:55:55 AlexZenon joins (~alzenon@178.34.163.104)
16:03:25 Katarushisu joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
16:03:27 myxokeph_ joins (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com)
16:05:16 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
16:09:09 myxokeph_ is now known as myxwell
16:09:36 × myxwell quits (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Quit: myxwell)
16:09:49 myxokeph_ joins (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com)
16:11:09 myxokeph_ is now known as myxwell
16:12:19 myxwell is now known as myxos
16:15:19 × myxos quits (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection)
16:15:32 myxokeph_ joins (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com)
16:15:42 myxokeph_ is now known as myxos
16:17:18 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
16:17:26 econo joins (uid147250@user/econo)
16:17:53 × mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds)
16:18:33 × ddellacosta quits (~ddellacos@146.70.185.10) (Ping timeout: 256 seconds)
16:19:07 × myxos quits (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Client Quit)
16:19:22 myxokeph_ joins (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com)
16:19:25 myxokeph_ is now known as myxokephale
16:20:04 myxokephale is now known as myxos
16:21:08 × myxos quits (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Client Quit)
16:21:22 myxokeph_ joins (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com)
16:21:33 myxokeph_ is now known as myxos
16:22:33 myxos is now known as myxokephale
16:22:54 myxokephale is now known as myxos
16:22:59 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 264 seconds)
16:30:27 mechap joins (~mechap@user/mechap)
16:33:11 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
16:33:48 ec joins (~ec@gateway/tor-sasl/ec)
16:34:14 __monty__ joins (~toonn@user/toonn)
16:37:14 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
16:37:24 phma_ joins (~phma@host-67-44-208-181.hnremote.net)
16:37:25 biberu\ joins (~biberu@user/biberu)
16:37:30 juri__ joins (~juri@79.140.121.73)
16:37:49 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
16:37:57 chexum joins (~quassel@gateway/tor-sasl/chexum)
16:38:04 jinsun joins (~jinsun@user/jinsun)
16:40:01 × phma quits (phma@2001:5b0:2172:dd28:fe45:160f:de72:96fc) (Ping timeout: 240 seconds)
16:40:29 × juri_ quits (~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 256 seconds)
16:40:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 256 seconds)
16:40:30 biberu\ is now known as biberu
16:40:38 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6c9c:9af5:8708:5fc6)
16:41:05 × juri__ quits (~juri@79.140.121.73) (Read error: Connection reset by peer)
16:41:44 × pharonix71 quits (~pharonix7@user/pharonix71) (Ping timeout: 240 seconds)
16:42:30 juri_ joins (~juri@79.140.121.73)
16:43:04 <tomsmeding> ManofLetters[m]: it doesn't have anything to do with limits to partial application
16:43:04 × juri_ quits (~juri@79.140.121.73) (Read error: Connection reset by peer)
16:43:17 <tomsmeding> % :k Data.Functor.Compose.Compose
16:43:17 <yahb2> Data.Functor.Compose.Compose :: forall {k} {k1}. ; (k -> *) -> (k1 -> k) -> k1 -> *
16:43:25 <tomsmeding> first argument is of kind 'k -> *'
16:43:30 <tomsmeding> % :k Either
16:43:30 <yahb2> Either :: * -> * -> *
16:43:41 <tomsmeding> * -> * -> * == * -> (* -> *)
16:43:46 <tomsmeding> (* -> *) doesn't unify with *
16:43:54 pharonix71 joins (~pharonix7@user/pharonix71)
16:44:10 <tomsmeding> you'd want a Compose' with kind (k -> r) -> (k1 -> k) -> k1 -> r
16:44:24 <tomsmeding> but this is not a data type because a data type lives in * :p
16:44:30 <tomsmeding> hence the problem
16:45:25 freeside_ joins (~mengwong@103.252.202.189)
16:46:02 tomsmeding saw another person unrelatedly asking about type families polymorphic in the number of type arguments this morning https://ircbrowse.tomsmeding.com/day/lchaskell/2023/05/28?id=971947#trid971947
16:46:10 <tomsmeding> unexpectedly related
16:47:30 juri_ joins (~juri@84-19-175-187.pool.ovpn.com)
16:49:28 × freeside_ quits (~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
16:50:28 × stef204 quits (~stef204@user/stef204) (Ping timeout: 240 seconds)
16:54:58 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
16:56:07 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
17:03:24 zmt00 joins (~zmt00@user/zmt00)
17:03:25 stef204 joins (~stef204@user/stef204)
17:03:31 × vandita quits (~vandit@92-249-194-88.pool.digikabel.hu) (Ping timeout: 240 seconds)
17:05:26 vandita joins (~vandit@84-236-10-38.pool.digikabel.hu)
17:06:21 <ManofLetters[m]> doh, tomsmeding, thank you, so the contrived Either example was just my silly mistake; actually geekosaurpointed to it as well
17:08:48 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
17:09:08 <ManofLetters[m]> oh, but the real error I'm getting is caused by the same thing, the * in Compose
17:27:23 hugo joins (znc@verdigris.lysator.liu.se)
17:28:47 <ManofLetters[m]> but try as I may I'm not able to make this work:
17:28:49 <ManofLetters[m]> type Compose' :: (k -> r) -> (l -> k) -> l -> r
17:28:49 <ManofLetters[m]> data Compose' f g a = Compose' (f (g a))
17:29:20 <ManofLetters[m]> nor with a newtype
17:29:46 <ManofLetters[m]> before I start accusing Haskell of being inferior to even simply typed lambda calculus, let me wait for a sage hacker to have a look...
17:29:47 <c_wraith> well. no. you can't have constructors if the end result isn't Type
17:30:09 <ManofLetters[m]> ;(
17:31:11 <monochrom> <come-join-the-dark-side>May I interest you in a really dependent type system such as the Lean prover? >:) </come-join-the-dark-side>
17:31:46 monochrom recently begun writing printf in that. >:D
17:33:05 <ManofLetters[m]> no, but in fact I'd just like to write a working program, nothing more, it's just that a friend proposed an innocent little refactoring to my code and that's how I found myself in this pickle
17:35:39 <c_wraith> Well, it's just the way GHC uses the kind system. All values have a type with kind Type.
17:36:11 <c_wraith> You can imagine other systems, but GHC went the simple direction there.
17:36:41 <ManofLetters[m]> yes, I'm not complaining (this time), I'm grateful for what I have; let me inline the two Composes instead...
17:37:11 <monoidal> data family Comp :: (k -> r) -> (l -> k) -> l -> r
17:37:12 <monoidal> data instance Comp f g x = Comp (f (g x))
17:37:33 <monoidal> you can add more instances, like data instance Comp f g x y = Comp2 (f (g x) y)
17:37:40 <monoidal> it's still a hack
17:38:18 × chomwitt quits (~chomwitt@2a02:587:7a16:6700:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
17:39:26 <ManofLetters[m]> phew, this one works:
17:39:26 <ManofLetters[m]> type Compose2 :: (r -> Type) -> (r -> n -> r) -> r -> n -> Type
17:39:26 <ManofLetters[m]> newtype Compose2 f g r n = Compose2 {getCompose2 :: f (g r n)}
17:39:58 <ManofLetters[m]> it's the same as Compose (Compose f) g, but inlined
17:40:24 <ManofLetters[m]> monoidal: on, interesting
17:40:27 <ManofLetters[m]> *oh
17:41:12 <ManofLetters[m]> (actually Compose2 is a bit less general than the original expression, but it's exactly what I needed)
17:43:43 xameer joins (~xameer@144.48.224.57)
17:43:49 <ManofLetters[m]> monoidal: and even partial application works, unlike for type synonym families; I wonder if I could use Comp inside quantified constraints, too
17:44:35 <monoidal> your Compose2 is here https://hackage.haskell.org/package/bifunctors-5.5.5/docs/Data-Bifunctor-Tannen.html
17:44:51 <ManofLetters[m]> no way :D
17:46:55 <ManofLetters[m]> this is what you proposed a page ago but I haven't looked yet; you are right, it's the same, but without the explicit kind signature, because it's apparently not needed
17:47:20 × xameer quits (~xameer@144.48.224.57) (Client Quit)
17:47:22 ManofLetters[m] feels silly again
17:48:50 <ManofLetters[m]> yes, it works, thanks a lot everybody; it was all already there, in the most basic libraries :)
17:48:54 <monoidal> I suspect there's no kind signature because the code predates that. With level of polymorphism, I'd prefer to write it
17:49:09 <ManofLetters[m]> yeah, it helps; anyway, Haskell rocks
17:52:42 ddellacosta joins (~ddellacos@146.70.171.100)
17:58:23 × ddellacosta quits (~ddellacos@146.70.171.100) (Ping timeout: 268 seconds)
18:02:25 phma_ is now known as phma
18:09:21 ddellacosta joins (~ddellacos@146.70.165.170)
18:11:58 freeside_ joins (~mengwong@103.252.202.189)
18:13:43 × eugenrh quits (~eugenrh@2a02:2f08:4d13:f600:b5b6:b254:6944:c58b) (Quit: WeeChat 3.8)
18:16:18 × freeside_ quits (~mengwong@103.252.202.189) (Ping timeout: 250 seconds)
18:18:40 × ddellacosta quits (~ddellacos@146.70.165.170) (Ping timeout: 248 seconds)
18:21:35 ddellacosta joins (~ddellacos@143.244.47.87)
18:24:36 × accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
18:28:25 × ddellacosta quits (~ddellacos@143.244.47.87) (Ping timeout: 240 seconds)
18:29:51 ddellacosta joins (~ddellacos@143.244.47.87)
18:38:11 eugenrh joins (~eugenrh@2a01:4f9:c011:265::1)
18:42:58 Sgeo joins (~Sgeo@user/sgeo)
18:53:07 machinedgod joins (~machinedg@93-138-72-188.adsl.net.t-com.hr)
18:54:25 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
18:54:25 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
18:54:25 wroathe joins (~wroathe@user/wroathe)
18:56:05 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
18:57:15 cheater_ joins (~Username@user/cheater)
18:59:08 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
18:59:10 cheater_ is now known as cheater
19:02:13 cheater_ joins (~Username@user/cheater)
19:04:36 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
19:06:09 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
19:07:01 × cheater_ quits (~Username@user/cheater) (Ping timeout: 265 seconds)
19:09:42 michalz joins (~michalz@185.246.204.75)
19:16:31 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 240 seconds)
19:20:04 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:e065:ca7f:f336:c3ee) (Remote host closed the connection)
19:20:23 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:e065:ca7f:f336:c3ee)
19:24:54 × machinedgod quits (~machinedg@93-138-72-188.adsl.net.t-com.hr) (Ping timeout: 265 seconds)
19:30:08 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
19:32:19 Guest13 joins (~Guest13@250.79-105-213.static.virginmediabusiness.co.uk)
19:32:31 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
19:32:37 × trev quits (~trev@user/trev) (Quit: trev)
19:32:41 <Guest13> idk monad transformers can i ask a question?
19:33:08 <Guest13> how would i put a random number field into memory and use monads to encapsulate it?
19:33:23 <Guest13> im worried the rng will be called each time it is used, and reporduce the same random sequence
19:33:58 <Guest13> iiuc i can put it in a monad, and everything that opperates in that monad will have access to the already computed random numbers
19:34:25 <Guest13> im not sure how that works
19:35:30 <jade[m]> you're confusing a few concepts here I believe
19:36:04 <jade[m]> it sounds like what you want it a random number generator sourced from the real world
19:36:35 <jade[m]> which means you need a function that does that and will therefore run in the io monad
19:36:40 <Guest13> no
19:36:45 <Guest13> i meant exactly what i said
19:37:01 <Guest13> except maybe the bit about transformers, which is what im unsure of
19:37:17 <Guest13> the rng is not IO
19:37:25 <Guest13> it runs from an Int seed
19:37:34 <Guest13> but this is held fixed
19:37:42 <Guest13> so there is no point recomputing the sequence
19:37:48 <jade[m]> yes, then this will be the same sequence of numbers for every run
19:38:04 <Guest13> (its just being used as random support, you want the support set held constant)
19:38:15 <geekosaur> are they asking that, or if the sequence will be iterated?
19:38:29 <Guest13> just that it not be reevaluated
19:38:43 <jade[m]> it won't be if it's from a pure seed
19:38:52 <jade[m]> just like haskell works in general
19:39:01 <Guest13> exactly, so not IO, the monad is just to store the computed sequence in
19:39:14 <jade[m]> why do you need a monad?
19:39:23 <Guest13> i could compute it, and pass it in as arguments instead, there is no strict requirement
19:39:31 <Guest13> but i dont actually know how to do the monadic version
19:39:44 <jade[m]> why do you want a monad
19:39:48 <Guest13> i think its more of a paradigm thing
19:40:04 <Guest13> instead of having to handle the extra argument everywhere, that you would just work in that monad
19:40:29 <jade[m]> it sounds like you want a state monad?
19:40:38 <jade[m]> but im having difficulties following
19:40:41 <Guest13> it might save the possibility to supply the wrong argument for example
19:40:47 <geekosaur> it sounds a lot like MonadRandom which is basically State
19:40:58 <Guest13> hmm, sounds promising
19:41:24 <Guest13> but isnt that a way of handling the seed itself as the state?
19:41:43 <Guest13> to save having to store the new seed returned with the random number
19:41:50 <geekosaur> yes
19:42:17 <geekosaur> but if you have a precomputed sequence, nothing stops the "seed" from being a list or Seq made from that sequence
19:42:18 <Guest13> this would simply unfold a sequence, so the sequence of seeds is already hidden
19:42:33 <Guest13> i could even supply it with [1..]
19:42:48 <Guest13> not that this would be a good random support!
19:42:51 <geekosaur> or you could do that with State directly
19:42:52 Pickchea joins (~private@user/pickchea)
19:43:03 <Guest13> im not sure how you mean
19:43:33 <Guest13> i mean, System.Random already gives "randoms"
19:44:46 <Guest13> the seed im using is just (mkStdGen 0)
19:46:29 <jade[m]> that's what I meant with a pure generation
19:46:36 <Guest13> the problem is the number of randoms it produces is verry large, i really want to preclude the possibility its recomputed
19:46:41 <jade[m]> what is your question right now?
19:46:48 <Guest13> jade[m], as opposed to eg. randomRIO
19:47:11 <Guest13> jade[m]: how would i put a random number field into memory and use monads to encapsulate it?
19:47:27 <jade[m]> I don't understand the question
19:47:37 <jade[m]> Guest13: yes
19:47:50 <Guest13> maybe you could ask a clarifying question, or someone that understands could answer
19:48:13 <monochrom> Where can I find the mathematical definition for "random number field"?
19:48:19 <Guest13> oh, sorry
19:48:26 <Guest13> i just mean the list of precomputed random values
19:48:55 <Guest13> its not a "field", apologies
19:48:57 <jade[m]> Guest13: what does "put into memory" mean in the context of haskell and why do you *need* monads
19:49:24 <monochrom> How important is "precomputed"? As compared to "on-demand compute and save".
19:49:37 <Guest13> the idea of using monads was to save the use of function arguments that could allow the user to supply incorrect values
19:49:51 <monochrom> Or equivalently, is randomRs sufficient? If not, why?
19:50:20 <Guest13> monochrom: the first evaluation, if i was going to pass it in as arguments everywhere, i would use a bang pattern to ensure it was calculated ahead of all further computation
19:50:21 <monochrom> monad is going to be orthogonal to this.
19:50:31 × stef204 quits (~stef204@user/stef204) (Ping timeout: 240 seconds)
19:50:43 <Guest13> randomRs is used. to generate the sequence, this is not the issue.
19:50:53 <monochrom> At most, a suitable monad makes the code look nicer. But you can't make the semantics nicer or uglier.
19:50:53 <jade[m]> Guest13: that's not what monads are used for, it sounds like you just want booleab guards
19:51:15 <jade[m]> s/booleab/boolean
19:51:20 <jade[m]> booleab sounds funny
19:51:36 <monochrom> OK so just add bangs at the right place. Problem solved.
19:51:55 <Guest13> precomputing the sequence was also not the problem
19:52:11 <Guest13> its preventing the user from supplying a different sequence by mistake
19:52:23 <jade[m]> I dont see where the issue is
19:52:24 <Guest13> you work in this one monad, and never see the argument
19:52:48 <Guest13> if the user could supply a different sequence, the support would be wrong
19:53:01 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 240 seconds)
19:53:09 <monochrom> OK, if you give your user some "foo :: Int", the user cannot pretend it's "foo :: String -> Int" and give it the wrong string.
19:53:23 <Guest13> and it could potentially also open up the opportunity that the correct sequence could be recomputed needlessly
19:53:39 <monochrom> So if you define "foo = bar "abc"" then you ensure that the correct string, "abc", is given.
19:54:19 <monochrom> If you don't give your user a function, they can't pass the wrong parameter.
19:54:24 <jade[m]> Guest13: why would that happen?
19:54:47 <Guest13> idk, maybe the user is being awkward...
19:54:54 <monochrom> But I suppose you could convert "foo :: Int" to "foo :: Identity Int" to rationalize bringing up monads.
19:55:16 <jade[m]> Guest13: I can confirm I am indeed an awkward user
19:55:24 <Guest13> im used to state monads being used to store values
19:55:41 <Guest13> jade[m]: kind of paradoxical...
19:55:47 <Guest13> :-D
19:56:28 <Guest13> though maybe not State, since this would create the possible mutability
19:56:42 <Guest13> thats better for changing stored values, like the seed
19:56:52 <monochrom> OK enjoy the monlogue.
19:57:02 <Guest13> im answering your question
19:57:20 <Guest13> i dont know why you suggested Identity
19:57:28 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
19:57:41 <geekosaur> because there seems to be no reason for a monad there
19:57:44 <jade[m]> I still don't know why you want to use a monad this badly
19:57:47 <geekosaur> so only Identity makes any sense
19:58:06 <monochrom> This is like Saul Kripke when he was a teenager all over again.
19:58:11 <Guest13> the user is to draw the encapsulated value, from the encapsulating monad
19:58:44 <jade[m]> but if you never encapsulate the value there is no way to decapsulate (is that a word?) it
19:58:44 <monochrom> He went into ##logic and was like "How do I use the idea of multiverses to give semantics to modal logics and intuitionistic logics?"
19:58:55 <jade[m]> s/way/need
19:59:11 <monochrom> The regulars of ##logic were like "why multiverses? We already have Heyting algebras for intuitionistic logics..."
19:59:23 <Guest13> the idea was to store the value at the start of the program
19:59:24 <monochrom> He was like "But I insist to use multiverses".
19:59:32 <Guest13> kind of like a global magic number
19:59:36 <monochrom> Except in his case he was right. >:D
19:59:48 <Guest13> but since its a computed value, i want to ensure its not recomputed each time its called
20:00:05 <jade[m]> it's not if you pass it around
20:00:25 <Guest13> which opens up the possibility for erroneous use
20:00:31 <monochrom> And so he got hired as a prof at 22 or something
20:00:45 <monochrom> And he didn't need a PhD for that!
20:00:45 <Guest13> "work in this monad, and you will not have the possibility to use the wrong random support"
20:00:59 <Guest13> probably why he never got one
20:01:52 <Guest13> im not sure of any other way to guard the user against supplying an incorrect argument
20:01:55 <ncf> Guest13: are you looking for Reader?
20:02:03 <ncf> (i only skimmed the discussion)
20:02:03 <Guest13> possibly?
20:02:12 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
20:02:25 <Guest13> i never learned monad transformers properly, which is why i asked here
20:02:39 <ncf> well, now you have something to learn about
20:03:02 <Guest13> how would i use the Reader monad to encapsulate a constant value?
20:03:18 <mauke> how wouldn't you?
20:03:27 <Guest13> oh right thats basically all it does!
20:03:56 <mauke> alternatively: 'ask' nicely :-)
20:03:57 <ncf> (for some value of "constant")
20:03:59 <Guest13> idk, should i put together a code example
20:04:02 stef204 joins (~stef204@user/stef204)
20:04:06 <ncf> that would help
20:04:23 <Guest13> ok, im going to have to get snacks, ill return presently
20:11:33 <Guest13> hmm, im encountering a second issue...
20:11:46 <Guest13> the support length is supposed to be able to vary
20:12:11 <Guest13> and in this case it would require recomputation (if it was extended, providing more random numbers)
20:12:31 <Guest13> i cant use a bang pattern on an infinite sequence that is to be lazily evaluated, right?
20:12:35 <monochrom> Hence randomRs as a lazy infinite list.
20:13:00 <monochrom> ! on a lazy list just forces the 1st list node.
20:13:03 <Guest13> i just want to make sure it only calculates more values when it needs to, and does not do recomputation in other cases
20:13:08 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 240 seconds)
20:13:19 <monochrom> It doesn't even force the number in that node. You need another ! for that.
20:13:36 <jade[m]> why do you think it will recompute anything?
20:13:44 <Guest13> monochrom: wait, does that imply its going to do basically what i need right out the box, that would be amazing!
20:14:03 <Guest13> jade[m]: well it seems to in my current implementation
20:15:19 <Guest13> brb
20:22:57 × mei quits (~mei@user/mei) (Ping timeout: 248 seconds)
20:23:29 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:26:40 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
20:27:39 acidjnk joins (~acidjnk@p200300d6e7072f9441e69932c7e8d464.dip0.t-ipconnect.de)
20:29:33 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
20:30:23 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
20:31:06 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
20:31:38 ec joins (~ec@gateway/tor-sasl/ec)
20:35:15 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 256 seconds)
20:52:41 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
20:58:18 <Guest13> sorry got held up at the shops...
21:07:11 mc47 joins (~mc47@xmonad/TheMC47)
21:08:47 × michalz quits (~michalz@185.246.204.75) (Remote host closed the connection)
21:09:49 mei joins (~mei@user/mei)
21:11:21 puke is now known as Guest7295
21:11:21 pyooque joins (~puke@user/puke)
21:11:21 × Guest7295 quits (~puke@user/puke) (Killed (molybdenum.libera.chat (Nickname regained by services)))
21:11:21 pyooque is now known as puke
21:13:56 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.8)
21:20:26 zeenk joins (~zeenk@2a02:2f04:a105:f00::7fe)
21:22:11 d34df00d joins (~d34df00d@2600:1702:4f1b:7c10::f)
21:23:00 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
21:25:38 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:29:12 × phma quits (~phma@host-67-44-208-181.hnremote.net) (Read error: Connection reset by peer)
21:29:41 phma joins (~phma@2001:5b0:2172:dd28:7911:911:8af7:7b23)
21:34:19 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-1912-96d1-9f83-aa24.rev.sfr.net) (Remote host closed the connection)
21:34:46 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-655d-eb2e-b97d-d4ca.rev.sfr.net)
21:37:42 <d34df00d> Hi!
21:38:21 <jade[m]> hey 👋
21:38:37 <d34df00d> I vaguely remember a repo with resolvers for Stack for recent GHC versions that the upstream stackage (even nightly) doesn't provide yet, but I can't find it straight away. What's that repo, if it's still updated?
21:38:54 <d34df00d> Or perhaps there's a better way of trying out ghc 9.6 with some of my stack-based projects?
21:42:03 cheater joins (~Username@user/cheater)
21:46:35 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
21:46:57 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
21:51:57 Guest21 joins (~Guest21@072-182-045-094.res.spectrum.com)
21:52:32 × vandita quits (~vandit@84-236-10-38.pool.digikabel.hu) (Ping timeout: 248 seconds)
21:54:31 vandita joins (~vandit@188-143-101-81.pool.digikabel.hu)
21:56:41 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:01:27 × Benzi-Junior quits (~BenziJuni@88-149-64-86.du.xdsl.is) (Quit: ZNC 1.8.2 - https://znc.in)
22:03:39 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 256 seconds)
22:04:09 Benzi-Junior joins (~BenziJuni@dsl-149-64-86.hive.is)
22:10:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
22:11:15 ec joins (~ec@gateway/tor-sasl/ec)
22:12:43 oxide joins (~lambda@user/oxide)
22:13:29 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
22:17:45 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:28:32 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 246 seconds)
22:30:41 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-655d-eb2e-b97d-d4ca.rev.sfr.net) (Remote host closed the connection)
22:31:13 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-655d-eb2e-b97d-d4ca.rev.sfr.net)
22:33:24 <Guest13> d34df00d: im guessing if it isnt something stackage can resolve to that it wouldnt be straitforward
22:34:21 <Guest13> also, there is some reticence within the community to advocate for stackage at all, following a (not so) recent cabal update
22:34:27 Guest65 joins (~Guest77@69-165-220-190.dsl.teksavvy.com)
22:36:51 <Guest13> there might be someone that worked on the stackage apparatus that might be able to help you patch in as yet not resolver enabled versions, but i suspect they may not volunteer to do so, given its not the intended way to use stack, and that stack is not the main compilation tool-chain supported by the community.
22:37:10 <Guest13> however, someone may still jump in with a solution
22:39:35 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
22:40:38 × Benzi-Junior quits (~BenziJuni@dsl-149-64-86.hive.is) (Quit: ZNC 1.8.2 - https://znc.in)
22:44:15 Benzi-Junior joins (~BenziJuni@88-149-64-86.du.xdsl.is)
22:48:39 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
22:48:39 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
22:48:39 wroathe joins (~wroathe@user/wroathe)
22:49:54 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:e065:ca7f:f336:c3ee) (Remote host closed the connection)
22:50:13 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:e065:ca7f:f336:c3ee)
22:53:14 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
22:53:22 hiredman_ is now known as hiredman
22:53:28 × gurkenglas quits (~user@dynamic-046-114-177-130.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
22:53:40 × Guest13 quits (~Guest13@250.79-105-213.static.virginmediabusiness.co.uk) (Quit: Connection closed)
22:54:08 × Benzi-Junior quits (~BenziJuni@88-149-64-86.du.xdsl.is) (Quit: ZNC 1.8.2 - https://znc.in)
22:55:19 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer)
22:57:52 Benzi-Junior joins (~BenziJuni@dsl-149-64-86.hive.is)
22:58:37 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
23:00:43 gurkenglas joins (~user@dynamic-046-114-182-030.46.114.pool.telefonica.de)
23:07:56 × zeenk quits (~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!)
23:18:39 × Guest65 quits (~Guest77@69-165-220-190.dsl.teksavvy.com) (Quit: Client closed)
23:19:17 × vandita quits (~vandit@188-143-101-81.pool.digikabel.hu) (Ping timeout: 246 seconds)
23:20:45 mauke_ joins (~mauke@user/mauke)
23:21:15 vandita joins (~vandit@77-234-80-134.pool.digikabel.hu)
23:22:25 × mauke quits (~mauke@user/mauke) (Ping timeout: 256 seconds)
23:22:26 mauke_ is now known as mauke
23:23:08 × gurkenglas quits (~user@dynamic-046-114-182-030.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
23:23:17 × mcglk quits (~mcglk@131.191.19.145) (Read error: Connection reset by peer)
23:23:31 × ddellacosta quits (~ddellacos@143.244.47.87) (Ping timeout: 240 seconds)
23:24:05 hammond_ is now known as hammond
23:24:12 × hammond quits (proscan@gateway02.insomnia247.nl) (Changing host)
23:24:12 hammond joins (proscan@user/hammond2)
23:24:33 <sm> d34df00d: I know that repo,
23:24:33 <sm> but no idea how to find it either, other than a web search
23:26:09 mcglk joins (~mcglk@131.191.19.145)
23:27:23 × zmt00 quits (~zmt00@user/zmt00) (Quit: Leaving)
23:27:30 × mcglk quits (~mcglk@131.191.19.145) (Read error: Connection reset by peer)
23:28:12 mcglk joins (~mcglk@131.191.19.145)
23:28:21 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
23:28:25 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
23:32:19 <sm> d34df00d: ah, I think it was https://github.com/DanBurton/stack-setup-info-gen/tree/master/output
23:33:06 <sm> you might need to file an issue to get it updated, or use the tool to generate them yourself
23:35:33 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
23:36:38 × Guest21 quits (~Guest21@072-182-045-094.res.spectrum.com) (Quit: Client closed)
23:42:13 × myxos quits (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Quit: myxos)
23:42:14 × monoidal quits (~monoidal@2001:861:3f42:1b60:b032:576b:1cee:47f4) (Quit: Client closed)
23:42:15 <sm> d34df00d: but actually.. I think those yamls are mainly helpful if you want to use an unreleased ghc from git.. to use a released ghc, usually just putting resolver: ghc-X.Y and whatever extra-deps you need, works
23:42:27 myxos joins (~myxos@cpe-65-28-251-121.cinci.res.rr.com)
23:42:44 <sm> like https://github.com/simonmichael/hledger/blob/master/stack9.6.yaml
23:43:53 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
23:45:04 × acidjnk quits (~acidjnk@p200300d6e7072f9441e69932c7e8d464.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
23:50:24 B-J joins (~BenziJuni@88-149-64-165.du.xdsl.is)
23:51:03 ub joins (~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
23:51:25 × ubert quits (~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
23:51:25 ub is now known as ubert
23:51:42 × Benzi-Junior quits (~BenziJuni@dsl-149-64-86.hive.is) (Ping timeout: 265 seconds)
23:54:05 <d34df00d> sm: oh wow, that last one is perfect, thanks!
23:54:12 <d34df00d> I completely forgot that feature of stack.
23:55:08 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6c9c:9af5:8708:5fc6) (Remote host closed the connection)
23:55:22 sm getting ready to try a 9.6.2 build plan

All times are in UTC on 2023-05-28.