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.