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