2025/08/08

2025-08-08 00:03:24 +0000bryanv(~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) (Server closed connection)
2025-08-08 00:03:27 +0000 <Leary> energizer: I don't know, but it follows from (half of) homomorphism (for all xs, ys. h (xs <> ys) = h xs <> h ys) and will hold for any `foldMap f`.
2025-08-08 00:03:36 +0000bryanv(~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10)
2025-08-08 00:03:51 +0000Ranhir(~Ranhir@157.97.53.139) (Remote host closed the connection)
2025-08-08 00:07:24 +0000acidjnk(~acidjnk@p200300d6e7171956e90dafb18b04e6cb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-08-08 00:08:07 +0000Ranhir(~Ranhir@157.97.53.139) Ranhir
2025-08-08 00:10:21 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 00:13:13 +0000Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-08 00:14:49 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 00:16:58 +0000vetkat(~vetkat@user/vetkat) (Quit: So long, and thanks for all the fish)
2025-08-08 00:21:45 +0000vetkat(~vetkat@user/vetkat) vetkat
2025-08-08 00:25:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 00:30:16 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-08-08 00:31:41 +0000tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2025-08-08 00:36:24 +0000iteratee_(~kyle@199.119.84.78) (Server closed connection)
2025-08-08 00:36:31 +0000jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-08-08 00:36:38 +0000iteratee(~kyle@199.119.84.78)
2025-08-08 00:41:06 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 00:45:55 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 00:50:32 +0000weary-traveler(~user@user/user363627) user363627
2025-08-08 00:50:50 +0000Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-08-08 00:56:24 +0000xff0x(~xff0x@2405:6580:b080:900:b6cd:f0c8:c2fb:2237) (Ping timeout: 276 seconds)
2025-08-08 00:56:30 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 00:57:29 +0000Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-08-08 01:01:09 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-08 01:05:29 +0000chewybread(~chewybrea@user/chewybread) chewybread
2025-08-08 01:05:50 +0000weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2025-08-08 01:06:08 +0000weary-traveler(~user@user/user363627) user363627
2025-08-08 01:07:20 +0000chewybread(~chewybrea@user/chewybread) (Remote host closed the connection)
2025-08-08 01:11:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 01:13:18 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2025-08-08 01:15:09 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-08-08 01:17:59 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 260 seconds)
2025-08-08 01:18:24 +0000ames(~amelia@offtopia/offtopian/amelia) (Server closed connection)
2025-08-08 01:18:35 +0000ames(~amelia@offtopia/offtopian/amelia) {ames}
2025-08-08 01:18:59 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 01:30:01 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 01:35:19 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 01:36:44 +0000trickard(~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-08 01:36:58 +0000trickard_(~trickard@cpe-49-98-47-163.wireline.com.au)
2025-08-08 01:40:42 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-08-08 01:45:24 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 01:50:21 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 01:53:43 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 245 seconds)
2025-08-08 01:55:35 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-08-08 01:58:31 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-08-08 02:00:49 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 02:07:24 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 02:10:59 +0000jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-08-08 02:15:24 +0000Kamuela(sid111576@id-111576.tinside.irccloud.com) (Server closed connection)
2025-08-08 02:15:35 +0000Kamuela(sid111576@id-111576.tinside.irccloud.com) Kamuela
2025-08-08 02:16:36 +0000L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2025-08-08 02:17:53 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 02:20:54 +0000Square(~Square@user/square) (Ping timeout: 276 seconds)
2025-08-08 02:21:00 +0000davidlbowman(~dlb@user/davidlbowman) (Quit: WeeChat 4.1.1)
2025-08-08 02:22:42 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-08 02:29:55 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-08 02:33:22 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 02:36:44 +0000Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-08 02:37:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-08 02:48:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 02:55:24 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 02:58:36 +0000jespada(~jespada@r179-25-206-34.dialup.adsl.anteldata.net.uy) (Ping timeout: 276 seconds)
2025-08-08 03:00:17 +0000jespada(~jespada@r179-25-146-183.dialup.adsl.anteldata.net.uy) jespada
2025-08-08 03:06:47 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 03:07:46 +0000weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2025-08-08 03:08:02 +0000weary-traveler(~user@user/user363627) user363627
2025-08-08 03:11:22 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 03:22:10 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 03:27:07 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 03:29:45 +0000Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-08-08 03:31:01 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 248 seconds)
2025-08-08 03:32:52 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-08-08 03:37:32 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 03:41:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-08 03:42:50 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-08-08 03:43:04 +0000califax(~califax@user/califx) califx
2025-08-08 03:52:56 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 03:57:37 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-08-08 04:03:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 04:08:19 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 04:16:54 +0000fr33domlover(~fr33domlo@towards.vision) (Server closed connection)
2025-08-08 04:17:17 +0000fr33domlover(~fr33domlo@towards.vision) fr33domlover
2025-08-08 04:19:06 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 04:23:28 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-08 04:27:24 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2025-08-08 04:31:47 +0000fgarcia(~lei@user/fgarcia) fgarcia
2025-08-08 04:34:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 04:36:24 +0000drlkf(~drlkf@chat-1.drlkf.net) (Server closed connection)
2025-08-08 04:36:48 +0000drlkf(~drlkf@chat-1.drlkf.net) drlkf
2025-08-08 04:40:22 +0000euphores(~SASL_euph@user/euphores) euphores
2025-08-08 04:41:34 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 04:44:41 +0000haritz(~hrtz@user/haritz) (Remote host closed the connection)
2025-08-08 04:52:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 04:54:21 +0000michalz(~michalz@185.246.207.218)
2025-08-08 04:57:30 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-08-08 05:01:58 +0000fgarcia(~lei@user/fgarcia) (Ping timeout: 240 seconds)
2025-08-08 05:02:45 +0000euphores(~SASL_euph@user/euphores) (Ping timeout: 276 seconds)
2025-08-08 05:04:42 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 05:09:04 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-08-08 05:09:32 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-08-08 05:10:54 +0000gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Server closed connection)
2025-08-08 05:11:10 +0000gabiruh(~gabiruh@vps19177.publiccloud.com.br) gabiruh
2025-08-08 05:20:12 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 05:20:36 +0000ubert(~Thunderbi@91.141.76.34.wireless.dyn.drei.com) ubert
2025-08-08 05:24:36 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-08-08 05:33:41 +0000ubert(~Thunderbi@91.141.76.34.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
2025-08-08 05:35:35 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 05:40:27 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 05:40:36 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-08 05:42:47 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2025-08-08 05:43:18 +0000tromp(~textual@2001:1c00:3487:1b00:fc99:7338:6c62:cab)
2025-08-08 05:46:44 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 260 seconds)
2025-08-08 05:50:48 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
2025-08-08 05:51:04 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 05:55:23 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-08 05:59:06 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-08 06:05:37 +0000eldfrb^(~eldfrb@99-73-20-238.lightspeed.tukrga.sbcglobal.net) (Remote host closed the connection)
2025-08-08 06:05:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 06:08:24 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2025-08-08 06:10:25 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-08 06:14:45 +0000hc(~hc@mail.hce.li) (Read error: Connection reset by peer)
2025-08-08 06:18:33 +0000hc(~hc@mail.hce.li) hc
2025-08-08 06:19:55 +0000ft(~ft@p3e9bcd7f.dip0.t-ipconnect.de) (Quit: leaving)
2025-08-08 06:21:05 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 06:23:07 +0000YoungFrog(~youngfrog@2a02:a03f:ca07:f900:4407:d5e8:2b8d:2dc6) (Ping timeout: 252 seconds)
2025-08-08 06:27:54 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 06:39:03 +0000YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog
2025-08-08 06:39:09 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 06:41:16 +0000chele(~chele@user/chele) chele
2025-08-08 06:41:20 +0000jackdk(uid373013@cssa/life/jackdk) jackdk
2025-08-08 06:43:39 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 06:43:57 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-08-08 06:49:03 +0000tromp(~textual@2001:1c00:3487:1b00:fc99:7338:6c62:cab) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-08 06:52:33 +0000tromp(~textual@2001:1c00:3487:1b00:fc99:7338:6c62:cab)
2025-08-08 06:54:32 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 06:57:11 +0000talisman`(~user@2601:644:937c:ed10::ae5)
2025-08-08 06:58:18 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-08-08 06:59:08 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-08 07:00:02 +0000caconym747(~caconym@user/caconym) (Quit: bye)
2025-08-08 07:00:42 +0000caconym747(~caconym@user/caconym) caconym
2025-08-08 07:00:49 +0000talismanick(~user@2601:644:937c:ed10::ae5) (Ping timeout: 260 seconds)
2025-08-08 07:03:39 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 07:06:38 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-08-08 07:09:24 +0000peutri(~peutri@bobo.desast.re) (Server closed connection)
2025-08-08 07:09:33 +0000peutri(~peutri@bobo.desast.re) peutri
2025-08-08 07:10:48 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-08 07:12:40 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 276 seconds)
2025-08-08 07:17:56 +0000acidjnk(~acidjnk@p200300d6e717192225dcf845b9904c0e.dip0.t-ipconnect.de) acidjnk
2025-08-08 07:18:22 +0000FANTOM(~fantom@87.74.59.94)
2025-08-08 07:21:52 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 07:25:36 +0000tromp(~textual@2001:1c00:3487:1b00:fc99:7338:6c62:cab) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-08 07:29:05 +0000poscat0x04(~poscat@user/poscat) poscat
2025-08-08 07:30:35 +0000SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2025-08-08 07:30:35 +0000poscat(~poscat@user/poscat) (Ping timeout: 252 seconds)
2025-08-08 07:41:28 +0000dextaa(~dan@200116b82dca98000e5d5dfc8d68d582.dip.versatel-1u1.de)
2025-08-08 07:43:31 +0000dextaa(~dan@200116b82dca98000e5d5dfc8d68d582.dip.versatel-1u1.de) (Remote host closed the connection)
2025-08-08 07:43:50 +0000dextaa(~dan@200116b82dca98000e5d5dfc8d68d582.dip.versatel-1u1.de)
2025-08-08 07:45:01 +0000dextaa(~dan@200116b82dca98000e5d5dfc8d68d582.dip.versatel-1u1.de) (Remote host closed the connection)
2025-08-08 07:46:04 +0000dextaa(~dan@200116b82dca98000e5d5dfc8d68d582.dip.versatel-1u1.de)
2025-08-08 07:46:31 +0000dextaa(~dan@200116b82dca98000e5d5dfc8d68d582.dip.versatel-1u1.de) (Remote host closed the connection)
2025-08-08 07:46:50 +0000dextaa(~dan@200116b82dca98000e5d5dfc8d68d582.dip.versatel-1u1.de)
2025-08-08 07:47:32 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-08 07:49:37 +0000SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) (Ping timeout: 248 seconds)
2025-08-08 07:53:40 +0000poscat0x04(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 07:54:22 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 07:54:24 +0000mfc_kbs(~keibisoft@mail.keibisoft.com) (Server closed connection)
2025-08-08 07:54:42 +0000mfc_kbs(~keibisoft@2a06:1fc0:0:1::1cd)
2025-08-08 07:56:51 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-08-08 08:09:05 +0000__monty__(~toonn@user/toonn) toonn
2025-08-08 08:16:47 +0000dextaa(~dan@200116b82dca98000e5d5dfc8d68d582.dip.versatel-1u1.de) (Ping timeout: 252 seconds)
2025-08-08 08:21:44 +0000AlexNoo_AlexNoo
2025-08-08 08:22:24 +0000dextaa(~dan@200116b82dca980033c93e9a50267820.dip.versatel-1u1.de)
2025-08-08 08:30:48 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2025-08-08 08:42:16 +0000phma(~phma@host-67-44-208-38.hnremote.net) (Read error: Connection reset by peer)
2025-08-08 08:44:01 +0000phma(phma@2001:5b0:215a:b978:b6f0:b4c6:edfd:8a6a)
2025-08-08 08:45:45 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
2025-08-08 08:55:17 +0000rembo10_(~rembo10@main.remulis.com)
2025-08-08 08:57:07 +0000rembo10(~rembo10@main.remulis.com) (Ping timeout: 252 seconds)
2025-08-08 08:58:12 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2025-08-08 09:01:21 +0000ubert(~Thunderbi@91.141.76.34.wireless.dyn.drei.com) ubert
2025-08-08 09:11:22 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-08-08 09:16:54 +0000sudden(~cat@user/sudden) (Server closed connection)
2025-08-08 09:17:09 +0000sudden(~cat@user/sudden) sudden
2025-08-08 09:18:57 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-08 09:21:29 +0000dextaa(~dan@200116b82dca980033c93e9a50267820.dip.versatel-1u1.de) (Quit: Leaving)
2025-08-08 09:25:28 +0000aforemny_(~aforemny@i59F4C627.versanet.de) (Ping timeout: 240 seconds)
2025-08-08 09:26:36 +0000aforemny(~aforemny@2001:9e8:6cf7:6c00:9f22:b1e:aec8:ecc9) aforemny
2025-08-08 09:44:34 +0000Guest84(~Guest84@2401:4900:1c52:d1bb:cc6f:4e7c:df27:efc5)
2025-08-08 09:50:48 +0000kuribas(~user@ptr-17d51emw6dvgxl0n7oc.18120a2.ip6.access.telenet.be) kuribas
2025-08-08 09:51:55 +0000oxapentane(~oxapentan@user/oxapentane) (Remote host closed the connection)
2025-08-08 09:52:27 +0000oxapentane(~oxapentan@user/oxapentane) oxapentane
2025-08-08 09:52:44 +0000 <kuribas> If I implement a type system and type checker, would the progress and preservation properties garantee it is implemented correctly?
2025-08-08 09:52:53 +0000 <kuribas> For example, would it catch bugs in substitution?
2025-08-08 09:54:13 +0000 <Guest84> A smart C++ programmer recommend me that I learn haskell to get better at C++.
2025-08-08 09:54:14 +0000 <Guest84> I do have a background with C++ for 10 years but I cant say I ever like OOPS.
2025-08-08 09:55:24 +0000 <Guest84> Where do I start with ?
2025-08-08 09:55:46 +0000 <Guest84> I even have some (read as very little) experience of functional style c++ and lisp.
2025-08-08 09:56:32 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds)
2025-08-08 09:58:15 +0000 <mauke> Guest84: it's been a long time since I started learning haskell, but have you seen https://www.haskell.org/get-started/ ?
2025-08-08 10:00:20 +0000 <haskellbridge> <sm> and more stuff: https://joyful.com/Haskell+minimap
2025-08-08 10:00:30 +0000 <kuribas> I can recommend https://www.seas.upenn.edu/~cis1940/spring13/
2025-08-08 10:00:55 +0000 <mauke> sm: I love looking at blank pages
2025-08-08 10:01:51 +0000 <[exa]> Guest84: there are various parts of many programming languages that help. Myself I'd recommend prolog first (so that you're able to code in templates easily) and Haskell helps with the "correct by construction" feeling (which is kinda present in C++ as the "keep all local state consistent" approach...more of a soft-skill imo.)
2025-08-08 10:01:52 +0000 <mauke> for a "halfway step" (static types, type inference, mostly functional, algebraic types, currying) without laziness (or type classes), you could look at ocaml
2025-08-08 10:02:17 +0000 <mauke> but after using haskell, ocaml's syntax feels weird
2025-08-08 10:02:53 +0000 <kuribas> Isn't rust closer to C++ though? Haskell is more high level than C++. It doesn't give you much control about memory layout and allocation though.
2025-08-08 10:03:31 +0000trickard_(~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-08 10:03:45 +0000trickard_(~trickard@cpe-49-98-47-163.wireline.com.au)
2025-08-08 10:03:52 +0000 <mauke> sm: sorry, not entirely blank. there is a single animated svg on it, spinning endlessly
2025-08-08 10:14:16 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-08-08 10:15:34 +0000 <int-e> mauke: https://publish-01.obsidian.md/access/599da60310a78cfd30ea6fd228437374/Haskell%20minimap.md is human readable ;)
2025-08-08 10:15:36 +0000img(~img@user/img) img
2025-08-08 10:16:21 +0000 <kuribas> If I mess up the substitution for forall, the type system may be still sound, but reject valid programs.
2025-08-08 10:17:12 +0000trickard_trickard
2025-08-08 10:17:51 +0000 <[exa]> kuribas: if I got the question right, you're asking on whether having (quickcheck?) tests on the 2 properties passing implies that the internal "tools" in the typesystem (substitution) are working as intended?
2025-08-08 10:20:47 +0000 <[exa]> (I'd say that would work just right, but given the sheer spectrum of stupid bugs that may happen in unification I wouldn't bet on it formally)
2025-08-08 10:24:47 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 244 seconds)
2025-08-08 10:25:16 +0000Guest84(~Guest84@2401:4900:1c52:d1bb:cc6f:4e7c:df27:efc5) (Quit: Client closed)
2025-08-08 10:27:39 +0000sprotte24(~sprotte24@p200300d16f43d3003d43dd3d16486e1e.dip0.t-ipconnect.de)
2025-08-08 10:28:40 +0000 <kuribas> I was more thinking about formal proofs, but the idea is the same.
2025-08-08 10:29:41 +0000 <kuribas> If "forall a b. a -> b" has a substitution error, so checks as "forall a. a -> a", it would still be sound, but reject valid programs.
2025-08-08 10:30:06 +0000 <kuribas> So there would need to be some completeness property that prevents this, however most typesystems aren't complete.
2025-08-08 10:32:12 +0000michalz(~michalz@185.246.207.218) (Remote host closed the connection)
2025-08-08 10:32:49 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds)
2025-08-08 10:33:51 +0000 <haskellbridge> <sm> mauke: yikes, thanks for letting me know. You have js disabled ?
2025-08-08 10:34:45 +0000michalz(~michalz@185.246.207.201)
2025-08-08 10:35:10 +0000 <mauke> not specifically, but I have ublock origin configured to block all third-party scripts by default
2025-08-08 10:35:51 +0000 <haskellbridge> <sm> aha
2025-08-08 10:38:39 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 10:38:49 +0000haskellbridgesm needs to find a better setup that's similarly convenient
2025-08-08 10:39:08 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-08-08 10:39:14 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 10:39:30 +0000ubert(~Thunderbi@91.141.76.34.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2025-08-08 10:43:43 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 10:44:14 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 10:46:56 +0000SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2025-08-08 10:47:15 +0000athan(~athan@syn-047-132-161-157.res.spectrum.com) (Ping timeout: 276 seconds)
2025-08-08 10:48:30 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 10:48:58 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2025-08-08 10:51:51 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 10:52:17 +0000poscat0x04(~poscat@user/poscat) poscat
2025-08-08 10:54:55 +0000CalimeroTeknik(~calimero@ctkarch.org) (Changing host)
2025-08-08 10:54:55 +0000CalimeroTeknik(~calimero@user/calimeroteknik) CalimeroTeknik
2025-08-08 10:56:21 +0000poscat(~poscat@user/poscat) (Ping timeout: 248 seconds)
2025-08-08 10:56:45 +0000trickard(~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-08 10:56:59 +0000trickard_(~trickard@cpe-49-98-47-163.wireline.com.au)
2025-08-08 10:57:58 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 240 seconds)
2025-08-08 11:04:14 +0000lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-08-08 11:05:09 +0000trickard_trickard
2025-08-08 11:09:45 +0000 <jcarpenter2> Quick question. I've got a value of type "[MaybeT m a]" and I want to convert it to a "MaybeT m [a]" by taking all of the Just values. Just like catMaybes, but for MaybeT instead of for Maybe. I can do this with the code "liftMaybeT . fmap catMaybes . traverse runMaybeT" but I'm wondering if there's a more elegant / algebraic way such that I don't have to use runMaybeT and liftMaybeT in my code. Any ideas?
2025-08-08 11:10:52 +0000 <jcarpenter2> My code works perfectly fine as-is, but I'd like to know if there's a neat higher-level function I could use.
2025-08-08 11:12:15 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-08 11:13:27 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2025-08-08 11:15:05 +0000jackdk(uid373013@cssa/life/jackdk) (Quit: Connection closed for inactivity)
2025-08-08 11:16:24 +0000Square(~Square@user/square) Square
2025-08-08 11:18:42 +0000zfnmxt(~zfnmxt@user/zfnmxt) (Ping timeout: 248 seconds)
2025-08-08 11:21:00 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
2025-08-08 11:21:06 +0000poscat0x04(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 11:21:38 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 11:21:44 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 11:22:10 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 11:22:34 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2025-08-08 11:23:16 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-08-08 11:27:51 +0000L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-08-08 11:32:48 +0000jaror(~jaror@5070ACC7.static.ziggozakelijk.nl) (Quit: The Lounge - https://thelounge.chat)
2025-08-08 11:33:25 +0000jaror(~jaror@5070ACC7.static.ziggozakelijk.nl)
2025-08-08 11:47:13 +0000ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-08-08 11:51:30 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 11:51:41 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 11:52:08 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-08-08 11:55:15 +0000athan(~athan@syn-047-132-161-157.res.spectrum.com) athan
2025-08-08 11:56:50 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 11:57:16 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 11:58:35 +0000ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-08-08 11:59:20 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 11:59:41 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 12:02:16 +0000trickard(~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-08 12:02:29 +0000trickard_(~trickard@cpe-49-98-47-163.wireline.com.au)
2025-08-08 12:05:53 +0000bcksl(~bcksl@user/bcksl) (Quit: \)
2025-08-08 12:05:54 +0000end(~end@user/end/x-0094621) (Quit: end)
2025-08-08 12:06:11 +0000 <kuribas> [exa]: So I can make a system, proof it consistent, and have an inference algorithm for that system that I can prove is complete. If I want more garantees, like universal quantification, I'll need more theorems for it.
2025-08-08 12:10:21 +0000ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-08-08 12:13:02 +0000ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-08-08 12:13:02 +0000ljdarj1ljdarj
2025-08-08 12:24:22 +0000bcksl(~bcksl@user/bcksl) bcksl
2025-08-08 12:24:41 +0000 <kuribas> However I could prove that for every monotype b, if "x : forall a. e", then "x : e[b/a]". In that case a substitution error would give a contradiction, if "a -> b" must work with distinc types, it would fail if substution makes them equal.
2025-08-08 12:29:32 +0000end(~end@user/end/x-0094621) end^
2025-08-08 12:30:08 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Quit: fp)
2025-08-08 12:30:25 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2025-08-08 12:31:36 +0000trickard_trickard
2025-08-08 12:40:54 +0000Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-08 12:43:36 +0000xff0x(~xff0x@2405:6580:b080:900:3038:cd69:f604:d295)
2025-08-08 12:44:09 +0000euandreh(~Thunderbi@2804:d59:892b:6600:cfc9:47d1:96e8:b32d) euandreh
2025-08-08 12:45:09 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2025-08-08 12:47:36 +0000AlexZenon(~alzenon@178.34.162.188) (Quit: ;-)
2025-08-08 12:48:16 +0000AlexNoo(~AlexNoo@178.34.162.188) (Quit: Leaving)
2025-08-08 12:48:51 +0000weary-traveler(~user@user/user363627) user363627
2025-08-08 12:50:55 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-08-08 12:52:38 +0000davidlbowman(~dlb@user/davidlbowman) davidlbowman
2025-08-08 12:55:04 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds)
2025-08-08 13:00:24 +0000Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-08-08 13:02:58 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2025-08-08 13:02:58 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2025-08-08 13:02:58 +0000haritz(~hrtz@user/haritz) haritz
2025-08-08 13:05:35 +0000statusfailed(~statusfai@statusfailed.com) statusfailed
2025-08-08 13:21:02 +0000AlexNoo(~AlexNoo@178.34.162.188)
2025-08-08 13:21:57 +0000Vajb(~Vajb@n4ff0xajgx7huazq3a1-1.v6.elisa-mobile.fi) (Ping timeout: 248 seconds)
2025-08-08 13:22:40 +0000AlexZenon(~alzenon@178.34.162.188)
2025-08-08 13:22:41 +0000dyniec(~dyniec@dybiec.info) (Remote host closed the connection)
2025-08-08 13:23:18 +0000dyniec(~dyniec@dybiec.info)
2025-08-08 13:24:17 +0000sprotte24(~sprotte24@p200300d16f43d3003d43dd3d16486e1e.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-08-08 13:36:54 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 13:37:59 +0000statusfailed(~statusfai@statusfailed.com) ()
2025-08-08 13:39:04 +0000jespada(~jespada@r179-25-146-183.dialup.adsl.anteldata.net.uy) (Quit: Textual IRC Client: www.textualapp.com)
2025-08-08 13:47:30 +0000jespada(~jespada@2800:a4:2228:2400:e5a0:dd56:e91c:d25b) jespada
2025-08-08 13:48:14 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 13:51:24 +0000smiesner(b0cf5acf8c@user/smiesner) (Server closed connection)
2025-08-08 13:51:31 +0000smiesner(b0cf5acf8c@user/smiesner) smiesner
2025-08-08 13:58:23 +0000Cale(~cale@2607:fea8:995f:f126:15c3:35a5:81ac:187c) Cale
2025-08-08 14:02:52 +0000ft(~ft@p3e9bcd7f.dip0.t-ipconnect.de) ft
2025-08-08 14:14:11 +0000ttybitnik(~ttybitnik@user/wolper) (Remote host closed the connection)
2025-08-08 14:14:50 +0000Sgeo(~Sgeo@user/sgeo) Sgeo
2025-08-08 14:27:17 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-08-08 14:33:23 +0000fgarcia(~lei@user/fgarcia) fgarcia
2025-08-08 14:34:28 +0000AlexZenon(~alzenon@178.34.162.188) (Ping timeout: 240 seconds)
2025-08-08 14:34:55 +0000AlexNoo_(~AlexNoo@94.233.240.26)
2025-08-08 14:34:57 +0000AlexNoo(~AlexNoo@178.34.162.188) (Ping timeout: 248 seconds)
2025-08-08 14:36:59 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
2025-08-08 14:37:38 +0000AlexNoo__(~AlexNoo@94.233.240.26)
2025-08-08 14:37:50 +0000AlexNoo__AlexNoo
2025-08-08 14:40:04 +0000AlexNoo_(~AlexNoo@94.233.240.26) (Ping timeout: 260 seconds)
2025-08-08 14:43:30 +0000AlexZenon(~alzenon@94.233.240.26)
2025-08-08 14:46:54 +0000pointlessslippe1(~pointless@62.106.85.17) (Server closed connection)
2025-08-08 14:49:01 +0000pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-08-08 15:00:44 +0000vpan(~vpan@212.117.1.172)
2025-08-08 15:01:02 +0000vpanGuest7277
2025-08-08 15:01:10 +0000Guest7277vpan
2025-08-08 15:01:14 +0000cptaffe(~cptaffe@user/cptaffe) (Ping timeout: 265 seconds)
2025-08-08 15:03:10 +0000davidlbowman(~dlb@user/davidlbowman) (Ping timeout: 265 seconds)
2025-08-08 15:07:49 +0000jespada(~jespada@2800:a4:2228:2400:e5a0:dd56:e91c:d25b) (Ping timeout: 276 seconds)
2025-08-08 15:10:47 +0000jespada(~jespada@2800:a4:234e:1000:35fb:ac29:3d39:de58) jespada
2025-08-08 15:16:03 +0000karenw(~karenw@dudl-15-b2-v4wan-170016-cust2909.vm31.cable.virginm.net)
2025-08-08 15:16:17 +0000euphores(~SASL_euph@user/euphores) euphores
2025-08-08 15:16:27 +0000karenwGuest1731
2025-08-08 15:31:54 +0000sprout(~sprout@84-80-106-227.fixed.kpn.net) (Server closed connection)
2025-08-08 15:32:08 +0000sprout(~sprout@84-80-106-227.fixed.kpn.net)
2025-08-08 15:33:10 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 15:44:01 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 15:49:48 +0000chele(~chele@user/chele) (Remote host closed the connection)
2025-08-08 15:50:28 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-08 15:52:11 +0000arahael(~arahael@user/arahael) (Ping timeout: 252 seconds)
2025-08-08 16:01:46 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 16:06:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 16:11:12 +0000Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-08-08 16:13:47 +0000phma(phma@2001:5b0:215a:b978:b6f0:b4c6:edfd:8a6a) (Read error: Connection reset by peer)
2025-08-08 16:13:49 +0000ouilemur(~jgmerritt@user/ouilemur) (Ping timeout: 252 seconds)
2025-08-08 16:14:06 +0000jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-08-08 16:15:02 +0000phma(phma@2001:5b0:215d:dff8:8beb:c012:2554:46c7)
2025-08-08 16:15:15 +0000SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
2025-08-08 16:15:51 +0000ouilemur(~jgmerritt@user/ouilemur) ouilemur
2025-08-08 16:17:07 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 16:22:09 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 16:24:24 +0000Yumemi(~Yumemi@chamoin.net) (Server closed connection)
2025-08-08 16:25:13 +0000Yumemi(~Yumemi@chamoin.net) Yumemi
2025-08-08 16:30:42 +0000Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-08-08 16:32:37 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 16:37:18 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-08-08 16:47:01 +0000kuribas(~user@ptr-17d51emw6dvgxl0n7oc.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2025-08-08 16:48:07 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 16:52:28 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-08 16:55:37 +0000Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-08 16:56:34 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 260 seconds)
2025-08-08 16:58:57 +0000vpan(~vpan@212.117.1.172) (Quit: Leaving.)
2025-08-08 16:59:54 +0000Guest1731(~karenw@dudl-15-b2-v4wan-170016-cust2909.vm31.cable.virginm.net) (Ping timeout: 260 seconds)
2025-08-08 17:03:30 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 17:08:06 +0000davidlbowman(~dlb@user/davidlbowman) davidlbowman
2025-08-08 17:08:48 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 17:14:58 +0000 <jcarpenter2> Trying to figure out why this program crashes... https://gitlab.com/-/snippets/4878869
2025-08-08 17:15:59 +0000 <jcarpenter2> This reproduces an error I just had in a larger program. In that program, I just had some divergent code, and I've put an "undefined" here to represent that.
2025-08-08 17:16:34 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
2025-08-08 17:17:14 +0000 <jcarpenter2> Basically there's a value here called "runFunction", and if I run it once it's fine but if I run it twice the program crashes. The output here is "Running once", "Just ()", "Running twice", and then a crash.
2025-08-08 17:17:40 +0000 <jcarpenter2> It seems like the "undefined" value is getting forced somehow, but I'm not sure how that happens.
2025-08-08 17:18:10 +0000 <Lycurgus> crash
2025-08-08 17:18:53 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 17:19:10 +0000 <jcarpenter2> The crash goes away if (1) I switch from the State monad to the Reader monad (that's shown here with 3 commented lines that replace the lines immediately above), or (2) I replace "do_return" just with "return" on line 20
2025-08-08 17:19:57 +0000 <jcarpenter2> The thing is, msum should just return the good value, which is the first value in the array. Somehow the rest of the array seems to be getting forced, even though msum has already found a good value.
2025-08-08 17:20:06 +0000Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-08-08 17:20:08 +0000 <jcarpenter2> Anyway, I'd appreciate any help understanding this!
2025-08-08 17:20:37 +0000ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-08-08 17:21:27 +0000 <mauke> I don't know, but here's a live demo: https://play.haskell.org/saved/MvGY0Szb
2025-08-08 17:22:04 +0000 <jcarpenter2> Oh, thank you for that!
2025-08-08 17:25:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 17:26:18 +0000phma(phma@2001:5b0:215d:dff8:8beb:c012:2554:46c7) (Read error: Connection reset by peer)
2025-08-08 17:27:29 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 260 seconds)
2025-08-08 17:27:45 +0000phma(~phma@host-67-44-208-41.hnremote.net)
2025-08-08 17:30:48 +0000 <int-e> jcarpenter2: the second `get` depends on the state that would be left by the undefined `do_return undefined` call. This can be demonstrated by defining do_return _ = put [] instead
2025-08-08 17:33:21 +0000 <int-e> (writing `do_return ()` makes the function strict in its argument, even in the case when there's only one possible value to match)
2025-08-08 17:43:03 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2025-08-08 17:43:55 +0000 <jcarpenter2> ohhhhhhhhhhh
2025-08-08 17:44:12 +0000 <jcarpenter2> I knew it was something
2025-08-08 17:44:21 +0000 <jcarpenter2> thank you very much
2025-08-08 17:45:04 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 17:46:24 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-08-08 17:49:32 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 17:52:14 +0000 <mauke> int-e++
2025-08-08 17:58:14 +0000poscat0x04(~poscat@user/poscat) poscat
2025-08-08 17:58:27 +0000 <jcarpenter2> If I simplify down to just the 2 lines "units <- get" and "msum $ fmap do_return units" I don't get a crash either, which is interesting. Seems like the "traverse" is what makes the second "get" depend on the first "do_return undefined" call, since that causes the whole list to be iterated.
2025-08-08 17:58:55 +0000 <jcarpenter2> with an fmap, the state would be updated independently for each list element
2025-08-08 17:59:58 +0000poscat(~poscat@user/poscat) (Ping timeout: 245 seconds)
2025-08-08 18:00:27 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 18:02:12 +0000Athas(athas@2a01:7c8:aaac:1cf:c58b:c964:cf04:bf1d) (Quit: ZNC 1.9.1 - https://znc.in)
2025-08-08 18:02:23 +0000Athas(athas@149.210.169.107)
2025-08-08 18:02:51 +0000 <int-e> jcarpenter2: it may be helpful to give `do_return` an explicit type signature for each of those experiments; you'll find that the type changes
2025-08-08 18:05:19 +0000 <int-e> hmm, or not?
2025-08-08 18:05:22 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-08-08 18:05:43 +0000 <jcarpenter2> no, I was just doing that :)
2025-08-08 18:06:13 +0000 <jcarpenter2> I'm trying to find some way to reproduce the issue without using "runMaybeT" etc.
2025-08-08 18:06:30 +0000 <int-e> Ah but the `traverse` forces full sequencing inside the wrapped `State [()]` monad while the plain `msum` shortcuts inside the MaybeT
2025-08-08 18:08:24 +0000tromp(~textual@2001:1c00:3487:1b00:fc99:7338:6c62:cab)
2025-08-08 18:14:37 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2025-08-08 18:15:50 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 18:20:07 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-08-08 18:23:05 +0000jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-08-08 18:30:37 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 18:34:31 +0000 <jcarpenter2> Okay, I think I see what you're saying. The "traverse runMaybeT" sequences a bunch of values in the State monad, and in order to get those values it has to run "do_return" on each list element, including the undefined one.
2025-08-08 18:35:00 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 18:36:28 +0000 <c_wraith> Well, more importantly... traverse is in terms of Applicative
2025-08-08 18:36:39 +0000 <c_wraith> And Applicative can't short-circuit
2025-08-08 18:36:58 +0000 <c_wraith> At least, not in that sense.
2025-08-08 18:39:42 +0000target_i(~target_i@user/target-i/x-6023099) target_i
2025-08-08 18:40:00 +0000 <int-e> > runMaybeT $ traverse id [empty, undefined]
2025-08-08 18:40:01 +0000 <lambdabot> error:
2025-08-08 18:40:02 +0000 <lambdabot> Variable not in scope: runMaybeT :: f0 [b0] -> t
2025-08-08 18:40:12 +0000 <int-e> @let import Control.Monad.Trans.Maybe
2025-08-08 18:40:13 +0000 <lambdabot> Defined.
2025-08-08 18:40:15 +0000 <int-e> > runMaybeT $ traverse id [empty, undefined]
2025-08-08 18:40:16 +0000 <lambdabot> error:
2025-08-08 18:40:16 +0000 <lambdabot> • Ambiguous type variables ‘m0’,
2025-08-08 18:40:17 +0000 <lambdabot> ‘b0’ arising from a use of ‘show_M38876083433...
2025-08-08 18:40:22 +0000 <int-e> meh
2025-08-08 18:40:31 +0000 <int-e> @undef
2025-08-08 18:40:31 +0000 <lambdabot> Undefined.
2025-08-08 18:41:01 +0000 <int-e> with enough defaulting that would evaluate to `Nothing`
2025-08-08 18:41:39 +0000 <c_wraith> but what about when you give it (empty:undefined) as an argument?
2025-08-08 18:41:58 +0000 <c_wraith> that's the part traverse can't escape
2025-08-08 18:42:22 +0000 <int-e> it still evaluates to `Nothing`
2025-08-08 18:42:37 +0000 <int-e> the whole recursive `traverse id undefined` is never touched
2025-08-08 18:43:02 +0000 <monochrom> > runMaybeT $ traverse id (Nothing : undefined)
2025-08-08 18:43:03 +0000 <lambdabot> error:
2025-08-08 18:43:03 +0000 <lambdabot> Variable not in scope: runMaybeT :: Maybe [b0] -> t
2025-08-08 18:43:15 +0000 <monochrom> > runMaybeT $ traverse id ((Nothing :: Maybe Int): undefined)
2025-08-08 18:43:16 +0000 <lambdabot> error:
2025-08-08 18:43:16 +0000 <lambdabot> Variable not in scope: runMaybeT :: Maybe [Int] -> t
2025-08-08 18:43:43 +0000 <c_wraith> Oh right. MaybeT smuggles a monad requirement in
2025-08-08 18:44:11 +0000 <c_wraith> that's actually kind of a cute trick
2025-08-08 18:45:59 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 18:50:54 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 18:51:37 +0000phma(~phma@host-67-44-208-41.hnremote.net) (Read error: Connection reset by peer)
2025-08-08 18:53:36 +0000phma(phma@2001:5b0:210d:1aa8:aefa:72b1:7a70:bfa2)
2025-08-08 18:53:44 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-08-08 18:57:12 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-08 18:58:41 +0000sprotte24(~sprotte24@p200300d16f43d300b160c6115250e1c1.dip0.t-ipconnect.de)
2025-08-08 18:58:59 +0000werneta(~werneta@syn-071-083-160-242.res.spectrum.com) werneta
2025-08-08 18:59:01 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 248 seconds)
2025-08-08 19:00:04 +0000caconym747(~caconym@user/caconym) (Quit: bye)
2025-08-08 19:00:43 +0000caconym747(~caconym@user/caconym) caconym
2025-08-08 19:01:23 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 19:01:26 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2025-08-08 19:04:06 +0000 <jcarpenter2> okay, thanks guys!
2025-08-08 19:04:32 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-08-08 19:04:39 +0000 <jcarpenter2> I understand this a lot better, and found a way to refactor my code so that I don't need to evaluate and re-form the MaybeT transformer
2025-08-08 19:05:47 +0000 <jcarpenter2> (well, except in one place where I actually do want *every* successful computation in a list, not just the first one)
2025-08-08 19:06:59 +0000MudEater85(~MudEater@102.219.153.100)
2025-08-08 19:08:05 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-08 19:08:28 +0000euphores(~SASL_euph@user/euphores) (Ping timeout: 240 seconds)
2025-08-08 19:10:44 +0000Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-08 19:18:24 +0000MudEater85(~MudEater@102.219.153.100) (Quit: Client closed)
2025-08-08 19:19:26 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 19:21:24 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 276 seconds)
2025-08-08 19:24:21 +0000 <jcarpenter2> really appreciate all your insight
2025-08-08 19:24:39 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 19:25:54 +0000op_4(~tslil@user/op-4/x-9116473) (Server closed connection)
2025-08-08 19:26:07 +0000op_4(~tslil@user/op-4/x-9116473) op_4
2025-08-08 19:34:49 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 19:38:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-08 19:46:12 +0000fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Quit: fp)
2025-08-08 19:47:34 +0000Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-08-08 19:50:12 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 19:54:55 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 19:59:01 +0000poscat0x04(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 19:59:21 +0000gorignak(~gorignak@user/gorignak) gorignak
2025-08-08 19:59:32 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 20:00:23 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-08 20:00:32 +0000poscat(~poscat@user/poscat) poscat
2025-08-08 20:02:21 +0000lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds)
2025-08-08 20:05:43 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 20:10:39 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 20:21:12 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 20:25:40 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-08-08 20:33:20 +0000tromp(~textual@2001:1c00:3487:1b00:fc99:7338:6c62:cab) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-08 20:34:25 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
2025-08-08 20:35:21 +0000tt12310978324354(~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) tt1231
2025-08-08 20:36:35 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 20:41:25 +0000tromp(~textual@2001:1c00:3487:1b00:fc99:7338:6c62:cab)
2025-08-08 20:42:24 +0000ringo_(~ringo@157.230.117.128) (Server closed connection)
2025-08-08 20:42:43 +0000ringo_(~ringo@157.230.117.128) ringo_
2025-08-08 20:43:20 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 20:47:07 +0000fp(~Thunderbi@2001-14ba-6e24-3000--19a.rev.dnainternet.fi) fp
2025-08-08 20:51:51 +0000YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2025-08-08 20:52:11 +0000YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog
2025-08-08 20:54:38 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 20:59:04 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 21:00:04 +0000pavonia(~user@user/siracusa) siracusa
2025-08-08 21:01:55 +0000nitrix_(~nitrix@user/meow/nitrix) nitrix
2025-08-08 21:03:09 +0000nitrix(~nitrix@user/meow/nitrix) (Ping timeout: 260 seconds)
2025-08-08 21:10:01 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 21:15:09 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 21:24:46 +0000takuan(~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 252 seconds)
2025-08-08 21:25:25 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 21:27:45 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds)
2025-08-08 21:29:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-08 21:40:47 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 21:45:42 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-08 21:49:48 +0000robobub(uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2025-08-08 21:56:11 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 21:57:23 +0000michalz(~michalz@185.246.207.201) (Remote host closed the connection)
2025-08-08 22:00:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 22:01:16 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2025-08-08 22:04:01 +0000fp(~Thunderbi@2001-14ba-6e24-3000--19a.rev.dnainternet.fi) (Ping timeout: 248 seconds)
2025-08-08 22:06:31 +0000tromp(~textual@2001:1c00:3487:1b00:fc99:7338:6c62:cab) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-08 22:07:04 +0000ystael(~ystael@user/ystael) (Ping timeout: 276 seconds)
2025-08-08 22:11:40 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 22:12:32 +0000Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-08-08 22:18:25 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-08 22:30:22 +0000target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-08-08 22:32:36 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 22:36:54 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-08-08 22:43:15 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-08-08 22:47:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 22:52:49 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 23:03:22 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 23:08:02 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-08 23:09:54 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 260 seconds)
2025-08-08 23:11:45 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2025-08-08 23:18:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 23:25:29 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-08 23:34:23 +0000sprotte24(~sprotte24@p200300d16f43d300b160c6115250e1c1.dip0.t-ipconnect.de) (Quit: Leaving)
2025-08-08 23:36:29 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 23:40:48 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-08 23:43:34 +0000athan(~athan@syn-047-132-161-157.res.spectrum.com) (Quit: Konversation terminated!)
2025-08-08 23:51:39 +0000 <haskellbridge> <orenty7> Hello everyone,
2025-08-08 23:51:39 +0000 <haskellbridge> I started diving into GHC recently and, as a result, stumble upon dependent types discussions a lot. Apparently there's a lot of effort to make haskell dependently-typed, so the question is: why it wasn't from the beginning?
2025-08-08 23:51:51 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-08 23:56:19 +0000 <EvanR> complexity increases a lot, for the user and the compiler
2025-08-08 23:56:53 +0000 <Leary> Haskell was born from a committee of academics working on /lazy/ functional languages. The type system was secondary. Also, this was like thirty years ago; was there even precedent?
2025-08-08 23:56:59 +0000 <EvanR> a lot of haskell people report not wanting to use dependent types
2025-08-08 23:57:11 +0000ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-08-08 23:58:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)