2025/05/03

2025-05-03 00:03:36 +0200crns(~crns@user/crns) crns
2025-05-03 00:15:37 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 00:16:04 +0200j1n37-(~j1n37@user/j1n37) (Ping timeout: 260 seconds)
2025-05-03 00:19:14 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-05-03 00:21:30 +0200Typedfern(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2025-05-03 00:25:02 +0200 <haskellbridge> <loonycyborg> IMO too many games use C# now, kinda discourages me from modding because I hate C#
2025-05-03 00:25:29 +0200 <haskellbridge> <loonycyborg> I think Haskell would be nice not for implementation but for scenario scripting
2025-05-03 00:27:18 +0200 <haskellbridge> <loonycyborg> right now most of the more plot heavy games have pretty janky scripts, when you play it's mostly about wrestling with scripting bugs
2025-05-03 00:27:22 +0200 <haskellbridge> <loonycyborg> kinda breaks immersion
2025-05-03 00:27:43 +0200 <haskellbridge> <loonycyborg> I bet more abstract language like Haskell could make things more tractable
2025-05-03 00:45:30 +0200Typedfern(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net) typedfern
2025-05-03 00:47:28 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-05-03 00:49:22 +0200 <JuanDaugherty> loonycyborg, checkout games, gameengine at hackage
2025-05-03 00:49:56 +0200 <JuanDaugherty> and game which i didn think hs had
2025-05-03 00:54:01 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-03 01:00:37 +0200__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2025-05-03 01:00:43 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-05-03 01:04:01 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-05-03 01:04:01 +0200ljdarj1ljdarj
2025-05-03 01:07:03 +0200Googulator65(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu) (Quit: Client closed)
2025-05-03 01:07:20 +0200Googulator65(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu)
2025-05-03 01:08:48 +0200__jmcantrell__(~weechat@user/jmcantrell) (Ping timeout: 252 seconds)
2025-05-03 01:17:40 +0200 <haskellbridge> <loonycyborg> It has lambdahack, I totally expected nethack-like on haskell to exist :P
2025-05-03 01:29:36 +0200traxex(traxex@user/traxex) traxex
2025-05-03 01:30:33 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-03 01:31:24 +0200chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 264 seconds)
2025-05-03 01:31:35 +0200acidjnk_new(~acidjnk@p200300d6e71c4f97b8ab1cde68040873.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2025-05-03 01:34:32 +0200Googulator77(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu)
2025-05-03 01:35:53 +0200Googulator65(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu) (Quit: Client closed)
2025-05-03 01:39:19 +0200notdabs(~Owner@2600:1700:69cf:9000:ad70:ecef:1fea:272)
2025-05-03 01:45:38 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-05-03 01:48:39 +0200ZLima12(~zlima12@user/meow/ZLima12) (Remote host closed the connection)
2025-05-03 01:49:48 +0200ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2025-05-03 01:50:40 +0200__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2025-05-03 02:00:36 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2025-05-03 02:08:33 +0200notdabs(~Owner@2600:1700:69cf:9000:ad70:ecef:1fea:272) (Quit: Leaving)
2025-05-03 02:25:37 +0200sprotte24(~sprotte24@p200300d16f0dd100892d07af958b891b.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-05-03 02:27:27 +0200tolgo(~Thunderbi@199.115.144.130)
2025-05-03 02:36:54 +0200tabaqui(~tabaqui@167.71.80.236) (Ping timeout: 252 seconds)
2025-05-03 02:37:50 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 02:42:33 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 02:43:16 +0200amadaluzia(~amadaluzi@user/amadaluzia) (Quit: Hi, this is Paul Allen. I'm being called away to London for a few days. Meredith, I'll call you when I get back. Hasta la vista, baby.)
2025-05-03 02:44:25 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2025-05-03 02:46:54 +0200weary-traveler(~user@user/user363627) user363627
2025-05-03 02:48:56 +0200sajenim(~sajenim@user/sajenim) sajenim
2025-05-03 03:00:18 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 03:01:56 +0200volsand(~volsand@2804:1b1:1080:da6:b270:c4db:8a27:6d61) (Quit: volsand)
2025-05-03 03:05:04 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 03:07:01 +0200tolgo(~Thunderbi@199.115.144.130) (Ping timeout: 248 seconds)
2025-05-03 03:09:14 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 03:11:34 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-05-03 03:14:00 +0200ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-05-03 03:14:12 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 03:22:15 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 03:25:58 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 03:29:37 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-05-03 03:32:25 +0200img(~img@user/img) img
2025-05-03 03:32:40 +0200OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2025-05-03 03:40:33 +0200tolgo(~Thunderbi@199.115.144.130)
2025-05-03 03:49:06 +0200 <monochrom> I'm OK with buggy scripts if they mean Perfectly Balanced with No Exploits so I can get infinite money in the game. >:)
2025-05-03 03:50:19 +0200 <monochrom> Sure the game becomes unrealistic. What, do you think I play games to relive reality or to escape reality? >:)
2025-05-03 03:55:38 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-05-03 04:01:53 +0200tavare(~tavare@150.129.88.189)
2025-05-03 04:01:54 +0200tavare(~tavare@150.129.88.189) (Changing host)
2025-05-03 04:01:54 +0200tavare(~tavare@user/tavare) tavare
2025-05-03 04:17:44 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-03 04:17:47 +0200td_(~td@i53870923.versanet.de) (Ping timeout: 276 seconds)
2025-05-03 04:18:57 +0200td_(~td@i53870919.versanet.de) td_
2025-05-03 04:19:33 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-05-03 04:24:51 +0200m15k47on1c(~m15k47on1@user/m15k47on1c) (Quit: WeeChat 3.8)
2025-05-03 04:32:09 +0200dsrt^(ceuasyyyl@c-71-199-187-173.hsd1.ga.comcast.net) (Ping timeout: 276 seconds)
2025-05-03 04:32:54 +0200typedfern_(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net)
2025-05-03 04:33:02 +0200Typedfern(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2025-05-03 04:34:14 +0200dsrt^(~dsrt@c-71-199-187-173.hsd1.ga.comcast.net)
2025-05-03 04:36:50 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) HarveyPwca
2025-05-03 05:04:18 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 05:07:56 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 05:15:11 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 05:18:50 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 05:23:38 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 252 seconds)
2025-05-03 05:25:53 +0200todi(~todi@183.96.168.66) (Read error: Connection reset by peer)
2025-05-03 05:28:17 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) todi
2025-05-03 05:29:57 +0200cyphase(~cyphase@user/cyphase) cyphase
2025-05-03 05:33:39 +0200tavare(~tavare@user/tavare) (Remote host closed the connection)
2025-05-03 05:39:35 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 05:42:52 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 05:59:21 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
2025-05-03 06:15:24 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:17:33 +0200Buliarous(~gypsydang@46.232.210.139) (Remote host closed the connection)
2025-05-03 06:18:01 +0200Buliarous(~gypsydang@46.232.210.139) Buliarous
2025-05-03 06:19:03 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 06:20:16 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:20:38 +0200takuan(~takuan@d8D86B601.access.telenet.be)
2025-05-03 06:24:27 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 06:24:53 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:27:17 +0200takuan(~takuan@d8D86B601.access.telenet.be) (Read error: Connection reset by peer)
2025-05-03 06:27:43 +0200takuan(~takuan@d8D86B601.access.telenet.be)
2025-05-03 06:28:10 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 06:32:54 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:34:39 +0200tolgo(~Thunderbi@199.115.144.130) (Ping timeout: 260 seconds)
2025-05-03 06:36:45 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 06:41:30 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:47:11 +0200tolgo(~Thunderbi@199.115.144.130)
2025-05-03 06:48:29 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 06:50:04 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:55:44 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 06:56:34 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:56:42 +0200tolgo(~Thunderbi@199.115.144.130) (Ping timeout: 268 seconds)
2025-05-03 06:56:53 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 06:57:01 +0200aforemny(~aforemny@i59F4C605.versanet.de) (Quit: ZNC 1.8.2 - https://znc.in)
2025-05-03 06:57:16 +0200aforemny(~aforemny@i59F4C605.versanet.de) aforemny
2025-05-03 06:58:33 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:58:53 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 06:59:36 +0200Sgeo__(~Sgeo@user/sgeo) Sgeo
2025-05-03 06:59:36 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 06:59:44 +0200troydm(~troydm@user/troydm) (Ping timeout: 260 seconds)
2025-05-03 06:59:53 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 07:00:36 +0200la1n2(~la1n@176.59.162.120)
2025-05-03 07:01:54 +0200poscat0x04(~poscat@user/poscat) (Ping timeout: 252 seconds)
2025-05-03 07:02:01 +0200poscat(~poscat@user/poscat) poscat
2025-05-03 07:02:09 +0200m5zs7k(aquares@web10.mydevil.net) (Read error: Connection reset by peer)
2025-05-03 07:02:28 +0200m5zs7k_(aquares@web10.mydevil.net) m5zs7k
2025-05-03 07:02:29 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 07:02:38 +0200Sgeo_(~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
2025-05-03 07:02:54 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 07:03:00 +0200la1n(~la1n@176.59.162.120) (Ping timeout: 252 seconds)
2025-05-03 07:03:00 +0200jakesyl_____(sid56879@hampstead.irccloud.com) (Ping timeout: 252 seconds)
2025-05-03 07:04:10 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-03 07:04:50 +0200OftenFaded(~OftenFade@user/tisktisk) (Ping timeout: 252 seconds)
2025-05-03 07:05:15 +0200jakesyl_____(sid56879@id-56879.hampstead.irccloud.com)
2025-05-03 07:06:31 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) (Remote host closed the connection)
2025-05-03 07:06:59 +0200OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2025-05-03 07:07:33 +0200winniequinn(~winniequi@user/winniequinn) winniequinn
2025-05-03 07:09:20 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) hgolden
2025-05-03 07:11:57 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 07:12:24 +0200troydm(~troydm@user/troydm) troydm
2025-05-03 07:12:25 +0200m5zs7k_m5zs7k
2025-05-03 07:23:41 +0200talismanick(~user@2601:644:937c:ed10::ae5) talismanick
2025-05-03 07:31:02 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2025-05-03 07:31:34 +0200rvalue(~rvalue@user/rvalue) rvalue
2025-05-03 07:32:11 +0200haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-05-03 07:33:12 +0200winniequinn(~winniequi@user/winniequinn) (Ping timeout: 272 seconds)
2025-05-03 07:35:22 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-05-03 07:35:26 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-05-03 07:42:51 +0200monochrom(trebla@216.138.220.146) (Quit: ZNC 1.9.1+deb1 - https://znc.in)
2025-05-03 07:51:30 +0200alt-crns(~crns@p200300f1171e038329e61908ecaeb223.dip0.t-ipconnect.de)
2025-05-03 07:53:29 +0200monochrom(trebla@216.138.220.146)
2025-05-03 07:55:01 +0200crns(~crns@user/crns) (Ping timeout: 248 seconds)
2025-05-03 07:56:37 +0200JamesMowery17(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) (Ping timeout: 244 seconds)
2025-05-03 07:57:32 +0200dsrt^(~dsrt@c-71-199-187-173.hsd1.ga.comcast.net) (Remote host closed the connection)
2025-05-03 07:58:56 +0200peterbecich1(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-03 08:00:53 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2025-05-03 08:00:53 +0200peterbecich1peterbecich
2025-05-03 08:07:54 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 252 seconds)
2025-05-03 08:08:27 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-05-03 08:08:43 +0200gorignak(~gorignak@user/gorignak) gorignak
2025-05-03 08:13:46 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-05-03 08:16:56 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-03 08:21:59 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2025-05-03 08:28:36 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-05-03 08:31:31 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 08:32:46 +0200j1n37-(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-05-03 08:35:14 +0200__jmcantrell__(~weechat@user/jmcantrell) (Ping timeout: 265 seconds)
2025-05-03 08:35:26 +0200euphores(~SASL_euph@user/euphores) euphores
2025-05-03 08:49:38 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e)
2025-05-03 09:00:04 +0200caconym7(~caconym@user/caconym) (Quit: bye)
2025-05-03 09:00:42 +0200caconym7(~caconym@user/caconym) caconym
2025-05-03 09:02:58 +0200doyougnu(~doyougnu@syn-045-046-170-068.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
2025-05-03 09:04:13 +0200doyougnu(~doyougnu@syn-045-046-170-068.res.spectrum.com)
2025-05-03 09:04:53 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-05-03 09:07:29 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-05-03 09:11:46 +0200takuan(~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection)
2025-05-03 09:14:36 +0200Googulator77(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu) (Quit: Client closed)
2025-05-03 09:14:53 +0200Googulator77(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu)
2025-05-03 09:18:54 +0200acidjnk_new(~acidjnk@p200300d6e71c4f76c0b856756af96406.dip0.t-ipconnect.de) acidjnk
2025-05-03 09:19:46 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-05-03 09:20:51 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-05-03 09:23:24 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2025-05-03 09:25:06 +0200Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-05-03 09:25:16 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-05-03 09:27:15 +0200Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421) Spawns_Carpeting
2025-05-03 09:52:48 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 09:54:33 +0200j1n37-(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-05-03 09:58:14 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2025-05-03 10:01:33 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-05-03 10:19:38 +0200mistivia(~mistivia@user/mistivia) (Ping timeout: 265 seconds)
2025-05-03 10:20:43 +0200mistivia_(~mistivia@user/mistivia) mistivia
2025-05-03 10:25:28 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-03 10:30:42 +0200Sgeo__(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-05-03 10:37:16 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-05-03 10:43:52 +0200acidjnk_new(~acidjnk@p200300d6e71c4f76c0b856756af96406.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
2025-05-03 10:45:15 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2025-05-03 10:48:22 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2025-05-03 10:51:57 +0200Googulator77(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu) (Quit: Client closed)
2025-05-03 10:52:12 +0200Googulator77(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu)
2025-05-03 10:52:50 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-05-03 10:54:34 +0200euphores(~SASL_euph@user/euphores) euphores
2025-05-03 10:55:01 +0200mistivia_(~mistivia@user/mistivia) (Quit: ZNC 1.9.1 - https://znc.in)
2025-05-03 10:55:23 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-05-03 10:55:24 +0200mistivia(~mistivia@user/mistivia) mistivia
2025-05-03 11:19:18 +0200Googulator77(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu) (Quit: Client closed)
2025-05-03 11:19:35 +0200Googulator77(~Googulato@2a01-036d-0106-4a24-1dc7-297e-fae3-e794.pool6.digikabel.hu)
2025-05-03 11:22:58 +0200euleritian(~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2025-05-03 11:23:06 +0200euleritian(~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de)
2025-05-03 11:34:46 +0200manwithluck(~manwithlu@2a09:bac5:5081:2dc::49:f6) (Remote host closed the connection)
2025-05-03 11:35:29 +0200manwithluck(~manwithlu@2a09:bac5:5081:2dc::49:f6) manwithluck
2025-05-03 11:43:23 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-05-03 11:47:08 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 268 seconds)
2025-05-03 11:47:20 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e)
2025-05-03 11:48:51 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-05-03 11:52:18 +0200euleritian(~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2025-05-03 11:52:31 +0200euleritian(~euleritia@dynamic-176-000-056-055.176.0.pool.telefonica.de)
2025-05-03 11:56:24 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-05-03 12:20:57 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2025-05-03 12:28:34 +0200acidjnk_new(~acidjnk@p200300d6e71c4f76c0b856756af96406.dip0.t-ipconnect.de) acidjnk
2025-05-03 12:35:44 +0200euleritian(~euleritia@dynamic-176-000-056-055.176.0.pool.telefonica.de) (Read error: Connection reset by peer)
2025-05-03 12:36:05 +0200euleritian(~euleritia@77.23.248.47)
2025-05-03 12:39:01 +0200alt-crns(~crns@p200300f1171e038329e61908ecaeb223.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-05-03 12:40:24 +0200euleritian(~euleritia@77.23.248.47) (Ping timeout: 260 seconds)
2025-05-03 12:40:47 +0200euleritian(~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de)
2025-05-03 12:44:37 +0200tabaqui(~tabaqui@167.71.80.236) tabaqui
2025-05-03 12:47:13 +0200hiecaq(~hiecaq@user/hiecaq) hiecaq
2025-05-03 12:52:30 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-03 12:54:32 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e)
2025-05-03 13:00:04 +0200caconym7(~caconym@user/caconym) (Quit: bye)
2025-05-03 13:01:10 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f76915331bd63c5250a.dip0.t-ipconnect.de)
2025-05-03 13:02:04 +0200caconym7(~caconym@user/caconym) caconym
2025-05-03 13:04:31 +0200acidjnk_new(~acidjnk@p200300d6e71c4f76c0b856756af96406.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-05-03 13:15:46 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-03 13:16:56 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) HarveyPwca
2025-05-03 13:17:59 +0200la1n2(~la1n@176.59.162.120) (Ping timeout: 265 seconds)
2025-05-03 13:36:48 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 264 seconds)
2025-05-03 13:38:54 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-05-03 13:39:44 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e)
2025-05-03 13:55:56 +0200tavare(~tavare@user/tavare) tavare
2025-05-03 13:56:14 +0200tavare(~tavare@user/tavare) (Remote host closed the connection)
2025-05-03 14:04:31 +0200tolgo(~Thunderbi@199.115.144.130)
2025-05-03 14:08:27 +0200tavare(~tavare@150.129.88.189) tavare
2025-05-03 14:08:27 +0200tavare(~tavare@150.129.88.189) (Changing host)
2025-05-03 14:08:27 +0200tavare(~tavare@user/tavare) tavare
2025-05-03 14:08:37 +0200Typedfern(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net) typedfern
2025-05-03 14:10:13 +0200tavare(~tavare@user/tavare) (Remote host closed the connection)
2025-05-03 14:11:59 +0200typedfern_(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
2025-05-03 14:18:44 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f76915331bd63c5250a.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2025-05-03 14:21:19 +0200crns(~crns@user/crns) crns
2025-05-03 14:26:34 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-05-03 14:27:35 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f760cd6d8a4afbfbdd7.dip0.t-ipconnect.de) acidjnk
2025-05-03 14:40:21 +0200tolgo(~Thunderbi@199.115.144.130) (Ping timeout: 248 seconds)
2025-05-03 14:43:17 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-03 14:50:57 +0200sprotte24(~sprotte24@p200300d16f17ff001d650b9c3df58534.dip0.t-ipconnect.de)
2025-05-03 14:55:08 +0200tinjamin4(~tinjamin@banshee.h4x0r.space) (Read error: Connection reset by peer)
2025-05-03 14:55:17 +0200traxex(traxex@user/traxex) (Ping timeout: 248 seconds)
2025-05-03 14:56:34 +0200tinjamin4(~tinjamin@banshee.h4x0r.space)
2025-05-03 14:59:47 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-05-03 15:00:06 +0200amadaluzia(~amadaluzi@user/amadaluzia) amadaluzia
2025-05-03 15:05:55 +0200ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-05-03 15:11:49 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e)
2025-05-03 15:11:50 +0200AlexNoo_(~AlexNoo@5.139.233.9)
2025-05-03 15:12:58 +0200euleritian(~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
2025-05-03 15:14:35 +0200AlexZenon(~alzenon@94.233.241.180) (Ping timeout: 260 seconds)
2025-05-03 15:14:37 +0200euleritian(~euleritia@dynamic-176-006-129-007.176.6.pool.telefonica.de)
2025-05-03 15:15:29 +0200AlexNoo(~AlexNoo@94.233.241.180) (Ping timeout: 244 seconds)
2025-05-03 15:18:33 +0200AlexZenon(~alzenon@5.139.233.9)
2025-05-03 15:19:33 +0200euleritian(~euleritia@dynamic-176-006-129-007.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2025-05-03 15:19:53 +0200euleritian(~euleritia@dynamic-176-006-129-007.176.6.pool.telefonica.de)
2025-05-03 15:26:52 +0200crns(~crns@user/crns) (Read error: Connection reset by peer)
2025-05-03 15:27:15 +0200crns(~crns@user/crns) crns
2025-05-03 15:40:18 +0200haritz(~hrtz@2a01:4b00:bc2e:7000::2)
2025-05-03 15:40:18 +0200haritz(~hrtz@2a01:4b00:bc2e:7000::2) (Changing host)
2025-05-03 15:40:18 +0200haritz(~hrtz@user/haritz) haritz
2025-05-03 15:41:13 +0200tremon(~tremon@83.80.159.219) tremon
2025-05-03 15:41:39 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f760cd6d8a4afbfbdd7.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2025-05-03 15:45:09 +0200alt-crns(~crns@185.238.219.101)
2025-05-03 15:45:09 +0200crns(~crns@user/crns) (Read error: Connection reset by peer)
2025-05-03 15:45:14 +0200JuanDaughertyColinRobinson
2025-05-03 15:54:40 +0200traxex(traxex@user/traxex) traxex
2025-05-03 15:57:54 +0200ColinRobinson(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-05-03 16:00:06 +0200AlexNoo_AlexNoo
2025-05-03 16:00:38 +0200tolgo(~Thunderbi@199.115.144.130)
2025-05-03 16:03:13 +0200alt-crns(~crns@185.238.219.101) (Remote host closed the connection)
2025-05-03 16:08:44 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-05-03 16:09:13 +0200m1dnight_(~m1dnight@d8D861908.access.telenet.be) (Remote host closed the connection)
2025-05-03 16:09:31 +0200m1dnight(~m1dnight@d8D861908.access.telenet.be) m1dnight
2025-05-03 16:33:28 +0200Typedfern(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2025-05-03 16:34:13 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-03 16:37:29 +0200tolgo(~Thunderbi@199.115.144.130) (Quit: tolgo)
2025-05-03 16:46:17 +0200Typedfern(~Typedfern@213.red-83-37-26.dynamicip.rima-tde.net) typedfern
2025-05-03 16:50:38 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e)
2025-05-03 16:52:58 +0200tabaqui(~tabaqui@167.71.80.236) (Ping timeout: 252 seconds)
2025-05-03 17:03:55 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-05-03 17:23:21 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2025-05-03 17:32:23 +0200Rembane(~Rembane@user/Rembane) (Quit: WeeChat 4.1.1)
2025-05-03 17:33:08 +0200irssi(~Rembane@user/Rembane) Rembane
2025-05-03 17:33:54 +0200irssiRembane
2025-05-03 17:35:03 +0200marinelli(~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
2025-05-03 17:45:29 +0200hiecaq(~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.92))
2025-05-03 17:48:57 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f76fc5d8daab5a27dee.dip0.t-ipconnect.de)
2025-05-03 17:50:27 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
2025-05-03 17:54:49 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2025-05-03 17:56:26 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-05-03 17:59:40 +0200ttybitnik(~ttybitnik@user/wolper) (Remote host closed the connection)
2025-05-03 18:08:57 +0200Pozyomka(~pyon@user/pyon) (Quit: WeeChat 4.6.1)
2025-05-03 18:09:14 +0200sajenim(~sajenim@user/sajenim) (Ping timeout: 252 seconds)
2025-05-03 18:11:57 +0200traxex(traxex@user/traxex) (Quit: Lost terminal)
2025-05-03 18:15:35 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 244 seconds)
2025-05-03 18:18:10 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 18:23:14 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-05-03 18:32:20 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f76fc5d8daab5a27dee.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-05-03 18:32:21 +0200Square3(~Square@user/square) (Remote host closed the connection)
2025-05-03 18:32:51 +0200emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2025-05-03 18:36:32 +0200__monty__(~toonn@user/toonn) toonn
2025-05-03 18:37:34 +0200Square(~Square@user/square) Square
2025-05-03 18:41:43 +0200__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2025-05-03 19:04:22 +0200Buliarous(~gypsydang@46.232.210.139) (Read error: Connection reset by peer)
2025-05-03 19:04:50 +0200Buliarous(~gypsydang@46.232.210.139) Buliarous
2025-05-03 19:07:50 +0200ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-05-03 19:23:27 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f76bcfd7e139b6b957f.dip0.t-ipconnect.de) acidjnk
2025-05-03 19:24:32 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-05-03 19:31:25 +0200 <[exa]> Are there any good approaches to serializable objects (think like aeson-style serialization) where the serialization has to contain "externally resolvable" identifiers? (Typically in databases, the ID should not be a part of object model because it's more of a reference that should be transparent and/or held by others, but has to be present in row operations. Similarly with RDF, haskellish objects
2025-05-03 19:31:27 +0200 <[exa]> "exist" without knowing their "name" (URI), byt the name has to be present in all triples that describe the object.)
2025-05-03 19:32:25 +0200 <[exa]> Possible complication: objects contain more objects and serialization has to invent sensible identifiers for these.
2025-05-03 19:34:13 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-05-03 19:34:37 +0200 <EvanR> ID is what makes entities entities and not values, making the rows not redundant (and illegal in relational algebra) duplicates
2025-05-03 19:34:45 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-05-03 19:34:56 +0200 <EvanR> so not sure if it's not part of the model
2025-05-03 19:35:21 +0200 <[exa]> hm good point
2025-05-03 19:35:46 +0200 <EvanR> and in that perspective, objects nested inside each other is just one way to view the entities and relations
2025-05-03 19:36:01 +0200 <EvanR> instead of the main model
2025-05-03 19:36:29 +0200 <monochrom> One can never escape IDs. High-level languages deceive you into thinking that you can, by not telling you that pointers and addresses look like 0xdeadbeef which are totally IDs.
2025-05-03 19:37:55 +0200 <int-e> monochrom: just do combinatory logic
2025-05-03 19:37:56 +0200 <monochrom> And especially if your object graph is not a tree, all the more important to use IDs so n objects do not become a tree of 2^n nodes, or even worse, an infinite tree just because there is a cycle.
2025-05-03 19:38:16 +0200 <int-e> No ids, just two combinators and application.
2025-05-03 19:38:17 +0200 <int-e> :P
2025-05-03 19:38:43 +0200 <monochrom> Oh well I guess that's another solution, by having no objects at all!
2025-05-03 19:39:02 +0200 <int-e> I escaped identifiers but at what cost!
2025-05-03 19:39:24 +0200 <[exa]> monochrom: ofc the IDs are a technical necessity but I thought more of the data model layer. Esp. for RDF when you want the IDs to be somewhat stable and carry some mild meaning
2025-05-03 19:39:34 +0200 <int-e> (I'm too weak for combinatory logic; the only way I've ever been able to write combinatory logic programs is using abstraction elimination.)
2025-05-03 19:39:44 +0200 <monochrom> "How do I serialize objects?" "Use SKI so it's /dev/null when you deserialize!"
2025-05-03 19:39:50 +0200 <EvanR> if the original subject was "a json value" then yeah, you would have to make up artificial and irrelevant IDs to store it in a database
2025-05-03 19:40:03 +0200 <EvanR> unless the database has json support
2025-05-03 19:40:10 +0200 <monochrom> Yeah in practice, one writes in Haskell and compile by MicroHs!
2025-05-03 19:40:10 +0200 <EvanR> but what's the original subject
2025-05-03 19:40:32 +0200 <int-e> EvanR: how to troll efficiently by ignoring context?
2025-05-03 19:40:42 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-03 19:40:52 +0200 <EvanR> if it's a document with nested records then maybe it's not "an object"
2025-05-03 19:40:53 +0200 <monochrom> haha
2025-05-03 19:41:11 +0200 <monochrom> Oh I just define "object = record". :)
2025-05-03 19:41:16 +0200 <[exa]> good we're getting somewhere
2025-05-03 19:41:26 +0200 <monochrom> Hell, object = record = data = data structure = ...
2025-05-03 19:41:33 +0200 <[exa]> it's not an object, instead it is _____ ?
2025-05-03 19:41:52 +0200bilegeek(~bilegeek@2600:1008:b01a:5c24:8c91:aa31:8c9:aaf) bilegeek
2025-05-03 19:42:05 +0200 <[exa]> I'm literally trying to find the above abstraction that would make the identifiers somewhat manageable
2025-05-03 19:42:16 +0200 <EvanR> maybe all your objects actually be expressions (often, they're not)
2025-05-03 19:42:20 +0200 <EvanR> like IORefs
2025-05-03 19:43:00 +0200 <EvanR> [exa], ID = hash of the value!
2025-05-03 19:43:03 +0200 <EvanR> hides
2025-05-03 19:43:26 +0200[exa]ties EvanR in a loop! hash out of that!
2025-05-03 19:43:43 +0200 <EvanR> plays the rainbow table card
2025-05-03 19:44:20 +0200 <[exa]> it's super effective!
2025-05-03 19:44:44 +0200 <[exa]> ok so maybe serialization is not the right thing to even say here
2025-05-03 19:45:04 +0200 <EvanR> if it's not objects but just values with nested structure, a classic serialization is lisp expressions
2025-05-03 19:45:27 +0200 <[exa]> again with RDF you more like "prove that something exists by finding all its bits in the heap" instead of deserializing per se
2025-05-03 19:45:43 +0200 <monochrom> Do you have a scenerio where there are two objects, all their fields have the same value, but you would prefer to call them 2 objects rather than 1 object? This question determines whether you can just hash the values.
2025-05-03 19:46:12 +0200michalz(~michalz@185.246.207.221)
2025-05-03 19:46:13 +0200 <monochrom> Frankly I don't know RDF.
2025-05-03 19:46:29 +0200 <[exa]> monochrom: yes (in the future they might differentiate by people attaching stuff to either identifier)
2025-05-03 19:47:12 +0200 <[exa]> monochrom: imagine datalog where all facts are `sompredicate(somesubject, someobject).`
2025-05-03 19:47:25 +0200 <monochrom> Then you hash (the value and a serial number).
2025-05-03 19:47:53 +0200 <monochrom> I don't know datalog. May I think in prolog instead?
2025-05-03 19:48:01 +0200 <EvanR> if object = entity, then you need IDs, to name the entity
2025-05-03 19:48:04 +0200 <[exa]> yes datalog is prolog without actual computation
2025-05-03 19:48:22 +0200 <monochrom> Alternatively if it turns out RDF = prolog but in XML syntax, I can work with that too. >:)
2025-05-03 19:48:31 +0200 <EvanR> if you just have a set of unique tuples the tuple itself can be the ID
2025-05-03 19:49:27 +0200 <[exa]> EvanR: probably an entity then. I'm not trying to dodge IDs, more like trying to find what name and type the functions that "do it" should be so that I'm preferably separating the objectness and entityness of the things as well as possible. I want to use these things as objects when they get deserialized.
2025-05-03 19:50:14 +0200 <EvanR> I'm not sure what use as objects means
2025-05-03 19:52:37 +0200 <monochrom> May I use this example? name(mary,"Mary"). name(alice,"Alice"). name(alice2,"Alice"). crush(mary,alice). crush(alice,alice2). crush(alice2,mary).
2025-05-03 19:53:30 +0200 <monochrom> "The first soap opera written in datalog." >:)
2025-05-03 19:53:32 +0200 <[exa]> EvanR: as a haskell value.
2025-05-03 19:54:04 +0200 <EvanR> is a haskell value just a report or view of the database
2025-05-03 19:54:18 +0200 <EvanR> an arbitrary report
2025-05-03 19:54:34 +0200 <[exa]> yeah it looks like it's gonna be a view
2025-05-03 19:55:30 +0200 <[exa]> ok I should certainly go more in the prolog path (query & assert) instead of plain decode&encode
2025-05-03 19:57:04 +0200 <monochrom> May I also tempt you into taking a look at the Curry language so you don't even have to use Prolog syntax! (It uses Haskell syntax.) >:)
2025-05-03 20:01:59 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e)
2025-05-03 20:07:32 +0200 <[exa]> yeah starting to look much more like another prolog reimplementation.
2025-05-03 20:07:49 +0200 <[exa]> but this time with blackjack and types
2025-05-03 20:07:54 +0200 <monochrom> Oh! Are we just looking at "network databases" such as in the dark ages vs "relational databases" such as in the modern enlightened time?
2025-05-03 20:08:34 +0200 <[exa]> not really, this issue is common to both
2025-05-03 20:08:36 +0200 <monochrom> (the "network" there just means graph, object graph, so again your vanilla record in which some fields are pointers to other records)
2025-05-03 20:09:20 +0200 <monochrom> OK the question of UIDs.
2025-05-03 20:09:47 +0200 <monochrom> Well, I would just say "use a Unique monad".
2025-05-03 20:10:28 +0200 <[exa]> maybe I'll just need to invent some way to throw this at the library user
2025-05-03 20:10:40 +0200 <[exa]> which looks convenient enough
2025-05-03 20:10:56 +0200[exa]pops a brainstorming booster bottle
2025-05-03 20:13:59 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2025-05-03 20:16:27 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f76bcfd7e139b6b957f.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-05-03 20:17:48 +0200 <monochrom> Um, is that code for LSD? >:)
2025-05-03 20:18:06 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2025-05-03 20:19:05 +0200 <[exa]> monochrom: nah the bottled one is called beer
2025-05-03 20:19:16 +0200 <[exa]> :]
2025-05-03 20:27:13 +0200 <[exa]> ok well I guess I'm hitting the same wall as ORMs
2025-05-03 20:29:01 +0200acidjnk_new3(~acidjnk@p200300d6e71c4f7604057216e123cf7a.dip0.t-ipconnect.de) acidjnk
2025-05-03 20:30:31 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-03 20:31:20 +0200 <[exa]> hm, beam hides the references by higher-kinded types, not bad
2025-05-03 20:31:49 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-03 20:32:53 +0200j1n37-(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-05-03 20:34:13 +0200 <EvanR> what's the politically correct name for higher kinded types
2025-05-03 20:34:16 +0200 <EvanR> higher order types
2025-05-03 20:34:31 +0200 <EvanR> ?
2025-05-03 20:36:07 +0200 <[exa]> ah I meant the usual HKD
2025-05-03 20:45:10 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-05-03 20:46:55 +0200 <haskellbridge> <Liamzee> What's the Haskell community's guidance on rewriting your libraries?
2025-05-03 20:47:41 +0200 <haskellbridge> <Liamzee> I have a library in process, but I feel like, the more I explore the space the more I think my fundamental library architecture is broken (for instance, I think splitting it into a core and callers for API is a good idea now)
2025-05-03 20:47:47 +0200 <[exa]> "your" as on one's own or other people's ?
2025-05-03 20:47:53 +0200 <haskellbridge> <Liamzee> mine
2025-05-03 20:48:02 +0200 <haskellbridge> <Liamzee> *in progress
2025-05-03 20:48:41 +0200 <[exa]> I'd say follow unix, prototype it first to the working state, then you can trash it constructively, with much less ambiguity
2025-05-03 20:49:25 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-05-03 20:49:25 +0200ljdarj1ljdarj
2025-05-03 20:53:20 +0200 <monochrom> [exa]: How does HKT help? Do I have like "data T f = {name :: f String, age :: f Int}"? For now I can't think of what to use for f for references.
2025-05-03 20:54:28 +0200 <monochrom> Or should it be "{name :: String, age :: Int, id :: f ()}"? Then I can see what to do with f.
2025-05-03 20:54:36 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-05-03 20:54:37 +0200 <monochrom> Or maybe I still don't heh.
2025-05-03 20:55:34 +0200target_i(~target_i@user/target-i/x-6023099) target_i
2025-05-03 20:55:57 +0200 <haskellbridge> <Liamzee> thanks
2025-05-03 21:00:03 +0200caconym7(~caconym@user/caconym) (Quit: bye)
2025-05-03 21:00:42 +0200caconym7(~caconym@user/caconym) caconym
2025-05-03 21:18:04 +0200__jmcantrell__(~weechat@user/jmcantrell) (Ping timeout: 252 seconds)
2025-05-03 21:18:22 +0200 <[exa]> monochrom: at the minimum it gives ways to describe both stuff with all references "resolved" and stuff where things are behind references. And likely many states in between.
2025-05-03 21:18:39 +0200 <[exa]> but yeah more like I'm doing it wrong
2025-05-03 21:19:13 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2025-05-03 21:20:05 +0200__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2025-05-03 21:20:33 +0200 <[exa]> Liamzee: and yeah with the prototype it doesn't really matter if it's super broken or not. :D
2025-05-03 21:21:00 +0200weary-traveler(~user@user/user363627) user363627
2025-05-03 21:21:01 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-05-03 21:21:36 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-05-03 21:22:54 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-03 21:25:02 +0200tromp(~textual@2001:1c00:3487:1b00:31c9:5f27:18bf:4d4e)
2025-05-03 21:28:33 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-05-03 21:28:35 +0200__jmcantrell__(~weechat@user/jmcantrell) (Ping timeout: 272 seconds)
2025-05-03 21:30:27 +0200__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2025-05-03 21:32:06 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-03 21:35:27 +0200euleritian(~euleritia@dynamic-176-006-129-007.176.6.pool.telefonica.de) (Ping timeout: 268 seconds)
2025-05-03 21:36:24 +0200euleritian(~euleritia@dynamic-176-000-010-081.176.0.pool.telefonica.de)
2025-05-03 21:39:01 +0200euleritian(~euleritia@dynamic-176-000-010-081.176.0.pool.telefonica.de) (Read error: Connection reset by peer)
2025-05-03 21:39:21 +0200euleritian(~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de)
2025-05-03 21:53:56 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-05-03 21:54:14 +0200la1n2(~la1n@176.59.162.120)
2025-05-03 21:57:03 +0200la1n2(~la1n@176.59.162.120) (Read error: Connection reset by peer)
2025-05-03 22:00:58 +0200r-sta(~r-sta@206-122-61-5.reverse.tnp.net.uk)
2025-05-03 22:00:58 +0200 <r-sta> im trying to read this https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0281-visible-forall.rst
2025-05-03 22:01:02 +0200 <r-sta> it mentions foreach
2025-05-03 22:01:08 +0200 <r-sta> i have never seen this before
2025-05-03 22:01:18 +0200Square(~Square@user/square) (Remote host closed the connection)
2025-05-03 22:01:23 +0200 <r-sta> eg. foreach a -> ty
2025-05-03 22:01:36 +0200 <r-sta> (i also dont understand what the arrow is doing there)
2025-05-03 22:02:24 +0200Square(~Square@user/square) Square
2025-05-03 22:04:08 +0200 <r-sta> "visible dependent quantification"
2025-05-03 22:05:08 +0200 <int-e> https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0378-dependent-type-design.rs… says "The forall vs foreach part governs erasure: foralls are erased, while foreachs are retained."
2025-05-03 22:05:34 +0200 <r-sta> like you have to specify the type...
2025-05-03 22:05:39 +0200 <r-sta> int-e: ok cool thanks
2025-05-03 22:05:42 +0200Square(~Square@user/square) (Remote host closed the connection)
2025-05-03 22:06:44 +0200 <r-sta> type erasure is what means we dont need types at runtime right?
2025-05-03 22:07:12 +0200 <r-sta> i had like a flippy thing for trading, it had 3 states up down flat, but i couldnt make a class with the singletons appearing at the output
2025-05-03 22:07:13 +0200 <int-e> yes
2025-05-03 22:07:39 +0200 <r-sta> i had to erase them. like, it would return up or down from flat, but these couldnt have different type annotations
2025-05-03 22:07:59 +0200 <r-sta> ie i could return Vertex, but not Vertex Down
2025-05-03 22:08:10 +0200 <hellwolf> what does visibility mean here? since you can also use type variables without vdq?
2025-05-03 22:08:13 +0200 <r-sta> because i couldnt infer from the types
2025-05-03 22:08:20 +0200 <r-sta> what the dependent outcome would be
2025-05-03 22:08:44 +0200 <r-sta> hellwolf: type PVis :: forall k -> k -> Type -- visible quantification of 'k'
2025-05-03 22:09:00 +0200 <r-sta> type TInv = PInv 15 -- infer (k~Nat) from (a::k)~(15::Nat)
2025-05-03 22:09:00 +0200 <r-sta> type TVis = PVis Nat 15 -- no inference
2025-05-03 22:09:08 +0200 <r-sta> you specify Nat as an argument
2025-05-03 22:09:24 +0200 <r-sta> rather than expecting it to work "for all" types, i guess....
2025-05-03 22:10:06 +0200 <int-e> hellwolf: "We call a quantifier visible when the parameter must be specified at use sites, and invisible when the compiler tries to infer it at use sites." (So it's related to TypeApplications but different)
2025-05-03 22:10:10 +0200 <r-sta> int-e: does the new syntax allow that i can return differently annotated types depending on runtime behaviour?
2025-05-03 22:10:19 +0200pavonia(~user@user/siracusa) siracusa
2025-05-03 22:11:19 +0200 <int-e> r-sta: I don't think so; you'll still have to use the Church trick for that, expressing an existential as (for(all|each) a -> r) -> r
2025-05-03 22:11:19 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-03 22:11:24 +0200 <hellwolf> int-e: thanks, that makes sense.I guess, sometimes AllowAmbiguousTypes forces to specify too if not enough injectivity around :p But that's besides the point.
2025-05-03 22:11:34 +0200hammond(proscan@gateway04.insomnia247.nl) (Ping timeout: 276 seconds)
2025-05-03 22:12:01 +0200 <int-e> Note that I'm not really aware of what these proposals are. I'm just pretty good at skimming on demand :P
2025-05-03 22:12:11 +0200 <r-sta> im still not used to these visible quantifiers, especially in a continuation like that
2025-05-03 22:12:33 +0200erdem(~null@user/erdem) erdem
2025-05-03 22:12:36 +0200 <hellwolf> is the proposal still being worked on?
2025-05-03 22:13:02 +0200 <hellwolf> I still think Haskell should slowly but surely add these ... despite many push backs
2025-05-03 22:14:48 +0200cyphase(~cyphase@user/cyphase) cyphase
2025-05-03 22:14:59 +0200 <r-sta> yeah it was accepted in 9.12 thats why im reading it
2025-05-03 22:15:29 +0200 <hellwolf> I can use in 9.12?
2025-05-03 22:15:49 +0200 <hellwolf> which ones, I have used visible forall only
2025-05-03 22:16:02 +0200 <r-sta> errrr... idk which proposal is implemented, it might have just liked the dependant proposal for reference, i have too many new tabs open sorry
2025-05-03 22:16:45 +0200 <r-sta> "Visible forall in types of terms, and types in terms"
2025-05-03 22:16:53 +0200 <r-sta> https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0281-visible-forall.rst
2025-05-03 22:18:01 +0200 <r-sta> its weird because even "arguments" (type level sytax at term level!!! :-/)
2025-05-03 22:18:03 +0200 <r-sta> mySizeOf :: forall a -> Sized a => Int
2025-05-03 22:18:03 +0200 <r-sta> mySizeOf a = sizeOf a
2025-05-03 22:18:33 +0200 <hellwolf> it's nice to use.
2025-05-03 22:18:38 +0200 <r-sta> that appear on the lhs of the constraint arrow, are just treated as arguments as if they were specified on the rhs of the constraint arrow
2025-05-03 22:19:08 +0200 <r-sta> idk, i was ok with @
2025-05-03 22:19:44 +0200 <hellwolf> it reminded me to add to TODO to remove SNat usage in places I could.
2025-05-03 22:19:49 +0200 <r-sta> type applications is good, not sure if i like dependant types in haskell, i found idris unusable
2025-05-03 22:20:27 +0200 <r-sta> like, how does it even make sense, if i could choose to output a different type depending on runtime conditions
2025-05-03 22:20:32 +0200 <hellwolf> if you use Nat/SNat, which I find very useful, that's already a tiny bit of DT.
2025-05-03 22:20:36 +0200 <r-sta> sounds like python...
2025-05-03 22:20:46 +0200 <r-sta> nah, singletons im fine with
2025-05-03 22:20:54 +0200 <hellwolf> no, that's not how it works. Need some inspirational example I guess.
2025-05-03 22:21:24 +0200 <r-sta> hmm, like if my trader flips between up flat and down
2025-05-03 22:21:33 +0200 <r-sta> and there is a Vertex UP
2025-05-03 22:21:47 +0200 <r-sta> like Vertex :: MarketMode -> Type
2025-05-03 22:21:56 +0200 <hellwolf> when bridging with runtime, you just provide some witness to the otherwise already type checked DT code.
2025-05-03 22:21:56 +0200 <hellwolf> Not sure if I am explaining it well. I kept it brief.
2025-05-03 22:22:59 +0200 <r-sta> i have like, flipFromFlat) :: Vertex Flat -> (Vertex Up || Vertex Down)
2025-05-03 22:23:12 +0200 <r-sta> if you can forgive the use of || at type level with that meaning
2025-05-03 22:23:39 +0200 <r-sta> i have to just use Vertex :: Type
2025-05-03 22:23:51 +0200 <r-sta> ie im made to do the erasure myself!
2025-05-03 22:24:14 +0200 <r-sta> ("no types at runtime!! or else!! do you want this to compile or not!?)
2025-05-03 22:25:19 +0200 <r-sta> sheesh, ill just check in in *another* few years to check the status of all this.
2025-05-03 22:25:21 +0200 <r-sta> cioa!
2025-05-03 22:25:24 +0200r-sta(~r-sta@206-122-61-5.reverse.tnp.net.uk) (Quit: Client closed)
2025-05-03 22:25:44 +0200 <hellwolf> DT induced rage quite
2025-05-03 22:25:47 +0200 <hellwolf> *quit
2025-05-03 22:25:54 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-05-03 22:26:04 +0200 <EvanR> fundamental activities possible with dependent types won't be different
2025-05-03 22:26:31 +0200 <EvanR> maybe education will improve though
2025-05-03 22:29:46 +0200P1RATEZ(piratez@user/p1ratez) P1RATEZ
2025-05-03 22:30:00 +0200 <haskellbridge> <loonycyborg> I think it's better just to embrace this separation between term-level and type-level
2025-05-03 22:30:16 +0200 <haskellbridge> <loonycyborg> and treat them like two different sublanguages working in concert :P
2025-05-03 22:30:30 +0200 <EvanR> with a lot of overlap
2025-05-03 22:30:47 +0200 <monochrom> People don't speak like "f :: X -> Either Foo Bar makes no sense because type erasure, this is Python again".
2025-05-03 22:31:03 +0200 <EvanR> like a weak form of C where all these typed functions are exactly the same except for the type, because they don't have polymorphism
2025-05-03 22:31:50 +0200 <monochrom> Then they speak like "f :: X -> Sigma b:bool. F b, where F False = Foo, F True = Bar, makes no sense because type erase, this is Python again". But it's isomorphic to the Either version.
2025-05-03 22:34:44 +0200rachelambda8(~rachelamb@cust-95-80-25-71.csbnet.se) (Quit: β reduced)
2025-05-03 22:34:47 +0200 <monochrom> Really, "g :: IO (Sigma n:Nat . Vec n Foo)" is no different. If n is unknown until runtime and performing I/O, of course it can't be erased.
2025-05-03 22:35:01 +0200rachelambda8(~rachelamb@cust-95-80-25-71.csbnet.se)
2025-05-03 22:35:23 +0200 <EvanR> works in C xD
2025-05-03 22:35:31 +0200 <EvanR> n is unknown until runtime, but is erased
2025-05-03 22:35:40 +0200 <monochrom> haha
2025-05-03 22:38:48 +0200 <int-e> . o O ( IO (forall r. (forall n. KnownNat n => Vec n Foo -> r) -> r) )
2025-05-03 22:39:05 +0200 <geekosaur> is this a follow-up to conal's "C is a FP language"?
2025-05-03 22:39:11 +0200 <int-e> (n is erased, but the KnownNat dictionary isn't, problem solved)
2025-05-03 22:39:43 +0200 <monochrom> Oh yeah if someone scaremongers about existential types, my next move is to cite the double ->r version.
2025-05-03 22:40:26 +0200 <monochrom> Yeah also "negate :: Num a => a -> a, is the type erased or not? Are you cheating?"
2025-05-03 22:40:47 +0200 <haskellbridge> <loonycyborg> C can be like haskell if you write program in one single expression :P
2025-05-03 22:40:51 +0200 <int-e> monochrom: The Church is always happy to step in in moments of an existential crisis.
2025-05-03 22:41:00 +0200 <monochrom> No, geekosaur, this is me whining about people whining about dependent typing.
2025-05-03 22:41:11 +0200 <monochrom> hahaha that's great
2025-05-03 22:41:15 +0200 <EvanR> loonycyborg: such as (++x) + (x++)
2025-05-03 22:41:20 +0200 <geekosaur> that isn't the whine I most often see, tbh
2025-05-03 22:41:52 +0200 <EvanR> make that a subtraction
2025-05-03 22:42:02 +0200 <geekosaur> it's some form of "nobody needs DT" (or the lesser version, which I actually sympathize with: "(fake-)DT is usually used gratuitously")
2025-05-03 22:42:05 +0200 <haskellbridge> <loonycyborg> well this example doesn't make haskell look good in comparision
2025-05-03 22:42:19 +0200 <haskellbridge> <loonycyborg> haskell doesn't even support proper postfix/prefix operators
2025-05-03 22:42:23 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2025-05-03 22:42:28 +0200 <EvanR> the haskell version would use imprecise exceptions
2025-05-03 22:42:50 +0200ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-05-03 22:43:23 +0200 <haskellbridge> <loonycyborg> like that ghc extension forces you to use () for them to work
2025-05-03 22:43:30 +0200 <EvanR> before throwing dependent types under the bus, better make sure what is what isn't python
2025-05-03 22:43:58 +0200 <monochrom> Oh I write like this all the time: "int bst_height(const bst *t) { return t == NULL ? 0 : t->height ; }"
2025-05-03 22:50:09 +0200 <monochrom> Furthermore, I forget the "return" there all the time, so I routinely run into "why does it return a random number?"
2025-05-03 22:50:59 +0200 <geekosaur> 🙂
2025-05-03 22:51:10 +0200 <EvanR> you get a warning "what do you think this is, ruby?"
2025-05-03 22:51:26 +0200 <geekosaur> (or perl)
2025-05-03 22:53:41 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-05-03 23:02:52 +0200 <hellwolf> return or pure or retval... endless discussion, when deciding what to offer to your users using Haskell embeded language
2025-05-03 23:03:11 +0200 <hellwolf> return is incorrect, pure sounds mystic, retval sounds from 1960s
2025-05-03 23:04:22 +0200 <haskellbridge> <loonycyborg> I like mystic vibes :P
2025-05-03 23:05:18 +0200la1n2(~la1n@176.59.166.253)
2025-05-03 23:05:24 +0200 <EvanR> pure it is
2025-05-03 23:05:55 +0200 <hellwolf> I remember when I was learning C++, I had very low English proficiency
2025-05-03 23:06:03 +0200 <hellwolf> "imbue" confused the hell out of me
2025-05-03 23:06:16 +0200 <hellwolf> is that even a word.
2025-05-03 23:06:36 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-05-03 23:06:41 +0200 <EvanR> yeah it is
2025-05-03 23:08:15 +0200 <hellwolf> I think it's a good candidate for IO monad at least
2025-05-03 23:08:30 +0200 <hellwolf> imbue
2025-05-03 23:08:41 +0200 <int-e> . o O ( Somebody never played Diablo )
2025-05-03 23:09:08 +0200 <hellwolf> at the time of diablo, I wouldn't follow english conversation much :D
2025-05-03 23:09:16 +0200 <int-e> (Charsi in Diablo II was my first encounter with the word "imbue")
2025-05-03 23:09:52 +0200 <hellwolf> so, that might start to make sense, someone from C++ committee played too much Diablo.
2025-05-03 23:10:00 +0200TMA(tma@twin.jikos.cz) (Ping timeout: 260 seconds)
2025-05-03 23:10:44 +0200 <EvanR> ^
2025-05-03 23:11:18 +0200Square(~Square@user/square) Square
2025-05-03 23:11:57 +0200TMA(tma@twin.jikos.cz) TMA
2025-05-03 23:15:22 +0200 <haskellbridge> <hellwolf> guess the meaning of the operators of the day: <$$> <$>> <&&> <<&>
2025-05-03 23:15:24 +0200 <monochrom> Lisp/Scheme's call/cc is my first encounter with "continuation". :)
2025-05-03 23:16:07 +0200 <monochrom> I will guess <&&> = liftA2 (&&). I won't guess the others, there is no point.
2025-05-03 23:17:31 +0200 <monochrom> To be sure, my heuristic fails with <*> = liftA2 (*) :)
2025-05-03 23:18:01 +0200 <monochrom> and <$> = liftA2 ($). Who would have thought. :)
2025-05-03 23:19:12 +0200 <EvanR> if you lift a ( really fast it becomes a <
2025-05-03 23:19:23 +0200 <EvanR> you'll have to rotate the monitor 90 degrees like old smiley :)
2025-05-03 23:19:25 +0200 <haskellbridge> <hellwolf> $$ && for functors of two different categories
2025-05-03 23:19:25 +0200 <haskellbridge> single $ or & are aliases of them for single category, sometimes helpful to type inference, direction of the >> is a convenient way to say where the function is.
2025-05-03 23:19:49 +0200 <haskellbridge> <hellwolf> I was devastated that I couldn't use <$_>
2025-05-03 23:20:17 +0200 <EvanR> there's too many different operators. Somebody should make an overloading mechanism so you can just use 1
2025-05-03 23:20:42 +0200 <haskellbridge> <hellwolf> whitespace programming language?
2025-05-03 23:20:51 +0200 <haskellbridge> <hellwolf> overloaded whitespaces
2025-05-03 23:20:57 +0200 <EvanR> overloaded whitespace is something else
2025-05-03 23:24:22 +0200 <haskellbridge> <loonycyborg> there's already an overloading mechanism. It's called typeclasses
2025-05-03 23:26:52 +0200 <haskellbridge> <loonycyborg> for example you can already use <> for many seemingly unrelated things :P
2025-05-03 23:28:07 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2025-05-03 23:28:41 +0200 <EvanR> that was the joke
2025-05-03 23:32:38 +0200 <haskellbridge> <hellwolf> Is multiparameter type class avoided in base/core libraries deliberately?
2025-05-03 23:33:38 +0200 <haskellbridge> <loonycyborg> btw in C++ you can overload "," :P
2025-05-03 23:33:52 +0200 <monochrom> EvanR: Is that a physics joke? Lifting ( really fast leading to < because sonic boom? :) I mean :>
2025-05-03 23:34:22 +0200 <haskellbridge> <loonycyborg> probably overloading spaces will be in C++50