Home liberachat/#haskell: Logs Calendar

Logs on 2026-01-17 (liberachat/#haskell)

00:01:13 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
00:05:07 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
00:05:20 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
00:08:16 tccq joins (~user@user/tccq)
00:09:10 <tccq> Hi, I'm interested in poking around hardware description with haskell. What are people's thoughts between clash, lava, concat (?), and any others?
00:09:35 trickard_ is now known as trickard
00:12:00 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:17:12 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
00:17:25 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 264 seconds)
00:17:31 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
00:17:48 chromoblob joins (~chromoblo@user/chromob1ot1c)
00:25:55 × Brumaire quits (~no@94.140.114.73) (Ping timeout: 240 seconds)
00:26:06 Brumaire joins (~no@94.140.114.73)
00:27:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:30:55 × annamalai quits (~annamalai@117.231.195.83) (Ping timeout: 264 seconds)
00:31:15 annamalai joins (~annamalai@117.231.195.9)
00:32:31 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
00:40:43 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
00:43:10 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds)
00:43:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:48:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
00:49:44 × Tuplanolla quits (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.)
00:59:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:04:26 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
01:11:51 AlexNoo_ joins (~AlexNoo@5.139.232.54)
01:13:20 ridcully_ joins (~ridcully@pd951f83e.dip0.t-ipconnect.de)
01:14:15 catties joins (~catties@user/meow/catties)
01:14:32 raym_ joins (~ray@user/raym)
01:14:34 myxokephale joins (~myxos@174-18-88-231.tcso.qwest.net)
01:14:57 cptaffe` joins (~cptaffe@user/cptaffe)
01:15:14 × Catty quits (~catties@user/meow/catties) (Ping timeout: 240 seconds)
01:15:14 × FANTOM quits (~fantom@87.75.185.177) (Ping timeout: 240 seconds)
01:15:14 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Ping timeout: 240 seconds)
01:15:14 × simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 240 seconds)
01:15:14 × myxos quits (~myxos@174-18-88-231.tcso.qwest.net) (Ping timeout: 240 seconds)
01:15:14 × skum quits (~skum@user/skum) (Ping timeout: 240 seconds)
01:15:14 × raym quits (~ray@user/raym) (Ping timeout: 240 seconds)
01:15:14 × mulk quits (~mulk@pd95143a6.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
01:15:14 × ridcully quits (~ridcully@pd951f83e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
01:15:14 × Eoco quits (~ian@128.101.131.218) (Ping timeout: 240 seconds)
01:15:14 × carbolymer quits (carbolymer@delirium.systems) (Ping timeout: 240 seconds)
01:15:14 × arkeet quits (~arkeet@moriya.ca) (Ping timeout: 240 seconds)
01:15:14 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 240 seconds)
01:15:14 × Hafydd quits (~Hafydd@user/hafydd) (Ping timeout: 240 seconds)
01:15:15 × AlexNoo quits (~AlexNoo@5.139.232.54) (Ping timeout: 240 seconds)
01:15:15 × kimiamania quits (~9566fa0a@user/kimiamania) (Ping timeout: 240 seconds)
01:15:15 × gf31 quits (~gf3@user/gf3) (Ping timeout: 240 seconds)
01:15:15 × cptaffe quits (~cptaffe@user/cptaffe) (Ping timeout: 240 seconds)
01:15:15 × Xe quits (~Xe@perl/impostor/xe) (Ping timeout: 240 seconds)
01:15:15 × noctuks quits (ojyFKYpL5L@user/noctux) (Ping timeout: 240 seconds)
01:15:15 × constxqt quits (~constxd@user/constxd) (Ping timeout: 240 seconds)
01:15:23 simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
01:15:34 constxd joins (~constxd@user/constxd)
01:15:43 arkeet joins (arkeet@moriya.ca)
01:16:04 Xe joins (~Xe@perl/impostor/xe)
01:16:10 stefan-_ joins (~cri@42dots.de)
01:16:16 carbolymer joins (~carbolyme@delirium.systems)
01:16:34 skum joins (~skum@user/skum)
01:16:43 Eoco joins (~ian@128.101.131.218)
01:17:03 lambdabot joins (~lambdabot@int-e.eu)
01:17:03 × lambdabot quits (~lambdabot@int-e.eu) (Changing host)
01:17:03 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
01:17:03 ChanServ sets mode +v lambdabot
01:17:06 mulk joins (~mulk@pd95143a6.dip0.t-ipconnect.de)
01:17:07 noctuks joins (YbM1lgZBt7@user/noctux)
01:18:20 cptaffe` is now known as cptaffe
01:20:15 FANTOM joins (~fantom@87.75.185.177)
01:20:36 mixfix41 joins (~listeners@user/mixfix41)
01:24:50 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
01:25:02 divlamir joins (~divlamir@user/divlamir)
01:28:02 Hafydd joins (~Hafydd@user/hafydd)
01:30:55 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:37:36 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
01:37:43 × Brumaire quits (~no@94.140.114.73) (Ping timeout: 240 seconds)
01:48:56 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:50:58 omidmash1 joins (~omidmash@user/omidmash)
01:53:18 × omidmash quits (~omidmash@user/omidmash) (Ping timeout: 260 seconds)
01:53:18 omidmash1 is now known as omidmash
01:53:40 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
01:54:46 peterbecich joins (~Thunderbi@71.84.33.135)
02:04:47 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:09:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:11:50 emmanuelux joins (~emmanuelu@user/emmanuelux)
02:20:35 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:22:07 Lycurgus joins (~juan@user/Lycurgus)
02:24:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:32:25 × acidjnk quits (~acidjnk@p200300d6e71719276ddc164bdcca8bf0.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
02:35:43 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
02:35:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:40:39 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
02:45:33 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds)
02:51:44 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:56:11 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
02:56:25 Googulator59 is now known as Googulator
02:56:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
02:59:36 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
03:00:19 gmg joins (~user@user/gehmehgeh)
03:06:19 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 246 seconds)
03:07:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:14:18 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
03:25:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:30:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
03:35:21 peterbecich joins (~Thunderbi@71.84.33.135)
03:36:18 × caubert quits (~caubert@user/caubert) (Ping timeout: 252 seconds)
03:41:20 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:41:42 Lycurgus joins (~juan@user/Lycurgus)
03:45:52 × Inline quits (~User@2001-4dd6-dd24-0-f7db-3cda-3b52-1dd2.ipv6dyn.netcologne.de) (Ping timeout: 246 seconds)
03:49:23 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
03:50:33 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
03:50:46 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
03:52:12 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
03:54:53 Inline joins (~User@2001-4dd6-dd24-0-8769-cf17-85e6-2644.ipv6dyn.netcologne.de)
03:56:06 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: Leaving)
03:57:21 × omidmash quits (~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat)
03:58:13 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
03:58:52 caubert joins (~caubert@user/caubert)
04:00:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:01:55 omidmash joins (~omidmash@user/omidmash)
04:04:05 × caubert quits (~caubert@user/caubert) (Ping timeout: 245 seconds)
04:05:44 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
04:10:04 emmanuelux_ joins (~emmanuelu@user/emmanuelux)
04:10:38 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
04:16:33 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:21:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
04:32:20 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:36:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
04:40:29 × mixfix41 quits (~listeners@user/mixfix41) (Quit: backagain)
04:40:40 × emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Quit: Leaving)
04:43:17 trickard_ is now known as trickard
04:48:07 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:54:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
05:06:09 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:10:31 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
05:13:49 emmanuelux_ joins (~emmanuelu@user/emmanuelux)
05:15:23 × annamalai quits (~annamalai@117.231.195.9) (Ping timeout: 244 seconds)
05:15:42 annamalai joins (~annamalai@117.231.195.3)
05:21:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:23:37 × emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Quit: Leaving)
05:23:54 emmanuelux_ joins (~emmanuelu@user/emmanuelux)
05:26:08 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
05:31:24 × emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Quit: Leaving)
05:34:07 emmanuelux joins (~emmanuelu@user/emmanuelux)
05:37:18 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:41:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
05:45:46 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
05:45:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:48:35 poscat joins (~poscat@user/poscat)
05:49:23 × annamalai quits (~annamalai@117.231.195.3) (Ping timeout: 244 seconds)
05:49:39 annamalai joins (~annamalai@117.231.195.65)
05:50:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
05:51:08 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: bye)
05:51:22 emmanuelux joins (~em@user/emmanuelux)
06:00:26 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
06:01:06 gmg joins (~user@user/gehmehgeh)
06:01:44 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:06:27 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
06:06:51 emmanuelux_ joins (~emmanuelu@user/emmanuelux)
06:15:10 × emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Quit: Leaving)
06:15:41 bggd_ joins (~bgg@2a01:e0a:fd5:f510:3a79:510c:fa70:be22)
06:17:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:21:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
06:33:06 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:36:55 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 264 seconds)
06:38:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
06:40:35 × annamalai quits (~annamalai@117.231.195.65) (Ping timeout: 240 seconds)
06:41:03 annamalai joins (~annamalai@157.49.250.55)
06:46:59 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:51:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
07:01:43 Square joins (~Square@user/square)
07:02:43 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:02:43 × Zemy_ quits (~Zemy@72.178.108.235) (Read error: Connection reset by peer)
07:03:02 Zemy joins (~Zemy@2600:100c:b02e:a039:b89a:2eff:fed9:1ab9)
07:04:14 Zemy_ joins (~Zemy@72.178.108.235)
07:07:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
07:07:44 × Zemy quits (~Zemy@2600:100c:b02e:a039:b89a:2eff:fed9:1ab9) (Ping timeout: 260 seconds)
07:09:21 caubert joins (~caubert@user/caubert)
07:14:44 × caubert quits (~caubert@user/caubert) (Ping timeout: 260 seconds)
07:18:26 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:23:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
07:23:30 × ZLima12 quits (~zlima12@2600:4041:5f4d:7f00:db0d:ddd3:e982:de94) ()
07:25:15 ZLima12 joins (~zlima12@2600:4041:5f4d:7f00:db0d:ddd3:e982:de94)
07:28:44 Guest16 joins (~Guest16@45.158.127.48)
07:29:00 × Guest16 quits (~Guest16@45.158.127.48) (Client Quit)
07:31:12 Square2 joins (~Square@user/square)
07:32:36 Square3 joins (~Square@user/square)
07:33:13 kimiamania joins (~b4b260c9@user/kimiamania)
07:34:14 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:34:27 × Square quits (~Square@user/square) (Ping timeout: 250 seconds)
07:38:02 Zemy joins (~Zemy@2600:100c:b02e:a039:5cf8:baff:feaa:5e93)
07:38:02 × Zemy_ quits (~Zemy@72.178.108.235) (Read error: Connection reset by peer)
07:38:37 Zemy_ joins (~Zemy@72.178.108.235)
07:40:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
07:42:07 × Zemy quits (~Zemy@2600:100c:b02e:a039:5cf8:baff:feaa:5e93) (Ping timeout: 246 seconds)
07:44:08 housemate joins (~housemate@203.56.146.214)
07:47:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:48:52 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
07:50:03 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
07:52:21 karenw joins (~karenw@user/karenw)
07:55:20 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
07:58:37 AlexNoo__ joins (~AlexNoo@178.34.163.50)
08:00:35 × Alex_delenda_est quits (~al_test@5.139.232.54) (Ping timeout: 265 seconds)
08:01:04 euphores joins (~SASL_euph@user/euphores)
08:01:31 × AlexZenon quits (~alzenon@5.139.232.54) (Ping timeout: 264 seconds)
08:02:04 × AlexNoo_ quits (~AlexNoo@5.139.232.54) (Ping timeout: 246 seconds)
08:04:58 AlexZenon joins (~alzenon@178.34.163.50)
08:06:24 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:07:57 AlexZenon_2 joins (~alzenon@178.34.163.50)
08:08:22 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 246 seconds)
08:08:58 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 260 seconds)
08:09:19 × AlexZenon quits (~alzenon@178.34.163.50) (Ping timeout: 240 seconds)
08:10:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
08:11:30 Alex_test_ joins (~al_test@178.34.163.50)
08:11:58 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
08:14:06 Zemy joins (~Zemy@2600:100c:b02e:a039:1802:b7ff:fe05:7b89)
08:14:06 × Zemy_ quits (~Zemy@72.178.108.235) (Read error: Connection reset by peer)
08:14:37 Zemy_ joins (~Zemy@72.178.108.235)
08:17:30 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
08:18:54 × Zemy quits (~Zemy@2600:100c:b02e:a039:1802:b7ff:fe05:7b89) (Ping timeout: 260 seconds)
08:22:12 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:22:43 × Square2 quits (~Square@user/square) (Ping timeout: 246 seconds)
08:22:55 × Square3 quits (~Square@user/square) (Ping timeout: 240 seconds)
08:23:01 Square2 joins (~Square@user/square)
08:27:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
08:27:19 × Square2 quits (~Square@user/square) (Ping timeout: 250 seconds)
08:34:02 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
08:34:15 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
08:37:21 Square2 joins (~Square@user/square)
08:37:49 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:41:58 × Square2 quits (~Square@user/square) (Remote host closed the connection)
08:42:40 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
08:42:49 Square2 joins (~Square@user/square)
08:43:32 Hardyhardhard joins (~Hardyhard@user/hardyhardhard)
08:46:53 ridcully_ is now known as ridcully
08:48:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:54:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
08:55:09 × trickard_ quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
08:55:22 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
09:01:30 × trickard_ quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
09:04:24 × ZLima12 quits (~zlima12@2600:4041:5f4d:7f00:db0d:ddd3:e982:de94) (Changing host)
09:04:24 ZLima12 joins (~zlima12@user/meow/ZLima12)
09:04:43 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:05:24 × ZLima12 quits (~zlima12@user/meow/ZLima12) ()
09:05:52 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
09:06:15 ZLima12 joins (~zlima12@user/meow/ZLima12)
09:09:22 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
09:15:01 × trickard_ quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
09:16:22 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
09:20:15 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:26:08 × trickard_ quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
09:26:09 × ZLima12 quits (~zlima12@user/meow/ZLima12) ()
09:27:00 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
09:28:52 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
09:31:08 ZLima12 joins (~zlima12@user/meow/ZLima12)
09:38:19 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:40:18 Tuplanolla joins (~Tuplanoll@85-156-32-207.elisa-laajakaista.fi)
09:42:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
09:48:20 target_i joins (~target_i@user/target-i/x-6023099)
09:49:30 × anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.10.1 - https://znc.in)
09:49:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:53:09 anpad joins (~pandeyan@user/anpad)
09:55:09 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:59:49 × karenw quits (~karenw@user/karenw) (Ping timeout: 260 seconds)
10:05:47 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
10:10:53 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
10:12:28 acidjnk joins (~acidjnk@p200300d6e7171955902046af4b3b27fd.dip0.t-ipconnect.de)
10:13:39 __monty__ joins (~toonn@user/toonn)
10:16:38 × trickard_ quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
10:16:52 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
10:19:04 × Hardyhardhard quits (~Hardyhard@user/hardyhardhard) (Quit: Client closed)
10:19:19 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:21:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
10:26:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
10:28:13 × Inline quits (~User@2001-4dd6-dd24-0-8769-cf17-85e6-2644.ipv6dyn.netcologne.de) (Ping timeout: 250 seconds)
10:37:24 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
10:38:54 × Square2 quits (~Square@user/square) (Ping timeout: 260 seconds)
10:42:30 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
10:43:19 sp1ff` joins (~user@2601:1c2:4701:900::32d4)
10:44:15 × sp1ff quits (~user@2601:1c2:4701:900::327f) (Ping timeout: 250 seconds)
10:44:40 Lycurgus joins (~juan@user/Lycurgus)
10:50:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
10:56:55 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
10:57:57 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
10:59:09 × trickard_ quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
10:59:22 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
11:06:59 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
11:09:01 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
11:09:48 × trickard_ quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:10:02 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
11:13:10 Inline joins (~User@2001-4dd6-dd24-0-886a-5b51-ee9-3d0b.ipv6dyn.netcologne.de)
11:13:57 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
11:14:12 Lycurgus joins (~juan@user/Lycurgus)
11:15:42 Brumaire joins (~no@94.140.114.73)
11:24:47 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
11:28:36 ljdarj joins (~Thunderbi@user/ljdarj)
11:29:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
11:29:26 tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
11:29:35 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer)
11:40:35 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
11:43:32 × Miroboru quits (~myrvoll@188.113.115.67) (Quit: Lost terminal)
11:45:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
11:51:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
11:57:04 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
12:07:45 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
12:13:13 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
12:17:24 trickard_ is now known as trickard
12:23:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
12:26:17 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
12:27:44 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
12:31:19 × notzmv quits (~umar@user/notzmv) (Ping timeout: 240 seconds)
12:38:55 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
12:43:05 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
12:45:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
12:47:18 AlexNoo__ is now known as AlexNoo
12:47:26 × bggd_ quits (~bgg@2a01:e0a:fd5:f510:3a79:510c:fa70:be22) (Remote host closed the connection)
12:52:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
12:53:13 fp joins (~Thunderbi@2001-14bb-11b-8862-cedf-8b9b-bf14-e748.rev.dnainternet.fi)
12:54:14 × fp quits (~Thunderbi@2001-14bb-11b-8862-cedf-8b9b-bf14-e748.rev.dnainternet.fi) (Client Quit)
12:54:25 fp1 joins (~Thunderbi@84-253-204-168.bb.dnainternet.fi)
12:54:31 × fp1 quits (~Thunderbi@84-253-204-168.bb.dnainternet.fi) (Client Quit)
12:58:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
13:02:55 gmg joins (~user@user/gehmehgeh)
13:08:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
13:11:45 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
13:12:14 chromoblob joins (~chromoblo@user/chromob1ot1c)
13:13:40 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
13:23:26 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
13:23:32 Everything joins (~Everythin@172-232-54-192.ip.linodeusercontent.com)
13:24:15 chromoblob joins (~chromoblo@user/chromob1ot1c)
13:24:36 merijn joins (~merijn@62.45.136.136)
13:27:15 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
13:27:28 trickard joins (~trickard@cpe-82-98-47-163.wireline.com.au)
13:28:55 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 240 seconds)
13:31:56 Lycurgus joins (~juan@user/Lycurgus)
13:34:27 Zemy joins (~Zemy@2600:100c:b0a9:6e2b:f808:90ff:fe12:ad2)
13:34:59 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
13:37:38 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
13:38:07 × Zemy_ quits (~Zemy@72.178.108.235) (Ping timeout: 240 seconds)
13:40:02 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
13:43:06 vanishingideal joins (~vanishing@user/vanishingideal)
13:43:47 trickard_ is now known as trickard
13:44:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
13:49:49 <haskellbridge> <Man of Letters (Mikolaj)> hi! how can I get around this type error (disregarding if this snippet has any sense or not --- it's an experiment)
13:49:51 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/CPJSrwrMyneClYpVQHFTIqOi/Uki16-TNNYA (16 lines)
13:50:01 Alex_test_ is now known as Alex_delenda_est
13:50:08 AlexZenon_2 is now known as AlexZenon
13:50:22 <haskellbridge> <Man of Letters (Mikolaj)> or is SomeTypeRep defined on purpose to be unusable? if so, why?
13:50:37 <haskellbridge> <Man of Letters (Mikolaj)> I hope it's something trivial I'm missing
13:53:37 <[exa]> can you please pastebin the error? for IRC folks the code looks somehow unusably shortened (see topic for a good pastebin)
13:53:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
13:55:45 <[exa]> oh well it works with curl... :D
13:56:42 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
13:56:55 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
13:58:31 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
14:00:47 <[exa]> (TypeAbstractions implies TypeApplications?)
14:01:07 <[exa]> also, does it work with plain old `testEquality` ?
14:01:31 <[exa]> I doubt there's a way to patternmatch through the SomeTypeRep
14:02:46 <ncf> what are you trying to do exactly? you can't pattern match on the type of the TypeRep, since it's erased at runtime, but you can certainly use the TypeRep itself: case someTypeRep (Proxy @Double) of SomeTypeRep d -> typeRepTyCon d -- Double
14:05:52 Zemy_ joins (~Zemy@mobile-107-80-206-39.mycingular.net)
14:08:10 × Zemy quits (~Zemy@2600:100c:b0a9:6e2b:f808:90ff:fe12:ad2) (Ping timeout: 246 seconds)
14:09:41 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
14:16:01 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
14:16:30 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
14:19:30 × vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection)
14:22:37 Zemy joins (~Zemy@mobile-107-80-206-4.mycingular.net)
14:23:38 Core6067 joins (~Zemy@2600:100c:b0a9:6e2b:4022:5cff:fe3f:998a)
14:24:08 Core1625 joins (~Zemy@syn-192-198-252-043.biz.spectrum.com)
14:25:15 × Zemy_ quits (~Zemy@mobile-107-80-206-39.mycingular.net) (Ping timeout: 250 seconds)
14:25:54 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
14:26:59 × Zemy quits (~Zemy@mobile-107-80-206-4.mycingular.net) (Ping timeout: 260 seconds)
14:27:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
14:28:09 × Core6067 quits (~Zemy@2600:100c:b0a9:6e2b:4022:5cff:fe3f:998a) (Ping timeout: 260 seconds)
14:32:49 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
14:37:50 spew joins (~spew@user/spew)
14:38:57 Zemy joins (~Zemy@2600:100c:b0a9:6e2b:844f:70ff:fe19:fe8c)
14:38:57 × Core1625 quits (~Zemy@syn-192-198-252-043.biz.spectrum.com) (Read error: Connection reset by peer)
14:39:40 Zemy_ joins (~Zemy@12.50.228.210)
14:43:16 Core6086 joins (~Zemy@2600:100c:b0a9:6e2b:e496:5bff:fe9c:e095)
14:43:16 × Zemy quits (~Zemy@2600:100c:b0a9:6e2b:844f:70ff:fe19:fe8c) (Ping timeout: 255 seconds)
14:43:33 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
14:43:51 Zemy joins (~Zemy@mobile-107-80-206-9.mycingular.net)
14:44:04 × spew quits (~spew@user/spew) (Quit: brb)
14:44:28 spew joins (~spew@user/spew)
14:44:41 <Leary> Man of Letters (Mikolaj): That type application doesn't allow you to match on the type; it just conflicts with the existential kind `k`. You can write a pattern synonym that works how you'd like, though: https://gist.github.com/LSLeary/7165377d1a28bf76aa4c0aae189a6968
14:46:15 × Zemy_ quits (~Zemy@12.50.228.210) (Ping timeout: 240 seconds)
14:48:02 × Core6086 quits (~Zemy@2600:100c:b0a9:6e2b:e496:5bff:fe9c:e095) (Ping timeout: 265 seconds)
14:48:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
14:54:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
14:55:32 Zemy_ joins (~Zemy@2600:100c:b0a9:6e2b:8ce5:abff:fe24:110c)
14:57:43 × Zemy quits (~Zemy@mobile-107-80-206-9.mycingular.net) (Ping timeout: 240 seconds)
14:57:45 <haskellbridge> <Man of Letters (Mikolaj)> Leary: amazing, that's precisely what I was looking for!
14:59:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
14:59:42 <haskellbridge> <Man of Letters (Mikolaj)> and, everybody, thank you for your replies and apologize for the formatting --- there's nothing about pastebin in the Matrix room description and I don't think I can add it; geekosaur: is this your bridge? could we add a note about pastebin?
15:05:18 Zemy joins (~Zemy@72.178.108.235)
15:07:09 trickard_ is now known as trickard
15:08:15 × Zemy_ quits (~Zemy@2600:100c:b0a9:6e2b:8ce5:abff:fe24:110c) (Ping timeout: 245 seconds)
15:10:45 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
15:10:46 × Zemy quits (~Zemy@72.178.108.235) (Read error: Connection reset by peer)
15:10:51 Zemy_ joins (~Zemy@2600:100c:b0a9:6e2b:1478:f8ff:fed7:9161)
15:11:26 Zemy joins (~Zemy@72.178.108.235)
15:11:56 <geekosaur> I don't see what's unusably shortened about the Matrix paste (at least via the bot's pastebin link)
15:14:25 tremon joins (~tremon@83.80.159.219)
15:14:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
15:15:21 × Zemy_ quits (~Zemy@2600:100c:b0a9:6e2b:1478:f8ff:fed7:9161) (Ping timeout: 252 seconds)
15:18:27 weary-traveler joins (~user@user/user363627)
15:19:07 Square2 joins (~Square@user/square)
15:19:20 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
15:19:41 × rainbyte quits (~rainbyte@186.22.19.214) (Read error: Connection reset by peer)
15:22:55 × Brumaire quits (~no@94.140.114.73) (Ping timeout: 240 seconds)
15:26:10 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
15:31:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
15:41:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
15:46:10 × Square2 quits (~Square@user/square) (Remote host closed the connection)
15:47:00 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
15:49:25 Square2 joins (~Square@user/square)
15:50:11 × Square2 quits (~Square@user/square) (Remote host closed the connection)
15:50:34 Square2 joins (~Square@user/square)
15:55:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
15:59:49 DetourNe- joins (~DetourNet@user/DetourNetworkUK)
16:00:31 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
16:00:45 × DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
16:02:08 DetourNe- is now known as DetourNetworkUK
16:04:10 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:06:16 × housemate quits (~housemate@203.56.146.214) (Quit: https://ineedsomeacidtocalmmedown.space/)
16:08:52 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
16:10:16 jmcantrell_ joins (~weechat@user/jmcantrell)
16:10:23 housemate joins (~housemate@203.56.146.214)
16:19:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:24:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
16:27:35 × target_i quits (~target_i@user/target-i/x-6023099) (Ping timeout: 240 seconds)
16:29:34 haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
16:29:34 × haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
16:29:34 haritz joins (~hrtz@user/haritz)
16:34:44 <[exa]> yeah might be an issue of my browser, curl worked just right
16:35:24 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:36:55 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
16:39:15 <geekosaur> I wonder if your browser doesn't treat things without HTTP headers as plain text
16:39:29 <sm> +1, the bridge's auto-pastebinned message looks good here
16:40:36 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
16:41:00 <sm> I think it provides normal http headers, but it's text/plain not html
16:43:21 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 252 seconds)
16:46:23 <geekosaur> hm, right, it looks exactly like a plain text document, but devtools tells me it's html
16:47:33 <sm> devtools ?
16:47:39 <sm> I looked with curl -i and https://validator.w3.org/detailed.html
16:50:32 <geekosaur> in chrome
16:51:01 ttybitnik joins (~ttybitnik@user/wolper)
16:51:07 <geekosaur> also chrome is telling me there's a js script trying to run on the page. if the bridge is including that I think I'm going to eradicate it
16:51:09 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:51:43 <geekosaur> (if it's the browser injecting it, I think I need to do surgery on it…)
16:52:47 Lycurgus joins (~juan@user/Lycurgus)
16:55:37 <sm> I don't know how a text/plain response could be responsible for that
16:55:47 <geekosaur> okay, it's my browser. (which was blocking it anyway)
16:56:07 <geekosaur> I suspect an extension
16:56:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
16:56:30 <sm> it's really a model pastebin.. the polar opposite of pastebin.com :)
16:56:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:58:02 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
17:01:06 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
17:01:36 Zemy_ joins (~Zemy@2600:100c:b0a9:6e2b:882a:87ff:fe9c:2d5a)
17:01:49 × Zemy quits (~Zemy@72.178.108.235) (Read error: Connection reset by peer)
17:02:28 Zemy joins (~Zemy@72.178.108.235)
17:02:52 <monochrom> Hypotheses: Chrome adds boilerplate html to contain the plain text so that the rendering engine can safely assume html input, then Chrome's devtool shows you the manufactured html; the javascript warning is always there whether it actually sees javascript or not.
17:03:31 × Zemy_ quits (~Zemy@2600:100c:b0a9:6e2b:882a:87ff:fe9c:2d5a) (Read error: Connection reset by peer)
17:03:35 Core5695 joins (~Zemy@2600:100c:b0a9:6e2b:dc8f:5aff:fe84:9af8)
17:03:51 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
17:07:14 × Zemy quits (~Zemy@72.178.108.235) (Ping timeout: 265 seconds)
17:07:49 <monochrom> "For IRC I prefer to use curl to connect to https://web.libera.chat/" >:)
17:09:51 jmcantrell_ joins (~weechat@user/jmcantrell)
17:15:00 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
17:19:53 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
17:20:35 <haskellbridge> <Man of Letters (Mikolaj)> Leary, [exa], ncf: this is what I was trying to do and it works (and is readable; thank you again!): https://github.com/Mikolaj/horde-ad/commit/8cc9c15a4fe071439038658ec4ca53f80c3d42e4
17:21:53 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
17:22:52 <EvanR> that's some beautiful code
17:23:03 <humasect> =(
17:23:16 <geekosaur> that warning is there, but also a specific JS script is trying to run every few seconds
17:24:03 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
17:24:16 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
17:24:54 <geekosaur> I just pulled it up again and it indeed says the source is an extension… identified by internal ID, so I'll have to dig further
17:26:30 <geekosaur> got it
17:27:44 <geekosaur> it's one I installed deliberately; it looks for sites that participate in a program that contributes part of payments to selected charities
17:28:09 Zemy joins (~Zemy@mobile-107-80-206-95.mycingular.net)
17:30:20 <[exa]> Mikolaj: okay that paid off.
17:30:26 <geekosaur> (I suspected that was it, but I also had some site insist I install a payment processor plugin. I NOPEd out but wondered if it had maybe slipped it in anyway)
17:30:47 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
17:31:19 × Core5695 quits (~Zemy@2600:100c:b0a9:6e2b:dc8f:5aff:fe84:9af8) (Ping timeout: 260 seconds)
17:32:09 <haskellbridge> <thirdofmay18081814goya> how would you implement recursive descent where you can propagate something upwards? e.g., say you're writing an interpreter and while recursing downwards you enter two try/catch scopes. the second, deeper one fails to catch an error, so it much propagate upwards to be caught by the first try/catch scope. is there any recursion scheme that specifies what this means, to "propagate upwards"?
17:32:22 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 265 seconds)
17:33:57 karenw joins (~karenw@user/karenw)
17:34:05 <[exa]> geekosaur: re the pastebin, I blame the browser in the end, it was on a cellphone and computer browser works fine. No idea what happened there.
17:34:33 Zemy_ joins (~Zemy@2600:100c:b0a9:6e2b:701a:11ff:fe19:237)
17:35:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
17:35:31 <EvanR> thirdofmayNUMBERSgoya: on its face that just sounds like folding a tree
17:35:57 <EvanR> or in the explicit recursive descent, returning something from each recursion
17:35:58 <geekosaur> I suspect it interpreted it as HTML instead of text, and the display name prefixes from the bridge and the prefix of the ghci error message as unknown tags
17:36:17 × Zemy quits (~Zemy@mobile-107-80-206-95.mycingular.net) (Ping timeout: 244 seconds)
17:36:32 <geekosaur> maybe misparsed the ghci prompts too
17:36:43 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
17:37:15 <[exa]> yeah... firefox mobile works okay too, this one was some kindof default miui thing
17:37:19 <[exa]> </issue>
17:38:19 <haskellbridge> <thirdofmay18081814goya> EvanR: I thought that yeah this might be the proper way, felt that it is gimmicky/not conceptually simple
17:38:56 <haskellbridge> <thirdofmay18081814goya> i.e. add a conditional branch that tests whether a subcontext has provided a propagation
17:41:02 <haskellbridge> <thirdofmay18081814goya> but it might just be the proper way to do it, don't know why it feels off to me lol
17:41:27 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
17:42:05 <haskellbridge> <thirdofmay18081814goya> i feel like there should be a single statement declaring this, not two (one changing the node for one indicating that a propagation wants to go up, another to handle it)
17:46:24 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
17:51:14 gmg joins (~user@user/gehmehgeh)
17:51:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
17:51:52 <EvanR> thirdofmayNUMBERSgoya: any other way sounds like overengineering and/or OOP imperative shenanigans xD
17:52:23 <EvanR> an optional "upward propagation" is just returning a Maybe
17:57:41 <haskellbridge> <thirdofmay18081814goya> makes sense, ty!
17:57:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
17:58:00 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
17:58:41 gmg joins (~user@user/gehmehgeh)
17:59:09 × img quits (~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
18:00:24 img joins (~img@user/img)
18:02:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
18:12:05 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
18:12:29 trickard_ is now known as trickard
18:12:30 ChaiTRex joins (~ChaiTRex@user/chaitrex)
18:13:44 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
18:14:38 target_i joins (~target_i@user/target-i/x-6023099)
18:15:30 <geekosaur> I was thinking that (well, ExceptT, but that's just a fancy Maybe)
18:16:33 <monochrom> thirdofmay18081814goya: If your interpreter is in a monad for exceptions (eg ExceptT like geekosaur says) then you can write it as a straightforward recursive descent.
18:17:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
18:18:24 <monochrom> Hrm I should find mine and post it. I used to teach this in my course.
18:22:52 jmcantrell_ joins (~weechat@user/jmcantrell)
18:26:15 × annamalai quits (~annamalai@157.49.250.55) (Ping timeout: 240 seconds)
18:26:33 annamalai joins (~annamalai@117.231.194.195)
18:29:07 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
18:32:03 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
18:34:18 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
18:38:40 Zemy joins (~Zemy@mobile-107-80-206-94.mycingular.net)
18:38:56 × Zemy_ quits (~Zemy@2600:100c:b0a9:6e2b:701a:11ff:fe19:237) (Read error: Connection reset by peer)
18:39:12 Zemy_ joins (~Zemy@2600:100c:b0a9:6e2b:e031:ceff:fe85:a620)
18:43:03 × Zemy quits (~Zemy@mobile-107-80-206-94.mycingular.net) (Ping timeout: 260 seconds)
18:44:54 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
18:44:56 gdr3941 joins (~user@172-3-47-206.lightspeed.nsvltn.sbcglobal.net)
18:45:56 Zemy joins (~Zemy@mobile-107-80-206-95.mycingular.net)
18:45:59 × gdr3941 quits (~user@172-3-47-206.lightspeed.nsvltn.sbcglobal.net) (Remote host closed the connection)
18:48:04 × Zemy_ quits (~Zemy@2600:100c:b0a9:6e2b:e031:ceff:fe85:a620) (Ping timeout: 255 seconds)
18:49:27 Sgeo joins (~Sgeo@user/sgeo)
18:51:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
18:51:34 × remexre quits (~remexre@user/remexre) (Remote host closed the connection)
18:53:05 Zemy_ joins (~Zemy@2600:100c:b0a9:6e2b:6cfa:f4ff:fe48:ea2e)
18:54:35 × Zemy quits (~Zemy@mobile-107-80-206-95.mycingular.net) (Ping timeout: 240 seconds)
18:58:02 remexre joins (~remexre@user/remexre)
18:58:35 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
18:58:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:02:24 qqq joins (~qqq@185.54.21.105)
19:03:04 Zemy joins (~Zemy@72.178.108.235)
19:04:13 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
19:05:40 × Zemy_ quits (~Zemy@2600:100c:b0a9:6e2b:6cfa:f4ff:fe48:ea2e) (Ping timeout: 246 seconds)
19:14:45 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:19:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
19:30:31 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:33:21 × confusedalex quits (~confuseda@user/confusedalex) (Ping timeout: 250 seconds)
19:33:43 × spew quits (~spew@user/spew) (Ping timeout: 240 seconds)
19:35:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
19:35:35 spew joins (~spew@user/spew)
19:38:23 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
19:39:19 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
19:39:44 Lord_of_Life_ is now known as Lord_of_Life
19:40:22 confusedalex joins (~confuseda@user/confusedalex)
19:45:52 × remexre quits (~remexre@user/remexre) (Remote host closed the connection)
19:45:59 remexre joins (~remexre@user/remexre)
19:46:19 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:47:31 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Ping timeout: 244 seconds)
19:49:15 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
19:50:31 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
19:59:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:01:33 wootehfoot joins (~wootehfoo@user/wootehfoot)
20:01:37 Guest63 joins (~Guest63@mm-240-37-215-37.mfilial.dynamic.pppoe.byfly.by)
20:02:49 × Guest63 quits (~Guest63@mm-240-37-215-37.mfilial.dynamic.pppoe.byfly.by) (Client Quit)
20:05:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
20:15:47 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:22:33 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
20:27:08 pavonia joins (~user@user/siracusa)
20:33:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:35:04 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
20:35:17 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
20:38:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
20:49:32 × spew quits (~spew@user/spew) (Quit: nyaa~)
20:49:37 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:54:10 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
21:05:10 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:09:22 trickard_ is now known as trickard
21:09:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
21:18:53 peterbecich joins (~Thunderbi@71.84.33.135)
21:20:56 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:25:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
21:29:01 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:32:24 × karenw quits (~karenw@user/karenw) (Ping timeout: 244 seconds)
21:32:37 × hololeap quits (~quassel@user/hololeap) (Quit: Bye)
21:33:18 hololeap joins (~quassel@user/hololeap)
21:34:16 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
21:34:28 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
21:36:41 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:39:40 trickard_ is now known as trickard
21:41:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
21:46:07 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds)
21:52:29 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:58:04 × weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!)
21:58:19 weary-traveler joins (~user@user/user363627)
21:58:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:10:30 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:15:00 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
22:18:55 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
22:22:44 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
22:24:38 weary-traveler joins (~user@user/user363627)
22:25:54 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:30:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:36:45 Zemy_ joins (~Zemy@2600:100c:b04a:cc3c:d838:d5ff:fe1f:3ebe)
22:40:05 × Zemy quits (~Zemy@72.178.108.235) (Ping timeout: 244 seconds)
22:41:34 Zemy joins (~Zemy@72.178.108.235)
22:41:40 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:43:33 × Inline quits (~User@2001-4dd6-dd24-0-886a-5b51-ee9-3d0b.ipv6dyn.netcologne.de) (Ping timeout: 256 seconds)
22:45:44 × Zemy_ quits (~Zemy@2600:100c:b04a:cc3c:d838:d5ff:fe1f:3ebe) (Ping timeout: 260 seconds)
22:46:36 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
22:46:56 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
22:47:47 Inline joins (~User@2001-4dd6-dd24-0-d5a6-802e-e6e6-ce59.ipv6dyn.netcologne.de)
22:54:24 <Leary> Man of Letters (Mikolaj): That's a big improvement, but there's still a lot of duplication. Consider something like this: https://gist.github.com/LSLeary/4db7ad8d3068ee493d3d075df02b01e7
22:57:24 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:58:13 <haskellbridge> <Man of Letters (Mikolaj)> Leary: yay, that's impressive; I may use this for something in the future, but
22:58:48 <haskellbridge> <Man of Letters (Mikolaj)> but the hacks in my code are actually poor man's monomorphisation, so they need to be so crude
23:00:53 <haskellbridge> <Man of Letters (Mikolaj)> the idea is (and it works and speeds up runtime considerably) that I add lots of INLINEs and INLINEABLE and then in each line starting with "Is @<some type>" a function is either inlined or called (but with unfolding available), which GHC now sees operating at concrete type, so it specializes the function (or its inlining) to that specific type
23:01:30 <haskellbridge> <Man of Letters (Mikolaj)> this is a code base with a huge amount of existential types, which totally block any sane ways of specializing code
23:01:44 <haskellbridge> <Man of Letters (Mikolaj)> * specializing/monomorphizing
23:02:06 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
23:02:38 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:02:52 <haskellbridge> <Man of Letters (Mikolaj)> but if anybody has any other ideas how to avoid passing around explicit dictionaries but maintain the very abstract API, I'm all ears
23:05:18 <haskellbridge> <Man of Letters (Mikolaj)> because what I'm currently doing is seriously embarrassing
23:05:34 <EvanR> any time you pass around explicit dictionaries, can't it also be passing (perhaps hidden inside a data type) a record of things doing the implementation
23:06:38 <haskellbridge> <Man of Letters (Mikolaj)> that makes sense; let me think why not
23:07:35 ethantwardy joins (~user@user/ethantwardy)
23:09:58 × ethantwardy quits (~user@user/ethantwardy) (Client Quit)
23:11:40 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
23:13:13 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:14:14 ethantwardy joins (~user@user/ethantwardy)
23:15:01 × ethantwardy quits (~user@user/ethantwardy) (Client Quit)
23:16:51 <haskellbridge> <Man of Letters (Mikolaj)> so, the only argument against I can find is circularity: say, I'm implementing indexing in fancy nested arrays (which is called 12! times in the benchmark I'm working on), the code for the indexing takes a dictionary for storable vectors (the arrays are represented as tuples of such vectors) and it's terribly slow when it has to access the dictionary each time it's called
23:17:26 <haskellbridge> <Man of Letters (Mikolaj)> if I understand your idea correctly, the nested array indexing code should instead take a dictionary that directly works on nested arrays, not vectors
23:18:13 <haskellbridge> <Man of Letters (Mikolaj)> but the nested array indexing code implements what should be in that dictionary --- I'd need a way to somehow boostrap this, recurse across a dictionary
23:18:24 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:18:34 <EvanR> holy moly
23:21:01 <EvanR> if you're combining implementations in a way to implement another implementation, you do want to use prudent "let" bindings to make sure you only access the dependent implementation once
23:21:14 <EvanR> instead of every time it's accessed
23:21:38 <EvanR> this assumes the dependent implementation isn't dynamically changing for the same data structure
23:22:27 <EvanR> dependency isn't dynamically changing*
23:22:50 <monochrom> Oh, like "f x = f (x - 1) + f (x - 1)" vs "f x = let y = f (x - 1) in y + y"?
23:22:54 <EvanR> as far as knot typing I don't know about this
23:22:58 <EvanR> tying
23:24:10 <EvanR> makeF add x = add (x - 1) (x + 1)
23:24:20 <EvanR> let f = makeF (+)
23:24:38 <EvanR> this might not apply exactly, I'm not sure I totally understand the situation
23:24:38 <Leary> Man of Letters (Mikolaj): Re monomorphising, I see, that's a bit unfortunate. You can perhaps get rid of those existentials by using suitable heterogeneous types instead.
23:24:53 ethantwardy joins (~user@user/ethantwardy)
23:25:34 <haskellbridge> <Man of Letters (Mikolaj)> Leary: where can I see an example of something like that?
23:27:55 troydm joins (~troydm@user/troydm)
23:28:07 <haskellbridge> <Man of Letters (Mikolaj)> some of the existential types arise naturally from AST GADTs (I have multiple interpreters of deeply embedded DLS in the implementation)
23:29:01 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:30:01 <Leary> The classic example is `data HList f xs where { Nil :: HList f '[]; Cons :: f x -> HList f xs -> HList f (x:xs) }`, but you can do similarly for arbitrary ASTs by duplicating some of their structure on the type level in the same way.
23:30:03 <haskellbridge> <Man of Letters (Mikolaj)> e.g., I can't think how to get rid of the existentially bound types in the node
23:30:03 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/QetWxmpnbhshlldjxsPntKNj/OFJ7l1DSftE (5 lines)
23:30:32 <haskellbridge> <Man of Letters (Mikolaj)> ok, thank you, I will think about this
23:31:55 × ethantwardy quits (~user@user/ethantwardy) (Quit: WeeChat 4.4.2)
23:32:18 <haskellbridge> <Man of Letters (Mikolaj)> EvanR: right, so that's precisely the purpose of my crude hack with duplicating functions (or function calls) and so helping GHC specialize each call at a concrete known type; let me explain:
23:33:13 <haskellbridge> <Man of Letters (Mikolaj)> in your example, by the well placed "let", you avoid one of the two applications of subtraction
23:33:51 <haskellbridge> <Man of Letters (Mikolaj)> in my case, by specializing/monomorphising, I get rid of more than one dictionary lookup/passing
23:34:08 <EvanR> that was monochroms version
23:34:21 <haskellbridge> <Man of Letters (Mikolaj)> oh, yes, right
23:34:33 × Inline quits (~User@2001-4dd6-dd24-0-d5a6-802e-e6e6-ce59.ipv6dyn.netcologne.de) (Ping timeout: 256 seconds)
23:34:55 ethantwardy joins (~user@user/ethantwardy)
23:35:20 <EvanR> I was thinking that, for a given properly constructed implementation, you only do look ups into any implementation once per call to the API
23:35:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
23:35:44 <EvanR> for any of the types that have this api
23:35:47 <haskellbridge> <Man of Letters (Mikolaj)> anyway, sadly, while "let" can cache values, it can't cache the determination which dictionary to look up into and how to combine whatever has been obtained from the dictionary --- only the GHC magic can do that
23:36:01 <EvanR> :thonk:
23:36:28 Zemy_ joins (~Zemy@2600:100c:b04a:cc3c:2826:1bff:fef2:30a6)
23:37:22 <EvanR> I would guess whatever ghc magic that is can be "manually" coded into the implementations, but no bearing on how the effort compares
23:37:38 Core3498 joins (~Zemy@72.178.108.235)
23:37:40 <haskellbridge> <Man of Letters (Mikolaj)> and the same regarding knots --- Haskell recursion doesn't cut it, something involving GHC internals would be needed (or something totally out of the box like maybe the heterogeneous types idea once I understand it)
23:38:03 <haskellbridge> <Man of Letters (Mikolaj)> oh, yes, sure, e.g., you can manually write monomorphic code from the start
23:38:17 <haskellbridge> <Man of Letters (Mikolaj)> and I actually like that a lot
23:38:30 <EvanR> not monomorphic
23:39:01 <EvanR> polymorphic types can satisfy the same API as monomorphic types
23:39:02 × trickard quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
23:39:14 Core4452 joins (~Zemy@2600:100c:b04a:cc3c:ac56:f4ff:fe3c:1c26)
23:39:15 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
23:39:42 × Zemy_ quits (~Zemy@2600:100c:b04a:cc3c:2826:1bff:fef2:30a6) (Read error: Connection reset by peer)
23:39:44 <EvanR> e.g. addition interface could be implemented by Word8 or Complex a where a implements addition interface
23:40:04 <haskellbridge> <Man of Letters (Mikolaj)> yes, you are right, code without existentials, plus "-fexpose-overloaded-unfoldings" and "-fspecialise-aggressively" should in theory be just as good at avoiding runtime lookups
23:40:12 × Zemy quits (~Zemy@72.178.108.235) (Ping timeout: 256 seconds)
23:41:10 <EvanR> aiui typeclasses shine in cases where you can get away without talking about explicit dictionaries, since it will be passed automagically around
23:41:26 <haskellbridge> <Man of Letters (Mikolaj)> yes, I fully agree
23:41:45 × bgamari quits (~bgamari@64.223.170.198) (Quit: ZNC 1.8.2 - https://znc.in)
23:41:49 × Core3498 quits (~Zemy@72.178.108.235) (Ping timeout: 246 seconds)
23:43:32 <haskellbridge> <Man of Letters (Mikolaj)> but once you start writing GADTs it's so hard to avoid existentials; I tried for a while, marked each one in the source code, but quickly gave up --- too many :)
23:44:07 × ethantwardy quits (~user@user/ethantwardy) (Quit: WeeChat 4.4.2)
23:44:15 vanishingideal joins (~vanishing@user/vanishingideal)
23:44:27 bgamari joins (~bgamari@64.223.173.201)
23:44:29 <geekosaur> enh, you can enable GADTSyntax without enabling GADTs
23:45:40 <haskellbridge> <Man of Letters (Mikolaj)> oh no, but the sweet reward is in the extra type correctness real GADTs ensure, unlike GADTSyntax, especially for syntax-like things
23:46:18 <haskellbridge> <Man of Letters (Mikolaj)> I'd love to read some functional pearl that rewrites the classic GADT AST examples without existentials in some fancy way
23:46:36 <haskellbridge> <Man of Letters (Mikolaj)> in many plausible ways, preferably
23:46:52 <haskellbridge> <Man of Letters (Mikolaj)> with similar correctness guarantees
23:47:03 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:47:58 <EvanR> the GADTsyntax is besides the point, since the key thing is case analyzing to introduce the forgotten now unknown type... however it was defined and constructed
23:48:07 <haskellbridge> <Man of Letters (Mikolaj)> for a non-trivial AST (I don't remember Peano arithmetic or lambda calculus already have existential types in the classic encoding)
23:48:08 <geekosaur> I'm confused. Doesn't that extra correctness come specifically from the embedded existentials, which are exposed by scrutinizing constructors?
23:48:10 <EvanR> in cases where you use existentials
23:49:00 <haskellbridge> <Man of Letters (Mikolaj)> geekosaur: I'm afraid so, but maybe there is another way?
23:49:15 <EvanR> doing existentials without existentials sounds tricky
23:49:25 <EvanR> (and what's the point)
23:49:30 <haskellbridge> <Man of Letters (Mikolaj)> :D
23:50:23 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
23:50:59 ethantwardy joins (~user@user/ethantwardy)
23:51:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
23:52:51 <haskellbridge> <Man of Letters (Mikolaj)> well, the point is, they are not a zero-cost abstraction unlike, in principle, most of other abstractions Haskell provides
23:53:47 <haskellbridge> <Man of Letters (Mikolaj)> and being so handy, they easily pollute the performance-sensitive parts of the application
23:55:03 catties is now known as kitties
23:55:27 <geekosaur> I think the only other alternative isn't here yet: dependent type witnesses of some kind. Which are also not zero cost, and I suspect end up being just a different way to encode existentials
23:56:30 <haskellbridge> <Man of Letters (Mikolaj)> ;<
23:57:23 × trickard_ quits (~trickard@cpe-82-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
23:57:37 trickard_ joins (~trickard@cpe-82-98-47-163.wireline.com.au)
23:58:10 <geekosaur> (GADT-style, at least)
23:58:18 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)

All times are in UTC on 2026-01-17.