2026/04/30

2026-04-30 00:00:24 +0000Fischmiep(~Fischmiep@user/Fischmiep) Fischmiep
2026-04-30 00:04:51 +0000Fischmiep(~Fischmiep@user/Fischmiep) (Ping timeout: 256 seconds)
2026-04-30 00:07:26 +0000merijn(~merijn@62.45.136.136) merijn
2026-04-30 00:09:27 +0000layline_(~layline@149.154.26.170) (Ping timeout: 255 seconds)
2026-04-30 00:12:00 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-04-30 00:12:31 +0000layline_(~layline@149.154.26.170) layline
2026-04-30 00:12:48 +0000Fischmiep(~Fischmiep@user/Fischmiep) Fischmiep
2026-04-30 00:15:06 +0000Fischmiep(~Fischmiep@user/Fischmiep) (Excess Flood)
2026-04-30 00:15:19 +0000Fischmiep(~Fischmiep@user/Fischmiep) Fischmiep
2026-04-30 00:21:15 +0000layline_(~layline@149.154.26.170) (Ping timeout: 246 seconds)
2026-04-30 00:24:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 00:28:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-30 00:30:38 +0000Pozyomka(~pyon@user/pyon) pyon
2026-04-30 00:31:42 +0000Comstar(~Comstar@user/Comstar) Comstar
2026-04-30 00:37:27 +0000craunts795335385(~craunts@152.32.100.66) (Quit: The Lounge - https://thelounge.chat)
2026-04-30 00:41:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 00:48:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-30 00:49:04 +0000itaipu(~itaipu@168.121.99.12) (Ping timeout: 245 seconds)
2026-04-30 00:49:54 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 265 seconds)
2026-04-30 00:50:08 +0000layline_(~layline@149.154.26.170) layline
2026-04-30 00:55:49 +0000bkani(~bkani@user/bkani) (Ping timeout: 244 seconds)
2026-04-30 00:59:22 +0000layline_(~layline@149.154.26.170) (Ping timeout: 248 seconds)
2026-04-30 01:00:45 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 255 seconds)
2026-04-30 01:02:40 +0000itaipu(~itaipu@168.121.99.12) itaipu
2026-04-30 01:03:07 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 01:09:39 +0000puke(~puke@user/puke) (Remote host closed the connection)
2026-04-30 01:10:04 +0000puke(~puke@user/puke) puke
2026-04-30 01:11:59 +0000layline_(~layline@149.154.26.170) layline
2026-04-30 01:12:40 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-04-30 01:15:22 +0000acidjnk(~acidjnk@p200300d6e700e542f647a2cff7c48503.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2026-04-30 01:15:35 +0000acidjnk_new3(~acidjnk@p200300d6e700e542f647a2cff7c48503.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-04-30 01:16:12 +0000layline_(~layline@149.154.26.170) (Ping timeout: 246 seconds)
2026-04-30 01:16:13 +0000merijn(~merijn@62.45.136.136) merijn
2026-04-30 01:17:30 +0000Square2(~Square@user/square) (Ping timeout: 248 seconds)
2026-04-30 01:20:45 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 246 seconds)
2026-04-30 01:22:40 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-30 01:26:59 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp)
2026-04-30 01:31:31 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 264 seconds)
2026-04-30 01:31:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 01:33:32 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-30 01:38:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-04-30 01:44:10 +0000Pozyomka(~pyon@user/pyon) (Quit: fuck logind)
2026-04-30 01:44:35 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 01:44:36 +0000layline_(~layline@149.154.26.170) layline
2026-04-30 01:45:46 +0000Pozyomka(~pyon@user/pyon) pyon
2026-04-30 01:49:06 +0000layline_(~layline@149.154.26.170) (Ping timeout: 248 seconds)
2026-04-30 01:49:39 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 248 seconds)
2026-04-30 01:52:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 01:56:27 +0000ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Read error: Connection reset by peer)
2026-04-30 01:57:27 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-30 01:58:39 +0000dolio(~dolio@130.44.140.168) (Ping timeout: 245 seconds)
2026-04-30 02:01:10 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 02:01:11 +0000layline_(~layline@149.154.26.170) layline
2026-04-30 02:02:35 +0000ezzieyguywuf(~Unknown@user/ezzieyguywuf) ezzieyguywuf
2026-04-30 02:03:27 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-04-30 02:06:00 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 255 seconds)
2026-04-30 02:09:07 +0000merijn(~merijn@62.45.136.136) merijn
2026-04-30 02:11:41 +0000Sgeo(~Sgeo@user/sgeo) Sgeo
2026-04-30 02:13:19 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-04-30 02:15:50 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-04-30 02:17:45 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 02:26:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 02:31:22 +0000 <monochrom> If you take Prolog, but remove cut, and remove the closed-world assumption (so for example you cannot talk about negation), then you get Haskell type classes, with "Stuff a => Eq a" being "Eq(A) :- Stuff(A)".
2026-04-30 02:32:26 +0000 <monochrom> Since you don't have cut, there is no way to fix up "Eq(Int). Eq(A) :- Stuff(A)." to have uniqueness.
2026-04-30 02:33:05 +0000 <monochrom> Since you don't have negation, you cannot try "if A is not Int then try Stuff(A)" either.
2026-04-30 02:33:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-04-30 02:35:18 +0000 <monochrom> Why it's an open world: Separate compilation, therefore you will not be sure that Eq(Int) does not happen in some other module.
2026-04-30 02:36:26 +0000 <monochrom> Why no cut: I don't really know, but I bet it's for simplicity. (I dread thinking up Prolog code that uses cuts to ensure first-solution-only. I never get it.)
2026-04-30 02:37:00 +0000tccq(~tccq@user/tccq) tccq
2026-04-30 02:37:11 +0000 <monochrom> perhaps s/simplicity/KISS/
2026-04-30 02:38:00 +0000 <tccq> is there a good example / tutorial for SYB style generic usage? I want a fold over the language-c AST and would rather not write it myself
2026-04-30 02:39:20 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 245 seconds)
2026-04-30 02:39:51 +0000mehbark(~mehbark@joey.luug.ece.vt.edu) (Quit: insert leave message here)
2026-04-30 02:43:16 +0000karenw(~karenw@user/karenw) karenw
2026-04-30 02:45:20 +0000puke(~puke@user/puke) (Quit: puke)
2026-04-30 02:45:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 02:49:40 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 02:50:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-04-30 02:51:45 +0000mtmn(~mtmn@user/mtmn) mtmn
2026-04-30 02:54:27 +0000mehbark(~mehbark@joey.luug.ece.vt.edu)
2026-04-30 02:54:39 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 244 seconds)
2026-04-30 02:57:09 +0000mehbark(~mehbark@joey.luug.ece.vt.edu) (Client Quit)
2026-04-30 02:58:03 +0000mehbark(~mehbark@joey.luug.ece.vt.edu)
2026-04-30 02:59:58 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 03:04:45 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 245 seconds)
2026-04-30 03:06:45 +0000hsw(~hsw@112-104-8-95.adsl.dynamic.seed.net.tw) (Quit: Leaving)
2026-04-30 03:12:13 +0000jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
2026-04-30 03:16:04 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 03:17:55 +0000synchromesh(~john@2406:5a00:247e:1500:6092:d450:dbbd:88ed) (Read error: Connection reset by peer)
2026-04-30 03:18:07 +0000synchromesh(~john@2406:5a00:247e:1500:d5de:46aa:de90:76fa) synchromesh
2026-04-30 03:20:45 +0000tzh_(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: ksvks)
2026-04-30 03:21:00 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 244 seconds)
2026-04-30 03:28:24 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 03:28:32 +0000alhazrod(uid662262@id-662262.lymington.irccloud.com)
2026-04-30 03:30:15 +0000inedia(~irc@2600:3c00:e000:287::1) (Quit: WeeChat 4.8.1)
2026-04-30 03:31:55 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-04-30 03:32:05 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-04-30 03:32:17 +0000inedia(~irc@2600:3c00:e000:287::1) dove
2026-04-30 03:32:35 +0000synchromesh(~john@2406:5a00:247e:1500:d5de:46aa:de90:76fa) (Quit: WeeChat 4.1.1)
2026-04-30 03:33:14 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 245 seconds)
2026-04-30 03:34:16 +0000layline_layline-away
2026-04-30 03:34:31 +0000layline-away(~layline@149.154.26.170) (Quit: ZZZzzz…)
2026-04-30 03:36:38 +0000synchromesh(~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) synchromesh
2026-04-30 03:37:04 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2026-04-30 03:38:04 +0000m(~travltux@user/travltux) (Quit: WeeChat 4.7.2)
2026-04-30 03:40:06 +0000m(~travltux@user/travltux) travltux
2026-04-30 03:40:07 +0000 <jackdk> tccq Not a direct answer, but I found the original paper for uniplate pretty readable, and the ideas should get you started with the modern versions of the lib: https://archive.alvb.in/msc/02_infogp/papers/SCRAPSCARY_dk.pdf
2026-04-30 03:43:06 +0000michalz(~michalz@185.246.207.215)
2026-04-30 03:45:08 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 03:45:57 +0000gehmehgeh(~user@user/gehmehgeh) gehmehgeh
2026-04-30 03:47:46 +0000gmg(~user@user/gehmehgeh) (Ping timeout: 265 seconds)
2026-04-30 03:48:58 +0000arahael(~wetfoot@user/arahael) arahael
2026-04-30 03:49:30 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 255 seconds)
2026-04-30 03:49:51 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 246 seconds)
2026-04-30 03:50:05 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-04-30 03:51:38 +0000gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 265 seconds)
2026-04-30 03:52:39 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 268 seconds)
2026-04-30 04:00:19 +0000emaczen(~user@user/emaczen) (Ping timeout: 264 seconds)
2026-04-30 04:01:28 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 04:05:50 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-04-30 04:06:36 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 255 seconds)
2026-04-30 04:12:38 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 04:14:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 04:15:35 +0000RMSBach(~RMSBach@2603:6013:9b40:6f2::1040) (Ping timeout: 245 seconds)
2026-04-30 04:17:46 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 248 seconds)
2026-04-30 04:18:46 +0000tnt1(~Thunderbi@user/tnt1) (Remote host closed the connection)
2026-04-30 04:18:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-30 04:25:00 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 04:29:10 +0000FallenSky(~FallenSky@user/FallenSky) (Remote host closed the connection)
2026-04-30 04:29:24 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 04:32:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 04:33:49 +0000mehbark(~mehbark@joey.luug.ece.vt.edu) (Quit: insert leave message here)
2026-04-30 04:34:30 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 265 seconds)
2026-04-30 04:34:45 +0000mehbark(~mehbark@joey.luug.ece.vt.edu)
2026-04-30 04:36:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-30 04:39:08 +0000RMSBach(~RMSBach@2603:6013:9b40:6f2::1040) RMSBach
2026-04-30 04:39:46 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-30 04:40:27 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 265 seconds)
2026-04-30 04:41:30 +0000dcb(~dcb@user/dcb) (Quit: MSN Messenger v1.9.1)
2026-04-30 04:42:29 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-04-30 04:44:28 +0000karenw(~karenw@user/karenw) (Ping timeout: 276 seconds)
2026-04-30 04:44:50 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 04:47:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 04:50:07 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 264 seconds)
2026-04-30 04:51:41 +0000dcb(~dcb@user/dcb) dcb
2026-04-30 04:52:03 +0000leppard(~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) (Ping timeout: 255 seconds)
2026-04-30 04:52:27 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-30 04:55:56 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-04-30 04:58:11 +0000jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 252 seconds)
2026-04-30 04:58:27 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-30 05:01:29 +0000mehbark(~mehbark@joey.luug.ece.vt.edu) (Quit: insert leave message here)
2026-04-30 05:01:51 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 05:02:22 +0000mehbark(~mehbark@joey.luug.ece.vt.edu)
2026-04-30 05:05:22 +0000merijn(~merijn@62.45.136.136) merijn
2026-04-30 05:06:10 +0000hc(~hc@142.132.182.140) hc
2026-04-30 05:07:13 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 276 seconds)
2026-04-30 05:09:36 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-04-30 05:14:15 +0000mehbark(~mehbark@joey.luug.ece.vt.edu) (Quit: insert leave message here)
2026-04-30 05:14:52 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 05:15:07 +0000mehbark(~mehbark@joey.luug.ece.vt.edu)
2026-04-30 05:19:50 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 244 seconds)
2026-04-30 05:22:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 05:29:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-30 05:30:26 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 05:31:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 05:35:13 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 256 seconds)
2026-04-30 05:35:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-04-30 05:36:29 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 05:37:11 +0000xal(~xal@mx1.xal.systems) (Quit: bye)
2026-04-30 05:38:16 +0000alhazrod(uid662262@id-662262.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2026-04-30 05:38:53 +0000xal(~xal@mx1.xal.systems) xal
2026-04-30 05:41:11 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 05:46:31 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 272 seconds)
2026-04-30 05:57:51 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 06:03:54 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 265 seconds)
2026-04-30 06:15:08 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 06:15:44 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds)
2026-04-30 06:20:07 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 264 seconds)
2026-04-30 06:22:58 +0000czan(~czan@user/mange) (Quit: Quittin' time!)
2026-04-30 06:23:15 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 272 seconds)
2026-04-30 06:26:38 +0000puke(~puke@user/puke) puke
2026-04-30 06:29:56 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-04-30 06:31:23 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 06:32:14 +0000Vizious(~bes@user/Vizious) (Ping timeout: 252 seconds)
2026-04-30 06:36:25 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 256 seconds)
2026-04-30 06:42:59 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 06:47:40 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 245 seconds)
2026-04-30 06:48:08 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4)
2026-04-30 06:55:24 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 06:59:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 07:00:58 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 276 seconds)
2026-04-30 07:01:34 +0000Enrico63(~Enrico63@85.255.235.90) Enrico63
2026-04-30 07:01:42 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-04-30 07:02:10 +0000pierluc-codes34(~pierlucco@modemcable092.154-83-70.mc.videotron.ca) (Ping timeout: 248 seconds)
2026-04-30 07:04:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-30 07:04:49 +0000anpad(~pandeyan@user/anpad) (Ping timeout: 265 seconds)
2026-04-30 07:06:14 +0000anpad(~pandeyan@user/anpad) anpad
2026-04-30 07:07:28 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp)
2026-04-30 07:09:58 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 07:14:42 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 255 seconds)
2026-04-30 07:15:10 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-04-30 07:18:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 07:19:35 +0000cstml(~cstml@user/cstml) (Quit: ZNC 1.10.1 - https://znc.in)
2026-04-30 07:20:55 +0000r1bilski(~r1bilski@user/r1bilski) r1bilski
2026-04-30 07:21:02 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 07:22:28 +0000mzg(mzg@koza.fi)
2026-04-30 07:22:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-30 07:25:47 +0000misterfish(~misterfis@094190207253.static.ipv4.heldenvannu.net) misterfish
2026-04-30 07:26:08 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 252 seconds)
2026-04-30 07:26:10 +0000r1bilski(~r1bilski@user/r1bilski) (Ping timeout: 248 seconds)
2026-04-30 07:32:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 07:32:25 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 07:33:54 +0000ft(~ft@p200300cf3f4f28002264268f01ab0284.dip0.t-ipconnect.de) (Quit: leaving)
2026-04-30 07:37:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-04-30 07:37:44 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 268 seconds)
2026-04-30 07:42:34 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 07:43:03 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2026-04-30 07:44:42 +0000synchromesh(~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) (Read error: Connection reset by peer)
2026-04-30 07:45:33 +0000synchromesh(~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) synchromesh
2026-04-30 07:47:43 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 264 seconds)
2026-04-30 07:48:09 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 07:50:35 +0000pierluc-codes34(~pierlucco@modemcable092.154-83-70.mc.videotron.ca)
2026-04-30 07:50:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 07:52:02 +0000synchrom1(~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) synchromesh
2026-04-30 07:52:57 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 255 seconds)
2026-04-30 07:53:39 +0000synchromesh(~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) (Ping timeout: 245 seconds)
2026-04-30 07:54:44 +0000synchromesh(~john@139.180.114.128) synchromesh
2026-04-30 07:55:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-30 07:56:58 +0000synchrom1(~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) (Ping timeout: 248 seconds)
2026-04-30 07:57:34 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 08:02:24 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 245 seconds)
2026-04-30 08:05:28 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 08:06:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 08:06:34 +0000chele(~chele@user/chele) chele
2026-04-30 08:10:26 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 244 seconds)
2026-04-30 08:13:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-30 08:15:04 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 08:15:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 08:20:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-04-30 08:20:16 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 276 seconds)
2026-04-30 08:21:48 +0000acidjnk_new3(~acidjnk@p200300d6e700e542c471e52a110f130f.dip0.t-ipconnect.de) acidjnk
2026-04-30 08:21:53 +0000acidjnk(~acidjnk@p200300d6e700e542c471e52a110f130f.dip0.t-ipconnect.de) acidjnk
2026-04-30 08:22:59 +0000bwe49895(~bwe@2a01:4f8:1c1c:4878::2) (Remote host closed the connection)
2026-04-30 08:23:28 +0000bwe(~bwe@2a01:4f8:1c1c:4878::2) bwe
2026-04-30 08:24:13 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 272 seconds)
2026-04-30 08:25:55 +0000xff0x(~xff0x@om126254252124.33.openmobile.ne.jp)
2026-04-30 08:32:14 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 08:32:54 +0000redshuffle(~quassel@45.43.70.75) (Remote host closed the connection)
2026-04-30 08:33:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 08:34:03 +0000xff0x(~xff0x@om126254252124.33.openmobile.ne.jp) (Read error: Connection reset by peer)
2026-04-30 08:34:24 +0000myme(~myme@2a01:799:d5e:5f00:35e0:fff9:f0bb:6422) (Ping timeout: 246 seconds)
2026-04-30 08:35:26 +0000myme(~myme@2a01:799:d5e:5f00:3407:abcf:7e59:2ab6) myme
2026-04-30 08:37:31 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 264 seconds)
2026-04-30 08:38:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-30 08:40:18 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp)
2026-04-30 08:43:47 +0000berberman(~berberman@user/berberman) (Quit: ZNC 1.10.1 - https://znc.in)
2026-04-30 08:44:31 +0000berberman(~berberman@user/berberman) berberman
2026-04-30 08:45:48 +0000berberman(~berberman@user/berberman) (Client Quit)
2026-04-30 08:46:21 +0000berberman(~berberman@user/berberman) berberman
2026-04-30 08:49:16 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 08:50:41 +0000leppard(~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) Inline
2026-04-30 08:52:20 +0000Googulator(~Googulato@78-131-16-66.pool.digikabel.hu)
2026-04-30 08:54:07 +0000Square(~Square4@user/square) Square
2026-04-30 08:56:06 +0000tok(~user@user/tok) tok
2026-04-30 09:00:19 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 245 seconds)
2026-04-30 09:09:44 +0000 <ski> type class resolution also lack backtracking. and the cut relies heavily on ordering (of clauses, of disjunctions, and conjunctions, and when unifications are performed), while Haskell type class and instance declarations are supposed to be order independent
2026-04-30 09:12:05 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 09:13:22 +0000 <ski> hadronized : "now that I linear types, a form of value dependency to implement borrowing","linearity for correct resource management; value dependency / borrowing for correct memory usage" -- it sounds like possibly you're having some form of uniqueness, not linearity. with uniqueness, you know noone has duplicated the reference in the past, but you still can, in the future, if you're not required to return
2026-04-30 09:13:28 +0000 <ski> it unique. with linearity, you're forbidden from duplicating the reference in the future, but it might still have been duplicated in the past, before the linearity constraint was imposed on it
2026-04-30 09:14:49 +0000 <ski> for update-in-place optimization of destroy-and-make-new-version, you want a unique reference, not having been duplicated in the past
2026-04-30 09:15:54 +0000 <ski> (also for compile-time-scheduled-deallocation when you're dropping the reference, you also want uniqueness)
2026-04-30 09:17:06 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 255 seconds)
2026-04-30 09:19:59 +0000anpad(~pandeyan@user/anpad) (Ping timeout: 252 seconds)
2026-04-30 09:24:45 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 255 seconds)
2026-04-30 09:27:53 +0000FallenSky(~FallenSky@user/FallenSky) FallenSky
2026-04-30 09:27:59 +0000anpad(~pandeyan@user/anpad) anpad
2026-04-30 09:28:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 09:35:19 +0000acidjnk_new(~acidjnk@p200300d6e700e563c33a7742599b7861.dip0.t-ipconnect.de) acidjnk
2026-04-30 09:37:00 +0000AlexZenon_2AlexZenon
2026-04-30 09:38:19 +0000acidjnk(~acidjnk@p200300d6e700e542c471e52a110f130f.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2026-04-30 09:38:19 +0000acidjnk_new3(~acidjnk@p200300d6e700e542c471e52a110f130f.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2026-04-30 09:38:30 +0000hsw(~hsw@112-104-8-95.adsl.dynamic.seed.net.tw) hsw
2026-04-30 09:38:51 +0000acidjnk(~acidjnk@p200300d6e700e563c33a7742599b7861.dip0.t-ipconnect.de) acidjnk
2026-04-30 09:38:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-04-30 09:45:27 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-04-30 09:45:50 +0000FallenSky(~FallenSky@user/FallenSky) (Ping timeout: 252 seconds)
2026-04-30 09:48:50 +0000dcb(~dcb@user/dcb) (Quit: MSN Messenger v1.9.1)
2026-04-30 09:51:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 09:53:58 +0000dcb(~dcb@user/dcb) dcb
2026-04-30 09:54:42 +0000misterfish(~misterfis@094190207253.static.ipv4.heldenvannu.net) (Ping timeout: 244 seconds)
2026-04-30 09:55:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-30 10:00:33 +0000bkani(~bkani@user/bkani) bkani
2026-04-30 10:05:15 +0000bkani(~bkani@user/bkani) (Ping timeout: 255 seconds)
2026-04-30 10:06:10 +0000kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2026-04-30 10:07:53 +0000bkani(~bkani@user/bkani) bkani
2026-04-30 10:09:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 10:13:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-30 10:17:12 +0000jreicher(~joelr@user/jreicher) (Quit: brb)
2026-04-30 10:18:42 +0000jreicher(~joelr@user/jreicher) jreicher
2026-04-30 10:25:33 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 265 seconds)
2026-04-30 10:26:01 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-04-30 10:26:11 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 10:29:23 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 10:30:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-30 10:32:56 +0000 <hadronized> ski: I have both, I think
2026-04-30 10:33:24 +0000 <hadronized> linear types -> move semantics, but I can create references to them, because linear values only would prevent sharing
2026-04-30 10:33:39 +0000leppard(~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2026-04-30 10:33:42 +0000 <hadronized> and linear values go through explicit uninit, not destructors
2026-04-30 10:37:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 10:40:00 +0000 <hadronized> monochrom: I wish I could KISS-design that part
2026-04-30 10:40:13 +0000 <hadronized> and honestly, I sometimes feel like I should just go with duck typing, but yikes
2026-04-30 10:40:19 +0000 <hadronized> Zig does that, and I deeply dislike it
2026-04-30 10:40:42 +0000__monty__(~toonn@user/toonn) toonn
2026-04-30 10:40:48 +0000 <hadronized> because looking at something like fn whatdoesitdo(comptime T: type, a: T, b: T) T { return a + b; }
2026-04-30 10:41:02 +0000haskellbridge(~hackager@96.28.224.214) (Read error: Connection reset by peer)
2026-04-30 10:41:03 +0000 <hadronized> it forces you to look at the body to know the exact way of using that function
2026-04-30 10:41:32 +0000 <hadronized> or requires synchronizing the documentation with the content of the body, which has been proven numerous times a bad idea (and even Zig std doesn’t do it correctly)
2026-04-30 10:41:50 +0000 <hadronized> so I am looking for a lighter alternative, even if I lose a bit of expressiveness
2026-04-30 10:41:55 +0000 <hadronized> the main goal of my language is correctness
2026-04-30 10:42:12 +0000 <hadronized> (that’s the why of my initial question regarding typeclasses and whether they solve a correctness problem)
2026-04-30 10:42:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-30 10:43:30 +0000 <__monty__> Typeclasses address an expressivity problem. Not sure what correctness problem exists that they could/would address.
2026-04-30 10:43:43 +0000 <hadronized> yes, hence why I’m wondering
2026-04-30 10:44:31 +0000 <hadronized> the duck typing approach is something I deeply disdain, but it does have the advantage of not introducing a ton of complexity in the language, and the tradeoff is that you have a lot of cognitive complexity at use site
2026-04-30 10:44:47 +0000 <hadronized> as soon as I try to add a compile-time form of interface, I hit coherence, overlapping implementations, etc.
2026-04-30 10:45:06 +0000 <__monty__> Structural subtyping?
2026-04-30 10:45:08 +0000 <hadronized> if you remove generic code, you entirely remove that class of problem, but you also remove a lot of useful features that my language needs to have
2026-04-30 10:45:24 +0000 <hadronized> I do have a form of subtyping (refinement types), but it’s not structural
2026-04-30 10:46:19 +0000 <hadronized> the problem can be addressed at runtime, but I would rather find a way at compile-time
2026-04-30 10:46:27 +0000 <hadronized> (at runtime: just go the vtable way)
2026-04-30 10:46:36 +0000haskellbridge(~hackager@96.28.224.214) hackager
2026-04-30 10:46:36 +0000ChanServ+v haskellbridge
2026-04-30 10:48:32 +0000 <hadronized> there’s structural interfaces, but they can induce bugs, and as such, I won’t go that route
2026-04-30 10:48:44 +0000 <hadronized> (the Go way, basically)
2026-04-30 10:49:39 +0000dcb(~dcb@user/dcb) (Quit: MSN Messenger v1.9.1)
2026-04-30 10:50:17 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-04-30 10:50:35 +0000divlamir(~divlamir@user/divlamir) divlamir
2026-04-30 10:51:52 +0000leppard(~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) Inline
2026-04-30 10:52:57 +0000califax_(~califax@user/califx) califx
2026-04-30 10:53:48 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-04-30 10:54:11 +0000califax_califax
2026-04-30 10:54:29 +0000dcb(~dcb@user/dcb) dcb
2026-04-30 10:56:10 +0000 <lortabac> hadronized: for the expression problem, a lightweight alternative would be open data-types and functions (see the paper by Andres Löh)
2026-04-30 10:56:42 +0000 <hadronized> https://www.andres-loeh.de/OpenDatatypes.pdf this one?
2026-04-30 10:56:57 +0000 <lortabac> yes
2026-04-30 10:57:31 +0000 <lortabac> however since you mentioned duck typing, I guess your focus is more on overloading
2026-04-30 10:57:52 +0000 <hadronized> I want to solve generic programming, mainly
2026-04-30 10:58:19 +0000 <hadronized> duck typing is bad in the sense that you need to look at the function to know what you are supposed to call it with
2026-04-30 10:58:29 +0000 <lortabac> what do you mean by generic programming?
2026-04-30 10:58:35 +0000 <hadronized> and you do pretty much anything you want in the function, it’s not driven by an external contract, which is bad to me
2026-04-30 10:59:00 +0000 <hadronized> forall t: type fn add(a: t, b: t): t = a + b;
2026-04-30 10:59:01 +0000 <hadronized> this
2026-04-30 10:59:18 +0000 <hadronized> this is not valid, because + cannot be used with type directly
2026-04-30 10:59:29 +0000 <hadronized> so I’m looking for all the alternatives to allow for it
2026-04-30 10:59:33 +0000 <hadronized> Zig, for instance, does allow that code
2026-04-30 10:59:38 +0000 <hadronized> but it will fail at instantiation
2026-04-30 10:59:48 +0000 <hadronized> Rust requires where T: Add
2026-04-30 10:59:54 +0000 <hadronized> (similar to Haskell’s typeclasses)
2026-04-30 11:00:26 +0000 <hadronized> C++ concepts are a bit similar to compile-time only typeclasses / traits, but without coherence
2026-04-30 11:00:44 +0000 <hadronized> so you can have overlapping instances and specialization, even though I never remember the rules
2026-04-30 11:00:48 +0000 <yin> rubberduck typing: when looking at a function to see what it does makes you immediately realize what's wrong with it
2026-04-30 11:01:12 +0000craunts795335385(~craunts@152.32.100.66)
2026-04-30 11:01:19 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-04-30 11:02:07 +0000 <hadronized> there’s something interesting about Rust <=> Haskell: Haskell has rank-2 types, which allow you to use forall to introduce a new rank. Rust doesn’t, and to solve that problem, you need to introduce a trait with a generic method
2026-04-30 11:02:26 +0000 <hadronized> fn foo<T: Rank2>(arg: T) … { arg.foo("hello"); arg.foo(1) }
2026-04-30 11:02:42 +0000 <hadronized> trait Rank2 { fn foo<Here>(…) }
2026-04-30 11:02:52 +0000 <hadronized> so with that in mind, I realized that trait can implement rank-N types
2026-04-30 11:03:11 +0000 <hadronized> so I’m wondering whether, regarding generic functions and contracts, whether they implement a more generalized way to express what I want here
2026-04-30 11:03:45 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 255 seconds)
2026-04-30 11:04:06 +0000 <lortabac> hadronized: is your goal to provide support for ad-hoc polymorphism?
2026-04-30 11:05:18 +0000 <hadronized> I think it is, yes
2026-04-30 11:06:39 +0000 <hadronized> for the add example, I guess instead of having to create typeclasses / traits, we could have something like where op"+"(t, t): t
2026-04-30 11:06:45 +0000 <hadronized> but that’s mainly just what Go does
2026-04-30 11:06:55 +0000 <hadronized> which can cause accidental implementations, and thus is not a super good idea
2026-04-30 11:07:21 +0000 <lortabac> does the method have a different implementation for each type?
2026-04-30 11:07:35 +0000 <hadronized> yes
2026-04-30 11:07:52 +0000 <hadronized> but I think we are already too close to the details
2026-04-30 11:08:04 +0000 <hadronized> I’m trying to list all the possible ways to do « generic code »
2026-04-30 11:08:26 +0000 <hadronized> Zig is interesting with its reflection, but I know I won’t go that route because it’d mean a nightmare for people consuming those functions
2026-04-30 11:08:29 +0000 <lortabac> "generic" can mean so many different things, I don't think it's a particularly useful definition
2026-04-30 11:09:01 +0000 <hadronized> I like to think of generic programming by extending C, basically
2026-04-30 11:09:20 +0000 <hadronized> generic programming is just how you generate code at compile-time for different types / values known at compile-time
2026-04-30 11:09:28 +0000 <hadronized> Hare doesn’t have any and requires codegen to be explict, for instance
2026-04-30 11:09:57 +0000 <hadronized> there’s the « codegen » aspect, where we could be happy with just macros
2026-04-30 11:10:15 +0000 <lortabac> there are different solutions to the problem of "generic" programming, but they depend on the exact specs
2026-04-30 11:10:17 +0000 <hadronized> and then there’s usage, where you actually mark a function as polymorphic
2026-04-30 11:10:39 +0000 <lortabac> unless you specify the details, it's impossible to find an answer to your question
2026-04-30 11:11:38 +0000 <lortabac> should generic functions be extensible, like type classes?
2026-04-30 11:12:17 +0000 <lortabac> or would you e.g. have all the instances of "+" in the same place?
2026-04-30 11:15:30 +0000 <lortabac> other question: is it important that the implementation is chosen statically? Or would a solution based on rank-n types + implicit parameters fit your specs too?
2026-04-30 11:16:16 +0000 <hadronized> I am not sure to understand your last point with implicit parameters
2026-04-30 11:16:17 +0000 <lortabac> (this means no global coherence)
2026-04-30 11:16:32 +0000r1bilski(~r1bilski@user/r1bilski) r1bilski
2026-04-30 11:16:59 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 11:17:51 +0000 <lortabac> I'm not sure, but I think Scala does something like this
2026-04-30 11:17:52 +0000Pozyomka(~pyon@user/pyon) (Quit: fuck logind)
2026-04-30 11:18:12 +0000 <lortabac> I don't know, I'm just listing various alternatives to type classes :)
2026-04-30 11:18:13 +0000tremon(~tremon@83.80.159.219) tremon
2026-04-30 11:20:35 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp)
2026-04-30 11:28:42 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 246 seconds)
2026-04-30 11:29:40 +0000r1bilski(~r1bilski@user/r1bilski) (Ping timeout: 265 seconds)
2026-04-30 11:31:41 +0000dcb(~dcb@user/dcb) (Quit: MSN Messenger v1.9.1)
2026-04-30 11:35:59 +0000kimiamania40(~67ff9c51@user/kimiamania) (Quit: PegeLinux)
2026-04-30 11:36:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 11:37:14 +0000kimiamania40(~67ff9c51@user/kimiamania) kimiamania
2026-04-30 11:40:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-30 11:43:42 +0000Googulator56(~Googulato@84-236-65-50.pool.digikabel.hu)
2026-04-30 11:44:16 +0000phm(~peter@fsf/member/phm) (Quit: leaving)
2026-04-30 11:44:55 +0000phm(~peter@fsf/member/phm) phm
2026-04-30 11:46:38 +0000DetourNe-(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-04-30 11:47:00 +0000DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-04-30 11:47:05 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 11:47:17 +0000Googulator(~Googulato@78-131-16-66.pool.digikabel.hu) (Ping timeout: 245 seconds)
2026-04-30 11:47:20 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-04-30 11:48:57 +0000DetourNe-DetourNetworkUK
2026-04-30 11:53:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 11:54:24 +0000Googulator56Googulator
2026-04-30 11:58:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-04-30 11:58:49 +0000Pozyomka(~pyon@user/pyon) pyon
2026-04-30 12:05:53 +0000nunggu(~q@user/nunggu) nunggu
2026-04-30 12:06:30 +0000r1bilski(~r1bilski@user-31-175-22-58.play-internet.pl)
2026-04-30 12:06:30 +0000r1bilski(~r1bilski@user-31-175-22-58.play-internet.pl) (Changing host)
2026-04-30 12:06:30 +0000r1bilski(~r1bilski@user/r1bilski) r1bilski
2026-04-30 12:08:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 12:13:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-04-30 12:14:56 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4)
2026-04-30 12:17:01 +0000Square2(~Square@user/square) Square
2026-04-30 12:17:40 +0000Square(~Square4@user/square) (Ping timeout: 245 seconds)
2026-04-30 12:26:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 12:27:04 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-04-30 12:31:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-30 12:37:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 12:43:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-30 12:45:53 +0000craunts795335385(~craunts@152.32.100.66) (Quit: The Lounge - https://thelounge.chat)
2026-04-30 12:46:21 +0000dcb(~dcb@user/dcb) dcb
2026-04-30 12:50:58 +0000ouilemur(~jgmerritt@user/ouilemur) (Ping timeout: 248 seconds)
2026-04-30 12:51:39 +0000malte(~malte@mal.tc) (Ping timeout: 246 seconds)
2026-04-30 12:52:01 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-04-30 12:52:07 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 256 seconds)
2026-04-30 12:52:30 +0000emaczen(~user@user/emaczen) emaczen
2026-04-30 12:53:05 +0000ouilemur(~jgmerritt@user/ouilemur) ouilemur
2026-04-30 12:53:36 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 12:55:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 12:59:40 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-30 13:08:19 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4)
2026-04-30 13:14:39 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 244 seconds)
2026-04-30 13:30:17 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 13:30:30 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2026-04-30 13:30:37 +0000pavonia(~user@user/siracusa) siracusa
2026-04-30 13:36:49 +0000Square2(~Square@user/square) (Remote host closed the connection)
2026-04-30 13:37:10 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2026-04-30 13:38:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 13:40:21 +0000poscat(~poscat@user/poscat) poscat
2026-04-30 13:43:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-30 13:44:49 +0000r1bilski(~r1bilski@user/r1bilski) (Remote host closed the connection)
2026-04-30 13:45:06 +0000r1bilski(~r1bilski@user/r1bilski) r1bilski
2026-04-30 13:45:33 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-04-30 13:45:53 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-04-30 13:50:49 +0000r1bilski(~r1bilski@user/r1bilski) (Ping timeout: 244 seconds)
2026-04-30 13:54:11 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 13:55:42 +0000puke(~puke@user/puke) (Remote host closed the connection)
2026-04-30 13:56:07 +0000puke(~puke@user/puke) puke
2026-04-30 13:57:32 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
2026-04-30 13:58:17 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-04-30 13:59:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-04-30 14:01:51 +0000puke(~puke@user/puke) (Quit: puke)
2026-04-30 14:10:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 14:13:51 +0000 <haskellbridge> <thirdofmay18081814goya> what's the usual approach to filtering using optics? if I want to remove e.g. nodes from a tree or elements of a list matching some predicate
2026-04-30 14:15:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-30 14:15:46 +0000 <haskellbridge> <thirdofmay18081814goya> it's not just a cast into a fold + filter for more complicated structures, since we probably want to specify some notion of what gets preserved
2026-04-30 14:16:34 +0000puke(~puke@user/puke) puke
2026-04-30 14:20:26 +0000terrorjack(~terrorjac@2a01:4f8:271:2d98::2) (Quit: The Lounge - https://thelounge.chat)
2026-04-30 14:24:18 +0000terrorjack(~terrorjac@2a01:4f8:271:2d98::2) terrorjack
2026-04-30 14:26:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 14:30:07 +0000 <haskellbridge> <thirdofmay18081814goya> it's also not clear it's possible for it to be anything else than a Fold since there's no obvious way to construct the covariant side of the profunctor
2026-04-30 14:30:13 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-04-30 14:30:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-30 14:38:47 +0000dolio(~dolio@130.44.140.168) dolio
2026-04-30 14:39:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 14:41:04 +0000puke(~puke@user/puke) (Quit: puke)
2026-04-30 14:41:54 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 246 seconds)
2026-04-30 14:45:02 +0000arandombit(~arandombi@2a02:2455:8656:7100:88a1:ade2:b718:40a1)
2026-04-30 14:45:02 +0000arandombit(~arandombi@2a02:2455:8656:7100:88a1:ade2:b718:40a1) (Changing host)
2026-04-30 14:45:02 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-30 14:45:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-30 14:46:08 +0000st_aldini(~Betterbir@2605:a601:a07c:7426:722:1ac7:7d6b:c73c) (Quit: st_aldini)
2026-04-30 14:47:17 +0000r1bilski(~r1bilski@user/r1bilski) r1bilski
2026-04-30 14:52:24 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 246 seconds)
2026-04-30 14:56:09 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-04-30 14:56:39 +0000Square(~Square@user/square) Square
2026-04-30 14:57:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 14:58:18 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 248 seconds)
2026-04-30 15:00:00 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp)
2026-04-30 15:01:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-30 15:06:54 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4)
2026-04-30 15:07:32 +0000ft(~ft@p508db287.dip0.t-ipconnect.de) ft
2026-04-30 15:16:33 +0000jle`(~jle`@2603:8001:3b00:11:104a:f0b9:d164:3329) (Ping timeout: 246 seconds)
2026-04-30 15:16:44 +0000Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) (Remote host closed the connection)
2026-04-30 15:17:34 +0000jle`(~jle`@2603:8001:3b00:11::1fae) jle`
2026-04-30 15:20:42 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 265 seconds)
2026-04-30 15:25:42 +0000califax(~califax@user/califx) (Ping timeout: 265 seconds)
2026-04-30 15:26:47 +0000 <janus> having a really odd issue in the servant codebase
2026-04-30 15:27:04 +0000 <janus> i enabled GHC2021 using default-language and removed a bunch of extensions
2026-04-30 15:27:43 +0000 <janus> now, one of the cook books fails to compile. the cook book is using servant-multipart (an third party servant extension) as a dependency
2026-04-30 15:28:05 +0000 <janus> and that dependency fails to compile because it can't satisfy a typeable constraint
2026-04-30 15:28:44 +0000 <janus> i thought migrating to GHC2021 would be way easier, but it does seem to affect a bunch of corner cases in fancy type level code that servant has
2026-04-30 15:28:55 +0000 <janus> i just didn't expect the code to compile, and then the dependencies to break!
2026-04-30 15:29:24 +0000 <janus> is that something people have encountered?
2026-04-30 15:29:37 +0000 <janus> s/dependencies/revdeps/
2026-04-30 15:29:51 +0000 <c_wraith> Not with that specifically, but stuff like PolyKinds can do that
2026-04-30 15:30:10 +0000 <Leary> Yeah; at a guess, something that wasn't polykinded now is.
2026-04-30 15:30:17 +0000puke(~puke@user/puke) puke
2026-04-30 15:30:54 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-04-30 15:30:54 +0000 <Leary> Which is fine, but the revdep now needs `Typeable` on the kind.
2026-04-30 15:30:59 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-30 15:31:14 +0000puke(~puke@user/puke) (Max SendQ exceeded)
2026-04-30 15:31:17 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-04-30 15:31:31 +0000Square(~Square@user/square) (Ping timeout: 264 seconds)
2026-04-30 15:31:35 +0000 <janus> but would it not be better to make the servant export not-polykinded , and keep compatibility with revdeps?
2026-04-30 15:31:39 +0000puke(~puke@user/puke) puke
2026-04-30 15:31:49 +0000tomsmeding_tomsmeding
2026-04-30 15:32:43 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 15:33:04 +0000califax(~califax@user/califx) califx
2026-04-30 15:34:18 +0000 <Leary> I would determine that on a case-by-case basis; ultimately it's a matter of whether they types in question have any good reason to be (or not be) polykinded.
2026-04-30 15:35:24 +0000 <tomsmeding> hello I've been away for a couple weeks, what's with all the @? Are there spammers?
2026-04-30 15:36:01 +0000 <janus> i got op from shapr and now i proudly wear it. i don't think ChanServ knows about it so i wouldn't be able to get it back
2026-04-30 15:36:46 +0000 <janus> it is cringe to wear op all the time?
2026-04-30 15:37:17 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 252 seconds)
2026-04-30 15:37:56 +0000Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) Arsen
2026-04-30 15:40:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 15:41:14 +0000 <geekosaur> it's kinda disrecommended by libera
2026-04-30 15:41:16 +0000Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) (Remote host closed the connection)
2026-04-30 15:43:28 +0000janus-o janus
2026-04-30 15:43:53 +0000AlexNoo_(~AlexNoo@178.34.163.122)
2026-04-30 15:44:44 +0000 <janus> Leary: i should probably abandon this effort, it seems too risky for such an old codebase
2026-04-30 15:45:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-30 15:45:13 +0000 <janus> but it's a good lesson in that kindedness is exported, which i hadn't considered
2026-04-30 15:46:31 +0000Alex_delenda_est(~al_test@178.34.162.165) (Ping timeout: 264 seconds)
2026-04-30 15:47:10 +0000AlexZenon(~alzenon@178.34.162.165) (Ping timeout: 244 seconds)
2026-04-30 15:47:46 +0000AlexNoo(~AlexNoo@178.34.162.165) (Ping timeout: 265 seconds)
2026-04-30 15:48:43 +0000Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) Arsen
2026-04-30 15:52:31 +0000AlexZenon(~alzenon@178.34.163.122)
2026-04-30 15:53:06 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-30 15:56:04 +0000Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) (Remote host closed the connection)
2026-04-30 15:57:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 15:57:55 +0000Enrico63(~Enrico63@85.255.235.90) (Quit: Client closed)
2026-04-30 15:59:03 +0000Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) Arsen
2026-04-30 15:59:14 +0000 <tomsmeding> janus: dunno about cringe; shapr gave me op in #haskell-offtopic a long time ago and I did the same. :P
2026-04-30 16:02:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-30 16:03:39 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 256 seconds)
2026-04-30 16:04:43 +0000nnm(nnm@chainless.shells.chat)
2026-04-30 16:05:26 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-04-30 16:06:57 +0000AlexNoo_AlexNoo
2026-04-30 16:07:18 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2026-04-30 16:07:18 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2026-04-30 16:07:18 +0000haritz(~hrtz@user/haritz) haritz
2026-04-30 16:09:57 +0000chele(~chele@user/chele) (Remote host closed the connection)
2026-04-30 16:10:11 +0000jmcantrell_jmcantrell
2026-04-30 16:14:16 +0000 <haskellbridge> <shapr> haha!
2026-04-30 16:14:27 +0000 <geekosaur> how long ago? on freenode -offtopic wasn't part of the acl group so it needed its own ops
2026-04-30 16:15:24 +0000 <geekosaur> (freenode's ircd didn't support that iirc, solanum does)
2026-04-30 16:15:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 16:16:57 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 255 seconds)
2026-04-30 16:17:41 +0000 <geekosaur> mm, not ircd, services
2026-04-30 16:20:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-30 16:22:03 +0000tok(~user@user/tok) (Read error: Connection reset by peer)
2026-04-30 16:23:03 +0000acarrico(~acarrico@2606:1440:605:2500:d46:9e23:1112:52ce) (Ping timeout: 246 seconds)
2026-04-30 16:25:39 +0000karenw(~karenw@user/karenw) karenw
2026-04-30 16:28:34 +0000craunts795335385(~craunts@152.32.100.66)
2026-04-30 16:32:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 16:35:00 +0000pabs3(~pabs3@user/pabs3) (Quit: Don't rest until all the world is paved in moss and greenery.)
2026-04-30 16:35:38 +0000pabs3(~pabs3@user/pabs3) pabs3
2026-04-30 16:35:49 +0000acarrico(~acarrico@2606:1440:605:2500:ac3:5f1a:da7f:d2ac)
2026-04-30 16:37:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-30 16:44:39 +0000 <EvanR> janus, agreed old codebases with ancient bugs and unknown risks are bad. Better to make a brand new fresh code base with brand new bugs xD
2026-04-30 16:48:04 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-04-30 16:49:05 +0000merijn(~merijn@62.45.136.136) merijn
2026-04-30 16:53:46 +0000malte(~malte@mal.tc) malte
2026-04-30 16:55:53 +0000 <janus> % import Data.Typeable
2026-04-30 16:55:53 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-04-30 16:55:53 +0000 <yahb2> <no output>
2026-04-30 16:56:01 +0000 <janus> % :t typeRep
2026-04-30 16:56:01 +0000 <yahb2> typeRep ; :: forall {k} (proxy :: k -> *) (a :: k). ; Typeable a => ; proxy a -> TypeRep
2026-04-30 16:56:20 +0000tromp(~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4)
2026-04-30 16:57:25 +0000m(~travltux@user/travltux) (Quit: WeeChat 4.7.2)
2026-04-30 16:57:26 +0000 <janus> why does kindedness make a difference here? what is an example of a declaration that fits with typeRep without PolyKinds but fails with?
2026-04-30 16:58:30 +0000 <janus> this was even made more polymorphic at some point, because in base-4.18 it was just forall proxy a. Typeable a => proxy a -> TypeRep
2026-04-30 17:03:47 +0000 <EvanR> the a and proxy have to match up somehow
2026-04-30 17:03:58 +0000 <EvanR> it's not any a and any proxy independently
2026-04-30 17:04:28 +0000 <mauke> that question seems backwards
2026-04-30 17:05:36 +0000 <geekosaur> I thought so too
2026-04-30 17:05:49 +0000m4(~travltux@user/travltux) travltux
2026-04-30 17:06:05 +0000 <EvanR> forall proxy a. Typeable a => proxy a -> TypeRep seems more polymorphic?
2026-04-30 17:06:55 +0000tnt1(~Thunderbi@user/tnt1) (Ping timeout: 264 seconds)
2026-04-30 17:07:13 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-30 17:07:28 +0000 <mauke> ??
2026-04-30 17:11:49 +0000 <mauke> https://gitlab.haskell.org/ghc/ghc/-/wikis/ghc-kinds/poly-typeable
2026-04-30 17:19:36 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2026-04-30 17:20:28 +0000Comstar(~Comstar@user/Comstar) (Quit: Leaving)
2026-04-30 17:20:54 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-30 17:25:32 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-04-30 17:26:28 +0000 <janus> % typeRep (undefined :: Proxy Monad)
2026-04-30 17:26:28 +0000 <yahb2> Monad
2026-04-30 17:26:45 +0000 <janus> you wouldn't be able to do this with the old definition, because proxy would be Type -> Type, right
2026-04-30 17:30:49 +0000karenw(~karenw@user/karenw) (Ping timeout: 276 seconds)
2026-04-30 17:32:00 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 246 seconds)
2026-04-30 17:32:28 +0000 <janus> there must be two separate base changes here, because the linked wiki page talks about GHC 7.8 which is much older than base-4.18 (GHC 9.6)
2026-04-30 17:34:09 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 17:37:16 +0000Square(~Square@user/square) Square
2026-04-30 17:38:55 +0000layline_(~layline@149.154.26.170) layline
2026-04-30 17:41:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 17:43:57 +0000 <janus> EvanR: what makes that one more polymorphic? surely it would depend on kind inferrence? and i would think that kind inferrence would depend on the setting of PolyKinds. but the explicit one is explicitly permitting any k, not just * (Type)
2026-04-30 17:44:22 +0000puke(~puke@user/puke) (Quit: puke)
2026-04-30 17:44:50 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 248 seconds)