2025-04-26 00:01:05 +0200 | <EvanR> | sanity check, is there some special type called St, I can't seem to find the definition |
2025-04-26 00:01:42 +0200 | <EvanR> | eval :: Tree -> St Value |
2025-04-26 00:01:45 +0200 | <haskellbridge> | <hellwolf> "data NeoHaskell = Void" |
2025-04-26 00:02:06 +0200 | <haskellbridge> | <hellwolf> * "type |
2025-04-26 00:03:05 +0200 | LainIwakura41 | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-04-26 00:06:29 +0200 | <EvanR> | type St = StateT Context (ExceptT Error IO) |
2025-04-26 00:06:30 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Ping timeout: 240 seconds) |
2025-04-26 00:06:44 +0200 | <monochrom> | I haven't heard of St. |
2025-04-26 00:07:27 +0200 | <EvanR> | wasn't a type at all but a synonym... |
2025-04-26 00:29:22 +0200 | <mauke> | St Francis |
2025-04-26 00:39:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 00:47:22 +0200 | <haskellbridge> | <hellwolf> {-# LANGUAGE OverloadedRecordDot #-} |
2025-04-26 00:47:22 +0200 | <haskellbridge> | St. Francis |
2025-04-26 00:48:20 +0200 | <monochrom> | OverlordDotComDot |
2025-04-26 00:49:13 +0200 | nek0 | (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat) |
2025-04-26 00:51:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 00:56:22 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-04-26 00:56:47 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-04-26 00:58:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-26 01:09:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 01:13:19 +0200 | sprotte24 | (~sprotte24@p200300d16f05f30064a5653bc6ebb7c1.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2025-04-26 01:15:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 01:17:08 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2025-04-26 01:18:41 +0200 | euleritian | (~euleritia@77.23.248.47) |
2025-04-26 01:21:26 +0200 | Square2 | (~Square@user/square) Square |
2025-04-26 01:21:32 +0200 | Square | (~Square@user/square) (Remote host closed the connection) |
2025-04-26 01:24:02 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) (Remote host closed the connection) |
2025-04-26 01:25:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 01:27:28 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2025-04-26 01:31:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 01:35:32 +0200 | shr\ke | (~shrike@user/paxhumana) (Ping timeout: 252 seconds) |
2025-04-26 01:35:41 +0200 | shr\ke | (~shrike@user/paxhumana) paxhumana |
2025-04-26 01:35:42 +0200 | shr\ke | (~shrike@user/paxhumana) (Changing host) |
2025-04-26 01:35:42 +0200 | shr\ke | (~shrike@user/shrke:31298) shr\ke |
2025-04-26 01:41:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 01:47:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 01:57:30 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 02:02:29 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-26 02:04:37 +0200 | jespada | (~jespada@179.26.245.3) (Ping timeout: 252 seconds) |
2025-04-26 02:13:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 02:18:04 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-26 02:28:29 +0200 | ZLima12 | (~zlima12@user/meow/ZLima12) (Remote host closed the connection) |
2025-04-26 02:29:04 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 02:29:38 +0200 | ZLima12 | (~zlima12@user/meow/ZLima12) ZLima12 |
2025-04-26 02:40:43 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f84d9d34579eebef444.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-04-26 02:43:22 +0200 | otto_s | (~user@p4ff2799b.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2025-04-26 02:45:16 +0200 | otto_s | (~user@p5b044fbe.dip0.t-ipconnect.de) |
2025-04-26 02:52:47 +0200 | euleritian | (~euleritia@77.23.248.47) (Remote host closed the connection) |
2025-04-26 02:53:05 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) |
2025-04-26 03:03:28 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2025-04-26 03:14:30 +0200 | Pozyomka | (~pyon@user/pyon) (Read error: Connection reset by peer) |
2025-04-26 03:16:34 +0200 | arahael | (~arahael@user/arahael) arahael |
2025-04-26 03:21:52 +0200 | Buliarous | (~gypsydang@46.232.210.139) (Remote host closed the connection) |
2025-04-26 03:22:20 +0200 | Buliarous | (~gypsydang@46.232.210.139) Buliarous |
2025-04-26 03:32:27 +0200 | tv | (~tv@user/tv) (Quit: derp) |
2025-04-26 03:33:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 03:34:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 03:35:32 +0200 | tv | (~tv@user/tv) tv |
2025-04-26 03:38:26 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
2025-04-26 03:38:59 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
2025-04-26 03:43:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-26 03:44:11 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 03:49:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-26 03:51:08 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) |
2025-04-26 03:59:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 04:03:08 +0200 | Square2 | (~Square@user/square) (Ping timeout: 244 seconds) |
2025-04-26 04:12:56 +0200 | drewr | (~drew@user/drewr) (Ping timeout: 272 seconds) |
2025-04-26 04:15:38 +0200 | Pozyomka | (~pyon@user/pyon) pyon |
2025-04-26 04:22:08 +0200 | td_ | (~td@i5387092B.versanet.de) (Ping timeout: 276 seconds) |
2025-04-26 04:23:46 +0200 | td_ | (~td@i5387090C.versanet.de) td_ |
2025-04-26 04:28:43 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2025-04-26 04:29:02 +0200 | euleritian | (~euleritia@dynamic-176-006-135-115.176.6.pool.telefonica.de) |
2025-04-26 04:32:51 +0200 | poscat0x04 | (~poscat@user/poscat) poscat |
2025-04-26 04:36:04 +0200 | poscat | (~poscat@user/poscat) (Ping timeout: 268 seconds) |
2025-04-26 04:47:46 +0200 | down200 | (~down200@shell.lug.mtu.edu) (Quit: ZNC - https://znc.in) |
2025-04-26 04:54:25 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2025-04-26 04:55:47 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2025-04-26 05:02:42 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 252 seconds) |
2025-04-26 05:02:59 +0200 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-04-26 05:03:22 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-04-26 05:04:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-26 05:10:53 +0200 | down200 | (~down200@shell.lug.mtu.edu) down200 |
2025-04-26 05:12:58 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2025-04-26 05:13:36 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2025-04-26 05:14:37 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2025-04-26 05:15:03 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2025-04-26 05:16:04 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 05:20:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-26 05:26:33 +0200 | aforemny_ | (~aforemny@i59f4c58e.versanet.de) aforemny |
2025-04-26 05:27:34 +0200 | aforemny | (~aforemny@2001:9e8:6ce4:fd00:2b9b:42c6:1d6:b68) (Ping timeout: 260 seconds) |
2025-04-26 05:31:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 05:52:41 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-26 06:12:06 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) hgolden |
2025-04-26 06:18:16 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) (Remote host closed the connection) |
2025-04-26 06:19:48 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-26 06:21:04 +0200 | j1n37- | (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
2025-04-26 06:21:22 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-04-26 06:21:53 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) hgolden |
2025-04-26 06:36:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-26 06:44:05 +0200 | takuan | (~takuan@d8D86B601.access.telenet.be) |
2025-04-26 06:48:10 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:6538:81e8:865e:540d) (Read error: Connection reset by peer) |
2025-04-26 06:49:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 06:51:21 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2025-04-26 06:51:37 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-04-26 06:53:34 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving) |
2025-04-26 06:54:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 07:00:47 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) (Remote host closed the connection) |
2025-04-26 07:02:10 +0200 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
2025-04-26 07:03:18 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) hgolden |
2025-04-26 07:04:38 +0200 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-04-26 07:05:16 +0200 | euleritian | (~euleritia@dynamic-176-006-135-115.176.6.pool.telefonica.de) (Ping timeout: 276 seconds) |
2025-04-26 07:05:27 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 07:05:34 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 260 seconds) |
2025-04-26 07:05:53 +0200 | euleritian | (~euleritia@77.23.248.47) |
2025-04-26 07:23:28 +0200 | Buliarous | (~gypsydang@46.232.210.139) (Remote host closed the connection) |
2025-04-26 07:23:56 +0200 | Buliarous | (~gypsydang@46.232.210.139) Buliarous |
2025-04-26 07:26:30 +0200 | sm | (~znc@plaintextaccounting/sm) (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) |
2025-04-26 07:26:57 +0200 | sm | (znc@plaintextaccounting/sm) sm |
2025-04-26 07:31:12 +0200 | j1n37- | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
2025-04-26 07:34:54 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-26 07:36:29 +0200 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
2025-04-26 07:39:34 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-26 07:42:52 +0200 | dontdieych2 | (~quassel@user/dontdieych2) dontdieych2 |
2025-04-26 08:02:35 +0200 | pabs3 | (~pabs3@user/pabs3) (Read error: Connection reset by peer) |
2025-04-26 08:03:09 +0200 | pabs3 | (~pabs3@user/pabs3) pabs3 |
2025-04-26 08:04:44 +0200 | takuan | (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
2025-04-26 08:05:50 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
2025-04-26 08:07:08 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-26 08:11:05 +0200 | machinedgod | (~machinedg@108.173.18.100) (Ping timeout: 260 seconds) |
2025-04-26 08:11:29 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-26 08:13:52 +0200 | Typedfern | (~Typedfern@242.red-83-37-36.dynamicip.rima-tde.net) |
2025-04-26 08:14:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 08:14:48 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 08:15:06 +0200 | Typedfern | (~Typedfern@242.red-83-37-36.dynamicip.rima-tde.net) (Remote host closed the connection) |
2025-04-26 08:16:11 +0200 | Typedfern | (~Typedfern@242.red-83-37-36.dynamicip.rima-tde.net) typedfern |
2025-04-26 08:17:26 +0200 | typedfern_ | (~Typedfern@242.red-83-37-36.dynamicip.rima-tde.net) (Ping timeout: 276 seconds) |
2025-04-26 08:19:36 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-26 08:21:45 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) (Quit: WeeChat 4.6.1) |
2025-04-26 08:30:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 08:35:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-26 08:40:25 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) jmcantrell |
2025-04-26 08:46:27 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 08:50:36 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 264 seconds) |
2025-04-26 08:57:00 +0200 | euleritian | (~euleritia@77.23.248.47) (Read error: Connection reset by peer) |
2025-04-26 08:57:13 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 08:58:12 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) |
2025-04-26 09:00:03 +0200 | caconym7 | (~caconym@user/caconym) (Quit: bye) |
2025-04-26 09:00:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-26 09:00:43 +0200 | caconym7 | (~caconym@user/caconym) caconym |
2025-04-26 09:01:50 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 09:02:46 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Client Quit) |
2025-04-26 09:03:52 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09f807266196b93226.dip0.t-ipconnect.de) acidjnk |
2025-04-26 09:03:54 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 09:04:21 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
2025-04-26 09:12:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 09:19:44 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
2025-04-26 09:20:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-26 09:21:05 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2025-04-26 09:21:30 +0200 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-04-26 09:21:51 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds) |
2025-04-26 09:21:58 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-04-26 09:22:28 +0200 | Lord_of_Life_ | Lord_of_Life |
2025-04-26 09:31:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 09:41:17 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2025-04-26 09:42:04 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) |
2025-04-26 09:44:13 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-04-26 09:44:59 +0200 | ss4 | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-04-26 09:46:38 +0200 | dontdieych2 | (~quassel@user/dontdieych2) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2025-04-26 09:47:03 +0200 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Quit: Client closed) |
2025-04-26 09:51:40 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2025-04-26 09:59:29 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2025-04-26 10:00:17 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) |
2025-04-26 10:02:32 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
2025-04-26 10:05:15 +0200 | gentauro | (~gentauro@user/gentauro) gentauro |
2025-04-26 10:14:17 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2025-04-26 10:17:38 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09f807266196b93226.dip0.t-ipconnect.de) (Remote host closed the connection) |
2025-04-26 10:17:56 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09f807266196b93226.dip0.t-ipconnect.de) |
2025-04-26 10:23:36 +0200 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-04-26 10:28:05 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
2025-04-26 10:28:14 +0200 | euleritian | (~euleritia@dynamic-176-006-135-115.176.6.pool.telefonica.de) |
2025-04-26 10:36:10 +0200 | euleritian | (~euleritia@dynamic-176-006-135-115.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-26 10:36:42 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) |
2025-04-26 10:42:38 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-26 10:54:25 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09f807266196b93226.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2025-04-26 10:55:27 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2025-04-26 10:56:11 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) |
2025-04-26 11:04:01 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2025-04-26 11:07:32 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-04-26 11:26:55 +0200 | byte | (~mu@user/byte) (Read error: Connection reset by peer) |
2025-04-26 11:28:00 +0200 | driib318 | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2025-04-26 11:28:08 +0200 | byte | (~mu@user/byte) byte |
2025-04-26 11:29:56 +0200 | driib318 | (~driib@vmi931078.contaboserver.net) driib |
2025-04-26 11:36:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-04-26 11:47:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 11:50:28 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-04-26 11:52:54 +0200 | p3n | (~p3n@217.198.124.246) (Quit: ZNC 1.9.1 - https://znc.in) |
2025-04-26 11:53:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 11:55:05 +0200 | driib318 | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2025-04-26 11:58:45 +0200 | driib318 | (~driib@vmi931078.contaboserver.net) driib |
2025-04-26 12:04:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 12:07:57 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2025-04-26 12:08:46 +0200 | nek0 | (~nek0@user/nek0) nek0 |
2025-04-26 12:11:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-26 12:16:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 12:32:11 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Remote host closed the connection) |
2025-04-26 12:32:11 +0200 | rustisafungus | (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) |
2025-04-26 12:40:21 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09b99977e2980f359e.dip0.t-ipconnect.de) acidjnk |
2025-04-26 12:48:32 +0200 | p3n | (~p3n@217.198.124.246) p3n |
2025-04-26 12:51:39 +0200 | <tomsmeding> | EvanR: still seems a bit of an odd name for such a synonym |
2025-04-26 12:53:40 +0200 | xff0x | (~xff0x@2405:6580:b080:900:a16e:31f3:ac48:6e3d) (Ping timeout: 276 seconds) |
2025-04-26 12:55:37 +0200 | Digit | (~user@user/digit) (Ping timeout: 276 seconds) |
2025-04-26 12:59:19 +0200 | Digit | (~user@user/digit) Digit |
2025-04-26 12:59:59 +0200 | Digitteknohippie | (~user@user/digit) Digit |
2025-04-26 13:01:52 +0200 | jespada | (~jespada@r167-61-127-55.dialup.adsl.anteldata.net.uy) jespada |
2025-04-26 13:03:28 +0200 | adamCS_ | (~adamCS@70.19.85.77) adamCS |
2025-04-26 13:04:54 +0200 | adamCS | (~adamCS@70.19.85.77) (Ping timeout: 244 seconds) |
2025-04-26 13:04:54 +0200 | adamCS_ | adamCS |
2025-04-26 13:14:58 +0200 | xff0x | (~xff0x@2405:6580:b080:900:a16e:31f3:ac48:6e3d) |
2025-04-26 13:20:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-26 13:26:31 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 13:28:54 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09b99977e2980f359e.dip0.t-ipconnect.de) (Remote host closed the connection) |
2025-04-26 13:29:16 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09b99977e2980f359e.dip0.t-ipconnect.de) acidjnk |
2025-04-26 13:32:16 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 13:36:29 +0200 | Digitteknohippie | (~user@user/digit) (Quit: oops double login again) |
2025-04-26 13:36:49 +0200 | Digit | Digitteknohippie |
2025-04-26 13:36:54 +0200 | Digitteknohippie | Digit |
2025-04-26 13:47:50 +0200 | cstml | (~Thunderbi@user/cstml) cstml |
2025-04-26 14:02:21 +0200 | <haskellbridge> | <Liamzee> btw cursed code as a result of switching to Hasql: |
2025-04-26 14:03:13 +0200 | cstml | (~Thunderbi@user/cstml) (Ping timeout: 276 seconds) |
2025-04-26 14:03:15 +0200 | <haskellbridge> | <Liamzee> https://paste.tomsmeding.com/7ZNwEdJi |
2025-04-26 14:04:05 +0200 | <haskellbridge> | <Liamzee> i guess there's always https://hackage.haskell.org/package/extra-1.8/docs/Data-Tuple-Extra.html ? |
2025-04-26 14:05:53 +0200 | <haskellbridge> | <Liamzee> oh fine, lambdas inserted, but abusing 2-tuple nesting this way, at least, is funny |
2025-04-26 14:06:28 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09b99977e2980f359e.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-04-26 14:09:53 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
2025-04-26 14:10:11 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-26 14:12:23 +0200 | CalimeroTeknik | (~calimero@ctkarch.org) (Changing host) |
2025-04-26 14:12:23 +0200 | CalimeroTeknik | (~calimero@user/calimeroteknik) CalimeroTeknik |
2025-04-26 14:13:11 +0200 | jespada_ | (~jespada@r179-25-121-156.dialup.adsl.anteldata.net.uy) jespada |
2025-04-26 14:14:54 +0200 | jespada | (~jespada@r167-61-127-55.dialup.adsl.anteldata.net.uy) (Ping timeout: 252 seconds) |
2025-04-26 14:19:24 +0200 | <haskellbridge> | <Liamzee> actually, that code still doesn't work, oh well, contramap is fun, i guess |
2025-04-26 14:26:53 +0200 | <Miroboru> | When using guards one can use "otherwise" to capture all other options. Is there an equivalent for "case" ? |
2025-04-26 14:27:21 +0200 | <Miroboru> | I am getting "Pattern matching is non-exhaustive" |
2025-04-26 14:29:32 +0200 | <__monty__> | Miroboru: Wildcard pattern (might not actually be the name) `_`? |
2025-04-26 14:30:59 +0200 | <Miroboru> | I was using Char (case x of) where x is a Char. I just tried using just _ with no quotes and it works... |
2025-04-26 14:32:38 +0200 | <Miroboru> | I am sure I tried it before though, but I think that I indented it by one space which leads to an error... A bit brittle methinks, but now I know |
2025-04-26 14:33:24 +0200 | <jackdk> | If you don't write Haskell with braces and semicolons, it's a layout-sensitive language |
2025-04-26 14:33:44 +0200 | <jackdk> | Also, nobody writes Haskell with braces and semicolons. |
2025-04-26 14:34:11 +0200 | <jackdk> | (To at least a first approximation) |
2025-04-26 14:34:14 +0200 | <__monty__> | I think there's a Simon who's wont to do exactly that. |
2025-04-26 14:34:24 +0200 | <jackdk> | I stand corrected, then |
2025-04-26 14:37:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 14:40:15 +0200 | <haskellbridge> | <Liamzee> there we go |
2025-04-26 14:40:16 +0200 | <haskellbridge> | <Liamzee> https://paste.tomsmeding.com/az4bXqgs |
2025-04-26 14:40:28 +0200 | <haskellbridge> | <Liamzee> go is the standard Haskell way to indicate what OCamlers mean by aux |
2025-04-26 14:40:35 +0200 | <haskellbridge> | <Liamzee> what's the standard symbolic Haskell override? |
2025-04-26 14:43:34 +0200 | target_i | (~target_i@user/target-i/x-6023099) target_i |
2025-04-26 14:45:16 +0200 | sixfourtwelve | (~ethanmorg@82.18.82.103) (Ping timeout: 252 seconds) |
2025-04-26 14:45:38 +0200 | <haskellbridge> | <Liamzee> erm, standard Haskell operator helper? |
2025-04-26 14:45:55 +0200 | <haskellbridge> | <Liamzee> "cursed" technically counts, I guess, hmmm |
2025-04-26 14:46:08 +0200 | <__monty__> | Don't think there is one because of the convenient backtick syntax. |
2025-04-26 14:46:33 +0200 | <haskellbridge> | <Liamzee> ah |
2025-04-26 14:47:09 +0200 | <__monty__> | And I think the pattern using a local `go` is called worker-wrapper? |
2025-04-26 14:47:40 +0200 | <haskellbridge> | <Liamzee> basically, i had a ton of code repetition, i'd have normally handled it via a helper but the data format meant that i couldn't use foldMap to handle it |
2025-04-26 14:47:51 +0200 | <haskellbridge> | <Liamzee> erm, the typing (variable typing) meant I couldn't use foldmap to handle it |
2025-04-26 14:48:01 +0200 | <haskellbridge> | <Liamzee> the easiest way, imo, is to do a scoped override of *, but that feels cursed |
2025-04-26 14:48:19 +0200 | <haskellbridge> | <Liamzee> imagine the code sample with the helper operator inlined |
2025-04-26 14:49:02 +0200 | Square2 | (~Square@user/square) Square |
2025-04-26 14:49:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 14:49:12 +0200 | <haskellbridge> | <Liamzee> this is interesting, ~ works |
2025-04-26 14:49:47 +0200 | <__monty__> | I don't see a good reason to use an operator here. |
2025-04-26 14:55:18 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Ping timeout: 240 seconds) |
2025-04-26 14:56:40 +0200 | <haskellbridge> | <Liamzee> if i didn't have block patterns on, you could say it would be to avoid having to stuff a $ before the lambda |
2025-04-26 14:56:56 +0200 | <haskellbridge> | <Liamzee> go usually indicates a helper function, at least for me, as opposed to an attempt to avoid code repetition |
2025-04-26 14:57:42 +0200 | sixfourtwelve | (~ethanmorg@82.18.82.103) sixfourtwelve |
2025-04-26 14:58:07 +0200 | <haskellbridge> | <Liamzee> tilde is actually not used, since it'd be syntax for irrefutable pattern match, hmmm |
2025-04-26 14:59:56 +0200 | <__monty__> | Haven't really seen `go` outside of recursive functions that pass in an initial value for an accumulator or such. |
2025-04-26 15:00:38 +0200 | <haskellbridge> | <Liamzee> why am I even attempting to fold anyways, at this length I might as well manually use the semigroup operator |
2025-04-26 15:00:41 +0200 | <__monty__> | If there's a useful name for the helper it should have that name instead. And if it is more generally useful, it shouldn't be a local binding at all. |
2025-04-26 15:01:16 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-04-26 15:01:18 +0200 | <haskellbridge> | <Liamzee> it's a local binding precisely because it's an operator |
2025-04-26 15:01:27 +0200 | <haskellbridge> | <Liamzee> so it doesn't pollute the operator namespace |
2025-04-26 15:01:58 +0200 | <haskellbridge> | <Liamzee> come to think of it, why am i even bothering with fold? |
2025-04-26 15:06:04 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2025-04-26 15:07:05 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2025-04-26 15:10:30 +0200 | <haskellbridge> | <Liamzee> @ is actually safest |
2025-04-26 15:13:47 +0200 | <haskellbridge> | <Liamzee> because no one ever uses it, fearing as pattern collision, and if it does cause an as pattern collision, the code will refuse to compile if both arguments are used (unless you're overriding something so a default vaule will continue to exist) |
2025-04-26 15:17:48 +0200 | <__monty__> | I most commonly use `op` actually. |
2025-04-26 15:20:34 +0200 | <haskellbridge> | <Liamzee> for go? or for this kind of code replication reduction? |
2025-04-26 15:21:58 +0200 | <__monty__> | For operators. |
2025-04-26 15:22:07 +0200 | <haskellbridge> | <Liamzee> ah |
2025-04-26 15:25:11 +0200 | ski | usually calls a local worker `loop', if no other relevant name suggests itself |
2025-04-26 15:31:37 +0200 | haritz | (~hrtz@152.37.68.178) |
2025-04-26 15:31:37 +0200 | haritz | (~hrtz@152.37.68.178) (Changing host) |
2025-04-26 15:31:37 +0200 | haritz | (~hrtz@user/haritz) haritz |
2025-04-26 15:35:20 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09b99977e2980f359e.dip0.t-ipconnect.de) acidjnk |
2025-04-26 15:43:34 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 252 seconds) |
2025-04-26 15:43:58 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-26 15:49:39 +0200 | ss4 | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-04-26 15:51:17 +0200 | adamCS | (~adamCS@70.19.85.77) (Ping timeout: 248 seconds) |
2025-04-26 15:53:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-26 15:57:37 +0200 | cstml | (~Thunderbi@user/cstml) cstml |
2025-04-26 16:00:57 +0200 | adamCS | (~adamCS@70.19.85.77) adamCS |
2025-04-26 16:04:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 16:06:28 +0200 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
2025-04-26 16:11:30 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-26 16:11:35 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2025-04-26 16:24:10 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-04-26 16:28:50 +0200 | TheCoffeMaker_ | (~TheCoffeM@186.136.173.186) |
2025-04-26 16:29:12 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 244 seconds) |
2025-04-26 16:30:05 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) |
2025-04-26 16:36:26 +0200 | Square2 | (~Square@user/square) (Ping timeout: 252 seconds) |
2025-04-26 16:46:12 +0200 | oneeyedalien | (~oneeyedal@user/oneeyedalien) oneeyedalien |
2025-04-26 16:53:50 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2025-04-26 16:56:46 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09b99977e2980f359e.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-04-26 17:02:55 +0200 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-04-26 17:03:55 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
2025-04-26 17:04:21 +0200 | oneeyedalien | (~oneeyedal@user/oneeyedalien) (Quit: Leaving) |
2025-04-26 17:06:08 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) jmcantrell |
2025-04-26 17:12:02 +0200 | fp | (~Thunderbi@vpn.espressohouse.com) fp |
2025-04-26 17:22:54 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Ping timeout: 240 seconds) |
2025-04-26 17:22:54 +0200 | LainIwakura41 | (~LainIwaku@user/LainIwakura) (Ping timeout: 240 seconds) |
2025-04-26 17:33:10 +0200 | fp | (~Thunderbi@vpn.espressohouse.com) (Ping timeout: 276 seconds) |
2025-04-26 17:40:58 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) (Ping timeout: 276 seconds) |
2025-04-26 17:42:28 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving) |
2025-04-26 17:46:33 +0200 | Buliarous | (~gypsydang@46.232.210.139) (Remote host closed the connection) |
2025-04-26 17:47:02 +0200 | Buliarous | (~gypsydang@46.232.210.139) Buliarous |
2025-04-26 17:49:55 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 17:55:35 +0200 | fp | (~Thunderbi@vpn.espressohouse.com) fp |
2025-04-26 18:06:23 +0200 | sixfourtwelve | (~ethanmorg@82.18.82.103) (Quit: leaving) |
2025-04-26 18:08:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 18:17:42 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 18:19:41 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-26 18:21:16 +0200 | j1n37- | (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
2025-04-26 18:22:47 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-04-26 18:25:58 +0200 | JoeRayner123 | (~Thunderbi@31.217.12.231) |
2025-04-26 18:26:10 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) jmcantrell |
2025-04-26 18:28:35 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
2025-04-26 18:30:32 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
2025-04-26 18:31:43 +0200 | zenstoic | (uid461840@id-461840.hampstead.irccloud.com) zenstoic |
2025-04-26 18:32:08 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
2025-04-26 18:34:45 +0200 | talisman` | (~user@2601:644:937c:ed10::ae5) (ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.1)) |
2025-04-26 18:34:50 +0200 | talismanick | (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection) |
2025-04-26 18:41:25 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 18:46:41 +0200 | fp | (~Thunderbi@vpn.espressohouse.com) (Ping timeout: 248 seconds) |
2025-04-26 18:47:14 +0200 | kilolympus5 | (~kilolympu@vmi1102682.contaboserver.net) kilolympus |
2025-04-26 18:47:36 +0200 | kilolympus | (~kilolympu@vmi1102682.contaboserver.net) (Read error: Connection reset by peer) |
2025-04-26 18:47:36 +0200 | kilolympus5 | kilolympus |
2025-04-26 18:54:17 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 18:58:23 +0200 | gehmehgeh | (~user@user/gehmehgeh) gehmehgeh |
2025-04-26 18:58:24 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 264 seconds) |
2025-04-26 19:00:51 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2025-04-26 19:02:06 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2025-04-26 19:02:26 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2025-04-26 19:03:26 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09dd015a3d7ff7998d.dip0.t-ipconnect.de) acidjnk |
2025-04-26 19:03:39 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2025-04-26 19:04:14 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-04-26 19:06:03 +0200 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-04-26 19:06:10 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 260 seconds) |
2025-04-26 19:17:10 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) (Ping timeout: 276 seconds) |
2025-04-26 19:19:31 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-04-26 19:20:40 +0200 | <lxsameer> | hey folks, I have a wrapper type around the Text, how can I overload it? like OverloadedStrings |
2025-04-26 19:22:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 19:22:37 +0200 | <[exa]> | lxsameer: implement IsString typeclass instance for it |
2025-04-26 19:22:56 +0200 | <lxsameer> | cheers |
2025-04-26 19:23:00 +0200 | <[exa]> | I think it's in Data.String or so |
2025-04-26 19:23:21 +0200 | <lxsameer> | found it |
2025-04-26 19:24:02 +0200 | <[exa]> | text already has fromString so the instances are typically like fromString = MyWrap . fromString |
2025-04-26 19:26:10 +0200 | <lxsameer> | thank you, i did that exactly |
2025-04-26 19:26:19 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-04-26 19:28:26 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2025-04-26 19:29:07 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2025-04-26 19:33:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 19:41:57 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-04-26 19:45:07 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09dd015a3d7ff7998d.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-04-26 20:02:05 +0200 | <EvanR> | to implement classes on newtype wrappers in the dumbest possible way, you can use GeneralizedNewtypeDeriving |
2025-04-26 20:14:48 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 20:15:01 +0200 | ebbe | (~ebbe@pd9e2b0ae.dip0.t-ipconnect.de) |
2025-04-26 20:19:04 +0200 | xkuru | (~xkuru@user/xkuru) xkuru |
2025-04-26 20:19:24 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds) |
2025-04-26 20:19:40 +0200 | JoeRayner123 | (~Thunderbi@31.217.12.231) (Ping timeout: 260 seconds) |
2025-04-26 20:20:50 +0200 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 4.6.0) |
2025-04-26 20:21:32 +0200 | <lxsameer> | EvanR: thanks for the tip |
2025-04-26 20:22:33 +0200 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) gabriel_sevecek |
2025-04-26 20:22:44 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 20:22:56 +0200 | JoeRayner123 | (~Thunderbi@31.217.12.231) |
2025-04-26 20:23:35 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-04-26 20:34:08 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
2025-04-26 20:34:18 +0200 | pavonia | (~user@user/siracusa) siracusa |
2025-04-26 20:36:57 +0200 | acidjnk_new | (~acidjnk@p200300d6e71c4f09ad59765f396bb04f.dip0.t-ipconnect.de) acidjnk |
2025-04-26 20:37:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-26 20:38:09 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 20:40:34 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds) |
2025-04-26 20:40:41 +0200 | zenstoic | (uid461840@id-461840.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2025-04-26 20:40:46 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2025-04-26 20:41:35 +0200 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-04-26 20:42:08 +0200 | <haskellbridge> | <Liamzee> ugh, i have a pyramid of doom because i'm using hasql and trying to merge its exceptions with those from crypton |
2025-04-26 20:42:19 +0200 | <haskellbridge> | <Liamzee> should I just do exception-catching? |
2025-04-26 20:42:38 +0200 | <haskellbridge> | <Liamzee> like, in case of error, throw, and catch at the top level and reconvert to a fresh exception? |
2025-04-26 20:46:08 +0200 | CalimeroTeknik | (~calimero@user/calimeroteknik) (Ping timeout: 252 seconds) |
2025-04-26 20:46:48 +0200 | xkuru | (~xkuru@user/xkuru) (Quit: Unvirtualizing) |
2025-04-26 20:47:57 +0200 | <davean> | Whats the actual problem here? |
2025-04-26 20:48:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 20:48:51 +0200 | <davean> | Generally one handles exceptions seperately, what do you mean by "merge"? You COULD convert them all to the same type, but its rather unclear why you would want to. |
2025-04-26 20:52:29 +0200 | <haskellbridge> | <Liamzee> hasql claims to be typesafe, so every exception it generates ends up being the left side of an either |
2025-04-26 20:52:40 +0200 | CalimeroTeknik | (~calimero@ctkarch.org) |
2025-04-26 20:52:50 +0200 | <haskellbridge> | <Liamzee> crypton seems to do the same with the cryptofailable type |
2025-04-26 20:53:12 +0200 | <haskellbridge> | <Liamzee> so, I have an IO action that can generate either-style exceptions either of crypton or hasql |
2025-04-26 20:54:06 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 20:54:08 +0200 | <haskellbridge> | <Liamzee> i'm trying to build a library for some sql defaults |
2025-04-26 20:54:39 +0200 | <davean> | Those aren't exceptions. |
2025-04-26 20:55:20 +0200 | <haskellbridge> | <Liamzee> what do you call them, then? |
2025-04-26 20:55:27 +0200 | <haskellbridge> | <Liamzee> they're not IO exceptions, etc, the stuff that can only be caught in IO |
2025-04-26 20:55:33 +0200 | <haskellbridge> | <Liamzee> what I'm doing right now is a newtype over either |
2025-04-26 20:55:34 +0200 | <davean> | results, values |
2025-04-26 20:56:17 +0200 | <davean> | You can easily project into a shared type because they're normal values if you want |
2025-04-26 20:56:30 +0200 | <davean> | if you DID for some reason want to |
2025-04-26 20:58:16 +0200 | <haskellbridge> | <Liamzee> are there reasons I shouldn't? |
2025-04-26 20:58:58 +0200 | <davean> | Oh because if there is an error why would you continue past that point without dealing with it? |
2025-04-26 20:59:59 +0200 | <haskellbridge> | <Liamzee> because i'm trying to create a library for people who want to just pull a library off the shelf, get a postgresql table off the shelf, and get e-mail verified user accounts on their webpage |
2025-04-26 21:00:03 +0200 | caconym7 | (~caconym@user/caconym) (Quit: bye) |
2025-04-26 21:00:03 +0200 | <haskellbridge> | <Liamzee> *their website |
2025-04-26 21:00:19 +0200 | <davean> | Still don't see how that changes how you write your code |
2025-04-26 21:00:20 +0200 | <haskellbridge> | <Liamzee> so it'd be the end user's decision as to how to deal with the resulting exceptions |
2025-04-26 21:00:48 +0200 | pointlessslippe1 | (~pointless@62.106.85.17) (Ping timeout: 252 seconds) |
2025-04-26 21:00:50 +0200 | caconym7 | (~caconym@user/caconym) caconym |
2025-04-26 21:01:27 +0200 | <davean> | Not the error though. Either your code can correct something or it needs to fail out. |
2025-04-26 21:01:54 +0200 | <haskellbridge> | <Liamzee> yeah, of course, but i'm writing it to fail out by emitting the Left on the IO (Either a b) |
2025-04-26 21:05:26 +0200 | <davean> | So your EitherT monad rolls back and you generate an exception with proper details for your users? |
2025-04-26 21:05:55 +0200 | pointlessslippe1 | (~pointless@62.106.85.17) pointlessslippe1 |
2025-04-26 21:06:40 +0200 | <davean> | Sorry I shouldn't say rolls back |
2025-04-26 21:06:42 +0200 | rvalue- | (~rvalue@user/rvalue) rvalue |
2025-04-26 21:06:49 +0200 | <davean> | https://hackage.haskell.org/package/mtl-2.3.1/docs/Control-Monad-Except.html#t:ExceptT note the type there |
2025-04-26 21:07:24 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
2025-04-26 21:08:44 +0200 | <haskellbridge> | <Liamzee> i guess what i'm really asking for is |
2025-04-26 21:09:20 +0200 | <haskellbridge> | <Liamzee> yeah i guess thaht's standard |
2025-04-26 21:09:55 +0200 | xkuru | (~xkuru@user/xkuru) xkuru |
2025-04-26 21:10:07 +0200 | <haskellbridge> | <Liamzee> so either I wrap everything in monad transformers, or I throwIO the exceptions up to a handler which packages it back into IO (Either MyExceptionType PromisedResultType) |
2025-04-26 21:10:10 +0200 | Goodbye_Vincent1 | (cyvahl@freakshells.net) (Remote host closed the connection) |
2025-04-26 21:10:40 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 21:10:58 +0200 | Goodbye_Vincent1 | (cyvahl@freakshells.net) |
2025-04-26 21:11:09 +0200 | <EvanR> | so basically how to "properly" bubble the inner libraries detailed errors to the user of your wrapper, when you also have your own errors on top of that |
2025-04-26 21:11:27 +0200 | <EvanR> | if at all |
2025-04-26 21:11:28 +0200 | <davean> | You only have your own errors |
2025-04-26 21:11:35 +0200 | rvalue- | rvalue |
2025-04-26 21:11:51 +0200 | <EvanR> | if only have your own errors if you handle all the possible errors from the wrapped library and do a masking or conversion |
2025-04-26 21:12:07 +0200 | <davean> | At the end of the day, one way or antoher. They might just be someone else's passed through |
2025-04-26 21:12:25 +0200 | <EvanR> | well passing them through unchanged would then be "not your errors" |
2025-04-26 21:12:29 +0200 | sprotte24 | (~sprotte24@p200300d16f0edb008da0b43d58ccc511.dip0.t-ipconnect.de) |
2025-04-26 21:12:37 +0200 | <davean> | Sure they are, they're your API now |
2025-04-26 21:12:58 +0200 | <haskellbridge> | <Liamzee> btw thanks for the work on xkcd |
2025-04-26 21:13:04 +0200 | <EvanR> | all you're doing now is obstructing the problem description from being stated |
2025-04-26 21:13:19 +0200 | <davean> | EvanR: No I think this is actually critical to program design |
2025-04-26 21:13:26 +0200 | <EvanR> | if that's supposed to be a solution I don't know exactly what is being proposed |
2025-04-26 21:13:37 +0200 | <EvanR> | because I'm still not clear what the problem is |
2025-04-26 21:13:37 +0200 | <haskellbridge> | <Liamzee> i mean i already have a solution, it's just ugly |
2025-04-26 21:13:43 +0200 | <haskellbridge> | <Liamzee> because i end up with a pyramid of doom pattern |
2025-04-26 21:13:47 +0200 | <EvanR> | what is your solution |
2025-04-26 21:13:54 +0200 | <EvanR> | keep wrapping stuff in more Lefts? |
2025-04-26 21:14:43 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-04-26 21:14:47 +0200 | <haskellbridge> | <Liamzee> https://paste.tomsmeding.com/iChs4zTJ |
2025-04-26 21:15:02 +0200 | <EvanR> | there was an extensible variant paper which has this as a possible application, "merging" errors |
2025-04-26 21:15:31 +0200 | <EvanR> | probably infeasible and overengineered without language support |
2025-04-26 21:16:18 +0200 | <EvanR> | another way is to embrace Exception and throw those in IO instead of trying to do everything with Either |
2025-04-26 21:16:30 +0200 | <haskellbridge> | <Liamzee> yeah i know |
2025-04-26 21:16:43 +0200 | <haskellbridge> | <Liamzee> to get rid of the pyramid of doom i could just do throwIO for the exceptions should they emerge |
2025-04-26 21:16:51 +0200 | <haskellbridge> | <Liamzee> then catch before the do block |
2025-04-26 21:16:55 +0200 | <EvanR> | you could also use Exception internally if you have IO |
2025-04-26 21:17:05 +0200 | <EvanR> | and return Either if it's your exceptions |
2025-04-26 21:17:09 +0200 | <EvanR> | Left |
2025-04-26 21:17:26 +0200 | <haskellbridge> | <Liamzee> although I was thinking of moving it to MonadIO, which would make things way more complicated |
2025-04-26 21:17:34 +0200 | <haskellbridge> | <Liamzee> well, not really |
2025-04-26 21:18:01 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
2025-04-26 21:18:16 +0200 | <EvanR> | not sure what MonadIO gets you |
2025-04-26 21:18:17 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) |
2025-04-26 21:19:31 +0200 | <haskellbridge> | <Liamzee> bleh, maybe i'll just finish the early iteration of the library, post to github, post a "please halp" thread somewhere, and then go from there |
2025-04-26 21:20:02 +0200 | <haskellbridge> | <Liamzee> MonadIO: people who love classy monads are now happy |
2025-04-26 21:22:20 +0200 | <EvanR> | if the user shouldn't care what you used to interface with postgres, then it would seem they shouldn't get those errors either |
2025-04-26 21:22:23 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 21:22:26 +0200 | pointlessslippe1 | (~pointless@62.106.85.17) (Ping timeout: 252 seconds) |
2025-04-26 21:22:41 +0200 | <EvanR> | i.e. return a simplified or abstract set of errors instead, then you don't need to merge them |
2025-04-26 21:23:15 +0200 | pointlessslippe1 | (~pointless@62.106.85.17) pointlessslippe1 |
2025-04-26 21:27:00 +0200 | Square2 | (~Square@user/square) Square |
2025-04-26 21:33:40 +0200 | roaccess | (~roaccess@user/roaccess) roaccess |
2025-04-26 21:37:11 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 21:39:22 +0200 | michalz | (~michalz@185.246.207.205) |
2025-04-26 21:46:47 +0200 | <__monty__> | There's Haskell work on XKCD? |
2025-04-26 21:46:52 +0200 | roaccess | (~roaccess@user/roaccess) (Quit: leaving) |
2025-04-26 21:52:25 +0200 | <[exa]> | "haskell work" ? |
2025-04-26 21:53:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-26 21:53:31 +0200 | <__monty__> | Going off of the "btw thanks for the work on xkcd" from Liamzee. |
2025-04-26 21:53:47 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 272 seconds) |
2025-04-26 21:53:54 +0200 | Buliarous | (~gypsydang@46.232.210.139) (Remote host closed the connection) |
2025-04-26 21:54:23 +0200 | Buliarous | (~gypsydang@46.232.210.139) Buliarous |
2025-04-26 21:55:36 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 21:57:42 +0200 | fp | (~Thunderbi@hof1.kyla.fi) fp |
2025-04-26 21:59:57 +0200 | <EvanR> | thanks you got doxxed |
2025-04-26 22:01:39 +0200 | <haskellbridge> | <Liamzee> he mentioned it here a long time ago |
2025-04-26 22:05:03 +0200 | cstml | (~Thunderbi@user/cstml) (Read error: Connection reset by peer) |
2025-04-26 22:05:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-26 22:05:19 +0200 | Buliarous | (~gypsydang@46.232.210.139) (Remote host closed the connection) |
2025-04-26 22:05:21 +0200 | cstml | (~Thunderbi@user/cstml) cstml |
2025-04-26 22:05:34 +0200 | <EvanR> | :t when |
2025-04-26 22:05:35 +0200 | <lambdabot> | Applicative f => Bool -> f () -> f () |
2025-04-26 22:05:46 +0200 | Buliarous | (~gypsydang@46.232.210.139) Buliarous |
2025-04-26 22:06:12 +0200 | <EvanR> | Module ‘Control.Applicative’ does not export ‘when’ |
2025-04-26 22:06:29 +0200 | <[exa]> | wasn't it always in .Monad ? |
2025-04-26 22:06:31 +0200 | <EvanR> | 😵 |
2025-04-26 22:06:47 +0200 | <[exa]> | oic. |
2025-04-26 22:07:02 +0200 | <[exa]> | this is serious. |
2025-04-26 22:07:03 +0200 | <EvanR> | it was always in monad, and "always" Monad m => Bool -> m () -> m () |
2025-04-26 22:07:23 +0200 | <__monty__> | But was it Haskell-related work? |
2025-04-26 22:07:24 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 22:07:50 +0200 | <haskellbridge> | <Liamzee> https://www.explainxkcd.com/wiki/index.php/1312:_Haskell |
2025-04-26 22:08:46 +0200 | ebbe | (~ebbe@pd9e2b0ae.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2025-04-26 22:08:50 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:6cf1:9b1a:eb92:4847) |
2025-04-26 22:10:10 +0200 | <[exa]> | that wikipage has strong "you wanna hear a haskell joke" vibes |
2025-04-26 22:11:02 +0200 | <haskellbridge> | <Liamzee> but yeah, xkcd at least used to have a Haskell backend |
2025-04-26 22:11:49 +0200 | <[exa]> | EvanR: on a similar topic, do module re-exports cause ambiguous import errors? |
2025-04-26 22:12:02 +0200 | [exa] | afk momentarily |
2025-04-26 22:12:37 +0200 | <int-e> | [exa]: that would be fun! Prelude reexports a ton of functions from, for example, Data.List |
2025-04-26 22:13:03 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) |
2025-04-26 22:13:10 +0200 | <haskellbridge> | <Liamzee> interestingly enough, you can't have explicit imports + qualified imports at the same time? |
2025-04-26 22:13:20 +0200 | <EvanR> | if the name goes to the same thing that shouldn't be a big deal |
2025-04-26 22:13:47 +0200 | <EvanR> | you can import the module many times many ways |
2025-04-26 22:15:56 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-26 22:17:43 +0200 | <int-e> | EvanR: I was trying to say that if you couldn't, then you probably would've noticed by now :-) |
2025-04-26 22:17:57 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
2025-04-26 22:17:57 +0200 | ljdarj1 | ljdarj |
2025-04-26 22:18:10 +0200 | <haskellbridge> | <Liamzee> i guess the relevant part of the xkcd page is the part where their sysadmin likes their privacy, whoops |
2025-04-26 22:19:07 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) jmcantrell |
2025-04-26 22:19:48 +0200 | <haskellbridge> | <Liamzee> afaik the reimport ultimately points to the same object, right? it's only a problem when you have version clashes among your imported libraries |
2025-04-26 22:21:02 +0200 | <EvanR> | erm |
2025-04-26 22:21:15 +0200 | <EvanR> | importing different versions of the same library?? |
2025-04-26 22:21:22 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2025-04-26 22:21:53 +0200 | <geekosaur> | ghc will happily do so and the resulting error messages are from the linker and quite confusing |
2025-04-26 22:22:34 +0200 | <geekosaur> | well, not always, sometimes they're detected by ghc while resolving typeclass instances and those errors are even more confusing |
2025-04-26 22:23:24 +0200 | <geekosaur> | cabal and stack both prevent these unless you hit them over the head in just the wrong way; you pretty much have to use ghc directly to run into them |
2025-04-26 22:25:04 +0200 | <haskellbridge> | <Liamzee> for a while i was a fan of directly using ghc to compile small scripts |
2025-04-26 22:25:07 +0200 | <haskellbridge> | <Liamzee> then i migrated to cabal scripts |
2025-04-26 22:25:20 +0200 | <EvanR> | cabal is nice |
2025-04-26 22:25:27 +0200 | Inst | (~Inst@user/Inst) Inst |
2025-04-26 22:25:30 +0200 | <EvanR> | you heard it here first folks |
2025-04-26 22:25:55 +0200 | <haskellbridge> | <Liamzee> what, it is, it doesn't deserve its reputation |
2025-04-26 22:26:11 +0200 | <int-e> | there is no Haskell cabal |
2025-04-26 22:26:38 +0200 | <geekosaur> | what's the CLC, then? 😛 |
2025-04-26 22:26:42 +0200 | <haskellbridge> | <Liamzee> correction, there are many Haskell cabals |
2025-04-26 22:27:58 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2025-04-26 22:28:21 +0200 | <int-e> | "core libraries committee" -- there aren't even enough a-s in there to spell "cabal". |
2025-04-26 22:28:24 +0200 | euleritian | (~euleritia@dynamic-176-006-131-107.176.6.pool.telefonica.de) |
2025-04-26 22:29:17 +0200 | tromp | (~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-26 22:30:47 +0200 | <haskellbridge> | <Liamzee> btw, speaking of gossip, are you guys watching miso in matrix? |
2025-04-26 22:30:58 +0200 | <haskellbridge> | <Liamzee> *folks |
2025-04-26 22:33:37 +0200 | <EvanR> | protip on how to show off some haskell code to the uninitiated, fearful and prejudiced https://paste.tomsmeding.com/xtk26ylz |
2025-04-26 22:35:25 +0200 | <haskellbridge> | <Liamzee> miso is probably less than 8 months away from being deployable on android and ios |
2025-04-26 22:35:46 +0200 | <haskellbridge> | <Liamzee> could be done by august, not sure, but the dev team seems to have done a lot of frenetic work recently |
2025-04-26 22:36:10 +0200 | <haskellbridge> | <Liamzee> EvanR: do it in freer monads? |
2025-04-26 22:36:19 +0200 | <EvanR> | instance Hmm {-# REDACTED #-} where Pure x >>= f = f x ... etc |
2025-04-26 22:36:24 +0200 | <EvanR> | er |
2025-04-26 22:36:40 +0200 | <EvanR> | instance {-# REDACTED #-} Hmm where |
2025-04-26 22:37:09 +0200 | <haskellbridge> | <Liamzee> were you always such a big fan of free monads? |
2025-04-26 22:37:29 +0200 | <EvanR> | "warm fuzzy thing" is less likely to convince |
2025-04-26 22:38:02 +0200 | <EvanR> | REDACTED suggests there's something potent being withheld for your own protection |
2025-04-26 22:40:31 +0200 | <EvanR> | Liamzee, well it's one way to disengage the algorithm from the incidental things an algorithm needs, that might be taken for granted in C or something |
2025-04-26 22:41:24 +0200 | <EvanR> | in this case the I/O |
2025-04-26 22:41:28 +0200 | <EvanR> | mostly I |
2025-04-26 22:41:37 +0200 | <EvanR> | and early bailout |
2025-04-26 22:41:58 +0200 | <EvanR> | but don't say monad |
2025-04-26 22:43:08 +0200 | <haskellbridge> | <Liamzee> generic with a mapping method, a creation method, and a nesting removal method, all with contracts |
2025-04-26 22:43:50 +0200 | <haskellbridge> | <Liamzee> damnit, i think i lost contact with granin over politics, but otherwise i'd go finish his book on why Free monads are the One True architectural pattern |
2025-04-26 22:44:45 +0200 | euleritian | (~euleritia@dynamic-176-006-131-107.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-26 22:44:54 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-04-26 22:45:04 +0200 | euleritian | (~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) |
2025-04-26 22:45:55 +0200 | <geekosaur> | …once you figure out how to make them performant |
2025-04-26 22:45:59 +0200 | Inst | (~Inst@user/Inst) (Remote host closed the connection) |
2025-04-26 22:48:42 +0200 | <EvanR> | yeeeeah |
2025-04-26 22:49:00 +0200 | <monochrom> | Clearly free monads are not the one true architectural pattern. So you can safely disregard anything that says so. |
2025-04-26 22:50:44 +0200 | <EvanR> | quantum woo, free monads, and you. $59.99 $49.99 canadian |
2025-04-26 22:51:13 +0200 | monochrom | writes "free monads for building perpetual machines and proving flat earth" |
2025-04-26 22:51:57 +0200 | michalz | (~michalz@185.246.207.205) (Remote host closed the connection) |
2025-04-26 22:52:33 +0200 | <haskellbridge> | <Liamzee> but i can see where he's coming from, free monads are a rehash of Gang Of Four interpreter pattern, which is apparently the OOP pattern that survives and doesn't get knocked |
2025-04-26 22:52:54 +0200 | <haskellbridge> | <Liamzee> for people from certain backgrounds it's the most comfortable pattern despite the performance collapse |
2025-04-26 22:53:42 +0200 | <monochrom> | Good examples of good use cases of free monads (and why) are worth learning. Claims of "you need nothing else" should be disregarded. |
2025-04-26 22:54:35 +0200 | <monochrom> | Even the Gang of Four does not claim that you only need to learn one design pattern. Hell, they say there are going to be more. |
2025-04-26 22:56:23 +0200 | <JuanDaugherty> | it was enough for me to see they were a way get a hs monad for any functor |
2025-04-26 22:56:53 +0200 | <JuanDaugherty> | during which i kept thinking, 'no free lunch' |
2025-04-26 22:57:52 +0200 | <JuanDaugherty> | *hs functor |
2025-04-26 22:57:54 +0200 | <EvanR> | if lunch = monads, then yes, it's possible |
2025-04-26 22:58:06 +0200 | <EvanR> | hence the burritos |
2025-04-26 22:58:18 +0200 | <haskellbridge> | <Liamzee> maybe it's too extreme |