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.