2026/04/23

2026-04-23 00:01:31 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-23 00:08:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 00:13:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-23 00:14:28 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: kjabckjas)
2026-04-23 00:14:51 +0000ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 255 seconds)
2026-04-23 00:21:45 +0000Googulator(~Googulato@84-236-65-56.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 00:21:58 +0000Googulator(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 00:24:09 +0000acidjnk_new3(~acidjnk@p200300d6e700e5836dc6d0caa2ab8c45.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2026-04-23 00:24:13 +0000Googulator25(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 00:24:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 00:27:42 +0000Googulator(~Googulato@84-236-65-56.pool.digikabel.hu) (Ping timeout: 245 seconds)
2026-04-23 00:29:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-23 00:37:01 +0000tt1231607019785(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) tt1231
2026-04-23 00:37:11 +0000degraafk_(sid71464@2a03:5180:f:2::1:1728) degraafk
2026-04-23 00:37:13 +0000aristid_(sid1599@id-1599.uxbridge.irccloud.com)
2026-04-23 00:37:15 +0000nonzen(~nonzen@user/nonzen) nonzen
2026-04-23 00:37:27 +0000eso_(a0662dfd5e@2a03:6000:1812:100::1266) jeso
2026-04-23 00:37:29 +0000lukec_(9dfd4d094e@2a03:6000:1812:100::10e)
2026-04-23 00:37:35 +0000fgaz_(1ff9197ed6@2a03:6000:1812:100::11ea) fgaz
2026-04-23 00:37:36 +0000sherbert_(d006a0b946@2a03:6000:1812:100::155) sherbert
2026-04-23 00:37:36 +0000jkoshy_(99b9359beb@user/jkoshy) jkoshy
2026-04-23 00:37:36 +0000whereiseveryone_(206ba86c98@2a03:6000:1812:100::2e4) jgart
2026-04-23 00:37:36 +0000cpli_(77fc530071@2a03:6000:1812:100::252) cpli
2026-04-23 00:37:36 +0000oats_(~oats@user/oats) oats
2026-04-23 00:37:37 +0000b0o_(0e4a0bf4c9@2a03:6000:1812:100::1bf) b0o
2026-04-23 00:37:37 +0000rselim_(ce261f06ff@user/milesrout) milesrout
2026-04-23 00:37:37 +0000bgtdsword_(b968c1779f@user/titibandit) titibandit
2026-04-23 00:37:37 +0000alethkit_(23bd17ddc6@sourcehut/user/alethkit) alethkit
2026-04-23 00:37:38 +0000samhh__(7569f027cf@2a03:6000:1812:100::e4) samhh
2026-04-23 00:37:44 +0000iphy_(sid67735@user/iphy) iphy
2026-04-23 00:37:47 +0000aspen_(sid449115@id-449115.helmsley.irccloud.com) aspen
2026-04-23 00:37:49 +0000gaze___(sid387101@id-387101.helmsley.irccloud.com) gaze__
2026-04-23 00:37:55 +0000tomsmeding_(~tomsmedin@user/tomsmeding) tomsmeding
2026-04-23 00:37:59 +0000mustafa_(sid502723@rockylinux/releng/mustafa) mustafa
2026-04-23 00:38:02 +0000integral_(sid296274@user/integral) integral
2026-04-23 00:38:07 +0000b20n_(sid115913@id-115913.uxbridge.irccloud.com) b20n
2026-04-23 00:38:08 +0000idnar_(sid12240@debian/mithrandi) idnar
2026-04-23 00:38:10 +0000caasih_(sid13241@id-13241.ilkley.irccloud.com) caasih
2026-04-23 00:38:10 +0000Fangs_(sid141280@id-141280.hampstead.irccloud.com) Fangs
2026-04-23 00:38:10 +0000astra__(sid289983@id-289983.hampstead.irccloud.com)
2026-04-23 00:38:12 +0000buhman_(sid411355@user/buhman) buhman
2026-04-23 00:38:20 +0000Pent_(sid313808@id-313808.lymington.irccloud.com) Pent____
2026-04-23 00:38:22 +0000sa_(sid1055@id-1055.tinside.irccloud.com) sa
2026-04-23 00:38:23 +0000haasn_(sid579015@id-579015.hampstead.irccloud.com) haasn
2026-04-23 00:38:24 +0000carter_(sid14827@2a03:5180:f:1::39eb) carter
2026-04-23 00:38:27 +0000unlucy_(sid572875@user/unlucy) unlucy
2026-04-23 00:39:12 +0000hook54321_(sid149355@user/hook54321) hook54321
2026-04-23 00:39:41 +0000stefan-___(~m-yh2rcc@89.58.48.121) stefan-__
2026-04-23 00:40:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 00:40:33 +0000koraynil1(~koraynila@user/koraynilay) koraynilay
2026-04-23 00:40:40 +0000werneta_(~werneta@71.83.160.242) werneta
2026-04-23 00:40:47 +0000deveng(~fernando-@2a01:4f9:c012:63d3::1) fernando-basso
2026-04-23 00:41:06 +0000mima_(~mmh@user/mima) mima
2026-04-23 00:44:08 +0000Googulator25(~Googulato@84-236-65-56.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 00:44:25 +0000Googulator25(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 00:45:03 +0000mustafa(sid502723@rockylinux/releng/mustafa) (*.net *.split)
2026-04-23 00:45:03 +0000hook54321(sid149355@user/hook54321) (*.net *.split)
2026-04-23 00:45:03 +0000integral(sid296274@user/integral) (*.net *.split)
2026-04-23 00:45:03 +0000caasih(sid13241@id-13241.ilkley.irccloud.com) (*.net *.split)
2026-04-23 00:45:03 +0000haasn(sid579015@id-579015.hampstead.irccloud.com) (*.net *.split)
2026-04-23 00:45:03 +0000gaze__(sid387101@id-387101.helmsley.irccloud.com) (*.net *.split)
2026-04-23 00:45:03 +0000degraafk(sid71464@id-71464.lymington.irccloud.com) (*.net *.split)
2026-04-23 00:45:03 +0000astra(sid289983@id-289983.hampstead.irccloud.com) (*.net *.split)
2026-04-23 00:45:03 +0000idnar(sid12240@debian/mithrandi) (*.net *.split)
2026-04-23 00:45:03 +0000carter(sid14827@id-14827.helmsley.irccloud.com) (*.net *.split)
2026-04-23 00:45:03 +0000aristid(sid1599@id-1599.uxbridge.irccloud.com) (*.net *.split)
2026-04-23 00:45:03 +0000buhman(sid411355@user/buhman) (*.net *.split)
2026-04-23 00:45:03 +0000oats(~oats@user/oats) (*.net *.split)
2026-04-23 00:45:03 +0000sa(sid1055@id-1055.tinside.irccloud.com) (*.net *.split)
2026-04-23 00:45:03 +0000tt123160701978(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (*.net *.split)
2026-04-23 00:45:03 +0000unlucy(sid572875@user/unlucy) (*.net *.split)
2026-04-23 00:45:03 +0000welterde(welterde@thinkbase.srv.welterde.de) (*.net *.split)
2026-04-23 00:45:03 +0000werneta(~werneta@71.83.160.242) (*.net *.split)
2026-04-23 00:45:03 +0000samhh_(7569f027cf@2a03:6000:1812:100::e4) (*.net *.split)
2026-04-23 00:45:03 +0000sherbert(d006a0b946@2a03:6000:1812:100::155) (*.net *.split)
2026-04-23 00:45:03 +0000alethkit(23bd17ddc6@sourcehut/user/alethkit) (*.net *.split)
2026-04-23 00:45:03 +0000cpli(77fc530071@2a03:6000:1812:100::252) (*.net *.split)
2026-04-23 00:45:03 +0000rselim(ce261f06ff@user/milesrout) (*.net *.split)
2026-04-23 00:45:03 +0000bgtdsword(b968c1779f@user/titibandit) (*.net *.split)
2026-04-23 00:45:04 +0000lukec(9dfd4d094e@2a03:6000:1812:100::10e) (*.net *.split)
2026-04-23 00:45:04 +0000whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (*.net *.split)
2026-04-23 00:45:04 +0000b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) (*.net *.split)
2026-04-23 00:45:04 +0000fgaz(1ff9197ed6@2a03:6000:1812:100::11ea) (*.net *.split)
2026-04-23 00:45:04 +0000eso(a0662dfd5e@2a03:6000:1812:100::1266) (*.net *.split)
2026-04-23 00:45:04 +0000jkoshy(99b9359beb@user/jkoshy) (*.net *.split)
2026-04-23 00:45:04 +0000koraynilay(~koraynila@user/koraynilay) (*.net *.split)
2026-04-23 00:45:04 +0000tomsmeding(~tomsmedin@user/tomsmeding) (*.net *.split)
2026-04-23 00:45:04 +0000fernando-basso(~fernando-@2a01:4f9:c012:63d3::1) (*.net *.split)
2026-04-23 00:45:04 +0000nonzen_(~nonzen@user/nonzen) (*.net *.split)
2026-04-23 00:45:04 +0000iphy(sid67735@user/iphy) (*.net *.split)
2026-04-23 00:45:04 +0000yushyin(wXieVo4SsI@mail.karif.server-speed.net) (*.net *.split)
2026-04-23 00:45:04 +0000aspen(sid449115@id-449115.helmsley.irccloud.com) (*.net *.split)
2026-04-23 00:45:04 +0000Pent(sid313808@id-313808.lymington.irccloud.com) (*.net *.split)
2026-04-23 00:45:04 +0000b20n(sid115913@id-115913.uxbridge.irccloud.com) (*.net *.split)
2026-04-23 00:45:04 +0000Fangs(sid141280@id-141280.hampstead.irccloud.com) (*.net *.split)
2026-04-23 00:45:04 +0000mikko(~mikko@user/mikko) (*.net *.split)
2026-04-23 00:45:04 +0000elenril(~elenril@tutturu.khirnov.net) (*.net *.split)
2026-04-23 00:45:04 +0000mima(~mmh@user/mima) (*.net *.split)
2026-04-23 00:45:04 +0000robertm(robertm@lattice.rojoma.com) (*.net *.split)
2026-04-23 00:45:05 +0000stefan-__(~m-yh2rcc@42dots.de) (*.net *.split)
2026-04-23 00:45:05 +0000bgtdsword_bgtdsword
2026-04-23 00:45:05 +0000jkoshy_jkoshy
2026-04-23 00:45:05 +0000degraafk_degraafk
2026-04-23 00:45:05 +0000hook54321_hook54321
2026-04-23 00:45:05 +0000buhman_buhman
2026-04-23 00:45:05 +0000carter_carter
2026-04-23 00:45:05 +0000oats_oats
2026-04-23 00:45:05 +0000sherbert_sherbert
2026-04-23 00:45:05 +0000haasn_haasn
2026-04-23 00:45:05 +0000lukec_lukec
2026-04-23 00:45:05 +0000eso_eso
2026-04-23 00:45:05 +0000tt1231607019785tt123160701978
2026-04-23 00:45:05 +0000b0o_b0o
2026-04-23 00:45:05 +0000rselim_rselim
2026-04-23 00:45:05 +0000alethkit_alethkit
2026-04-23 00:45:05 +0000iphy_iphy
2026-04-23 00:45:06 +0000whereiseveryone_whereiseveryone
2026-04-23 00:45:07 +0000mustafa_mustafa
2026-04-23 00:45:07 +0000caasih_caasih
2026-04-23 00:45:07 +0000aristid_aristid
2026-04-23 00:45:07 +0000gaze___gaze__
2026-04-23 00:45:07 +0000fgaz_fgaz
2026-04-23 00:45:07 +0000integral_integral
2026-04-23 00:45:07 +0000idnar_idnar
2026-04-23 00:45:07 +0000astra__astra
2026-04-23 00:45:07 +0000cpli_cpli
2026-04-23 00:45:07 +0000aspen_aspen
2026-04-23 00:45:07 +0000sa_sa
2026-04-23 00:45:07 +0000unlucy_unlucy
2026-04-23 00:45:08 +0000Fangs_Fangs
2026-04-23 00:45:08 +0000b20n_b20n
2026-04-23 00:45:14 +0000Pent_Pent
2026-04-23 00:46:44 +0000ezzieyguywuf(~Unknown@user/ezzieyguywuf) ezzieyguywuf
2026-04-23 00:47:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-23 00:48:51 +0000FANTOM(~fantom@90.244.177.43) (Ping timeout: 265 seconds)
2026-04-23 00:49:32 +0000stefan-___stefan-__
2026-04-23 00:51:27 +0000elenril(~elenril@tutturu.khirnov.net) elenril
2026-04-23 00:51:36 +0000yushyin(cFgGaR0ach@mail.karif.server-speed.net) yushyin
2026-04-23 00:51:42 +0000robertm(robertm@lattice.rojoma.com) robertm
2026-04-23 00:51:54 +0000mikko(~mikko@2a01:4f9:c012:ac71::1)
2026-04-23 00:51:54 +0000mikko(~mikko@2a01:4f9:c012:ac71::1) (Changing host)
2026-04-23 00:51:54 +0000mikko(~mikko@user/mikko) mikko
2026-04-23 00:52:00 +0000welterde(welterde@thinkbase.srv.welterde.de) welterde
2026-04-23 00:54:14 +0000FANTOM(~fantom@90.244.177.43)
2026-04-23 00:56:53 +0000puke(~puke@user/puke) puke
2026-04-23 00:57:22 +0000olivial(~benjaminl@user/benjaminl) (Ping timeout: 248 seconds)
2026-04-23 00:57:30 +0000jreicher(~joelr@user/jreicher) (Quit: brb)
2026-04-23 00:57:42 +0000olivial(~benjaminl@user/benjaminl) benjaminl
2026-04-23 00:57:54 +0000ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 248 seconds)
2026-04-23 01:00:10 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-23 01:03:46 +0000ezzieyguywuf(~Unknown@user/ezzieyguywuf) ezzieyguywuf
2026-04-23 01:04:06 +0000Googulator25(~Googulato@84-236-65-56.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 01:04:18 +0000Googulator25(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 01:15:52 +0000koraynil1koraynilay
2026-04-23 01:16:57 +0000xff0x(~xff0x@2405:6580:b080:900:a57a:c3e:71fc:8409) (Ping timeout: 248 seconds)
2026-04-23 01:23:27 +0000rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) (Remote host closed the connection)
2026-04-23 01:39:17 +0000Googulator71(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 01:43:07 +0000Googulator25(~Googulato@84-236-65-56.pool.digikabel.hu) (Ping timeout: 245 seconds)
2026-04-23 01:46:08 +0000puke(~puke@user/puke) (Remote host closed the connection)
2026-04-23 01:46:23 +0000puke(~puke@user/puke) puke
2026-04-23 01:58:32 +0000puke(~puke@user/puke) (Ping timeout: 250 seconds)
2026-04-23 01:59:13 +0000puke(~puke@user/puke) puke
2026-04-23 02:04:36 +0000puke(~puke@user/puke) (Ping timeout: 250 seconds)
2026-04-23 02:11:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 02:12:39 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-04-23 02:16:28 +0000Googulator69(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 02:16:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 02:18:49 +0000weary-traveler(~user@user/user363627) (Ping timeout: 248 seconds)
2026-04-23 02:19:14 +0000weary-traveler(~user@user/user363627) user363627
2026-04-23 02:20:12 +0000Googulator71(~Googulato@84-236-65-56.pool.digikabel.hu) (Ping timeout: 245 seconds)
2026-04-23 02:22:15 +0000troojg(~troojg@user/troojg) (Ping timeout: 245 seconds)
2026-04-23 02:25:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 02:30:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-04-23 02:32:56 +0000poscat(~poscat@user/poscat) poscat
2026-04-23 02:34:17 +0000poscat0x04(~poscat@user/poscat) (Ping timeout: 248 seconds)
2026-04-23 02:34:24 +0000ephapticpulse(~user@user/ephapticpulse) ephapticpulse
2026-04-23 02:41:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 02:41:29 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-23 02:45:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-23 02:48:18 +0000jmcantrell_(~weechat@user/jmcantrell) (Quit: WeeChat 4.9.0)
2026-04-23 02:51:16 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-23 02:54:04 +0000Alex_delenda_est(~al_test@178.34.150.30) (Ping timeout: 244 seconds)
2026-04-23 02:54:35 +0000AlexZenon(~alzenon@178.34.150.30) (Ping timeout: 244 seconds)
2026-04-23 02:55:08 +0000AlexNoo(~AlexNoo@178.34.150.30) (Ping timeout: 252 seconds)
2026-04-23 02:56:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 03:01:29 +0000Guest44(~Guest44@49.224.213.158)
2026-04-23 03:01:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 03:02:36 +0000 <Guest44> Hi, I have to invoke -XFlexibleContexts in my ghci session and now when I evaluate an expression all I get is the type of the expression not the computation.  Is this a bug?
2026-04-23 03:04:30 +0000 <EvanR> after doing :set +t I see types. Then -XFlexibleContexts doesn't undo that
2026-04-23 03:06:00 +0000 <Guest44> I set -XFlexibleContexts in the cabal file and never invoke :set +t in the repl/
2026-04-23 03:07:20 +0000 <EvanR> by default I don't see types unless I ask for it with :t
2026-04-23 03:07:28 +0000 <EvanR> but we have different versions I'm sure
2026-04-23 03:08:21 +0000 <EvanR> maybe check your .ghci file
2026-04-23 03:12:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 03:14:14 +0000 <Guest44> https://paste.tomsmeding.com/gKCfwJD5
2026-04-23 03:19:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 03:23:30 +0000duncan(c6181279e3@user/meow/duncan) (Ping timeout: 245 seconds)
2026-04-23 03:24:47 +0000polykernel_(~polykerne@user/polykernel) polykernel
2026-04-23 03:26:37 +0000polykernel(~polykerne@user/polykernel) (Ping timeout: 244 seconds)
2026-04-23 03:26:37 +0000polykernel_polykernel
2026-04-23 03:29:38 +0000duncan(c6181279e3@user/meow/duncan) duncan
2026-04-23 03:30:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 03:33:05 +0000slondr(cf9f9e8f44@2a03:6000:1812:100::10b6) (Ping timeout: 252 seconds)
2026-04-23 03:34:53 +0000whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Ping timeout: 244 seconds)
2026-04-23 03:35:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 03:35:35 +0000Googulator74(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 03:37:06 +0000slondr(cf9f9e8f44@2a03:6000:1812:100::10b6) slondr
2026-04-23 03:38:57 +0000whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) jgart
2026-04-23 03:38:57 +0000Googulator69(~Googulato@84-236-65-56.pool.digikabel.hu) (Ping timeout: 245 seconds)
2026-04-23 03:40:11 +0000 <pavonia> Guest44: Does it work normally if you specify the type of the computation? Also does this happen for all other types of expressions too?
2026-04-23 03:40:50 +0000 <EvanR> I totally misread what was missing from the story
2026-04-23 03:41:19 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2026-04-23 03:42:24 +0000ephapticpulse(~user@user/ephapticpulse) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3))
2026-04-23 03:44:24 +0000dolio(~dolio@130.44.140.168) (Quit: ZNC 1.10.1 - https://znc.in)
2026-04-23 03:44:37 +0000 <Guest44> pavonia: the type of the computation is specified in the hs file.  I can do `return "x + 3"` which prints `"x + 3"`
2026-04-23 03:45:52 +0000dolio(~dolio@130.44.140.168) dolio
2026-04-23 03:47:15 +0000shreyasminocha(51fdc93eda@user/shreyasminocha) (Ping timeout: 245 seconds)
2026-04-23 03:47:15 +0000JoelMcCracken(5ea8252fbb@2a03:6000:1812:100::10e3) (Ping timeout: 245 seconds)
2026-04-23 03:47:45 +0000whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Ping timeout: 246 seconds)
2026-04-23 03:49:02 +0000 <pavonia> What I meant is the concrete type in ghci. It looks like defaulting isn't applied here
2026-04-23 03:49:15 +0000JoelMcCracken(5ea8252fbb@2a03:6000:1812:100::10e3) JoelMcCracken
2026-04-23 03:49:16 +0000shreyasminocha(51fdc93eda@user/shreyasminocha) shreyasminocha
2026-04-23 03:49:22 +0000Googulator46(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 03:49:35 +0000emaczen(~user@user/emaczen) (Ping timeout: 252 seconds)
2026-04-23 03:49:35 +0000dolio(~dolio@130.44.140.168) (Client Quit)
2026-04-23 03:50:55 +0000jmcantrell_jmcantrell
2026-04-23 03:51:00 +0000dolio(~dolio@130.44.140.168) dolio
2026-04-23 03:51:14 +0000Googulator74(~Googulato@84-236-65-56.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 03:51:52 +0000whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) jgart
2026-04-23 04:02:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 04:04:25 +0000 <Guest44> pavonia: I solved the problem by changing type declarations upstream, although that still doesn't explain why :set -XFlexibleContexts results in printing type information not computation result.
2026-04-23 04:07:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-23 04:07:49 +0000 <pavonia> I can only guess it doesn't know which type to run the computation in if flexible contexts are involved. But no idea if this is expected behaviour or not
2026-04-23 04:08:45 +0000michalz(~michalz@185.246.207.197)
2026-04-23 04:08:59 +0000 <Guest44> pavonia:  I was relying on the inner monad defaulting to IO, which FlexibleContexts seems to not recognise.
2026-04-23 04:12:08 +0000Guest44(~Guest44@49.224.213.158) ()
2026-04-23 04:13:59 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-04-23 04:17:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 04:18:52 +0000 <EvanR> usually, isn't an IO value not reported (what would it show)
2026-04-23 04:22:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-23 04:26:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 04:30:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 04:35:33 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-04-23 04:39:34 +0000Googulator54(~Googulato@84-236-65-56.pool.digikabel.hu)
2026-04-23 04:39:58 +0000Googulator46(~Googulato@84-236-65-56.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 04:40:57 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 04:41:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 04:46:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 04:47:18 +0000tusko(~uwu@user/tusko) (Ping timeout: 265 seconds)
2026-04-23 04:47:37 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 248 seconds)
2026-04-23 04:57:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 04:59:59 +0000layline_(~layline@149.154.26.56) layline
2026-04-23 05:03:17 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 05:04:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-23 05:13:46 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-04-23 05:15:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 05:17:12 +0000nek0(~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat)
2026-04-23 05:20:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-04-23 05:24:49 +0000nek0(~nek0@user/nek0) nek0
2026-04-23 05:27:04 +0000layline_(~layline@149.154.26.56) (Quit: ZZZzzz…)
2026-04-23 05:27:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 05:31:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 05:32:29 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-23 05:37:59 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 05:38:01 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-04-23 05:38:27 +0000tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 268 seconds)
2026-04-23 05:40:56 +0000tomboy64(~tomboy64@user/tomboy64) tomboy64
2026-04-23 05:41:03 +0000jreicher(~joelr@user/jreicher) (Read error: Connection reset by peer)
2026-04-23 05:42:11 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-23 05:45:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 05:47:19 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-04-23 05:50:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 05:52:38 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 05:52:50 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
2026-04-23 06:01:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 06:03:55 +0000jreicher(~joelr@user/jreicher) (Ping timeout: 272 seconds)
2026-04-23 06:05:05 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-23 06:06:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-23 06:06:31 +0000monochrom(trebla@216.138.220.146) (Read error: Connection reset by peer)
2026-04-23 06:06:34 +0000tusko(~uwu@user/tusko) (Ping timeout: 265 seconds)
2026-04-23 06:06:56 +0000monochrom(trebla@216.138.220.146) monochrom
2026-04-23 06:07:09 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-04-23 06:08:14 +0000tnt1(~Thunderbi@user/tnt1) (Ping timeout: 245 seconds)
2026-04-23 06:08:18 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 06:08:32 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-04-23 06:09:27 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-04-23 06:09:49 +0000 <mauke> % pure show :: IO (Int -> String)
2026-04-23 06:09:50 +0000 <yahb2> <no output>
2026-04-23 06:10:09 +0000 <mauke> % pure id :: IO (a -> a)
2026-04-23 06:10:09 +0000 <yahb2> <no output>
2026-04-23 06:11:06 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-04-23 06:12:24 +0000CiaoSen(~Jura@p549cbfb1.dip0.t-ipconnect.de) CiaoSen
2026-04-23 06:12:35 +0000chele(~chele@user/chele) chele
2026-04-23 06:13:20 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 06:21:44 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-04-23 06:22:03 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 06:26:47 +0000jreicher(~joelr@user/jreicher) (Quit: brb)
2026-04-23 06:28:19 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-23 06:28:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 06:29:25 +0000 <EvanR> 1950s cybernetics meets windows 95 (or GEM desktop or ...) https://paste.tomsmeding.com/uN1sFvss
2026-04-23 06:34:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 06:35:07 +0000jreicher(~joelr@user/jreicher) (Quit: brb)
2026-04-23 06:36:03 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-23 06:37:06 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds)
2026-04-23 06:40:44 +0000czan(~czan@user/mange) (Quit: Quittin' time!)
2026-04-23 06:40:57 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-04-23 06:41:18 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-04-23 06:41:58 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-04-23 06:45:22 +0000jreicher(~joelr@user/jreicher) (Remote host closed the connection)
2026-04-23 06:45:56 +0000acidjnk_new3(~acidjnk@p200300d6e700e5839e53bb2e58e5bcbf.dip0.t-ipconnect.de)
2026-04-23 06:46:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 06:51:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-23 06:52:22 +0000vgtw(~vgtw@user/vgtw) vgtw
2026-04-23 06:54:41 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-23 06:55:34 +0000ft(~ft@p508db287.dip0.t-ipconnect.de) (Quit: leaving)
2026-04-23 07:02:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 07:04:32 +0000Vizious(~bes@user/Vizious) (Read error: Connection reset by peer)
2026-04-23 07:06:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 07:15:14 +0000Square2(~Square4@user/square) Square
2026-04-23 07:17:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 07:21:15 +0000tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2026-04-23 07:21:25 +0000rainbyte(~rainbyte@181.47.219.3) (Read error: Connection reset by peer)
2026-04-23 07:22:18 +0000rainbyte(~rainbyte@181.47.219.3) rainbyte
2026-04-23 07:22:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-23 07:23:41 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-04-23 07:24:03 +0000fp1(~Thunderbi@2001-14ba-6e24-3000--180.rev.dnainternet.fi) fp
2026-04-23 07:34:06 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-04-23 07:38:12 +0000Vizious(~bes@user/Vizious) Vizious
2026-04-23 07:48:16 +0000vgtw(~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
2026-04-23 07:54:17 +0000oskarw(~user@user/oskarw) oskarw
2026-04-23 08:01:38 +0000merijn(~merijn@77.242.116.146) merijn
2026-04-23 08:01:56 +0000karenw(~karenw@user/karenw) karenw
2026-04-23 08:05:36 +0000vgtw(~vgtw@user/vgtw) vgtw
2026-04-23 08:11:08 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-04-23 08:14:47 +0000 <haskellbridge> <ozkutuk> dibblego: there is also ReifiedPrism' if you prefer using that
2026-04-23 08:15:18 +0000 <dibblego> I do, but that is back to a type-alias
2026-04-23 08:16:41 +0000 <haskellbridge> <ozkutuk> yes, but it is an alias for ReifiedPrism and not the underlying optic type, so in a sense it is still opaque
2026-04-23 08:16:48 +0000 <haskellbridge> <ozkutuk> or maybe I misunderstood your use case
2026-04-23 08:23:13 +0000 <dibblego> I want a value that can use in a position (p :: * -> * -> *) and type-aliases cannot appear there
2026-04-23 08:25:36 +0000 <haskellbridge> <ozkutuk> in that case I think wrapping with a newtype of your own is your only choice
2026-04-23 08:40:42 +0000 <dibblego> ok thanks
2026-04-23 08:48:00 +0000CiaoSen(~Jura@p549cbfb1.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2026-04-23 08:48:23 +0000jreicherGuest5730
2026-04-23 08:48:23 +0000Guest5730(~joelr@user/jreicher) (Killed (niobium.libera.chat (Nickname regained by services)))
2026-04-23 08:48:56 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-23 08:51:34 +0000fp1(~Thunderbi@2001-14ba-6e24-3000--180.rev.dnainternet.fi) (Ping timeout: 245 seconds)
2026-04-23 08:51:44 +0000bggd__(~bgg@2a01:e0a:fd5:f510:a8fb:b82b:2a5:62ab)
2026-04-23 08:52:57 +0000tnt1(~Thunderbi@user/tnt1) (Quit: tnt1)
2026-04-23 08:55:36 +0000srazkvt(~sarah@user/srazkvt) srazkvt
2026-04-23 08:56:00 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-04-23 09:01:10 +0000 <haskellbridge> <Liamzee> hey, is servant dead? their hackage page now has brokne links :(
2026-04-23 09:11:09 +0000tnt1(~Thunderbi@user/tnt1) (Ping timeout: 245 seconds)
2026-04-23 09:13:39 +0000 <mauke> https://docs.servant.dev/en/0.20.3.0/tutorial/index.html ?
2026-04-23 09:16:39 +0000 <merijn> Liamzee which broken links?
2026-04-23 09:17:03 +0000 <haskellbridge> <Liamzee> https://docs.servant.dev/en/stable/tutorial/index.html
2026-04-23 09:17:07 +0000 <haskellbridge> <Liamzee> https://hackage.haskell.org/package/servant-server
2026-04-23 09:17:53 +0000 <merijn> Liamzee: I mean, the hackage page only updates when they publish a new version (assuming they remember to check that link)
2026-04-23 09:19:16 +0000 <gentauro> % lenght (Just [])
2026-04-23 09:19:16 +0000 <yahb2> <interactive>:37:1: error: [GHC-88464] ; Variable not in scope: lenght :: Maybe [a0] -> t ; Suggested fix: Perhaps use ‘length’ (imported from Prelude)
2026-04-23 09:19:26 +0000 <gentauro> % length (Just [])
2026-04-23 09:19:26 +0000 <yahb2> 1
2026-04-23 09:19:33 +0000 <gentauro> % length (Just [1])
2026-04-23 09:19:33 +0000 <yahb2> 1
2026-04-23 09:19:37 +0000 <gentauro> % length (Just [])
2026-04-23 09:19:37 +0000 <yahb2> 1
2026-04-23 09:19:44 +0000 <gentauro> Huh?
2026-04-23 09:20:15 +0000 <mauke> % length Nothing
2026-04-23 09:20:15 +0000 <yahb2> 0
2026-04-23 09:20:38 +0000 <mauke> Maybe = a list of at most one element
2026-04-23 09:20:41 +0000 <humasect> vector[1] == scalar ?
2026-04-23 09:20:49 +0000 <humasect> oh
2026-04-23 09:21:04 +0000 <humasect> % length Nothing
2026-04-23 09:21:04 +0000 <yahb2> 0
2026-04-23 09:21:16 +0000 <gentauro> mauke: lucky to have the LSP point that out :o
2026-04-23 09:28:43 +0000vgtw(~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
2026-04-23 09:29:20 +0000 <haskellbridge> <Liamzee> merijn, sorry
2026-04-23 09:29:28 +0000 <haskellbridge> <Liamzee> i'm sort of depressed, AI is going to eat everything
2026-04-23 09:29:40 +0000 <haskellbridge> <Liamzee> i lost my faith
2026-04-23 09:32:28 +0000 <merijn> I'm still not convinced :p
2026-04-23 09:33:53 +0000 <merijn> Uptime of everyone is in the dumps since the AI hype in silicon valley, Windows is a dumpster fire, seems a direct correlation between things going to shit and AI usage
2026-04-23 09:35:37 +0000myme(~myme@2a01:799:d5e:5f00:170f:167e:539:9415) (Ping timeout: 248 seconds)
2026-04-23 09:36:51 +0000myme(~myme@2a01:799:d5e:5f00:35e0:fff9:f0bb:6422) myme
2026-04-23 09:37:32 +0000misterfish(~misterfis@046044172198.static.ipv4.heldenvannu.net) misterfish
2026-04-23 09:37:55 +0000oskarw(~user@user/oskarw) (ERC 5.6.1 (IRC client for GNU Emacs 30.2))
2026-04-23 09:41:12 +0000 <haskellbridge> <Liamzee> Windows is dying, albeit quite slowly
2026-04-23 09:45:56 +0000acidjnk_new(~acidjnk@p200300d6e700e5373152bf0fe7dd1216.dip0.t-ipconnect.de) acidjnk
2026-04-23 09:46:09 +0000karenw(~karenw@user/karenw) (Ping timeout: 245 seconds)
2026-04-23 09:48:08 +0000vgtw(~vgtw@user/vgtw) vgtw
2026-04-23 09:48:39 +0000acidjnk_new3(~acidjnk@p200300d6e700e5839e53bb2e58e5bcbf.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-04-23 09:58:35 +0000 <merijn> I mean, adoption of 11 is in the dumps and with 12 being "a proper agentic OS" I suspsect that's not gonna be better :P
2026-04-23 10:00:44 +0000misterfish(~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 245 seconds)
2026-04-23 10:02:35 +0000misterfish(~misterfis@89.205.247.219) misterfish
2026-04-23 10:03:08 +0000devengfernando-basso
2026-04-23 10:08:44 +0000__monty__(~toonn@user/toonn) toonn
2026-04-23 10:09:04 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 245 seconds)
2026-04-23 10:23:23 +0000Katarushisu6(~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
2026-04-23 10:32:58 +0000tok(~user@user/tok) tok
2026-04-23 10:45:16 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 244 seconds)
2026-04-23 10:45:40 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-04-23 10:50:16 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-04-23 10:50:25 +0000 <gentauro> Liamzee: «Windows is dying» and that's a good thing (Y)
2026-04-23 10:50:31 +0000divlamir(~divlamir@user/divlamir) divlamir
2026-04-23 10:51:01 +0000 <gentauro> meanwhile in EUrope (specifically France) -> https://github.com/cloud-gouv/securix
2026-04-23 10:51:22 +0000gentauroI aint even mad. OS built on lambdas? What's not to like
2026-04-23 10:52:23 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-23 11:00:36 +0000craunts795335385(~craunts@152.32.100.66)
2026-04-23 11:03:03 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 272 seconds)
2026-04-23 11:10:32 +0000user363627(~user@user/user363627) user363627
2026-04-23 11:10:44 +0000weary-traveler(~user@user/user363627) (Ping timeout: 245 seconds)
2026-04-23 11:13:57 +0000xff0x(~xff0x@2405:6580:b080:900:ef2d:650d:209c:a61)
2026-04-23 11:17:19 +0000weary-traveler(~user@user/user363627) user363627
2026-04-23 11:17:42 +0000user363627(~user@user/user363627) (Read error: Connection reset by peer)
2026-04-23 11:27:24 +0000CiaoSen(~Jura@p549cbfb1.dip0.t-ipconnect.de) CiaoSen
2026-04-23 11:28:30 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu)
2026-04-23 11:29:30 +0000arandombit(~arandombi@2a02:2455:8656:7100:a1d8:57d9:a02:f1ad) arandombit
2026-04-23 11:29:30 +0000arandombit(~arandombi@2a02:2455:8656:7100:a1d8:57d9:a02:f1ad) (Changing host)
2026-04-23 11:29:30 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-23 11:31:27 +0000Googulator54(~Googulato@84-236-65-56.pool.digikabel.hu) (Ping timeout: 245 seconds)
2026-04-23 11:33:52 +0000layline_(~layline@149.154.26.56) layline
2026-04-23 11:33:52 +0000layline_layline-away
2026-04-23 11:33:54 +0000puke(~puke@user/puke) puke
2026-04-23 11:35:14 +0000layline-awaylayline_
2026-04-23 11:35:52 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-04-23 11:36:19 +0000tremon(~tremon@83.80.159.219) tremon
2026-04-23 11:42:57 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 272 seconds)
2026-04-23 11:46:57 +0000misterfish(~misterfis@89.205.247.219) (Ping timeout: 255 seconds)
2026-04-23 11:48:07 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-23 11:49:36 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2026-04-23 12:07:09 +0000 <haskellbridge> <slack1256> I do not see anything related to lambdas on there (apart from nix?)
2026-04-23 12:08:52 +0000 <humasect> maybe the french language? TIL haskell is american
2026-04-23 12:20:51 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 12:21:07 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu)
2026-04-23 12:26:07 +0000CiaoSen(~Jura@p549cbfb1.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2026-04-23 12:27:37 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-23 12:30:09 +0000CiaoSen(~Jura@p549cbfb1.dip0.t-ipconnect.de) CiaoSen
2026-04-23 12:32:45 +0000gmg(~user@user/gehmehgeh) (Ping timeout: 265 seconds)
2026-04-23 12:33:24 +0000califax_(~califax@user/califx) califx
2026-04-23 12:33:28 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-04-23 12:36:08 +0000califax(~califax@user/califx) (Ping timeout: 265 seconds)
2026-04-23 12:36:08 +0000califax_califax
2026-04-23 12:42:31 +0000polykernel_(~polykerne@user/polykernel) polykernel
2026-04-23 12:44:36 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-04-23 12:44:36 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-04-23 12:44:52 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 12:44:53 +0000califax(~califax@user/califx) califx
2026-04-23 12:45:10 +0000polykernel(~polykerne@user/polykernel) (Ping timeout: 245 seconds)
2026-04-23 12:45:10 +0000polykernel_polykernel
2026-04-23 12:48:37 +0000layline_layline-away
2026-04-23 12:50:29 +0000layline-away(~layline@149.154.26.56) (Quit: ZZZzzz…)
2026-04-23 12:52:18 +0000comerijn(~merijn@77.242.116.146) merijn
2026-04-23 12:54:09 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 12:54:22 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu)
2026-04-23 12:55:21 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 255 seconds)
2026-04-23 13:02:23 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-04-23 13:02:42 +0000CiaoSen(~Jura@p549cbfb1.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2026-04-23 13:21:16 +0000AlexNoo(~AlexNoo@85.174.181.200)
2026-04-23 13:24:18 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-04-23 13:34:22 +0000kuribas(~user@2a02:1808:51:6776:c5ce:b7ef:828f:40c5) kuribas
2026-04-23 13:35:10 +0000xff0x(~xff0x@2405:6580:b080:900:ef2d:650d:209c:a61) (Ping timeout: 245 seconds)
2026-04-23 13:36:07 +0000szkl(uid110435@2a03:5180:f:5::1:af63) (Quit: Connection closed for inactivity)
2026-04-23 13:39:31 +0000 <kuribas> How would you model concurrent threads in a pure way, to proof properties?
2026-04-23 13:39:44 +0000 <kuribas> Maybe each thread is a Free monad, which you can interleave?
2026-04-23 13:39:55 +0000xff0x(~xff0x@2405:6580:b080:900:ef2d:650d:209c:a61)
2026-04-23 13:50:38 +0000beagles_(~beagles@142.163.133.95) (Remote host closed the connection)
2026-04-23 13:51:29 +0000ski. o O ( "A Poor Man's Concurrency Monad" by Koen Claessen in 1999-05 at <https://web.archive.org/web/20080222023959/http://www.cs.chalmers.se/~koen/pubs/entry-jfp99-monad.…> )
2026-04-23 13:54:10 +0000emaczen(~user@user/emaczen) emaczen
2026-04-23 13:57:37 +0000shr\ke(~shrike@user/shrke:31298) (Remote host closed the connection)
2026-04-23 13:58:22 +0000shr\ke(~shrike@user/paxhumana) paxhumana
2026-04-23 13:58:22 +0000shr\ke(~shrike@user/paxhumana) (Changing host)
2026-04-23 13:58:22 +0000shr\ke(~shrike@user/shrke:31298) shr\ke
2026-04-23 13:58:43 +0000juri_(~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 276 seconds)
2026-04-23 14:10:10 +0000juri_(~juri@217-114-215-140.pool.ovpn.com) juri_
2026-04-23 14:22:55 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-04-23 14:24:04 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 245 seconds)
2026-04-23 14:25:53 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-04-23 14:38:36 +0000puke(~puke@user/puke) (Remote host closed the connection)
2026-04-23 14:39:01 +0000puke(~puke@user/puke) puke
2026-04-23 14:39:28 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-04-23 14:42:29 +0000 <comerijn> kuribas: CSP?
2026-04-23 14:42:39 +0000 <comerijn> Not to be confused with CPS :p
2026-04-23 14:43:13 +0000 <comerijn> kuribas: I've done proofs about CSP using mu-calculus
2026-04-23 14:44:38 +0000 <kuribas> comerijn: which tool is that?
2026-04-23 14:49:51 +0000 <comerijn> We used muCRL
2026-04-23 14:49:52 +0000 <comerijn> https://ir.cwi.nl/pub/4746
2026-04-23 14:50:42 +0000 <comerijn> Basically modelling things as CSP and the proving certain event traces are impossible
2026-04-23 14:53:07 +0000 <comerijn> There's other mathematical models for concurrency, but I'm not aware of any as well known as CSP
2026-04-23 14:53:14 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 245 seconds)
2026-04-23 14:54:19 +0000 <kuribas> Couldn't I represent a thread as "Free (StateF s) a".
2026-04-23 14:55:20 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-23 14:55:22 +0000 <comerijn> kuribas: How do you represent communication between threads?
2026-04-23 14:56:27 +0000 <kuribas> Store a mutex in the state?
2026-04-23 14:56:56 +0000 <kuribas> "Free (StateF (MutexStore) a".
2026-04-23 14:58:32 +0000 <kuribas> Maybe a custom StateF with extra primitives for accessing mutexes.
2026-04-23 14:58:38 +0000haritz(~hrtz@140.228.70.141)
2026-04-23 14:58:38 +0000haritz(~hrtz@140.228.70.141) (Changing host)
2026-04-23 14:58:38 +0000haritz(~hrtz@user/haritz) haritz
2026-04-23 15:05:48 +0000 <comerijn> kuribas: Right, but then it's no longer a pure model :p
2026-04-23 15:05:58 +0000 <kuribas> Why not?
2026-04-23 15:06:41 +0000 <comerijn> Oh, wait, you mean have free model all threads at once?
2026-04-23 15:06:47 +0000 <comerijn> Then you're just reinventing CSP ;)
2026-04-23 15:06:49 +0000 <kuribas> yes
2026-04-23 15:06:52 +0000 <kuribas> ah right :)
2026-04-23 15:18:15 +0000tnt2(~Thunderbi@user/tnt1) tnt1
2026-04-23 15:18:29 +0000srazkvt(~sarah@user/srazkvt) (Ping timeout: 244 seconds)
2026-04-23 15:18:32 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-23 15:18:39 +0000tnt1(~Thunderbi@user/tnt1) (Ping timeout: 246 seconds)
2026-04-23 15:18:39 +0000tnt2tnt1
2026-04-23 15:20:40 +0000Square3(~Square@user/square) Square
2026-04-23 15:21:15 +0000AlexZenon(~alzenon@85.174.181.200)
2026-04-23 15:23:30 +0000Square2(~Square4@user/square) (Ping timeout: 248 seconds)
2026-04-23 15:24:32 +0000puke(~puke@user/puke) (Ping timeout: 250 seconds)
2026-04-23 15:26:12 +0000 <kuribas> comerijn: wouldn't it be nice to have something in idris2 or agda though?
2026-04-23 15:31:57 +0000tnt1(~Thunderbi@user/tnt1) (Quit: tnt1)
2026-04-23 15:32:48 +0000accountant(~accountan@2600:1702:5b61:8b40:955:b655:442f:e301)
2026-04-23 15:35:21 +0000jmcantrell_jmcantrell
2026-04-23 15:37:39 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-04-23 16:02:25 +0000 <humasect> continuation style passing ..?
2026-04-23 16:03:48 +0000 <comerijn> humasect: Communicating Sequential Processes
2026-04-23 16:03:54 +0000 <humasect> ooh, k
2026-04-23 16:04:22 +0000 <comerijn> https://en.wikipedia.org/wiki/Communicating_sequential_processes
2026-04-23 16:09:20 +0000comerijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2026-04-23 16:14:48 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
2026-04-23 16:24:48 +0000gAy_DragonAy_Dragong
2026-04-23 16:31:27 +0000acarrico(~acarrico@2606:1440:605:2500:8a8c:d9b8:d955:c630) (Ping timeout: 246 seconds)
2026-04-23 16:33:20 +0000m(~travltux@user/travltux) (Quit: WeeChat 4.7.2)
2026-04-23 16:35:54 +0000arandombit(~arandombi@2a02:2455:8656:7100:c1ac:b3ea:4d5f:1cb)
2026-04-23 16:35:54 +0000arandombit(~arandombi@2a02:2455:8656:7100:c1ac:b3ea:4d5f:1cb) (Changing host)
2026-04-23 16:35:54 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-23 16:37:02 +0000kuribas(~user@2a02:1808:51:6776:c5ce:b7ef:828f:40c5) (Quit: /qui)
2026-04-23 16:37:53 +0000Ay_DragonggAy_Dragon
2026-04-23 16:40:52 +0000bggd__(~bgg@2a01:e0a:fd5:f510:a8fb:b82b:2a5:62ab) (Remote host closed the connection)
2026-04-23 16:44:22 +0000acarrico(~acarrico@2606:1440:605:2500:d46:9e23:1112:52ce)
2026-04-23 16:53:34 +0000m(~travltux@user/travltux) travltux
2026-04-23 17:01:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 17:06:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 17:09:31 +0000Pixi`(~Pixi@user/pixi) Pixi
2026-04-23 17:12:07 +0000tusko(~uwu@user/tusko) (Ping timeout: 265 seconds)
2026-04-23 17:12:24 +0000Pixi(~Pixi@user/pixi) (Ping timeout: 246 seconds)
2026-04-23 17:17:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 17:18:40 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 17:19:50 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2026-04-23 17:21:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 17:22:17 +0000ft(~ft@p508db287.dip0.t-ipconnect.de) ft
2026-04-23 17:30:17 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-04-23 17:30:18 +0000ephapticpulse(~user@user/ephapticpulse) ephapticpulse
2026-04-23 17:30:22 +0000tusko_(~uwu@user/tusko) tusko
2026-04-23 17:30:39 +0000gf31(~gf3@user/gf3) gf3
2026-04-23 17:33:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 17:35:07 +0000tnt1(~Thunderbi@user/tnt1) (Quit: tnt1)
2026-04-23 17:39:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 17:42:10 +0000ouilemur(~jgmerritt@user/ouilemur) (Ping timeout: 248 seconds)
2026-04-23 17:43:16 +0000ouilemur(~jgmerritt@user/ouilemur) ouilemur
2026-04-23 17:47:04 +0000gf31(~gf3@user/gf3) (Quit: bye bye bye)
2026-04-23 17:47:32 +0000gf31(~gf3@user/gf3) gf3
2026-04-23 17:51:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 17:55:09 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-04-23 17:56:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-23 17:56:35 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 265 seconds)
2026-04-23 17:58:07 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-04-23 18:03:26 +0000 <gentauro> CSP from Tony Hoare
2026-04-23 18:03:31 +0000 <gentauro> oh the uni memories :)
2026-04-23 18:03:56 +0000gentaurowriting a CSP lib in OCaml for Andrzej Filinski
2026-04-23 18:04:03 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 255 seconds)
2026-04-23 18:05:31 +0000tusko_(~uwu@user/tusko) (Remote host closed the connection)
2026-04-23 18:06:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 18:08:42 +0000ouilemur(~jgmerritt@user/ouilemur) (Quit: WeeChat 4.9.0)
2026-04-23 18:09:23 +0000Comstar(~Comstar@user/Comstar) Comstar
2026-04-23 18:10:25 +0000 <gentauro> comerijn: I still have a copy of Filinskis «“CSP theory” track» if interested
2026-04-23 18:11:22 +0000accountant(~accountan@2600:1702:5b61:8b40:955:b655:442f:e301) (Quit: Client closed)
2026-04-23 18:11:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-23 18:14:26 +0000 <gentauro> Oh, the fun times when CPH Uni had a system for studens called … «Remember: HW1 due just before the lecture. (Electronically via ISIS: must be logged in to see submit button!)». Then when requesting "clearence" and authorities: "Ehhh, when we Google you, it states something about ISIS" xD
2026-04-23 18:17:33 +0000 <monochrom> A couple of Egypt cuisine restaurants called Isis had to change their name for that.
2026-04-23 18:18:33 +0000 <gentauro> :(
2026-04-23 18:19:01 +0000 <EvanR> obama would speak of ISIL instead
2026-04-23 18:19:05 +0000 <EvanR> thanks obama
2026-04-23 18:20:11 +0000 <Comstar> Daesh
2026-04-23 18:20:21 +0000chele(~chele@user/chele) (Remote host closed the connection)
2026-04-23 18:21:30 +0000tusko(~uwu@user/tusko) tusko
2026-04-23 18:21:32 +0000gentauro2009-q1_csp-theory-track.zip -> https://hushfile.it/9fff5be8df2f4#B7U1Bi_qtVCOc4UHQWtrYT-ler61JKZIohFM81Yd (the HushFile service is provided by one of the Co-Founders of BornHack.dk)
2026-04-23 18:22:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 18:27:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-23 18:29:05 +0000arandombit(~arandombi@user/arandombit) (Remote host closed the connection)
2026-04-23 18:30:08 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-04-23 18:32:55 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 18:33:22 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu)
2026-04-23 18:38:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 18:41:35 +0000 <sshine> monochrom, one ice cream company as well.
2026-04-23 18:43:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-23 18:45:02 +0000 <dminuoso> [exa]: Honeslty Id say its still a poor excuse. If every fourth function in the base library is a shotgun, who are we to judge C...
2026-04-23 18:46:19 +0000 <EvanR> correct, C is great
2026-04-23 18:46:59 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 18:47:12 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu)
2026-04-23 18:47:32 +0000 <dminuoso> The alphabet would feel incomplete without it.
2026-04-23 18:49:09 +0000 <monochrom> C is a grenade. :)
2026-04-23 18:49:39 +0000 <gentauro> monochrom: aren't you thinking about Keith and C++?
2026-04-23 18:49:51 +0000 <monochrom> petard
2026-04-23 18:50:05 +0000 <dminuoso> To be fair, even grenades can be useful tools if you're a soldier.
2026-04-23 18:50:32 +0000 <geekosaur> the difference between C and Haskell's `base` here is that most of the footguns have `WARNING` pragmas now; that's not even possible with many of C's footguns
2026-04-23 18:50:33 +0000 <dminuoso> Not sure how that analogy translates to the programming language, but hey...
2026-04-23 18:51:19 +0000 <geekosaur> `unsafeCoerce` and even `accursedUnutterablePerformIO` are safe when used correctly
2026-04-23 18:52:10 +0000 <gentauro> monochrom: petard? Like this -> https://www.youtube.com/watch?v=mEqwPK-X418&t=22s (00:22 ish)
2026-04-23 18:52:17 +0000target_i(~target_i@user/target-i/x-6023099) target_i
2026-04-23 18:52:31 +0000 <geekosaur> the main problem being that many Haskell programmers, and all newcomers, don't know how to use them correctly. and the latter trips even experts if they're not up on how IO really works under the covers (see the long list of bug reports in the comment preceding its definition)
2026-04-23 18:52:58 +0000 <dminuoso> geekosaur: Sure, which is why accursedUnutterablePerformIO is neither tought in beginner resources nor made available in Prelude. ;-)
2026-04-23 18:53:25 +0000 <geekosaur> but people keep ptrying to use it in `bytestring` without knowing what it really means
2026-04-23 18:53:27 +0000 <dminuoso> Which reminds me, IEEE 754 exceptions should be a thing.
2026-04-23 18:53:44 +0000 <geekosaur> which is why there's an ever-growing list of GHC "bug" reports associated with it
2026-04-23 18:53:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 18:53:57 +0000 <dminuoso> geekosaur: Fun story, for aliasing mutable buffers unsafePerformIO is enough!
2026-04-23 18:54:01 +0000 <dminuoso> I've done it.
2026-04-23 18:54:18 +0000 <monochrom> :)
2026-04-23 18:56:47 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-23 18:58:26 +0000 <EvanR> by deleting head and tail from prelude, you'd force reasonable people to rewrite their correct code for the sake of ideology
2026-04-23 18:58:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-23 19:00:47 +0000ouilemur(~jgmerritt@user/ouilemur) ouilemur
2026-04-23 19:00:48 +0000 <EvanR> meanwhile recursive algorithms could easily bottom if the poor user doesn't know how to prove it doesn't
2026-04-23 19:01:07 +0000 <EvanR> not a great reason to remove recursion
2026-04-23 19:01:44 +0000 <Comstar> kind of a halting problem in abstract, no?
2026-04-23 19:02:13 +0000 <monochrom> Is there hard data on how much damage head and tail have done in the real world?
2026-04-23 19:02:23 +0000layline_(~layline@149.154.26.56) layline
2026-04-23 19:02:39 +0000 <EvanR> or how much damage recursion has done xD
2026-04-23 19:03:06 +0000 <EvanR> e.g. a js script controlling a machine crashes after too much recursion
2026-04-23 19:03:19 +0000 <Comstar> bun has tail recursion now, no?
2026-04-23 19:03:50 +0000 <EvanR> (or freezes up)
2026-04-23 19:04:00 +0000 <dminuoso> EvanR: In my experience, algorithms that never terminate caused 0% of upstream library bugs.
2026-04-23 19:04:16 +0000 <dminuoso> Partial code however...
2026-04-23 19:04:27 +0000 <haskellbridge> <ijouw> I think having 'headMaybe :: [a] -> Maybe a' and similar in Prelude is good. If you hide head and tail behind an import, a small but easily overcome hurdle could make you re-think whether you actually want partial head and tail.
2026-04-23 19:04:39 +0000 <EvanR> your statement doesn't convince me of anything
2026-04-23 19:04:55 +0000 <EvanR> they're both partial, and infinite loops are much harder to debug
2026-04-23 19:04:57 +0000 <monochrom> poor user doesn't know how to prove <--- you know what, great reason to remove unproved code altogether! I'm all for it! But I'm clearly biased, formal methods is my favourite research area...
2026-04-23 19:05:04 +0000 <dminuoso> EvanR: They just never occur in practice in libraries.
2026-04-23 19:05:17 +0000 <EvanR> why not?
2026-04-23 19:05:30 +0000 <dminuoso> That is a good question *shrugs*
2026-04-23 19:05:42 +0000 <EvanR> whatever they did to avoid non termination
2026-04-23 19:05:49 +0000 <EvanR> do that for bad usage of head and tail
2026-04-23 19:05:56 +0000 <monochrom> @quote monochrom safeFromJust
2026-04-23 19:05:56 +0000 <lambdabot> monochrom says: I use safeFromJust :: Maybe a -> Maybe a
2026-04-23 19:06:17 +0000 <monochrom> "now you have two problems" >:)
2026-04-23 19:06:47 +0000 <dminuoso> EvanR: Id say that non-termination is something that rather creeps up during development but will be caught by simple tests - but it seems really rare to have infinite recursion happen in edge cases.
2026-04-23 19:08:26 +0000 <Comstar> theorem-wise whether or not a program terminates is an incompleteness thing right? like you can know if specific things will terminate, but not whether all abstract computation sequences will terminate?
2026-04-23 19:08:28 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu) (Quit: Client closed)
2026-04-23 19:08:43 +0000Googulator72(~Googulato@78-131-16-66.pool.digikabel.hu)
2026-04-23 19:08:53 +0000 <dminuoso> Comstar: Only in the generalized form.
2026-04-23 19:09:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 19:09:17 +0000 <dminuoso> Comstar: Id rephase "whether *any* arbitrary computation sequence will terminate"
2026-04-23 19:09:38 +0000 <dminuoso> It is impossible to write an algorithm that will decide whether or not an arbitrary input program will terminate
2026-04-23 19:09:39 +0000 <Comstar> yeah true, I pulled a demorgans oopsie
2026-04-23 19:10:04 +0000 <monochrom> EvanR, the way (IMO) to reject ideologies is to ask about actual quantities of damage in practice. And if it turns out that two kinds of mistakes, even though logically equivalent, are far from being on par in actual damage, then that's entirely possible because mistakes are made by humans and humans are weird.
2026-04-23 19:10:10 +0000 <dminuoso> But it is usually very possible to decide for a specific program.
2026-04-23 19:10:46 +0000Alex_delenda_est(~al_test@85.174.181.200)
2026-04-23 19:13:42 +0000 <EvanR> how is a bad use of head or tail harder to detect in a test vs non termination
2026-04-23 19:14:26 +0000 <haskellbridge> <ijouw> I doubt it is, but rather that you use it more often than manual recursion.
2026-04-23 19:14:27 +0000 <EvanR> Comstar, yes this is neither here nor there because we're not talking about automation to prove haltingness
2026-04-23 19:14:56 +0000 <EvanR> but if we were then you can scroll up to the suggestion to use another language (agda or lean theorem prover or something)
2026-04-23 19:15:28 +0000 <monochrom> But Agda and Lean don't automate the proofs.
2026-04-23 19:15:43 +0000 <EvanR> it's built into the language / logic
2026-04-23 19:15:55 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
2026-04-23 19:16:24 +0000 <monochrom> Oh they require you to write the proof. Then they sit back and say "no".
2026-04-23 19:16:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-23 19:16:47 +0000 <dminuoso> EvanR: Id argue that every use of head/tail is bad. *shrugs*
2026-04-23 19:16:52 +0000 <EvanR> ...
2026-04-23 19:17:05 +0000asd(~asd@2a02:587:4550:b400:874e:c79f:8e8f:2a67)
2026-04-23 19:17:13 +0000 <EvanR> for the same reason that every use of general recursion is bad?
2026-04-23 19:17:25 +0000 <dminuoso> Even if you make an assumption of non-emptiness, an explicit pattern match is going to be vastly better.
2026-04-23 19:17:29 +0000 <EvanR> they can both go wrong, and a novice might actually end up doing that
2026-04-23 19:17:44 +0000 <EvanR> that's not true in general no
2026-04-23 19:18:10 +0000 <dminuoso> Since you can snuff a `error "lib:foo - cannot be empty"` in there, which serves as a primitive assertion whose provenance a downstream user can easily figure out
2026-04-23 19:18:15 +0000 <EvanR> if for some reason you have a list that is definitely not empty (and we didn't / can't use NonEmpty to get there), then a pattern match leaves you with no good options
2026-04-23 19:18:49 +0000 <EvanR> similar to safeFromJust
2026-04-23 19:18:50 +0000 <monochrom> For automating finding a proof, you will have to look into satisfiability modulo theories (SMT), e.g., Z3.
2026-04-23 19:19:10 +0000 <EvanR> monochrom, for simple algorithms, the termination is guaranteed by recursion on a smaller argument
2026-04-23 19:19:19 +0000 <EvanR> you don't have to prove this every time since it's built in
2026-04-23 19:19:33 +0000 <EvanR> you also don't have to mention impossible cases, it's built in
2026-04-23 19:20:15 +0000 <dminuoso> EvanR: An explicit pattern match allows/nudges you into conjuring up an `error`. It saves downstream users a lot of time when they can search for your error string
2026-04-23 19:20:16 +0000 <EvanR> rather you don't have to do much more than mention them
2026-04-23 19:20:17 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-23 19:20:17 +0000jmcantrell_jmcantrell
2026-04-23 19:20:22 +0000 <dminuoso> Since bottom does not come with stack traces...
2026-04-23 19:20:48 +0000Square3(~Square@user/square) (Ping timeout: 244 seconds)
2026-04-23 19:21:17 +0000 <dminuoso> And personally I think it improves awareness of where your code is brittle
2026-04-23 19:21:19 +0000 <EvanR> that *is* bottom
2026-04-23 19:21:25 +0000 <EvanR> you crashed
2026-04-23 19:21:58 +0000 <EvanR> the world ended because we didn't do the ideology and make sure all functions are total
2026-04-23 19:22:53 +0000 <monochrom> Speaking of which, and crossovering the Dhall/System-F conversation yesterday or two days ago: If I teach Dhall, it will be "fun" to put Ackermann on homework. >:)
2026-04-23 19:23:59 +0000 <haskellbridge> <ijouw> I had to for theorem proof (and make a valid termination argument).
2026-04-23 19:24:49 +0000 <haskellbridge> <ijouw> Maybe don't put it in the first homework?
2026-04-23 19:25:15 +0000 <monochrom> Did you see the ">:)"? >:)
2026-04-23 19:27:08 +0000accountant(~accountan@2600:1702:5b61:8b40:955:b655:442f:e301)
2026-04-23 19:27:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 19:31:10 +0000 <monochrom> Data.List.group is my last excuse for using head for non-toys (e.g., map head . group). I'm actually happy that Data.List.NonEmpty has a modernized group that produces [NonEmpty a] so I don't have to use head.
2026-04-23 19:31:23 +0000 <Comstar> is there a generalized proof on peano-like recursion? like you have your base case essentially f_0 and some recursive step that takes you from an f_n to an f_{n-1}
2026-04-23 19:31:40 +0000 <Comstar> where n \in \mathbb{N}
2026-04-23 19:31:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-23 19:32:25 +0000 <monochrom> Look for "catamorphism". What you have in mind may be catamorphisms for "data N = Z | S N".
2026-04-23 19:33:39 +0000 <Comstar> yeah I could see that
2026-04-23 19:34:54 +0000 <monochrom> List's foldr is catamorphisms for cons lists.
2026-04-23 19:35:11 +0000 <Comstar> oh that's where I heard it before then
2026-04-23 19:35:42 +0000 <Comstar> folds/foldable and stuff
2026-04-23 19:36:10 +0000 <monochrom> More precisely, for each type T, [T]'s foldr is catamorphisms for [T]. Now let T=() for Peano naturals. :)
2026-04-23 19:36:35 +0000 <monochrom> which brings me to...
2026-04-23 19:37:34 +0000layline_(~layline@149.154.26.56) (Textual IRC Client: www.textualapp.com)
2026-04-23 19:37:37 +0000 <haskellbridge> <ijouw> generalizing peano numbers: instance (Monoid a) => Num [a]
2026-04-23 19:37:38 +0000 <monochrom> A math prof was teaching an intro number theory course. I heard from students that he began with monoids. I asked him why, he said "because I don't like the Peano axioms".
2026-04-23 19:38:19 +0000 <monochrom> One hour later I realized "oh so you're going to define N as the free monoid on the singleton set".
2026-04-23 19:40:27 +0000 <Comstar> no magmas?
2026-04-23 19:43:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-23 19:48:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-23 19:52:40 +0000aniketd(32aa4844cd@2a03:6000:1812:100::dcb) (Ping timeout: 245 seconds)
2026-04-23 19:52:40 +0000bheesham(3aa22d8375@2a03:6000:1812:100::e40) (Ping timeout: 245 seconds)
2026-04-23 19:52:56 +0000alethkit(23bd17ddc6@sourcehut/user/alethkit) (Ping timeout: 244 seconds)
2026-04-23 19:52:56 +0000jkoshy(99b9359beb@user/jkoshy) (Ping timeout: 244 seconds)
2026-04-23 19:53:05 +0000smiesner(b0cf5acf8c@user/smiesner) (Ping timeout: 245 seconds)
2026-04-23 19:53:05 +0000caz(866183745f@2a03:6000:1812:100::15d4) (Ping timeout: 245 seconds)
2026-04-23 19:53:05 +0000pmk(6afe4476a1@2a03:6000:1812:100::26d) (Ping timeout: 245 seconds)
2026-04-23 19:53:05 +0000probie(cc0b34050a@user/probie) (Ping timeout: 245 seconds)
2026-04-23 19:53:05 +0000ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) (Ping timeout: 245 seconds)
2026-04-23 19:53:05 +0000jakzale(6291399afa@user/jakzale) (Ping timeout: 245 seconds)
2026-04-23 19:53:17 +0000aniketd(32aa4844cd@2a03:6000:1812:100::dcb) aniketd
2026-04-23 19:53:27 +0000samhh__(7569f027cf@2a03:6000:1812:100::e4) (Ping timeout: 244 seconds)
2026-04-23 19:53:27 +0000ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) ggb
2026-04-23 19:53:29 +0000bheesham(3aa22d8375@2a03:6000:1812:100::e40) bheesham
2026-04-23 19:53:35 +0000pmk(6afe4476a1@2a03:6000:1812:100::26d) pmk
2026-04-23 19:53:42 +0000probie(cc0b34050a@user/probie) probie
2026-04-23 19:53:42 +0000jakzale(6291399afa@user/jakzale) jakzale
2026-04-23 19:54:04 +0000whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Ping timeout: 245 seconds)
2026-04-23 19:54:29 +0000b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) (Ping timeout: 244 seconds)
2026-04-23 19:54:29 +0000rselim(ce261f06ff@user/milesrout) (Ping timeout: 244 seconds)
2026-04-23 19:54:29 +0000bgtdsword(b968c1779f@user/titibandit) (Ping timeout: 244 seconds)