Home liberachat/#haskell: Logs Calendar

Logs on 2025-05-03 (liberachat/#haskell)

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

All times are in UTC on 2025-05-03.