2025-01-30 00:02:28 +0100 | falafel | (~falafel@syn-076-093-010-089.res.spectrum.com) falafel |
2025-01-30 00:02:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 00:07:31 +0100 | yin | (~yin@user/zero) zero |
2025-01-30 00:07:39 +0100 | <yin> | any reason why ghcup is not on *insert repo* and makes up play dependency-pong everytime we install it? |
2025-01-30 00:08:14 +0100 | <int-e> | . o O ( those are words ) |
2025-01-30 00:09:41 +0100 | falafel | (~falafel@syn-076-093-010-089.res.spectrum.com) (Ping timeout: 248 seconds) |
2025-01-30 00:11:36 +0100 | <int-e> | I mean there's https://github.com/haskell/ghcup-hs and https://github.com/haskell/ghcup-metadata ...and there was existing Haskell infrastructure to piggy-back on for the binaries. |
2025-01-30 00:11:43 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Read error: Connection reset by peer) |
2025-01-30 00:12:06 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-01-30 00:12:09 +0100 | <int-e> | Which may or may not partially answer the question. |
2025-01-30 00:13:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 00:15:09 +0100 | <yin> | i guess my problem would be solved if the installer checked for missing dependencies *before* starting the installation process |
2025-01-30 00:15:38 +0100 | <yin> | it usually takes me a few tries |
2025-01-30 00:16:18 +0100 | <geekosaur> | the problem with that is that every distro calls them something different |
2025-01-30 00:17:31 +0100 | <yin> | yes, i wish i could `<packagemanager> install ghcup> |
2025-01-30 00:17:46 +0100 | <int-e> | there's https://www.haskell.org/ghcup/install/#system-requirements ...this way ghcup doesn't have to know every single distribution on Earth |
2025-01-30 00:18:01 +0100 | <geekosaur> | you can on some distros. you then can't use its self-upgrade safely |
2025-01-30 00:18:20 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 00:18:28 +0100 | <geekosaur> | (potentially you can break your package manager if you do it as root) |
2025-01-30 00:18:33 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 00:18:42 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-01-30 00:19:09 +0100 | <yin> | int-e: some dependencies are missing there and, in my case today, my distro is not on that list |
2025-01-30 00:20:18 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
2025-01-30 00:20:52 +0100 | <geekosaur> | (I say this as someone who's had to fix an OpenSuSE install and helped RH/Fedora and Debian users try to recover from installing/upgrading the wrong thing) |
2025-01-30 00:21:05 +0100 | <int-e> | Well then ghcup itself probably wouldn't know about it either. So as geekosaur is basically saying it becomes a distro issue; Noone is stopping distros from packaging it. |
2025-01-30 00:22:27 +0100 | <geekosaur> | (granting the package manager probably doesn't use ghcup, so probably won't do anything beyond complaining that it no longer matches the package manager database) |
2025-01-30 00:23:07 +0100 | <int-e> | It may be hard to convince a distro to provide an installer for non-distro packages but https://packages.debian.org/sid/rustup shows that it can be done :P |
2025-01-30 00:24:27 +0100 | <geekosaur> | there's a reason pip (python package installer) now has a "distro mode" that disables installing/upgrading system packages and warns you that you can break your distro by overriding it |
2025-01-30 00:28:58 +0100 | <geekosaur> | oh, it's fine as lomng as it does per-user installs. it's the system-wide ones that are a problem |
2025-01-30 00:29:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 00:29:30 +0100 | <geekosaur> | rustup does per-user installs, in particular |
2025-01-30 00:30:46 +0100 | alexherbo2 | (~alexherbo@2a02-8440-350b-d904-2048-9e7f-54c9-2d46.rev.sfr.net) (Remote host closed the connection) |
2025-01-30 00:31:57 +0100 | user__ | (~user@user/fmira) (Remote host closed the connection) |
2025-01-30 00:32:10 +0100 | <geekosaur> | similarly virtualenv was never a problem (it's just been superseded by `python -m venv`) |
2025-01-30 00:32:31 +0100 | user__ | (~user@user/fmira) fmira |
2025-01-30 00:33:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 00:37:49 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 00:38:12 +0100 | alexherbo2 | (~alexherbo@2a02-8440-350b-d904-4078-3e5a-2d1a-9dad.rev.sfr.net) alexherbo2 |
2025-01-30 00:39:12 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 264 seconds) |
2025-01-30 00:40:51 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2025-01-30 00:41:29 +0100 | alexherbo2 | (~alexherbo@2a02-8440-350b-d904-4078-3e5a-2d1a-9dad.rev.sfr.net) (Remote host closed the connection) |
2025-01-30 00:42:02 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-01-30 00:44:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 00:48:24 +0100 | driib318 | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2025-01-30 00:48:32 +0100 | fp1 | (~Thunderbi@87-94-148-3.rev.dnainternet.fi) (Ping timeout: 252 seconds) |
2025-01-30 00:49:22 +0100 | driib318 | (~driib@vmi931078.contaboserver.net) driib |
2025-01-30 00:51:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 00:53:06 +0100 | Midjak | (~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep) |
2025-01-30 00:57:01 +0100 | <haskellbridge> | <Axman6> There's a poem explaining what a parser combinator is, but I can't find it online, anyone have a link to it? "A parser is a function from strings to pairs of things and strings", but I think I'm missing some words |
2025-01-30 00:57:25 +0100 | <haskellbridge> | <Axman6> jackdk I'm sure you know it off by heart |
2025-01-30 00:57:55 +0100 | <haskellbridge> | <Axman6> Ah found it: https://blog.nikosbaxevanis.com/2020/03/30/the-rhyme-of-the-altered-parser/ |
2025-01-30 00:59:05 +0100 | noctux | (~noctux@user/noctux) (Ping timeout: 244 seconds) |
2025-01-30 01:00:47 +0100 | <jackdk> | I'm partial to "A parser for things is a function from String, to Maybe the thing and the leftover String" |
2025-01-30 01:02:00 +0100 | <glguy> | "The only place I’ve seen it being used is in ..." \o/ |
2025-01-30 01:02:15 +0100 | mange | (~user@user/mange) mange |
2025-01-30 01:03:10 +0100 | <int-e> | now try to make that work with the fail/tail rhyme |
2025-01-30 01:03:29 +0100 | noctux | (~noctux@user/noctux) noctux |
2025-01-30 01:04:18 +0100 | TMA | (tma@twin.jikos.cz) (Ping timeout: 252 seconds) |
2025-01-30 01:04:22 +0100 | <haskellbridge> | <Axman6> glguy You're pretty much famous |
2025-01-30 01:06:37 +0100 | dolio | (~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in) |
2025-01-30 01:09:07 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-01-30 01:13:53 +0100 | user__ | (~user@user/fmira) (Remote host closed the connection) |
2025-01-30 01:15:19 +0100 | juri_ | (~juri@implicitcad.org) (Ping timeout: 260 seconds) |
2025-01-30 01:15:24 +0100 | dolio | (~dolio@130.44.140.168) dolio |
2025-01-30 01:16:05 +0100 | user__ | (~user@user/fmira) fmira |
2025-01-30 01:18:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 01:19:21 +0100 | dolio | (~dolio@130.44.140.168) (Client Quit) |
2025-01-30 01:20:27 +0100 | dolio | (~dolio@130.44.140.168) dolio |
2025-01-30 01:22:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-01-30 01:27:53 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 01:30:55 +0100 | ColinRobinson | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-01-30 01:32:10 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-01-30 01:32:12 +0100 | juri_ | (~juri@implicitcad.org) juri_ |
2025-01-30 01:33:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 01:38:02 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 01:39:33 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f984d3514a5c03883b9.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2025-01-30 01:44:53 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 01:45:10 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 01:46:19 +0100 | monochrm | (trebla@216.138.220.146) |
2025-01-30 01:46:38 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 245 seconds) |
2025-01-30 01:46:41 +0100 | monochrm | monochrom |
2025-01-30 01:49:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 01:53:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 01:55:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 01:57:22 +0100 | sprotte24 | (~sprotte24@p200300d16f066800e58385d4d3a6ab2d.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-01-30 01:57:28 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2025-01-30 01:58:28 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
2025-01-30 02:00:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-01-30 02:00:54 +0100 | adamCS | (~adamCS@pool-100-33-243-37.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
2025-01-30 02:03:25 +0100 | brachyrhynchos | (~brachyrhy@user/brachyrhynchos) brachyrhynchos |
2025-01-30 02:03:48 +0100 | xff0x | (~xff0x@2405:6580:b080:900:dc88:7fed:aa57:a617) (Ping timeout: 252 seconds) |
2025-01-30 02:04:56 +0100 | user__ | (~user@user/fmira) (Remote host closed the connection) |
2025-01-30 02:05:32 +0100 | user__ | (~user@user/fmira) fmira |
2025-01-30 02:10:10 +0100 | adamCS | (~adamCS@71.190.30.173) adamCS |
2025-01-30 02:10:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 02:15:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-01-30 02:17:17 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 02:20:51 +0100 | otto_s | (~user@p5b044c4b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2025-01-30 02:21:27 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-01-30 02:22:50 +0100 | otto_s | (~user@p5b0441ee.dip0.t-ipconnect.de) |
2025-01-30 02:26:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 02:30:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-01-30 02:32:36 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2025-01-30 02:35:50 +0100 | monochrm | (trebla@216.138.220.146) |
2025-01-30 02:36:13 +0100 | ColinRobinson | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-01-30 02:37:21 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 248 seconds) |
2025-01-30 02:37:22 +0100 | monochrm | monochrom |
2025-01-30 02:41:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 02:43:11 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) Feuermagier |
2025-01-30 02:43:40 +0100 | califax | (~califax@user/califx) califx |
2025-01-30 02:45:34 +0100 | user363627 | (~user@user/user363627) (Ping timeout: 260 seconds) |
2025-01-30 02:45:46 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-01-30 02:46:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-01-30 02:55:00 +0100 | ColinRobinson | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-01-30 02:55:48 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-01-30 02:56:12 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
2025-01-30 02:57:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 02:57:24 +0100 | <ColinRobinson> | because this is a publicly logged channel, clarifying my use of 'factitious" the last time I spoke here was not meant in the English sense, at least the one that shows in web dictionary entries but rathter the one that shows for 'facticity' w or w/o sartre |
2025-01-30 02:58:24 +0100 | <ColinRobinson> | *rather |
2025-01-30 02:58:34 +0100 | ColinRobinson | (~juan@user/JuanDaugherty) (Client Quit) |
2025-01-30 02:59:40 +0100 | <EvanR> | are these words actually cromulent |
2025-01-30 03:01:38 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 03:01:41 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f46c5769c4c50fc7d32.dip0.t-ipconnect.de) acidjnk |
2025-01-30 03:03:35 +0100 | ColinRobinson | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-01-30 03:05:35 +0100 | fired_ | (la@2600:3c00::f03c:92ff:fee3:aace) |
2025-01-30 03:05:37 +0100 | Pozyomka | (~pyon@user/pyon) (Ping timeout: 248 seconds) |
2025-01-30 03:05:38 +0100 | fired | (LA@2600:3c00::f03c:92ff:fee3:aace) (Ping timeout: 248 seconds) |
2025-01-30 03:06:05 +0100 | fired_ | fired |
2025-01-30 03:06:12 +0100 | <ColinRobinson> | aiui, 'cromulent' is a nonce without meaning other than as a meme for a nonsense term. Neither of the terms i referred to has that character. Factitious as it is being reported is the exact opposite of the deadly srsness I intend for this persona. |
2025-01-30 03:06:42 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 03:07:07 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@142.147.89.199) Jeanne-Kamikaze |
2025-01-30 03:07:08 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 252 seconds) |
2025-01-30 03:07:40 +0100 | monochrom | (trebla@216.138.220.146) |
2025-01-30 03:07:40 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
2025-01-30 03:09:11 +0100 | <EvanR> | ColinRobinson or JuanDaugherty? |
2025-01-30 03:09:27 +0100 | <ColinRobinson> | ColinRobinson |
2025-01-30 03:09:29 +0100 | <EvanR> | familiar with one nick not the other |
2025-01-30 03:11:10 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-01-30 03:11:16 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 265 seconds) |
2025-01-30 03:12:36 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 03:14:18 +0100 | <ColinRobinson> | the quit text leads to an explanation (catalog of identities) if u havent already seen. |
2025-01-30 03:16:14 +0100 | ColinRobinson | JuanDaugherty |
2025-01-30 03:17:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 03:17:29 +0100 | tavare | (~tavare@user/tavare) tavare |
2025-01-30 03:18:59 +0100 | <JuanDaugherty> | it's possible I may give it some use/role in ##haskell-nlp , it's a rich role as far as automating a persona is concerned, more bot like and this one I intend to have the prolog nature and the one sofar assigned the haskell nature i've decided not to run externally |
2025-01-30 03:20:19 +0100 | brachyrhynchos | (~brachyrhy@user/brachyrhynchos) (Remote host closed the connection) |
2025-01-30 03:21:53 +0100 | <EvanR> | the quit text read "Client Quit" |
2025-01-30 03:22:16 +0100 | <EvanR> | you're a bot? |
2025-01-30 03:23:03 +0100 | <JuanDaugherty> | not unless i'm marked away |
2025-01-30 03:23:55 +0100 | JuanDaugherty | is never away in effect |
2025-01-30 03:24:06 +0100 | <EvanR> | o_O |
2025-01-30 03:24:10 +0100 | <JuanDaugherty> | when present |
2025-01-30 03:25:47 +0100 | <JuanDaugherty> | it looks like nick grouping foils the client quit message, checking |
2025-01-30 03:25:55 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-01-30 03:26:31 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-01-30 03:27:58 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 03:29:05 +0100 | <talismanick> | For a function as ubiquitous as `traverse`, I'm surprised there isn't an infix shorthand |
2025-01-30 03:37:18 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f46c5769c4c50fc7d32.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2025-01-30 03:38:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 03:43:32 +0100 | <haskellbridge> | <Bowuigi> It's easier to associate it with "for" that way I guess |
2025-01-30 03:44:47 +0100 | tuxpaint | (~a@put.gay) (Quit: gn) |
2025-01-30 03:45:06 +0100 | tuxpaint | (~a@2600:3c06::f03c:93ff:fea6:ef0e) |
2025-01-30 03:46:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 03:46:37 +0100 | pavonia | (~user@user/siracusa) (Read error: Connection reset by peer) |
2025-01-30 03:48:33 +0100 | <talismanick> | `for` is nice if you're mimicking procedural langs with do-notation or simply want to spare your eyes a spurious `flip`, but I wish it was visually distinct like how `<$>` is to `fmap` |
2025-01-30 03:48:56 +0100 | <talismanick> | `<*$>`, maybe? |
2025-01-30 03:49:54 +0100 | <talismanick> | `<$>>=` looks nicer, but it's not just `mapM` anymore |
2025-01-30 03:50:42 +0100 | pabs3 | (~pabs3@user/pabs3) (Read error: Connection reset by peer) |
2025-01-30 03:51:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-01-30 03:51:54 +0100 | pabs3 | (~pabs3@user/pabs3) pabs3 |
2025-01-30 03:53:29 +0100 | pavonia | (~user@user/siracusa) siracusa |
2025-01-30 03:55:54 +0100 | sarna | (~sarna@d224-221.icpnet.pl) (Ping timeout: 252 seconds) |
2025-01-30 03:56:13 +0100 | sarna | (~sarna@d224-221.icpnet.pl) sarna |
2025-01-30 03:56:26 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 03:56:43 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 03:56:56 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 03:58:20 +0100 | monochrm | (trebla@216.138.220.146) |
2025-01-30 03:58:38 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 265 seconds) |
2025-01-30 03:58:41 +0100 | monochrm | monochrom |
2025-01-30 03:58:43 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2025-01-30 03:58:43 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2025-01-30 03:58:53 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
2025-01-30 03:59:25 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-01-30 04:00:57 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-01-30 04:01:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 04:03:28 +0100 | alx741 | (~alx741@186.33.188.229) (Ping timeout: 265 seconds) |
2025-01-30 04:03:46 +0100 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 248 seconds) |
2025-01-30 04:05:11 +0100 | philopsos | (~caecilius@user/philopsos) philopsos |
2025-01-30 04:07:06 +0100 | xff0x_ | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-01-30 04:08:11 +0100 | pie__ | (~pie_bnc@user/pie/x-2818909) () |
2025-01-30 04:08:34 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds) |
2025-01-30 04:09:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 04:09:50 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2025-01-30 04:12:39 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 260 seconds) |
2025-01-30 04:17:13 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-01-30 04:17:25 +0100 | polykernel | (~polykerne@user/polykernel) (Remote host closed the connection) |
2025-01-30 04:18:14 +0100 | polykernel | (~polykerne@user/polykernel) polykernel |
2025-01-30 04:20:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 04:23:34 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds) |
2025-01-30 04:24:58 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-01-30 04:29:21 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2025-01-30 04:36:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 04:38:09 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
2025-01-30 04:41:05 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 04:44:52 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 04:47:37 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@142.147.89.199) (Quit: Leaving) |
2025-01-30 04:49:03 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-01-30 04:51:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 04:56:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 05:04:33 +0100 | cyphase | (~cyphase@user/cyphase) cyphase |
2025-01-30 05:07:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 05:07:49 +0100 | <monochrom> | @type traverse |
2025-01-30 05:07:50 +0100 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
2025-01-30 05:10:38 +0100 | <monochrom> | Yeah something like <*$> or <$*> |
2025-01-30 05:11:22 +0100 | <monochrom> | Note that our traverse is called flip map in impure functional languages for a certain f and a certain t. >:) |
2025-01-30 05:14:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 05:24:05 +0100 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
2025-01-30 05:25:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 05:26:06 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2025-01-30 05:26:33 +0100 | aforemny_ | (~aforemny@2001:9e8:6ce3:9600:2c48:7088:cbda:dd4) aforemny |
2025-01-30 05:27:33 +0100 | aforemny | (~aforemny@i577B125E.versanet.de) (Ping timeout: 248 seconds) |
2025-01-30 05:27:54 +0100 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-01-30 05:29:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 05:32:21 +0100 | terrorjack | (~terrorjac@2a01:4f8:c17:a66e::) (Quit: The Lounge - https://thelounge.chat) |
2025-01-30 05:33:36 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 05:33:58 +0100 | terrorjack | (~terrorjac@2a01:4f8:c17:a66e::) terrorjack |
2025-01-30 05:38:09 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 248 seconds) |
2025-01-30 05:40:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 05:45:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 05:45:55 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2025-01-30 05:47:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 05:52:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 05:54:38 +0100 | sa1 | (sid7690@id-7690.ilkley.irccloud.com) (Ping timeout: 265 seconds) |
2025-01-30 05:54:58 +0100 | PotatoGim | (sid99505@id-99505.lymington.irccloud.com) (Ping timeout: 245 seconds) |
2025-01-30 05:57:51 +0100 | sa1 | (sid7690@id-7690.ilkley.irccloud.com) sa1 |
2025-01-30 05:57:56 +0100 | PotatoGim | (sid99505@id-99505.lymington.irccloud.com) PotatoGim |
2025-01-30 06:04:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 06:08:50 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 06:09:08 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 06:11:12 +0100 | <haskellbridge> | <maerwald> geekosaur: no, ghcup doesn't overwrite itself by default |
2025-01-30 06:11:36 +0100 | <haskellbridge> | <maerwald> and no sane package manager places binaries in HOME |
2025-01-30 06:13:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-01-30 06:13:37 +0100 | monochrm | (trebla@216.138.220.146) |
2025-01-30 06:13:43 +0100 | <haskellbridge> | <maerwald> yin: ghcup itself has no dependencies other than "curl" or "wget". The dependencies that you mean are for _GHC_. So someone packaging ghcup properly would _not_ add those dependencies to the ghcup package. |
2025-01-30 06:13:57 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 246 seconds) |
2025-01-30 06:13:57 +0100 | monochrm | monochrom |
2025-01-30 06:13:59 +0100 | monochrom | (trebla@216.138.220.146) (Client Quit) |
2025-01-30 06:15:50 +0100 | euouae | (~euouae@user/euouae) euouae |
2025-01-30 06:16:14 +0100 | <haskellbridge> | <maerwald> You can try: <package-manager> install $(ghcup tool-requirements -r) |
2025-01-30 06:16:32 +0100 | <euouae> | Hello functions of the type Functor f => f a -> f b, what are they called? |
2025-01-30 06:16:48 +0100 | <euouae> | are they functor transformers? natural transformations? |
2025-01-30 06:19:01 +0100 | <geekosaur> | the package manager doesn't but rustup does |
2025-01-30 06:19:47 +0100 | <haskellbridge> | <maerwald> yes, that's why they don't interfere with each other |
2025-01-30 06:20:02 +0100 | <geekosaur> | that was the point I was trying to make |
2025-01-30 06:20:41 +0100 | <geekosaur> | as distinct from older pip which happily would overwrite system packages and break stuff |
2025-01-30 06:21:10 +0100 | <euouae> | pip and weep |
2025-01-30 06:23:01 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 06:24:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 06:24:46 +0100 | <geekosaur> | Fedora gave up some years back and started shipping a private python install for yum/dnf to use so people upgrading system packages didn't break it |
2025-01-30 06:26:04 +0100 | monochrom | (trebla@216.138.220.146) |
2025-01-30 06:27:49 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-01-30 06:28:23 +0100 | <euouae> | debian has some block & banner too for it |
2025-01-30 06:28:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 06:29:00 +0100 | <euouae> | error: externally-managed-environment is how it starts... 20 line paragraph error |
2025-01-30 06:35:20 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-01-30 06:35:24 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 260 seconds) |
2025-01-30 06:35:24 +0100 | tnt2 | tnt1 |
2025-01-30 06:39:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 06:41:41 +0100 | euouae | (~euouae@user/euouae) () |
2025-01-30 06:43:49 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 06:48:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 06:48:53 +0100 | michalz | (~michalz@185.246.207.197) |
2025-01-30 06:49:32 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-01-30 06:55:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 06:57:44 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 07:02:24 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-01-30 07:03:31 +0100 | takuan | (~takuan@d8D86B601.access.telenet.be) |
2025-01-30 07:03:34 +0100 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
2025-01-30 07:06:25 +0100 | ft | (~ft@p3e9bcd97.dip0.t-ipconnect.de) (Quit: leaving) |
2025-01-30 07:06:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 07:06:51 +0100 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-01-30 07:12:46 +0100 | CiaoSen | (~Jura@2a05:5800:241:f200:ca4b:d6ff:fec1:99da) CiaoSen |
2025-01-30 07:14:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-01-30 07:18:27 +0100 | <haskellbridge> | <Axman6> @irc_libera.chat_euouae I've generally seen "(forall a. f a -> g a)" being referred to as natural transformations |
2025-01-30 07:18:57 +0100 | <Axman6> | ew... ok, the default formatting used by matrix is bad in IRC. oops |
2025-01-30 07:25:44 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2025-01-30 07:25:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 07:26:17 +0100 | <int-e> | haskellbridge: it's fine ;-) |
2025-01-30 07:27:54 +0100 | monochrm | (trebla@216.138.220.146) |
2025-01-30 07:28:34 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 252 seconds) |
2025-01-30 07:28:34 +0100 | monochrm | monochrom |
2025-01-30 07:30:36 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-01-30 07:31:18 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
2025-01-30 07:31:31 +0100 | euleritian | (~euleritia@dynamic-176-006-142-040.176.6.pool.telefonica.de) |
2025-01-30 07:32:25 +0100 | <haskellbridge> | <Axman6> :( |
2025-01-30 07:41:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 07:41:24 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-01-30 07:43:04 +0100 | euleritian | (~euleritia@dynamic-176-006-142-040.176.6.pool.telefonica.de) (Ping timeout: 260 seconds) |
2025-01-30 07:43:42 +0100 | MyNetAz | (~MyNetAz@user/MyNetAz) MyNetAz |
2025-01-30 07:43:48 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
2025-01-30 07:45:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 07:46:30 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 07:49:36 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 07:50:57 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 248 seconds) |
2025-01-30 07:53:57 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f467932b3eddade0ab9.dip0.t-ipconnect.de) |
2025-01-30 07:54:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 08:00:44 +0100 | monochrm | (trebla@216.138.220.146) |
2025-01-30 08:02:16 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 272 seconds) |
2025-01-30 08:02:16 +0100 | monochrm | monochrom |
2025-01-30 08:03:13 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
2025-01-30 08:04:04 +0100 | euleritian | (~euleritia@dynamic-176-003-044-001.176.3.pool.telefonica.de) |
2025-01-30 08:04:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 08:09:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 08:10:39 +0100 | Square2 | (~Square4@user/square) Square |
2025-01-30 08:16:21 +0100 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2025-01-30 08:19:00 +0100 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
2025-01-30 08:19:49 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 260 seconds) |
2025-01-30 08:20:18 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 08:24:38 +0100 | Digit | (~user@user/digit) (Remote host closed the connection) |
2025-01-30 08:25:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-01-30 08:26:20 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 272 seconds) |
2025-01-30 08:34:55 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 08:35:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 08:39:08 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-01-30 08:39:58 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-01-30 08:50:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 08:54:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 08:55:34 +0100 | pabs3 | (~pabs3@user/pabs3) (Read error: Connection reset by peer) |
2025-01-30 08:56:03 +0100 | pabs3 | (~pabs3@user/pabs3) pabs3 |
2025-01-30 09:00:06 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-01-30 09:00:44 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-01-30 09:01:18 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-01-30 09:06:05 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 09:10:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 09:12:02 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-01-30 09:20:49 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 09:21:06 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 09:24:00 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 09:25:31 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-01-30 09:27:38 +0100 | Digit | (~user@user/digit) Digit |
2025-01-30 09:28:45 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 265 seconds) |
2025-01-30 09:28:58 +0100 | euleritian | (~euleritia@dynamic-176-003-044-001.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-01-30 09:29:16 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
2025-01-30 09:35:09 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2025-01-30 09:35:20 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
2025-01-30 09:42:29 +0100 | tavare | (~tavare@user/tavare) (Ping timeout: 248 seconds) |
2025-01-30 09:56:29 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-a239-90d9-dcf7-f21b-c236.rev.sfr.net) alexherbo2 |
2025-01-30 09:58:10 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-01-30 10:04:45 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-01-30 10:06:31 +0100 | TMA | (tma@twin.jikos.cz) TMA |
2025-01-30 10:07:05 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-01-30 10:12:03 +0100 | bliminse | (~bliminse@user/bliminse) bliminse |
2025-01-30 10:13:04 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 10:17:42 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-01-30 10:19:54 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Remote host closed the connection) |
2025-01-30 10:25:15 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
2025-01-30 10:26:14 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2025-01-30 10:27:00 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) szkl |
2025-01-30 10:27:05 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2025-01-30 10:30:06 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-01-30 10:32:45 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2025-01-30 10:34:12 +0100 | CiaoSen | (~Jura@2a05:5800:241:f200:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds) |
2025-01-30 10:40:07 +0100 | zmt01 | (~zmt00@user/zmt00) zmt00 |
2025-01-30 10:43:33 +0100 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 252 seconds) |
2025-01-30 10:47:16 +0100 | sprotte24 | (~sprotte24@p200300d16f0f5200f176db88f8d16a26.dip0.t-ipconnect.de) |
2025-01-30 10:48:37 +0100 | __monty__ | (~toonn@user/toonn) toonn |
2025-01-30 10:49:34 +0100 | td_ | (~td@i53870904.versanet.de) td_ |
2025-01-30 10:58:05 +0100 | monochrm | (trebla@216.138.220.146) |
2025-01-30 10:58:39 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 260 seconds) |
2025-01-30 10:58:40 +0100 | monochrm | monochrom |
2025-01-30 10:59:13 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:14a7:7f2d:4515:55f0) ubert |
2025-01-30 11:01:49 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 11:06:10 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-01-30 11:12:37 +0100 | Digitteknohippie | (~user@user/digit) Digit |
2025-01-30 11:13:42 +0100 | Digit | (~user@user/digit) (Ping timeout: 252 seconds) |
2025-01-30 11:15:31 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f467932b3eddade0ab9.dip0.t-ipconnect.de) (Remote host closed the connection) |
2025-01-30 11:15:50 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f467932b3eddade0ab9.dip0.t-ipconnect.de) acidjnk |
2025-01-30 11:15:54 +0100 | <ski> | (euouae was gone) |
2025-01-30 11:16:34 +0100 | CiaoSen | (~Jura@2a05:5800:241:f200:ca4b:d6ff:fec1:99da) CiaoSen |
2025-01-30 11:25:23 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2025-01-30 11:26:04 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-01-30 11:28:22 +0100 | xff0x_ | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds) |
2025-01-30 11:28:35 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-a239-90d9-dcf7-f21b-c236.rev.sfr.net) (Remote host closed the connection) |
2025-01-30 11:42:02 +0100 | tnt1 | (~Thunderbi@user/tnt1) tnt1 |
2025-01-30 11:43:16 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 11:43:30 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 11:45:23 +0100 | Digitteknohippie | (~user@user/digit) (Ping timeout: 245 seconds) |
2025-01-30 11:48:10 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-01-30 11:49:14 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 260 seconds) |
2025-01-30 11:49:14 +0100 | tnt2 | tnt1 |
2025-01-30 11:51:14 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 11:55:41 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 265 seconds) |
2025-01-30 11:55:51 +0100 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder |
2025-01-30 11:57:53 +0100 | CiaoSen | (~Jura@2a05:5800:241:f200:ca4b:d6ff:fec1:99da) (Ping timeout: 245 seconds) |
2025-01-30 12:09:49 +0100 | chele | (~chele@user/chele) chele |
2025-01-30 12:20:38 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2025-01-30 12:20:44 +0100 | fp1 | (~Thunderbi@2001:708:20:1406::1370) fp |
2025-01-30 12:21:56 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2025-01-30 12:22:21 +0100 | xff0x | (~xff0x@ai096095.d.east.v6connect.net) |
2025-01-30 12:23:01 +0100 | fp1 | fp |
2025-01-30 12:26:24 +0100 | sprotte24 | (~sprotte24@p200300d16f0f5200f176db88f8d16a26.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2025-01-30 12:26:30 +0100 | mcfrdy | (~mcfrdy@user/mcfrdy) (Quit: quit) |
2025-01-30 12:29:46 +0100 | MyNetAz | (~MyNetAz@user/MyNetAz) (Remote host closed the connection) |
2025-01-30 12:33:05 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) (Quit: fp) |
2025-01-30 12:35:50 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
2025-01-30 12:36:47 +0100 | MyNetAz | (~MyNetAz@user/MyNetAz) MyNetAz |
2025-01-30 12:39:00 +0100 | jespada | (~jespada@2800:a4:2225:fa00:219b:97a5:1505:5c5f) jespada |
2025-01-30 12:40:57 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 12:43:09 +0100 | mange | (~user@user/mange) (Quit: Zzz...) |
2025-01-30 12:45:24 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-01-30 12:48:28 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-01-30 12:49:00 +0100 | foul_owl | (~kerry@185.203.219.82) (Read error: Connection reset by peer) |
2025-01-30 12:55:29 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 248 seconds) |
2025-01-30 12:56:09 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-a239-90d9-dcf7-f21b-c236.rev.sfr.net) alexherbo2 |
2025-01-30 13:00:04 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-01-30 13:02:11 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-01-30 13:02:21 +0100 | CiaoSen | (~Jura@2a05:5800:241:f200:ca4b:d6ff:fec1:99da) CiaoSen |
2025-01-30 13:05:21 +0100 | foul_owl | (~kerry@193.42.0.124) foul_owl |
2025-01-30 13:08:50 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2025-01-30 13:09:26 +0100 | euleritian | (~euleritia@dynamic-176-006-133-171.176.6.pool.telefonica.de) |
2025-01-30 13:10:37 +0100 | Digit | (~user@user/digit) Digit |
2025-01-30 13:15:54 +0100 | euleritian | (~euleritia@dynamic-176-006-133-171.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
2025-01-30 13:16:53 +0100 | euleritian | (~euleritia@dynamic-176-000-008-052.176.0.pool.telefonica.de) |
2025-01-30 13:18:39 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f467932b3eddade0ab9.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2025-01-30 13:20:07 +0100 | sprotte24 | (~sprotte24@p200300d16f0f5200ad248b1696410372.dip0.t-ipconnect.de) |
2025-01-30 13:21:19 +0100 | rvalue- | (~rvalue@user/rvalue) rvalue |
2025-01-30 13:22:03 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 245 seconds) |
2025-01-30 13:22:06 +0100 | danza | (~danza@user/danza) danza |
2025-01-30 13:22:46 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) fp |
2025-01-30 13:25:03 +0100 | pie_ | (~pie_bnc@user/pie/x-2818909) __ |
2025-01-30 13:26:10 +0100 | rvalue- | rvalue |
2025-01-30 13:28:27 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f4684c6011a1ea1e065.dip0.t-ipconnect.de) acidjnk |
2025-01-30 13:30:02 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 13:30:20 +0100 | pie_ | (~pie_bnc@user/pie/x-2818909) () |
2025-01-30 13:31:46 +0100 | danz93642 | (~danza@user/danza) danza |
2025-01-30 13:33:56 +0100 | danza | (~danza@user/danza) (Ping timeout: 244 seconds) |
2025-01-30 13:34:15 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 246 seconds) |
2025-01-30 13:35:12 +0100 | pie_ | (~pie_bnc@user/pie/x-2818909) __ |
2025-01-30 13:37:09 +0100 | gentauro | (~gentauro@user/gentauro) (Ping timeout: 260 seconds) |
2025-01-30 13:52:07 +0100 | <haskellbridge> | <eldritchcookie> do functions that are only used in TH splices count as evaluated to hpc? if not normally is there some way to get hpc to understand that i am testing those functions? |
2025-01-30 13:52:08 +0100 | srazkvt | (~srazkvt@user/srazkvt) srazkvt |
2025-01-30 13:53:00 +0100 | euleritian | (~euleritia@dynamic-176-000-008-052.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-01-30 13:53:16 +0100 | jespada | (~jespada@2800:a4:2225:fa00:219b:97a5:1505:5c5f) (Ping timeout: 244 seconds) |
2025-01-30 13:53:18 +0100 | euleritian | (~euleritia@77.23.250.232) |
2025-01-30 13:57:29 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2025-01-30 13:57:56 +0100 | jespada | (~jespada@2800:a4:220c:6700:19eb:694f:b602:3bcb) jespada |
2025-01-30 14:00:33 +0100 | euleritian | (~euleritia@77.23.250.232) (Ping timeout: 276 seconds) |
2025-01-30 14:00:46 +0100 | euleritian | (~euleritia@dynamic-176-000-008-052.176.0.pool.telefonica.de) |
2025-01-30 14:01:32 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-01-30 14:02:57 +0100 | tabaqui1 | (~root@87.200.129.102) tabaqui |
2025-01-30 14:05:40 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
2025-01-30 14:06:13 +0100 | manwithluck | (~manwithlu@194.177.28.164) (Ping timeout: 245 seconds) |
2025-01-30 14:07:07 +0100 | manwithluck | (~manwithlu@194.177.28.164) manwithluck |
2025-01-30 14:07:11 +0100 | danz93642 | (~danza@user/danza) () |
2025-01-30 14:12:40 +0100 | gentauro | (~gentauro@user/gentauro) gentauro |
2025-01-30 14:14:53 +0100 | euleritian | (~euleritia@dynamic-176-000-008-052.176.0.pool.telefonica.de) (Ping timeout: 265 seconds) |
2025-01-30 14:16:06 +0100 | euleritian | (~euleritia@dynamic-176-001-213-030.176.1.pool.telefonica.de) |
2025-01-30 14:19:07 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 14:20:27 +0100 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Remote host closed the connection) |
2025-01-30 14:21:54 +0100 | CiaoSen | (~Jura@2a05:5800:241:f200:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds) |
2025-01-30 14:23:49 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-01-30 14:28:03 +0100 | srazkvt | (~srazkvt@user/srazkvt) (Quit: Client closed) |
2025-01-30 14:30:41 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-01-30 14:33:04 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-01-30 14:34:02 +0100 | euleritian | (~euleritia@dynamic-176-001-213-030.176.1.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-01-30 14:37:53 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 248 seconds) |
2025-01-30 14:38:04 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
2025-01-30 14:40:00 +0100 | sprotte24 | (~sprotte24@p200300d16f0f5200ad248b1696410372.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2025-01-30 14:49:36 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-01-30 14:52:35 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2025-01-30 14:58:25 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f4679c2ce7937ff2475.dip0.t-ipconnect.de) acidjnk |
2025-01-30 15:00:08 +0100 | pavonia | (~user@user/siracusa) siracusa |
2025-01-30 15:01:24 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f4684c6011a1ea1e065.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2025-01-30 15:08:31 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 15:12:53 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 265 seconds) |
2025-01-30 15:16:25 +0100 | alx741 | (~alx741@186.33.188.229) |
2025-01-30 15:27:53 +0100 | Square2 | (~Square4@user/square) Square |
2025-01-30 15:32:51 +0100 | poscat | (~poscat@user/poscat) (Ping timeout: 252 seconds) |
2025-01-30 15:33:30 +0100 | gentauro | (~gentauro@user/gentauro) (Ping timeout: 244 seconds) |
2025-01-30 15:34:12 +0100 | poscat | (~poscat@user/poscat) poscat |
2025-01-30 15:38:07 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
2025-01-30 15:39:51 +0100 | haritz | saimazoon |
2025-01-30 15:40:00 +0100 | foul_owl | (~kerry@193.42.0.124) (Ping timeout: 252 seconds) |
2025-01-30 15:40:37 +0100 | gentauro | (~gentauro@user/gentauro) gentauro |
2025-01-30 15:50:32 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2025-01-30 15:52:30 +0100 | foul_owl | (~kerry@193.42.0.124) foul_owl |
2025-01-30 15:54:50 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 15:55:08 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 15:57:15 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 15:57:21 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
2025-01-30 15:57:44 +0100 | yin | (~yin@user/zero) (Remote host closed the connection) |
2025-01-30 15:57:55 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2025-01-30 15:58:14 +0100 | euleritian | (~euleritia@dynamic-176-001-213-030.176.1.pool.telefonica.de) |
2025-01-30 16:01:42 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 272 seconds) |
2025-01-30 16:09:42 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f4679c2ce7937ff2475.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2025-01-30 16:12:55 +0100 | rstromlund | (~user@user/rstromlund) rstromlund |
2025-01-30 16:19:22 +0100 | jespada | (~jespada@2800:a4:220c:6700:19eb:694f:b602:3bcb) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-01-30 16:20:46 +0100 | jespada | (~jespada@2800:a4:220c:6700:19eb:694f:b602:3bcb) jespada |
2025-01-30 16:22:26 +0100 | jespada | (~jespada@2800:a4:220c:6700:19eb:694f:b602:3bcb) (Client Quit) |
2025-01-30 16:25:18 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2025-01-30 16:33:19 +0100 | <glguy> | I wouldn't expect there to be one |
2025-01-30 16:37:05 +0100 | divya | (divya@140.238.251.170) (Remote host closed the connection) |
2025-01-30 16:37:36 +0100 | Guest89 | (~Guest89@2a02:8206:7b34:9c00:8aeb:3316:75cf:6455) |
2025-01-30 16:40:25 +0100 | Guest64 | (~Guest64@2600:387:f:7e1b::1) |
2025-01-30 16:40:46 +0100 | divya | (divya@140.238.251.170) divya |
2025-01-30 16:45:45 +0100 | noteness_ | (~noteness@user/noteness) (Quit: bye) |
2025-01-30 16:45:46 +0100 | rvalue | (~rvalue@user/rvalue) (Remote host closed the connection) |
2025-01-30 16:45:59 +0100 | noteness | (~noteness@user/noteness) nessessary129 |
2025-01-30 16:46:10 +0100 | rvalue | (~rvalue@user/rvalue) rvalue |
2025-01-30 16:47:00 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 16:49:12 +0100 | SlackCoder | (~SlackCode@208.26.70.132) SlackCoder |
2025-01-30 16:51:24 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-01-30 16:54:04 +0100 | euleritian | (~euleritia@dynamic-176-001-213-030.176.1.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-01-30 16:54:21 +0100 | euleritian | (~euleritia@77.23.250.232) |
2025-01-30 16:56:19 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f4679c2ce7937ff2475.dip0.t-ipconnect.de) |
2025-01-30 16:57:41 +0100 | Guest64 | (~Guest64@2600:387:f:7e1b::1) (Killed (ozone (No Spam))) |
2025-01-30 16:59:05 +0100 | euleritian | (~euleritia@77.23.250.232) (Read error: Connection reset by peer) |
2025-01-30 16:59:22 +0100 | Guest64 | (~Guest64@68-251-36-232.lightspeed.wepbfl.sbcglobal.net) |
2025-01-30 16:59:48 +0100 | euleritian | (~euleritia@77.23.250.232) |
2025-01-30 17:00:07 +0100 | danza | (~danza@user/danza) danza |
2025-01-30 17:00:55 +0100 | Guest64 | (~Guest64@68-251-36-232.lightspeed.wepbfl.sbcglobal.net) (Killed (ozone (No Spam))) |
2025-01-30 17:04:52 +0100 | zaquest | (~notzaques@5.130.79.72) (Quit: Leaving) |
2025-01-30 17:18:14 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 17:18:29 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 248 seconds) |
2025-01-30 17:19:22 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 17:20:14 +0100 | Guest89 | (~Guest89@2a02:8206:7b34:9c00:8aeb:3316:75cf:6455) (Quit: Client closed) |
2025-01-30 17:22:22 +0100 | SlackCoder | (~SlackCode@208.26.70.132) (Quit: Leaving) |
2025-01-30 17:23:02 +0100 | jespada | (~jespada@2800:a4:220c:6700:19eb:694f:b602:3bcb) jespada |
2025-01-30 17:26:13 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:14a7:7f2d:4515:55f0) (Remote host closed the connection) |
2025-01-30 17:26:26 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 244 seconds) |
2025-01-30 17:27:14 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-a239-90d9-dcf7-f21b-c236.rev.sfr.net) (Remote host closed the connection) |
2025-01-30 17:30:55 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-afc6-692a-5599-d188-3ca4.rev.sfr.net) alexherbo2 |
2025-01-30 17:31:47 +0100 | danz94407 | (~danza@user/danza) danza |
2025-01-30 17:33:27 +0100 | danza | (~danza@user/danza) (Read error: Connection reset by peer) |
2025-01-30 17:36:37 +0100 | ft | (~ft@p3e9bcd97.dip0.t-ipconnect.de) ft |
2025-01-30 17:36:50 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
2025-01-30 17:37:05 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 17:41:25 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-01-30 17:50:34 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2025-01-30 17:53:53 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2025-01-30 17:54:36 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2025-01-30 17:57:10 +0100 | Guest64 | (~Guest64@133.cleveland-21-23rs.oh.dial-access.att.net) |
2025-01-30 17:57:30 +0100 | ColinRobinson | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-01-30 17:57:52 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-01-30 17:57:59 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-afc6-692a-5599-d188-3ca4.rev.sfr.net) (Remote host closed the connection) |
2025-01-30 18:01:06 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2025-01-30 18:01:34 +0100 | omegatron | (~some@user/omegatron) (Ping timeout: 265 seconds) |
2025-01-30 18:02:50 +0100 | Guest64 | (~Guest64@133.cleveland-21-23rs.oh.dial-access.att.net) (Quit: Client closed) |
2025-01-30 18:03:08 +0100 | Guest64 | (~Guest64@133.cleveland-21-23rs.oh.dial-access.att.net) |
2025-01-30 18:08:52 +0100 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2025-01-30 18:09:22 +0100 | Guest64 | (~Guest64@133.cleveland-21-23rs.oh.dial-access.att.net) (K-Lined) |
2025-01-30 18:09:25 +0100 | rvalue | (~rvalue@user/rvalue) rvalue |
2025-01-30 18:12:25 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f4679c2ce7937ff2475.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2025-01-30 18:20:04 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 260 seconds) |
2025-01-30 18:23:01 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 248 seconds) |
2025-01-30 18:24:19 +0100 | zmt01 | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
2025-01-30 18:25:02 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-01-30 18:25:51 +0100 | Midjak | (~MarciZ@82.66.147.146) Midjak |
2025-01-30 18:26:30 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 18:27:02 +0100 | danz94407 | (~danza@user/danza) (Remote host closed the connection) |
2025-01-30 18:27:18 +0100 | danza | (~danza@user/danza) danza |
2025-01-30 18:31:03 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 265 seconds) |
2025-01-30 18:40:26 +0100 | ColinRobinson | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-01-30 18:42:02 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2025-01-30 18:54:29 +0100 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in) |
2025-01-30 18:55:15 +0100 | Midjak | (~MarciZ@82.66.147.146) (Read error: Connection reset by peer) |
2025-01-30 18:55:28 +0100 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2025-01-30 18:56:06 +0100 | Midjak | (~MarciZ@82.66.147.146) Midjak |
2025-01-30 19:00:56 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 272 seconds) |
2025-01-30 19:05:25 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2025-01-30 19:06:11 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-01-30 19:11:07 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
2025-01-30 19:14:55 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2025-01-30 19:15:54 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 19:20:16 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-01-30 19:20:37 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds) |
2025-01-30 19:20:44 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2025-01-30 19:23:42 +0100 | Lord_of_Life_ | Lord_of_Life |
2025-01-30 19:25:54 +0100 | euleritian | (~euleritia@77.23.250.232) (Read error: Connection reset by peer) |
2025-01-30 19:28:50 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f4644f622875d25c5df.dip0.t-ipconnect.de) acidjnk |
2025-01-30 19:29:29 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
2025-01-30 19:31:24 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds) |
2025-01-30 19:35:54 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 260 seconds) |
2025-01-30 19:40:38 +0100 | alp | (~alp@2001:861:8ca0:4940:465c:30a2:2211:b30f) |
2025-01-30 19:43:25 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 19:43:39 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 19:43:47 +0100 | jespada | (~jespada@2800:a4:220c:6700:19eb:694f:b602:3bcb) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-01-30 19:44:59 +0100 | jespada | (~jespada@2800:a4:220c:6700:19eb:694f:b602:3bcb) jespada |
2025-01-30 19:48:00 +0100 | SlackCoder | (~SlackCode@remote.nationalgallery.org.ky) SlackCoder |
2025-01-30 19:48:41 +0100 | euouae | (~euouae@user/euouae) euouae |
2025-01-30 19:49:41 +0100 | SlackCoder | (~SlackCode@remote.nationalgallery.org.ky) (Client Quit) |
2025-01-30 19:49:47 +0100 | <euouae> | Hello, I have this small code to define my own monad with <https://paste.tomsmeding.com/KAANvlR5>. When I try `C1 (1 :: Int) >>= (\x -> C1 $ x + 1)` I get that the result of the evaluation is `C1 (1 :: Int) >>= (\x -> C1 $ x + 1) :: MyMonad Int`. |
2025-01-30 19:50:29 +0100 | <euouae> | But why is it not C1 2? I've found that deriving Show will make it say C1 2. I've also found that deriving Eq will make it == C1 2. But is it just stylistic or is there something deeper here with regards to evaluation? |
2025-01-30 19:51:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 19:56:33 +0100 | <geekosaur> | that doesn't look like the result of evaluation, only of typechecking? |
2025-01-30 19:58:32 +0100 | <ncf> | euouae: they're not called anything particular since there aren't any. |
2025-01-30 19:58:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-01-30 19:58:45 +0100 | <ncf> | (assuming f, a, b are universally quantified) |
2025-01-30 19:58:54 +0100 | <euouae> | It's what happens when I hit enter in the repl geekosaur -- ncf not sure what you're talking about |
2025-01-30 19:59:06 +0100 | <ncf> | <euouae> Hello functions of the type Functor f => f a -> f b, what are they called? |
2025-01-30 19:59:24 +0100 | <mauke> | euouae: what repl? |
2025-01-30 19:59:31 +0100 | <euouae> | ncf, oh yeah I get what you mean, thank you |
2025-01-30 19:59:52 +0100 | <euouae> | mauke: Interactive-Haskell in Emacs |
2025-01-30 20:00:42 +0100 | zlqrvx | (~zlqrvx@user/zlqrvx) (Ping timeout: 252 seconds) |
2025-01-30 20:01:51 +0100 | <geekosaur> | fwiw I tried that here and I got a "No instance for `Show (MyMonad Int)` |
2025-01-30 20:01:56 +0100 | <geekosaur> | which I would expect |
2025-01-30 20:02:18 +0100 | <euouae> | I see, ok. It's just a style thing, it's not related to evaluation |
2025-01-30 20:02:29 +0100 | <euouae> | For w/e reason my repl shows it like it does |
2025-01-30 20:02:45 +0100 | <geekosaur> | prob ably defaults to showing the type if it can't show the value |
2025-01-30 20:02:54 +0100 | <euouae> | expr + type yeah |
2025-01-30 20:04:09 +0100 | <mauke> | :t 1 + 2 * 3 |
2025-01-30 20:04:10 +0100 | <lambdabot> | Num a => a |
2025-01-30 20:04:58 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 20:05:10 +0100 | zlqrvx | (~zlqrvx@user/zlqrvx) zlqrvx |
2025-01-30 20:09:08 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-01-30 20:09:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 20:10:54 +0100 | Pozyomka_ | (~pyon@user/pyon) pyon |
2025-01-30 20:11:42 +0100 | Pozyomka | (~pyon@user/pyon) (Ping timeout: 276 seconds) |
2025-01-30 20:12:42 +0100 | <euouae> | Now if I have a `data MyMonad = C Int Int`, how can I make it monadic in the second argument? How can I make it monadic in the first argument? |
2025-01-30 20:13:04 +0100 | <euouae> | something like `instance Functor (MyMonad Int) where` to begin with doesn't seem to work |
2025-01-30 20:13:08 +0100 | <[exa]> | euouae: but MyMonad has no arguments? |
2025-01-30 20:13:23 +0100 | <euouae> | Doesn't its constructor have two arguments |
2025-01-30 20:13:31 +0100 | <euouae> | Ah, so you need it to be a * -> * |
2025-01-30 20:13:53 +0100 | <[exa]> | that's the data constructor, that's ok. You need a type-level parameter though, because `fmap` and other functions are supposed to mess with that type |
2025-01-30 20:14:02 +0100 | <[exa]> | (so they need the variable there) |
2025-01-30 20:14:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 20:15:07 +0100 | <euouae> | well let's revise to `data MyMonad a b = C a b` |
2025-01-30 20:15:23 +0100 | <[exa]> | (e.g. `fmap length` normally has type Functor f => f [a] -> f Int. If you used MyMonad instead of `f`, it wouldn't have a space to store the information about "what's inside" |
2025-01-30 20:15:35 +0100 | <[exa]> | yap that should work |
2025-01-30 20:16:02 +0100 | <euouae> | what are the right instance definitions for Functor, etc? I can't use 'MyMonad' because it is not the right kind |
2025-01-30 20:16:21 +0100 | <tomsmeding> | 'Monad' (and 'Functor', etc.) requires its argument to be of kind Type -> Type (traditionally written * -> *) |
2025-01-30 20:16:23 +0100 | <euouae> | oh, instance Functor (MyMonad a) where works |
2025-01-30 20:16:28 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-afc6-21c9-80c8-175a-acbd.rev.sfr.net) alexherbo2 |
2025-01-30 20:16:28 +0100 | MyNetAz | (~MyNetAz@user/MyNetAz) (Remote host closed the connection) |
2025-01-30 20:16:34 +0100 | <tomsmeding> | that means that it should be a thing that takes one more type argument, and then produces an actual type |
2025-01-30 20:16:53 +0100 | <[exa]> | euouae: it's quite useful to start with the standard ones, for example a good workalike for your MyMonad would be a tuple type ( instance Functor ((,) a) ) |
2025-01-30 20:16:57 +0100 | <tomsmeding> | that "one" there is significant: it means that if a data type is an instance of Functor/Applicative/Monad, it is in its _last_ type parameter |
2025-01-30 20:17:14 +0100 | <euouae> | yeah I get that there's an order involved |
2025-01-30 20:17:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 20:17:47 +0100 | <euouae> | So my whole exercise today is to try and shed some light into megaparsec's parser types. I had the intuition (maybe faulty?) that monads act like composable state machines |
2025-01-30 20:17:49 +0100 | <tomsmeding> | `data MyMonad a b` cannot be a "monad in 'a'", it will always be "in 'b'", and the instance will say (MyMonad a) |
2025-01-30 20:18:05 +0100 | <euouae> | where you feed the machine 'stuff' with >>= and it evolves. Maybe it's the wrong way to think about it? |
2025-01-30 20:18:26 +0100 | <tomsmeding> | a State monad is essentially a composable state machine, yes |
2025-01-30 20:18:29 +0100 | <euouae> | tomsmeding: I get it, * is not the same kind as (* -> *) |
2025-01-30 20:18:31 +0100 | <tomsmeding> | not necessarily a _finite_ state machine |
2025-01-30 20:18:47 +0100 | <tomsmeding> | a parser monad is typically a combination between at least a State monad and an exception monad |
2025-01-30 20:19:05 +0100 | <euouae> | but why do you qualify with State and exception, aren't all monads essentially composable state machines? |
2025-01-30 20:19:10 +0100 | <tomsmeding> | sometimes also a nondeterminism monad if you want to return all possible parses of a particular input (megaparsec doesn't do that) |
2025-01-30 20:19:12 +0100 | <euouae> | it seems evolutoin comes with >>= |
2025-01-30 20:19:20 +0100 | <tomsmeding> | `Maybe` is not a state machine |
2025-01-30 20:19:27 +0100 | <euouae> | Why not? |
2025-01-30 20:19:34 +0100 | <tomsmeding> | what's the state? |
2025-01-30 20:19:52 +0100 | <euouae> | its two constructors |
2025-01-30 20:20:04 +0100 | <tomsmeding> | a function `a -> Maybe b`, when seen as a monadic function, is a function from `a` to `b` that might also crash |
2025-01-30 20:20:08 +0100 | Square | (~Square@user/square) Square |
2025-01-30 20:20:25 +0100 | <euouae> | Maybe I have a broader idea of state machine than you or maybe I'm wrong |
2025-01-30 20:20:34 +0100 | <tomsmeding> | a function `a -> Either String b`, in the same way, is a function from `a` to `b` that might also throw an error string |
2025-01-30 20:20:51 +0100 | <mauke> | I don't really see how >>= is feeding |
2025-01-30 20:20:52 +0100 | <[exa]> | euouae: if restricted to "stateful" monads I think the state machine intuition would kinda work, it's just the thing that there are much more kinds of monads |
2025-01-30 20:20:55 +0100 | <tomsmeding> | a function `a -> State s b` is a function that maps `a` to `b` and in the mean time modifies a state of type `s` |
2025-01-30 20:21:06 +0100 | <tomsmeding> | this last one can decently be called a state machine |
2025-01-30 20:21:36 +0100 | <euouae> | I'm not familiar with `State` yet, so before we go there, maybe if you can tell me a bit more about why Maybe is not a state machine |
2025-01-30 20:21:57 +0100 | <tomsmeding> | euouae: I see a state machine as a box that has some internal state, and that you can send events to and it responds to those events and updates its state |
2025-01-30 20:22:05 +0100 | <euouae> | mauke, well e.g. `Just 1 >>= (\x -> x + 1)` will give you Just 2. You had the state Just 1; now you have the state Just 2 with input the x+1 calculation. |
2025-01-30 20:22:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-01-30 20:22:13 +0100 | <[exa]> | you can look at Maybe as a state machine too, with 2 states (the one that carries data and the one that has failed already) |
2025-01-30 20:22:15 +0100 | <tomsmeding> | > Just 1 >>= \x -> Just (x + 1) |
2025-01-30 20:22:17 +0100 | <lambdabot> | Just 2 |
2025-01-30 20:22:19 +0100 | <tomsmeding> | you need the second Just |
2025-01-30 20:22:36 +0100 | <tomsmeding> | euouae: if you have a function `Int -> Int`, is that also a state machine? |
2025-01-30 20:22:53 +0100 | <tomsmeding> | you had a state of type Int, and you get back a new one |
2025-01-30 20:23:14 +0100 | <euouae> | tomsmeding: I see your point about it being stateless; but if the Int -> Int function is algorithmic, it is the computation of a state machine |
2025-01-30 20:23:24 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 246 seconds) |
2025-01-30 20:23:26 +0100 | <tomsmeding> | at that point all programs are state machines :p |
2025-01-30 20:23:29 +0100 | MyNetAz | (~MyNetAz@user/MyNetAz) MyNetAz |
2025-01-30 20:23:32 +0100 | <[exa]> | <3 |
2025-01-30 20:23:33 +0100 | <tomsmeding> | and it's not a useful label to attach to programs any more |
2025-01-30 20:23:34 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
2025-01-30 20:23:45 +0100 | <mauke> | in particular, it's no longer specific to monads or >>= |
2025-01-30 20:23:52 +0100 | <euouae> | Yeah but 'composable' state machines is where I like the idea -- that';s what makes monads different |
2025-01-30 20:24:01 +0100 | <tomsmeding> | functions are the ultimate composable thing! |
2025-01-30 20:24:06 +0100 | <euouae> | Well, perhaps it is faulty intuition. |
2025-01-30 20:24:08 +0100 | <mauke> | > ((* 2) . (+ 1)) 3 |
2025-01-30 20:24:10 +0100 | <lambdabot> | 8 |
2025-01-30 20:24:12 +0100 | <mauke> | composes fine |
2025-01-30 20:24:33 +0100 | <euouae> | I don't mean functionally composable, I mean that their state machine rule sets compose |
2025-01-30 20:24:46 +0100 | <mauke> | where do you see a rule set? |
2025-01-30 20:24:54 +0100 | <euouae> | In the definition of >>= in the instance of Monad |
2025-01-30 20:25:11 +0100 | <tomsmeding> | the only intuition that I know for monads that can still sensibly be called an "intuition", but nevertheless scales to the vast majority of monads (if not all of them), is "overloaded semicolon" |
2025-01-30 20:25:26 +0100 | <tomsmeding> | the more concrete / simple you make your intuition of monads, the less actual monads it applies to |
2025-01-30 20:25:40 +0100 | <mauke> | look, it's simple: magic boxes |
2025-01-30 20:25:48 +0100 | <tomsmeding> | "burrito" works fine for a State monad, but it makes little sense for the Maybe monad already |
2025-01-30 20:26:00 +0100 | <mauke> | anything that doesn't fit into the box model just uses more magic |
2025-01-30 20:26:15 +0100 | <tomsmeding> | mauke: I'd call that one not even an intuition any more. :P |
2025-01-30 20:26:28 +0100 | <mauke> | works for me! |
2025-01-30 20:27:08 +0100 | <euouae> | maybe I should look more into the state monad at this point |
2025-01-30 20:27:15 +0100 | <mauke> | have you never opened a box and found N copies of yourself in N different parallel universes? |
2025-01-30 20:27:43 +0100 | <tomsmeding> | not consciously |
2025-01-30 20:27:53 +0100 | CiaoSen | (~Jura@2a05:5800:241:f200:ca4b:d6ff:fec1:99da) CiaoSen |
2025-01-30 20:29:04 +0100 | <euouae> | btw with Int -> Int you'd have to restrict to recursively defined functions, i.e. computable |
2025-01-30 20:29:30 +0100 | <euouae> | I don't know if state machines can be noncomputable, because I think of them in terms of rule sets (algorithmic) |
2025-01-30 20:29:36 +0100 | <mauke> | how do I wrote an uncomputable function |
2025-01-30 20:29:49 +0100 | <euouae> | I think Goedel's numbering will help you |
2025-01-30 20:32:48 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-afc6-21c9-80c8-175a-acbd.rev.sfr.net) (Remote host closed the connection) |
2025-01-30 20:32:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 20:33:07 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-afc6-21c9-80c8-175a-acbd.rev.sfr.net) alexherbo2 |
2025-01-30 20:34:46 +0100 | <[exa]> | euouae: btw are you familiar with how applicatives work? these are essentially the same thing but waaaaaaaaaaaaay more accessible for intuition |
2025-01-30 20:35:12 +0100 | <tomsmeding> | euouae: if you think of Int -> Int as a state transformer, then a monad is a state transformer _that also does something else_ |
2025-01-30 20:35:38 +0100 | <[exa]> | > Just (+) <*> Just 1 <*> Just 3 -- euouae try replacing one with Nothing |
2025-01-30 20:35:40 +0100 | <lambdabot> | Just 4 |
2025-01-30 20:35:52 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-01-30 20:36:17 +0100 | <tomsmeding> | for most monads, like Maybe, Either, State, etc., that "do something else" is actually implemented under the hood with normal functions; for things like IO, that "do something else" is unsafe magic |
2025-01-30 20:37:02 +0100 | <tomsmeding> | but in the land of the monad, when you're not thinking of how the monad is implemented, you're writing functions (state transformers) that also have an additional _effect_ apart from just mapping its input to an output |
2025-01-30 20:37:20 +0100 | <tomsmeding> | in the Maybe monad, you map inputs to an output _but you may also crash_ |
2025-01-30 20:37:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 20:37:42 +0100 | <tomsmeding> | in the (State s) monad, you map inputs to an output _but you may also read/write some additional state of type 's'_ |
2025-01-30 20:37:44 +0100 | Digit | (~user@user/digit) (Ping timeout: 260 seconds) |
2025-01-30 20:39:07 +0100 | <tomsmeding> | something like `runState :: State s a -> s -> (a, s)` allows you to lift the veil and expose the actual pure functions underneath |
2025-01-30 20:39:52 +0100 | <tomsmeding> | in this case turning a computation which produces an 'a' into a function that takes an initial additional-state, and produces that 'a' together with the final additional-state |
2025-01-30 20:41:28 +0100 | <tomsmeding> | the equivalent of a "run" function for the Maybe monad would be to simply case-match on the Maybe value, showing you whether the computation produced a result (Just) or crashed (Nothing) |
2025-01-30 20:41:50 +0100 | <tomsmeding> | _inside_ the Maybe monad, you cannot see what happened, you're just part of a computation that may crash at some point |
2025-01-30 20:41:59 +0100 | <tomsmeding> | it's like the Matrix |
2025-01-30 20:42:14 +0100 | <tomsmeding> | (which is a dangerous analogy to make because I haven't actually seen that film) |
2025-01-30 20:43:14 +0100 | <tomsmeding> | euouae: the intuition I'm trying to convey here is completely unrelated to what [exa] was trying to get at with the mention of Applicative. :P |
2025-01-30 20:43:36 +0100 | <tomsmeding> | mine here is a programmer's intuition, not an algebraic one |
2025-01-30 20:43:51 +0100 | <tomsmeding> | algebraically, a monad is just a monoid in the category of endofunctors |
2025-01-30 20:45:36 +0100 | <euouae> | you haven't seen the matrix? the weekend is approaching. |
2025-01-30 20:45:37 +0100 | Digit | (~user@user/digit) Digit |
2025-01-30 20:46:16 +0100 | <euouae> | I'm also trying to get the programming intuition; as for the category stuff, I mostly don't have any intuition, apart for very small things I've figured out on my own (but unrelated to programming?) |
2025-01-30 20:46:24 +0100 | <tomsmeding> | (>>=) in monadic land corresponds to (&) = flip ($) in normal function land; (>=>) in monadic land corresponds to flip (.) in normal function land |
2025-01-30 20:46:59 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-01-30 20:47:00 +0100 | <tomsmeding> | :t flip ($) |
2025-01-30 20:47:01 +0100 | <lambdabot> | a -> (a -> c) -> c |
2025-01-30 20:47:04 +0100 | <tomsmeding> | :t (>>=) |
2025-01-30 20:47:04 +0100 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
2025-01-30 20:47:14 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-01-30 20:47:39 +0100 | <tomsmeding> | the things are flipped because unlike with normal functions, in monadic land, order of execution matters |
2025-01-30 20:48:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 20:48:50 +0100 | <tomsmeding> | (>>=) executes the argument (performing any side effects if necessary), and then applies the function to the result |
2025-01-30 20:49:02 +0100 | <euouae> | I'm going to think about this more. There's things in Haskell that scare me away but there's other things I like (after coming back to it) and I want to try some parsing stuff with megaparsec |
2025-01-30 20:49:35 +0100 | <euouae> | In particular my IDE experience is really, really nice. I'll later look into debugging, but if that's good too then awesome |
2025-01-30 20:49:48 +0100 | <tomsmeding> | debugging haskell is honestly kind of crappy |
2025-01-30 20:49:56 +0100 | <tomsmeding> | the ghci debugger exists but few people use it |
2025-01-30 20:49:57 +0100 | <euouae> | hm... well. can't have it all. |
2025-01-30 20:50:17 +0100 | <euouae> | for example is there a way to query what the type checker thinks of an expression in the middle of a big expression? |
2025-01-30 20:50:19 +0100 | <euouae> | that'd be type debugging |
2025-01-30 20:50:33 +0100 | <tomsmeding> | oh for sure, the language server supports type queries |
2025-01-30 20:50:55 +0100 | <nitrix> | Most LSP integrations will tell you that. You can also put a type hole with _ and see what the compiler thinks. |
2025-01-30 20:50:59 +0100 | <tomsmeding> | for runtime debugging, the most reliable go-to is still "printf debugging" with Debug.Trace |
2025-01-30 20:51:17 +0100 | zmt00 | (~zmt00@user/zmt00) zmt00 |
2025-01-30 20:51:41 +0100 | <euouae> | I'll come to that later at some point. Printf debugging is not the best but it is what it is |
2025-01-30 20:51:51 +0100 | <nitrix> | > 1 + _ |
2025-01-30 20:51:56 +0100 | <lambdabot> | error: |
2025-01-30 20:51:56 +0100 | <lambdabot> | • Found hole: _ :: a |
2025-01-30 20:51:56 +0100 | <lambdabot> | Where: ‘a’ is a rigid type variable bound by |
2025-01-30 20:52:03 +0100 | <tomsmeding> | > "hi" ++ _ |
2025-01-30 20:52:07 +0100 | <lambdabot> | error: |
2025-01-30 20:52:07 +0100 | <lambdabot> | • Found hole: _ :: [Char] |
2025-01-30 20:52:07 +0100 | <lambdabot> | • In the second argument of ‘(++)’, namely ‘_’ |
2025-01-30 20:52:22 +0100 | <euouae> | Ah nice tha'ts a cool trick thank you |
2025-01-30 20:52:28 +0100 | <euouae> | yeah because I wanted something for the REPL too |
2025-01-30 20:52:33 +0100 | <euouae> | not just lsp stuff in files |
2025-01-30 20:52:37 +0100 | <nitrix> | I guess the Num a => a on the other lines gets truncated in the response. |
2025-01-30 20:52:43 +0100 | <tomsmeding> | % :t "hi" |
2025-01-30 20:52:43 +0100 | <yahb2> | "hi" :: String |
2025-01-30 20:52:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 20:52:55 +0100 | <tomsmeding> | euouae: ':t' shows the type of an expression |
2025-01-30 20:53:09 +0100 | <euouae> | yup, can't use it in the middle of stuff though |
2025-01-30 20:53:23 +0100 | <euouae> | where I'm trying to understand what the type checker is "thinking" |
2025-01-30 20:53:38 +0100 | <euouae> | in terms of ... I'm lacking the terms, but whatever the polymorphism and other derivations are |
2025-01-30 20:53:40 +0100 | <nitrix> | Type inference is the term you're looking for. |
2025-01-30 20:54:05 +0100 | <euouae> | right unfortunately there's normal debugging and type debugging when you write haskell |
2025-01-30 20:54:10 +0100 | <euouae> | I'm sure it gets better with practice |
2025-01-30 20:56:02 +0100 | danza | (~danza@user/danza) (Remote host closed the connection) |
2025-01-30 20:56:18 +0100 | danza | (~danza@user/danza) danza |
2025-01-30 20:56:22 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 20:57:51 +0100 | <nitrix> | Normal debugging yes, type debugging no. The more you know, the more tempted you are to use sophisticated types. |
2025-01-30 21:00:03 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-01-30 21:00:41 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-01-30 21:00:49 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 248 seconds) |
2025-01-30 21:01:21 +0100 | zmt01 | (~zmt00@user/zmt00) zmt00 |
2025-01-30 21:03:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 21:04:44 +0100 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
2025-01-30 21:08:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-01-30 21:09:31 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
2025-01-30 21:18:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 21:25:39 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2025-01-30 21:28:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 21:31:10 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-01-30 21:31:38 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f4644f622875d25c5df.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2025-01-30 21:31:57 +0100 | danz96699 | (~danza@user/danza) danza |
2025-01-30 21:34:16 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2025-01-30 21:34:50 +0100 | danza | (~danza@user/danza) (Ping timeout: 272 seconds) |
2025-01-30 21:37:53 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f4679216c0ad7f4b91d.dip0.t-ipconnect.de) acidjnk |
2025-01-30 21:38:50 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 21:43:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-01-30 21:45:27 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 21:47:19 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 260 seconds) |
2025-01-30 21:48:11 +0100 | Midjak | (~MarciZ@82.66.147.146) (Quit: Leaving) |
2025-01-30 21:50:04 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-01-30 21:52:24 +0100 | danz96699 | (~danza@user/danza) (Remote host closed the connection) |
2025-01-30 21:52:40 +0100 | danza | (~danza@user/danza) danza |
2025-01-30 21:55:29 +0100 | CiaoSen | (~Jura@2a05:5800:241:f200:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds) |
2025-01-30 21:56:33 +0100 | takuan | (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
2025-01-30 21:58:50 +0100 | danza | (~danza@user/danza) (Remote host closed the connection) |
2025-01-30 21:59:23 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 22:01:34 +0100 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
2025-01-30 22:03:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-01-30 22:04:51 +0100 | alx741 | (~alx741@186.33.188.229) (Quit: alx741) |
2025-01-30 22:06:23 +0100 | danza | (~danza@user/danza) danza |
2025-01-30 22:08:45 +0100 | nullie | (~nullie@nuremberg.nullie.name) nullie |
2025-01-30 22:09:03 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) (Quit: Client closed) |
2025-01-30 22:09:19 +0100 | Googulator | (~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu) |
2025-01-30 22:14:27 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-01-30 22:14:40 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-afc6-21c9-80c8-175a-acbd.rev.sfr.net) (Remote host closed the connection) |
2025-01-30 22:15:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 22:15:51 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-afc6-514f-10cf-f60a-1cf5.rev.sfr.net) alexherbo2 |
2025-01-30 22:19:27 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-afc6-514f-10cf-f60a-1cf5.rev.sfr.net) (Remote host closed the connection) |
2025-01-30 22:23:30 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-01-30 22:34:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 22:34:39 +0100 | jespada | (~jespada@2800:a4:220c:6700:19eb:694f:b602:3bcb) (Ping timeout: 246 seconds) |
2025-01-30 22:35:10 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-30 22:37:03 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2025-01-30 22:39:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-01-30 22:39:31 +0100 | <dminuoso> | euouae: The general technique to avoid or deal with typing errors generally, is to annotate as much as you can. |
2025-01-30 22:39:39 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-01-30 22:39:40 +0100 | <dminuoso> | The more the type checker is constrained, the less it can infer and generalize. |
2025-01-30 22:40:46 +0100 | <dminuoso> | Maybe it helps to think of generalization not as something that lets you avoid writing type signatures, but a feature that lets you write quantified types very liberally. |
2025-01-30 22:41:20 +0100 | sprotte24 | (~sprotte24@p200300d16f0f520069bfd2b9cee1df34.dip0.t-ipconnect.de) |
2025-01-30 22:41:56 +0100 | <dminuoso> | It's an unfortunate consequence of advanced type systems, that you get type unification errors in seemingly random places unrelated to the mistake. |
2025-01-30 22:42:20 +0100 | <dminuoso> | But by annotating as much as you can, you greatly limit how far these unification errors can propagate. |
2025-01-30 22:42:56 +0100 | <dminuoso> | Plus, the type annotations help document your code, so twice the reason to annotate everything with a type. |
2025-01-30 22:45:01 +0100 | <euouae> | interesting, will do |
2025-01-30 22:47:29 +0100 | <dminuoso> | euouae: There's some potential to improve GHC errors that we bring up every now and then. Some ML languages have whats called a type error slicer, which essentially marks all the spots in your program that somehow contributed to a given type error. |
2025-01-30 22:47:53 +0100 | <dminuoso> | It still would not necessarily pin point to the cause, but you could at least identify all the moving parts that dont fit for some reason. |
2025-01-30 22:48:10 +0100 | <dminuoso> | But alas, there is not even a WIP for this in GHC. |
2025-01-30 22:48:40 +0100 | <euouae> | That's exactly the situation that happened some days ago when I asked a megaparsec question here and you answered it |
2025-01-30 22:48:52 +0100 | <euouae> | it was some type inference issue where the error was unrelated to the actual issue |
2025-01-30 22:49:41 +0100 | <dminuoso> | euouae: In hindsight, it was quite related. |
2025-01-30 22:49:42 +0100 | <haskellbridge> | <sm> euouae: would adding more type signatures have helped ? It's very good advice |
2025-01-30 22:49:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-01-30 22:50:39 +0100 | <euouae> | dminuoso: experienced haskellers obviously see it differently from novices ;) if you know a lot of C++ you can figure out what the template errors are as well... |
2025-01-30 22:51:10 +0100 | <dminuoso> | euouae: I think the error was not that complicated. The main reason it took me a moment, was because I had no mental picture of the types involved. |
2025-01-30 22:51:29 +0100 | <dminuoso> | C++ template instantiation errors are.. something else. |
2025-01-30 22:51:31 +0100 | <euouae> | well my point is that /you/ could do it and I couldn't :P |
2025-01-30 22:51:36 +0100 | <dminuoso> | Fair. |
2025-01-30 22:52:11 +0100 | <haskellbridge> | <sm> troubleshooting complex problems over irc is pretty hard sometimes |
2025-01-30 22:52:49 +0100 | connrs | (~connrs@user/connrs) (Quit: ZNC 1.9.1 - https://znc.in) |
2025-01-30 22:55:01 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds) |
2025-01-30 22:56:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-01-30 22:58:07 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-01-30 22:58:27 +0100 | monochrm | (trebla@216.138.220.146) |
2025-01-30 22:59:46 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 248 seconds) |
2025-01-30 22:59:46 +0100 | monochrm | monochrom |
2025-01-30 23:02:59 +0100 | connrs | (~connrs@user/connrs) connrs |
2025-01-30 23:04:07 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-01-30 23:06:00 +0100 | danza | (~danza@user/danza) () |
2025-01-30 23:07:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |