| 2026-04-30 00:00:24 +0000 | Fischmiep | (~Fischmiep@user/Fischmiep) Fischmiep |
| 2026-04-30 00:04:51 +0000 | Fischmiep | (~Fischmiep@user/Fischmiep) (Ping timeout: 256 seconds) |
| 2026-04-30 00:07:26 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-30 00:09:27 +0000 | layline_ | (~layline@149.154.26.170) (Ping timeout: 255 seconds) |
| 2026-04-30 00:12:00 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 244 seconds) |
| 2026-04-30 00:12:31 +0000 | layline_ | (~layline@149.154.26.170) layline |
| 2026-04-30 00:12:48 +0000 | Fischmiep | (~Fischmiep@user/Fischmiep) Fischmiep |
| 2026-04-30 00:15:06 +0000 | Fischmiep | (~Fischmiep@user/Fischmiep) (Excess Flood) |
| 2026-04-30 00:15:19 +0000 | Fischmiep | (~Fischmiep@user/Fischmiep) Fischmiep |
| 2026-04-30 00:21:15 +0000 | layline_ | (~layline@149.154.26.170) (Ping timeout: 246 seconds) |
| 2026-04-30 00:24:46 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 00:28:57 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-30 00:30:38 +0000 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-04-30 00:31:42 +0000 | Comstar | (~Comstar@user/Comstar) Comstar |
| 2026-04-30 00:37:27 +0000 | craunts795335385 | (~craunts@152.32.100.66) (Quit: The Lounge - https://thelounge.chat) |
| 2026-04-30 00:41:52 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 00:48:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-30 00:49:04 +0000 | itaipu | (~itaipu@168.121.99.12) (Ping timeout: 245 seconds) |
| 2026-04-30 00:49:54 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 265 seconds) |
| 2026-04-30 00:50:08 +0000 | layline_ | (~layline@149.154.26.170) layline |
| 2026-04-30 00:55:49 +0000 | bkani | (~bkani@user/bkani) (Ping timeout: 244 seconds) |
| 2026-04-30 00:59:22 +0000 | layline_ | (~layline@149.154.26.170) (Ping timeout: 248 seconds) |
| 2026-04-30 01:00:45 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 255 seconds) |
| 2026-04-30 01:02:40 +0000 | itaipu | (~itaipu@168.121.99.12) itaipu |
| 2026-04-30 01:03:07 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 01:09:39 +0000 | puke | (~puke@user/puke) (Remote host closed the connection) |
| 2026-04-30 01:10:04 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-30 01:11:59 +0000 | layline_ | (~layline@149.154.26.170) layline |
| 2026-04-30 01:12:40 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
| 2026-04-30 01:15:22 +0000 | acidjnk | (~acidjnk@p200300d6e700e542f647a2cff7c48503.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2026-04-30 01:15:35 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e542f647a2cff7c48503.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 2026-04-30 01:16:12 +0000 | layline_ | (~layline@149.154.26.170) (Ping timeout: 246 seconds) |
| 2026-04-30 01:16:13 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-30 01:17:30 +0000 | Square2 | (~Square@user/square) (Ping timeout: 248 seconds) |
| 2026-04-30 01:20:45 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 246 seconds) |
| 2026-04-30 01:22:40 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-04-30 01:26:59 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) |
| 2026-04-30 01:31:31 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 264 seconds) |
| 2026-04-30 01:31:36 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 01:33:32 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-30 01:38:50 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2026-04-30 01:44:10 +0000 | Pozyomka | (~pyon@user/pyon) (Quit: fuck logind) |
| 2026-04-30 01:44:35 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 01:44:36 +0000 | layline_ | (~layline@149.154.26.170) layline |
| 2026-04-30 01:45:46 +0000 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-04-30 01:49:06 +0000 | layline_ | (~layline@149.154.26.170) (Ping timeout: 248 seconds) |
| 2026-04-30 01:49:39 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 248 seconds) |
| 2026-04-30 01:52:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 01:56:27 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Read error: Connection reset by peer) |
| 2026-04-30 01:57:27 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-30 01:58:39 +0000 | dolio | (~dolio@130.44.140.168) (Ping timeout: 245 seconds) |
| 2026-04-30 02:01:10 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 02:01:11 +0000 | layline_ | (~layline@149.154.26.170) layline |
| 2026-04-30 02:02:35 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
| 2026-04-30 02:03:27 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2026-04-30 02:06:00 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 255 seconds) |
| 2026-04-30 02:09:07 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-30 02:11:41 +0000 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
| 2026-04-30 02:13:19 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 244 seconds) |
| 2026-04-30 02:15:50 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-04-30 02:17:45 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 02:26:33 +0000 | merijn | (~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 +0000 | merijn | (~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 +0000 | tccq | (~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 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 245 seconds) |
| 2026-04-30 02:39:51 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) (Quit: insert leave message here) |
| 2026-04-30 02:43:16 +0000 | karenw | (~karenw@user/karenw) karenw |
| 2026-04-30 02:45:20 +0000 | puke | (~puke@user/puke) (Quit: puke) |
| 2026-04-30 02:45:28 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 02:49:40 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 02:50:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-30 02:51:45 +0000 | mtmn | (~mtmn@user/mtmn) mtmn |
| 2026-04-30 02:54:27 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) |
| 2026-04-30 02:54:39 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 244 seconds) |
| 2026-04-30 02:57:09 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) (Client Quit) |
| 2026-04-30 02:58:03 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) |
| 2026-04-30 02:59:58 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 03:04:45 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 245 seconds) |
| 2026-04-30 03:06:45 +0000 | hsw | (~hsw@112-104-8-95.adsl.dynamic.seed.net.tw) (Quit: Leaving) |
| 2026-04-30 03:12:13 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 244 seconds) |
| 2026-04-30 03:16:04 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 03:17:55 +0000 | synchromesh | (~john@2406:5a00:247e:1500:6092:d450:dbbd:88ed) (Read error: Connection reset by peer) |
| 2026-04-30 03:18:07 +0000 | synchromesh | (~john@2406:5a00:247e:1500:d5de:46aa:de90:76fa) synchromesh |
| 2026-04-30 03:20:45 +0000 | tzh_ | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: ksvks) |
| 2026-04-30 03:21:00 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 244 seconds) |
| 2026-04-30 03:28:24 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 03:28:32 +0000 | alhazrod | (uid662262@id-662262.lymington.irccloud.com) |
| 2026-04-30 03:30:15 +0000 | inedia | (~irc@2600:3c00:e000:287::1) (Quit: WeeChat 4.8.1) |
| 2026-04-30 03:31:55 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2026-04-30 03:32:05 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-04-30 03:32:17 +0000 | inedia | (~irc@2600:3c00:e000:287::1) dove |
| 2026-04-30 03:32:35 +0000 | synchromesh | (~john@2406:5a00:247e:1500:d5de:46aa:de90:76fa) (Quit: WeeChat 4.1.1) |
| 2026-04-30 03:33:14 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 245 seconds) |
| 2026-04-30 03:34:16 +0000 | layline_ | layline-away |
| 2026-04-30 03:34:31 +0000 | layline-away | (~layline@149.154.26.170) (Quit: ZZZzzz…) |
| 2026-04-30 03:36:38 +0000 | synchromesh | (~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) synchromesh |
| 2026-04-30 03:37:04 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
| 2026-04-30 03:38:04 +0000 | m | (~travltux@user/travltux) (Quit: WeeChat 4.7.2) |
| 2026-04-30 03:40:06 +0000 | m | (~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 +0000 | michalz | (~michalz@185.246.207.215) |
| 2026-04-30 03:45:08 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 03:45:57 +0000 | gehmehgeh | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-30 03:47:46 +0000 | gmg | (~user@user/gehmehgeh) (Ping timeout: 265 seconds) |
| 2026-04-30 03:48:58 +0000 | arahael | (~wetfoot@user/arahael) arahael |
| 2026-04-30 03:49:30 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 255 seconds) |
| 2026-04-30 03:49:51 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 246 seconds) |
| 2026-04-30 03:50:05 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-30 03:51:38 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 265 seconds) |
| 2026-04-30 03:52:39 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 268 seconds) |
| 2026-04-30 04:00:19 +0000 | emaczen | (~user@user/emaczen) (Ping timeout: 264 seconds) |
| 2026-04-30 04:01:28 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 04:05:50 +0000 | tnt1 | (~Thunderbi@user/tnt1) tnt1 |
| 2026-04-30 04:06:36 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 255 seconds) |
| 2026-04-30 04:12:38 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 04:14:05 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 04:15:35 +0000 | RMSBach | (~RMSBach@2603:6013:9b40:6f2::1040) (Ping timeout: 245 seconds) |
| 2026-04-30 04:17:46 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 248 seconds) |
| 2026-04-30 04:18:46 +0000 | tnt1 | (~Thunderbi@user/tnt1) (Remote host closed the connection) |
| 2026-04-30 04:18:49 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-30 04:25:00 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 04:29:10 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Remote host closed the connection) |
| 2026-04-30 04:29:24 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 04:32:13 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 04:33:49 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) (Quit: insert leave message here) |
| 2026-04-30 04:34:30 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 265 seconds) |
| 2026-04-30 04:34:45 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) |
| 2026-04-30 04:36:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-30 04:39:08 +0000 | RMSBach | (~RMSBach@2603:6013:9b40:6f2::1040) RMSBach |
| 2026-04-30 04:39:46 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-30 04:40:27 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 265 seconds) |
| 2026-04-30 04:41:30 +0000 | dcb | (~dcb@user/dcb) (Quit: MSN Messenger v1.9.1) |
| 2026-04-30 04:42:29 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
| 2026-04-30 04:44:28 +0000 | karenw | (~karenw@user/karenw) (Ping timeout: 276 seconds) |
| 2026-04-30 04:44:50 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 04:47:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 04:50:07 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 264 seconds) |
| 2026-04-30 04:51:41 +0000 | dcb | (~dcb@user/dcb) dcb |
| 2026-04-30 04:52:03 +0000 | leppard | (~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) (Ping timeout: 255 seconds) |
| 2026-04-30 04:52:27 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-30 04:55:56 +0000 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
| 2026-04-30 04:58:11 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
| 2026-04-30 04:58:27 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-04-30 05:01:29 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) (Quit: insert leave message here) |
| 2026-04-30 05:01:51 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 05:02:22 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) |
| 2026-04-30 05:05:22 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-30 05:06:10 +0000 | hc | (~hc@142.132.182.140) hc |
| 2026-04-30 05:07:13 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 276 seconds) |
| 2026-04-30 05:09:36 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 244 seconds) |
| 2026-04-30 05:14:15 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) (Quit: insert leave message here) |
| 2026-04-30 05:14:52 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 05:15:07 +0000 | mehbark | (~mehbark@joey.luug.ece.vt.edu) |
| 2026-04-30 05:19:50 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 244 seconds) |
| 2026-04-30 05:22:23 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 05:29:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-30 05:30:26 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 05:31:05 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 05:35:13 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 256 seconds) |
| 2026-04-30 05:35:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-30 05:36:29 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-30 05:37:11 +0000 | xal | (~xal@mx1.xal.systems) (Quit: bye) |
| 2026-04-30 05:38:16 +0000 | alhazrod | (uid662262@id-662262.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2026-04-30 05:38:53 +0000 | xal | (~xal@mx1.xal.systems) xal |
| 2026-04-30 05:41:11 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 05:46:31 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 272 seconds) |
| 2026-04-30 05:57:51 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 06:03:54 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 265 seconds) |
| 2026-04-30 06:15:08 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 06:15:44 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds) |
| 2026-04-30 06:20:07 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 264 seconds) |
| 2026-04-30 06:22:58 +0000 | czan | (~czan@user/mange) (Quit: Quittin' time!) |
| 2026-04-30 06:23:15 +0000 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 272 seconds) |
| 2026-04-30 06:26:38 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-30 06:29:56 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2026-04-30 06:31:23 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 06:32:14 +0000 | Vizious | (~bes@user/Vizious) (Ping timeout: 252 seconds) |
| 2026-04-30 06:36:25 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 256 seconds) |
| 2026-04-30 06:42:59 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 06:47:40 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 245 seconds) |
| 2026-04-30 06:48:08 +0000 | tromp | (~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) |
| 2026-04-30 06:55:24 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 06:59:39 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 07:00:58 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 276 seconds) |
| 2026-04-30 07:01:34 +0000 | Enrico63 | (~Enrico63@85.255.235.90) Enrico63 |
| 2026-04-30 07:01:42 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2026-04-30 07:02:10 +0000 | pierluc-codes34 | (~pierlucco@modemcable092.154-83-70.mc.videotron.ca) (Ping timeout: 248 seconds) |
| 2026-04-30 07:04:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-30 07:04:49 +0000 | anpad | (~pandeyan@user/anpad) (Ping timeout: 265 seconds) |
| 2026-04-30 07:06:14 +0000 | anpad | (~pandeyan@user/anpad) anpad |
| 2026-04-30 07:07:28 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) |
| 2026-04-30 07:09:58 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 07:14:42 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 255 seconds) |
| 2026-04-30 07:15:10 +0000 | emmanuelux | (~em@user/emmanuelux) (Quit: bye) |
| 2026-04-30 07:18:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 07:19:35 +0000 | cstml | (~cstml@user/cstml) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2026-04-30 07:20:55 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-30 07:21:02 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 07:22:28 +0000 | mzg | (mzg@koza.fi) |
| 2026-04-30 07:22:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-30 07:25:47 +0000 | misterfish | (~misterfis@094190207253.static.ipv4.heldenvannu.net) misterfish |
| 2026-04-30 07:26:08 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 252 seconds) |
| 2026-04-30 07:26:10 +0000 | r1bilski | (~r1bilski@user/r1bilski) (Ping timeout: 248 seconds) |
| 2026-04-30 07:32:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 07:32:25 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 07:33:54 +0000 | ft | (~ft@p200300cf3f4f28002264268f01ab0284.dip0.t-ipconnect.de) (Quit: leaving) |
| 2026-04-30 07:37:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2026-04-30 07:37:44 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 268 seconds) |
| 2026-04-30 07:42:34 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 07:43:03 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2026-04-30 07:44:42 +0000 | synchromesh | (~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) (Read error: Connection reset by peer) |
| 2026-04-30 07:45:33 +0000 | synchromesh | (~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) synchromesh |
| 2026-04-30 07:47:43 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 264 seconds) |
| 2026-04-30 07:48:09 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 07:50:35 +0000 | pierluc-codes34 | (~pierlucco@modemcable092.154-83-70.mc.videotron.ca) |
| 2026-04-30 07:50:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 07:52:02 +0000 | synchrom1 | (~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) synchromesh |
| 2026-04-30 07:52:57 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 255 seconds) |
| 2026-04-30 07:53:39 +0000 | synchromesh | (~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) (Ping timeout: 245 seconds) |
| 2026-04-30 07:54:44 +0000 | synchromesh | (~john@139.180.114.128) synchromesh |
| 2026-04-30 07:55:12 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-30 07:56:58 +0000 | synchrom1 | (~john@2406:5a00:247e:1500:655a:5069:c050:dc5f) (Ping timeout: 248 seconds) |
| 2026-04-30 07:57:34 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 08:02:24 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 245 seconds) |
| 2026-04-30 08:05:28 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 08:06:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 08:06:34 +0000 | chele | (~chele@user/chele) chele |
| 2026-04-30 08:10:26 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 244 seconds) |
| 2026-04-30 08:13:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-30 08:15:04 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 08:15:22 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 08:20:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-30 08:20:16 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 276 seconds) |
| 2026-04-30 08:21:48 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e542c471e52a110f130f.dip0.t-ipconnect.de) acidjnk |
| 2026-04-30 08:21:53 +0000 | acidjnk | (~acidjnk@p200300d6e700e542c471e52a110f130f.dip0.t-ipconnect.de) acidjnk |
| 2026-04-30 08:22:59 +0000 | bwe49895 | (~bwe@2a01:4f8:1c1c:4878::2) (Remote host closed the connection) |
| 2026-04-30 08:23:28 +0000 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) bwe |
| 2026-04-30 08:24:13 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 272 seconds) |
| 2026-04-30 08:25:55 +0000 | xff0x | (~xff0x@om126254252124.33.openmobile.ne.jp) |
| 2026-04-30 08:32:14 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 08:32:54 +0000 | redshuffle | (~quassel@45.43.70.75) (Remote host closed the connection) |
| 2026-04-30 08:33:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 08:34:03 +0000 | xff0x | (~xff0x@om126254252124.33.openmobile.ne.jp) (Read error: Connection reset by peer) |
| 2026-04-30 08:34:24 +0000 | myme | (~myme@2a01:799:d5e:5f00:35e0:fff9:f0bb:6422) (Ping timeout: 246 seconds) |
| 2026-04-30 08:35:26 +0000 | myme | (~myme@2a01:799:d5e:5f00:3407:abcf:7e59:2ab6) myme |
| 2026-04-30 08:37:31 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 264 seconds) |
| 2026-04-30 08:38:05 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-30 08:40:18 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) |
| 2026-04-30 08:43:47 +0000 | berberman | (~berberman@user/berberman) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2026-04-30 08:44:31 +0000 | berberman | (~berberman@user/berberman) berberman |
| 2026-04-30 08:45:48 +0000 | berberman | (~berberman@user/berberman) (Client Quit) |
| 2026-04-30 08:46:21 +0000 | berberman | (~berberman@user/berberman) berberman |
| 2026-04-30 08:49:16 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 08:50:41 +0000 | leppard | (~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) Inline |
| 2026-04-30 08:52:20 +0000 | Googulator | (~Googulato@78-131-16-66.pool.digikabel.hu) |
| 2026-04-30 08:54:07 +0000 | Square | (~Square4@user/square) Square |
| 2026-04-30 08:56:06 +0000 | tok | (~user@user/tok) tok |
| 2026-04-30 09:00:19 +0000 | FallenSky | (~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 +0000 | FallenSky | (~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 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 255 seconds) |
| 2026-04-30 09:19:59 +0000 | anpad | (~pandeyan@user/anpad) (Ping timeout: 252 seconds) |
| 2026-04-30 09:24:45 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 255 seconds) |
| 2026-04-30 09:27:53 +0000 | FallenSky | (~FallenSky@user/FallenSky) FallenSky |
| 2026-04-30 09:27:59 +0000 | anpad | (~pandeyan@user/anpad) anpad |
| 2026-04-30 09:28:51 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 09:35:19 +0000 | acidjnk_new | (~acidjnk@p200300d6e700e563c33a7742599b7861.dip0.t-ipconnect.de) acidjnk |
| 2026-04-30 09:37:00 +0000 | AlexZenon_2 | AlexZenon |
| 2026-04-30 09:38:19 +0000 | acidjnk | (~acidjnk@p200300d6e700e542c471e52a110f130f.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2026-04-30 09:38:19 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e542c471e52a110f130f.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2026-04-30 09:38:30 +0000 | hsw | (~hsw@112-104-8-95.adsl.dynamic.seed.net.tw) hsw |
| 2026-04-30 09:38:51 +0000 | acidjnk | (~acidjnk@p200300d6e700e563c33a7742599b7861.dip0.t-ipconnect.de) acidjnk |
| 2026-04-30 09:38:57 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-30 09:45:27 +0000 | tnt1 | (~Thunderbi@user/tnt1) tnt1 |
| 2026-04-30 09:45:50 +0000 | FallenSky | (~FallenSky@user/FallenSky) (Ping timeout: 252 seconds) |
| 2026-04-30 09:48:50 +0000 | dcb | (~dcb@user/dcb) (Quit: MSN Messenger v1.9.1) |
| 2026-04-30 09:51:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 09:53:58 +0000 | dcb | (~dcb@user/dcb) dcb |
| 2026-04-30 09:54:42 +0000 | misterfish | (~misterfis@094190207253.static.ipv4.heldenvannu.net) (Ping timeout: 244 seconds) |
| 2026-04-30 09:55:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-30 10:00:33 +0000 | bkani | (~bkani@user/bkani) bkani |
| 2026-04-30 10:05:15 +0000 | bkani | (~bkani@user/bkani) (Ping timeout: 255 seconds) |
| 2026-04-30 10:06:10 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
| 2026-04-30 10:07:53 +0000 | bkani | (~bkani@user/bkani) bkani |
| 2026-04-30 10:09:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 10:13:30 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-30 10:17:12 +0000 | jreicher | (~joelr@user/jreicher) (Quit: brb) |
| 2026-04-30 10:18:42 +0000 | jreicher | (~joelr@user/jreicher) jreicher |
| 2026-04-30 10:25:33 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 265 seconds) |
| 2026-04-30 10:26:01 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
| 2026-04-30 10:26:11 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 10:29:23 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-30 10:30:52 +0000 | merijn | (~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 +0000 | leppard | (~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 +0000 | merijn | (~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 +0000 | haskellbridge | (~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 +0000 | merijn | (~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 +0000 | haskellbridge | (~hackager@96.28.224.214) hackager |
| 2026-04-30 10:46:36 +0000 | ChanServ | +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 +0000 | dcb | (~dcb@user/dcb) (Quit: MSN Messenger v1.9.1) |
| 2026-04-30 10:50:17 +0000 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2026-04-30 10:50:35 +0000 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2026-04-30 10:51:52 +0000 | leppard | (~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) Inline |
| 2026-04-30 10:52:57 +0000 | califax_ | (~califax@user/califx) califx |
| 2026-04-30 10:53:48 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2026-04-30 10:54:11 +0000 | califax_ | califax |
| 2026-04-30 10:54:29 +0000 | dcb | (~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 +0000 | craunts795335385 | (~craunts@152.32.100.66) |
| 2026-04-30 11:01:19 +0000 | tromp | (~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 +0000 | misterfish | (~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 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-30 11:16:59 +0000 | misterfish | (~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 +0000 | Pozyomka | (~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 +0000 | tremon | (~tremon@83.80.159.219) tremon |
| 2026-04-30 11:20:35 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) |
| 2026-04-30 11:28:42 +0000 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 246 seconds) |
| 2026-04-30 11:29:40 +0000 | r1bilski | (~r1bilski@user/r1bilski) (Ping timeout: 265 seconds) |
| 2026-04-30 11:31:41 +0000 | dcb | (~dcb@user/dcb) (Quit: MSN Messenger v1.9.1) |
| 2026-04-30 11:35:59 +0000 | kimiamania40 | (~67ff9c51@user/kimiamania) (Quit: PegeLinux) |
| 2026-04-30 11:36:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 11:37:14 +0000 | kimiamania40 | (~67ff9c51@user/kimiamania) kimiamania |
| 2026-04-30 11:40:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-30 11:43:42 +0000 | Googulator56 | (~Googulato@84-236-65-50.pool.digikabel.hu) |
| 2026-04-30 11:44:16 +0000 | phm | (~peter@fsf/member/phm) (Quit: leaving) |
| 2026-04-30 11:44:55 +0000 | phm | (~peter@fsf/member/phm) phm |
| 2026-04-30 11:46:38 +0000 | DetourNe- | (~DetourNet@user/DetourNetworkUK) DetourNetworkUK |
| 2026-04-30 11:47:00 +0000 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2026-04-30 11:47:05 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-30 11:47:17 +0000 | Googulator | (~Googulato@78-131-16-66.pool.digikabel.hu) (Ping timeout: 245 seconds) |
| 2026-04-30 11:47:20 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-04-30 11:48:57 +0000 | DetourNe- | DetourNetworkUK |
| 2026-04-30 11:53:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 11:54:24 +0000 | Googulator56 | Googulator |
| 2026-04-30 11:58:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-30 11:58:49 +0000 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-04-30 12:05:53 +0000 | nunggu | (~q@user/nunggu) nunggu |
| 2026-04-30 12:06:30 +0000 | r1bilski | (~r1bilski@user-31-175-22-58.play-internet.pl) |
| 2026-04-30 12:06:30 +0000 | r1bilski | (~r1bilski@user-31-175-22-58.play-internet.pl) (Changing host) |
| 2026-04-30 12:06:30 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-30 12:08:59 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 12:13:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-04-30 12:14:56 +0000 | tromp | (~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) |
| 2026-04-30 12:17:01 +0000 | Square2 | (~Square@user/square) Square |
| 2026-04-30 12:17:40 +0000 | Square | (~Square4@user/square) (Ping timeout: 245 seconds) |
| 2026-04-30 12:26:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 12:27:04 +0000 | tromp | (~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-04-30 12:31:30 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-30 12:37:08 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 12:43:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-30 12:45:53 +0000 | craunts795335385 | (~craunts@152.32.100.66) (Quit: The Lounge - https://thelounge.chat) |
| 2026-04-30 12:46:21 +0000 | dcb | (~dcb@user/dcb) dcb |
| 2026-04-30 12:50:58 +0000 | ouilemur | (~jgmerritt@user/ouilemur) (Ping timeout: 248 seconds) |
| 2026-04-30 12:51:39 +0000 | malte | (~malte@mal.tc) (Ping timeout: 246 seconds) |
| 2026-04-30 12:52:01 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-30 12:52:07 +0000 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 256 seconds) |
| 2026-04-30 12:52:30 +0000 | emaczen | (~user@user/emaczen) emaczen |
| 2026-04-30 12:53:05 +0000 | ouilemur | (~jgmerritt@user/ouilemur) ouilemur |
| 2026-04-30 12:53:36 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-30 12:55:20 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 12:59:40 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-30 13:08:19 +0000 | tromp | (~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) |
| 2026-04-30 13:14:39 +0000 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 244 seconds) |
| 2026-04-30 13:30:17 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-30 13:30:30 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2026-04-30 13:30:37 +0000 | pavonia | (~user@user/siracusa) siracusa |
| 2026-04-30 13:36:49 +0000 | Square2 | (~Square@user/square) (Remote host closed the connection) |
| 2026-04-30 13:37:10 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2026-04-30 13:38:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 13:40:21 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2026-04-30 13:43:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-30 13:44:49 +0000 | r1bilski | (~r1bilski@user/r1bilski) (Remote host closed the connection) |
| 2026-04-30 13:45:06 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-30 13:45:33 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2026-04-30 13:45:53 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-04-30 13:50:49 +0000 | r1bilski | (~r1bilski@user/r1bilski) (Ping timeout: 244 seconds) |
| 2026-04-30 13:54:11 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 13:55:42 +0000 | puke | (~puke@user/puke) (Remote host closed the connection) |
| 2026-04-30 13:56:07 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-30 13:57:32 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds) |
| 2026-04-30 13:58:17 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-04-30 13:59:15 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-30 14:01:51 +0000 | puke | (~puke@user/puke) (Quit: puke) |
| 2026-04-30 14:10:19 +0000 | merijn | (~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 +0000 | merijn | (~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 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-30 14:20:26 +0000 | terrorjack | (~terrorjac@2a01:4f8:271:2d98::2) (Quit: The Lounge - https://thelounge.chat) |
| 2026-04-30 14:24:18 +0000 | terrorjack | (~terrorjac@2a01:4f8:271:2d98::2) terrorjack |
| 2026-04-30 14:26:03 +0000 | merijn | (~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 +0000 | tromp | (~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-04-30 14:30:36 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-30 14:38:47 +0000 | dolio | (~dolio@130.44.140.168) dolio |
| 2026-04-30 14:39:09 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 14:41:04 +0000 | puke | (~puke@user/puke) (Quit: puke) |
| 2026-04-30 14:41:54 +0000 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 246 seconds) |
| 2026-04-30 14:45:02 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:88a1:ade2:b718:40a1) |
| 2026-04-30 14:45:02 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:88a1:ade2:b718:40a1) (Changing host) |
| 2026-04-30 14:45:02 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-30 14:45:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-30 14:46:08 +0000 | st_aldini | (~Betterbir@2605:a601:a07c:7426:722:1ac7:7d6b:c73c) (Quit: st_aldini) |
| 2026-04-30 14:47:17 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-30 14:52:24 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 246 seconds) |
| 2026-04-30 14:56:09 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 2026-04-30 14:56:39 +0000 | Square | (~Square@user/square) Square |
| 2026-04-30 14:57:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 14:58:18 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 248 seconds) |
| 2026-04-30 15:00:00 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) |
| 2026-04-30 15:01:52 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-30 15:06:54 +0000 | tromp | (~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) |
| 2026-04-30 15:07:32 +0000 | ft | (~ft@p508db287.dip0.t-ipconnect.de) ft |
| 2026-04-30 15:16:33 +0000 | jle` | (~jle`@2603:8001:3b00:11:104a:f0b9:d164:3329) (Ping timeout: 246 seconds) |
| 2026-04-30 15:16:44 +0000 | Arsen | (16abab341f@gentoo/developer/managarm.dev.Arsen) (Remote host closed the connection) |
| 2026-04-30 15:17:34 +0000 | jle` | (~jle`@2603:8001:3b00:11::1fae) jle` |
| 2026-04-30 15:20:42 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 265 seconds) |
| 2026-04-30 15:25:42 +0000 | califax | (~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 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-30 15:30:54 +0000 | chromoblob | (~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 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-30 15:31:14 +0000 | puke | (~puke@user/puke) (Max SendQ exceeded) |
| 2026-04-30 15:31:17 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-04-30 15:31:31 +0000 | Square | (~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 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-30 15:31:49 +0000 | tomsmeding_ | tomsmeding |
| 2026-04-30 15:32:43 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-30 15:33:04 +0000 | califax | (~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 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 252 seconds) |
| 2026-04-30 15:37:56 +0000 | Arsen | (16abab341f@gentoo/developer/managarm.dev.Arsen) Arsen |
| 2026-04-30 15:40:10 +0000 | merijn | (~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 +0000 | Arsen | (16abab341f@gentoo/developer/managarm.dev.Arsen) (Remote host closed the connection) |
| 2026-04-30 15:43:28 +0000 | janus | -o janus |
| 2026-04-30 15:43:53 +0000 | AlexNoo_ | (~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 +0000 | merijn | (~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 +0000 | Alex_delenda_est | (~al_test@178.34.162.165) (Ping timeout: 264 seconds) |
| 2026-04-30 15:47:10 +0000 | AlexZenon | (~alzenon@178.34.162.165) (Ping timeout: 244 seconds) |
| 2026-04-30 15:47:46 +0000 | AlexNoo | (~AlexNoo@178.34.162.165) (Ping timeout: 265 seconds) |
| 2026-04-30 15:48:43 +0000 | Arsen | (16abab341f@gentoo/developer/managarm.dev.Arsen) Arsen |
| 2026-04-30 15:52:31 +0000 | AlexZenon | (~alzenon@178.34.163.122) |
| 2026-04-30 15:53:06 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-30 15:56:04 +0000 | Arsen | (16abab341f@gentoo/developer/managarm.dev.Arsen) (Remote host closed the connection) |
| 2026-04-30 15:57:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 15:57:55 +0000 | Enrico63 | (~Enrico63@85.255.235.90) (Quit: Client closed) |
| 2026-04-30 15:59:03 +0000 | Arsen | (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 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-30 16:03:39 +0000 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 256 seconds) |
| 2026-04-30 16:04:43 +0000 | nnm | (nnm@chainless.shells.chat) |
| 2026-04-30 16:05:26 +0000 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) GdeVolpiano |
| 2026-04-30 16:06:57 +0000 | AlexNoo_ | AlexNoo |
| 2026-04-30 16:07:18 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2026-04-30 16:07:18 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2026-04-30 16:07:18 +0000 | haritz | (~hrtz@user/haritz) haritz |
| 2026-04-30 16:09:57 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2026-04-30 16:10:11 +0000 | jmcantrell_ | 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 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 16:16:57 +0000 | jmcantrell | (~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 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-30 16:22:03 +0000 | tok | (~user@user/tok) (Read error: Connection reset by peer) |
| 2026-04-30 16:23:03 +0000 | acarrico | (~acarrico@2606:1440:605:2500:d46:9e23:1112:52ce) (Ping timeout: 246 seconds) |
| 2026-04-30 16:25:39 +0000 | karenw | (~karenw@user/karenw) karenw |
| 2026-04-30 16:28:34 +0000 | craunts795335385 | (~craunts@152.32.100.66) |
| 2026-04-30 16:32:52 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 16:35:00 +0000 | pabs3 | (~pabs3@user/pabs3) (Quit: Don't rest until all the world is paved in moss and greenery.) |
| 2026-04-30 16:35:38 +0000 | pabs3 | (~pabs3@user/pabs3) pabs3 |
| 2026-04-30 16:35:49 +0000 | acarrico | (~acarrico@2606:1440:605:2500:ac3:5f1a:da7f:d2ac) |
| 2026-04-30 16:37:24 +0000 | merijn | (~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 +0000 | tromp | (~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-04-30 16:49:05 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-30 16:53:46 +0000 | malte | (~malte@mal.tc) malte |
| 2026-04-30 16:55:53 +0000 | <janus> | % import Data.Typeable |
| 2026-04-30 16:55:53 +0000 | merijn | (~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 +0000 | tromp | (~textual@2001:1c00:340e:2700:908b:73d:c800:c6b4) |
| 2026-04-30 16:57:25 +0000 | m | (~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 +0000 | m4 | (~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 +0000 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 264 seconds) |
| 2026-04-30 17:07:13 +0000 | peterbecich | (~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 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 2026-04-30 17:20:28 +0000 | Comstar | (~Comstar@user/Comstar) (Quit: Leaving) |
| 2026-04-30 17:20:54 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-30 17:25:32 +0000 | wootehfoot | (~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 +0000 | karenw | (~karenw@user/karenw) (Ping timeout: 276 seconds) |
| 2026-04-30 17:32:00 +0000 | misterfish | (~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 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-30 17:37:16 +0000 | Square | (~Square@user/square) Square |
| 2026-04-30 17:38:55 +0000 | layline_ | (~layline@149.154.26.170) layline |
| 2026-04-30 17:41:52 +0000 | merijn | (~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 +0000 | puke | (~puke@user/puke) (Quit: puke) |
| 2026-04-30 17:44:50 +0000 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 248 seconds) |