Logs on 2026-01-25 (liberachat/#haskell)
| 00:05:19 | → | Beowulf joins (florian@2a01:4f9:3b:2d56::2) |
| 00:07:24 | × | Beowulf quits (florian@2a01:4f9:3b:2d56::2) (Remote host closed the connection) |
| 00:07:39 | × | athan quits (~athan@98.150.233.226) (Ping timeout: 265 seconds) |
| 00:09:02 | → | Beowulf joins (florian@2a01:4f9:3b:2d56::2) |
| 00:25:49 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 00:30:28 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 00:30:45 | → | athan joins (~athan@98.150.233.226) |
| 01:22:29 | × | Tuplanolla quits (~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:28:52 | → | nisstyre joins (wes@user/nisstyre) |
| 01:29:38 | × | Inline quits (~User@2001-4dd7-bc56-0-9df6-8597-3530-1076.ipv6dyn.netcologne.de) (Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/) |
| 01:29:54 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) (Read error: Connection reset by peer) |
| 01:32:53 | → | Inline joins (~User@2001-4dd7-bc56-0-81c2-63ee-6cae-a149.ipv6dyn.netcologne.de) |
| 01:33:48 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 01:41:18 | → | omidmash4 joins (~omidmash@user/omidmash) |
| 01:43:03 | × | omidmash quits (~omidmash@user/omidmash) (Ping timeout: 244 seconds) |
| 01:43:03 | omidmash4 | is now known as omidmash |
| 01:43:58 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 01:44:15 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 01:53:40 | × | XZDX quits (~xzdx@user/XZDX) (Ping timeout: 245 seconds) |
| 01:56:41 | × | athan quits (~athan@98.150.233.226) (Read error: Connection reset by peer) |
| 01:56:49 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 01:57:06 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 02:29:43 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds) |
| 02:32:37 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 246 seconds) |
| 02:33:13 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 02:35:36 | → | XZDX joins (~xzdx@2601:404:ce00:b795:214:51ff:fe83:9855) |
| 02:37:38 | × | XZDX quits (~xzdx@2601:404:ce00:b795:214:51ff:fe83:9855) (Changing host) |
| 02:37:38 | → | XZDX joins (~xzdx@user/XZDX) |
| 02:43:52 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 02:55:43 | × | omidmash quits (~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat) |
| 02:59:05 | → | omidmash joins (~omidmash@user/omidmash) |
| 03:01:42 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 03:02:01 | × | remmie quits (ianremsen@tilde.team) (Ping timeout: 246 seconds) |
| 03:05:03 | × | op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 03:05:38 | → | op_4 joins (~tslil@user/op-4/x-9116473) |
| 03:05:49 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds) |
| 03:10:45 | × | vulpine quits (xfnw@user/meow/xfnw) (Ping timeout: 252 seconds) |
| 03:13:23 | → | cyphase joins (~cyphase@user/cyphase) |
| 03:14:28 | → | vulpine joins (xfnw@user/meow/xfnw) |
| 03:19:32 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 03:20:57 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 03:25:41 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 03:39:11 | × | trickard quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 03:39:25 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 03:53:16 | → | remmie joins (ianremsen@tilde.team) |
| 03:54:14 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 04:02:07 | × | machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 04:06:48 | × | trickard_ quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 04:07:02 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 04:11:46 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds) |
| 04:12:27 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:34:04 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 04:44:40 | → | machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net) |
| 04:46:40 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 04:47:20 | × | XZDX quits (~xzdx@user/XZDX) (Remote host closed the connection) |
| 04:49:03 | × | trickard_ quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Ping timeout: 244 seconds) |
| 04:51:50 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 05:26:25 | × | machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 05:44:12 | → | wickedjargon joins (~user@2605:8d80:5431:4ad3:b838:5ad1:2e32:2ecc) |
| 05:59:41 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 06:22:47 | → | takuan joins (~takuan@d8D86B9E9.access.telenet.be) |
| 06:31:40 | trickard_ | is now known as trickard |
| 06:40:22 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 06:50:45 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 265 seconds) |
| 07:09:51 | → | chenjf joins (~chenjf@68.64.178.54) |
| 07:23:07 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
| 07:34:11 | × | chenjf quits (~chenjf@68.64.178.54) (Ping timeout: 250 seconds) |
| 07:34:28 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 07:48:48 | → | hsw joins (~hsw@106.104.102.45) |
| 07:52:54 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 07:57:03 | × | bliminse quits (~bliminse@user/bliminse) (Quit: leaving) |
| 08:00:07 | × | tt1231607 quits (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Quit: The Lounge - https://thelounge.chat) |
| 08:01:31 | → | bliminse joins (~bliminse@user/bliminse) |
| 08:05:39 | → | tt1231607 joins (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) |
| 08:14:27 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 08:19:04 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 08:24:02 | × | infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 265 seconds) |
| 08:33:57 | × | Inline quits (~User@2001-4dd7-bc56-0-81c2-63ee-6cae-a149.ipv6dyn.netcologne.de) (Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/) |
| 08:37:27 | → | Inline joins (~User@2001-4dd7-bc56-0-9e2a-e0f5-abd-1b3a.ipv6dyn.netcologne.de) |
| 08:38:24 | × | arandombit quits (~arandombi@user/arandombit) (Remote host closed the connection) |
| 08:44:24 | → | infinity0 joins (~infinity0@pwned.gg) |
| 08:44:54 | → | chenjf joins (~chenjf@68.64.178.54) |
| 08:47:14 | × | chenjf quits (~chenjf@68.64.178.54) (Client Quit) |
| 08:53:02 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 265 seconds) |
| 08:54:38 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 08:54:41 | → | oskarw joins (~user@user/oskarw) |
| 08:59:49 | → | an1k3sh joins (~an1k3sh@2401:4900:c92c:8a3b:b8f4:ad29:3d59:5028) |
| 09:00:08 | × | oskarw quits (~user@user/oskarw) (Ping timeout: 240 seconds) |
| 09:00:17 | × | an1k3sh quits (~an1k3sh@2401:4900:c92c:8a3b:b8f4:ad29:3d59:5028) (Client Quit) |
| 09:04:49 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds) |
| 09:20:41 | × | haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 09:23:26 | → | Tuplanolla joins (~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) |
| 09:36:13 | × | trickard quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 09:36:27 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 09:48:43 | × | wickedjargon quits (~user@2605:8d80:5431:4ad3:b838:5ad1:2e32:2ecc) (Ping timeout: 246 seconds) |
| 09:58:04 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 10:25:15 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 10:25:18 | → | poscat0x04 joins (~poscat@user/poscat) |
| 10:26:07 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds) |
| 10:27:03 | × | poscat quits (~poscat@user/poscat) (Ping timeout: 244 seconds) |
| 10:27:37 | → | Square3 joins (~Square@user/square) |
| 10:40:38 | × | Beowulf quits (florian@2a01:4f9:3b:2d56::2) (Remote host closed the connection) |
| 10:42:52 | → | rainbyte_ joins (~rainbyte@186.22.19.214) |
| 10:42:55 | × | rainbyte quits (~rainbyte@186.22.19.214) (Ping timeout: 264 seconds) |
| 10:43:39 | × | koz quits (~koz@121.99.240.58) (Quit: ZNC 1.8.2 - https://znc.in) |
| 10:43:46 | × | trickard_ quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 10:44:00 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 10:44:22 | → | __monty__ joins (~toonn@user/toonn) |
| 10:44:26 | → | koz joins (~koz@121.99.240.58) |
| 10:53:05 | × | trickard_ quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 10:54:10 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 11:02:52 | × | trickard_ quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 11:04:46 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 11:10:20 | → | Miroboru joins (~myrvoll@188.113.115.67) |
| 11:26:57 | → | fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi) |
| 11:27:05 | → | tremon joins (~tremon@83.80.159.219) |
| 11:34:37 | × | trickard_ quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 11:34:50 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 11:40:51 | × | hc quits (~hc@mail.hce.li) (Remote host closed the connection) |
| 12:09:14 | × | trickard_ quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 12:09:27 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 12:27:59 | × | Square3 quits (~Square@user/square) (Ping timeout: 250 seconds) |
| 12:29:26 | × | trickard_ quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 12:29:39 | → | trickard_ joins (~trickard@cpe-93-98-47-163.wireline.com.au) |
| 12:29:53 | → | oskarw joins (~user@user/oskarw) |
| 12:50:31 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 13:15:58 | × | fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 255 seconds) |
| 13:29:05 | → | arandombit joins (~arandombi@user/arandombit) |
| 13:31:30 | × | picnoir quits (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.8.1) |
| 13:33:44 | → | picnoir joins (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) |
| 13:37:52 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 13:47:21 | × | bionade24 quits (~quassel@server2.oscloud.info) (Quit: Apocalypse Incoming!) |
| 13:47:51 | → | bionade24 joins (~quassel@server2.oscloud.info) |
| 13:54:45 | trickard_ | is now known as trickard |
| 14:00:36 | → | chenjf joins (~chenjf@68.64.178.54) |
| 14:12:35 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 14:18:34 | × | yin quits (~zero@user/zero) (Ping timeout: 246 seconds) |
| 14:20:06 | × | chenjf quits (~chenjf@68.64.178.54) (Ping timeout: 252 seconds) |
| 14:26:37 | × | olivial quits (~benjaminl@user/benjaminl) (Ping timeout: 246 seconds) |
| 14:27:09 | → | olivial joins (~benjaminl@user/benjaminl) |
| 14:29:23 | → | yin joins (~zero@user/zero) |
| 14:34:03 | → | Beowulf joins (florian@2a01:4f9:3b:2d56::2) |
| 14:53:11 | × | Beowulf quits (florian@2a01:4f9:3b:2d56::2) (Remote host closed the connection) |
| 15:08:33 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 15:09:47 | × | nschoe- quits (~nschoe@2a01:e0a:8e:a190:fd7d:66d4:6085:f23d) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:10:04 | → | nschoe joins (~nschoe@2a01:e0a:8e:a190:fb25:893f:f58c:1f19) |
| 15:12:54 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
| 15:31:29 | → | DetourNe- joins (~DetourNet@user/DetourNetworkUK) |
| 15:31:56 | × | DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 15:33:43 | DetourNe- | is now known as DetourNetworkUK |
| 16:08:25 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 16:18:09 | → | Beowulf joins (florian@2a01:4f9:3b:2d56::2) |
| 16:21:44 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 16:23:07 | → | trickard___ joins (~trickard@cpe-86-98-47-163.wireline.com.au) |
| 16:23:54 | × | trickard quits (~trickard@cpe-93-98-47-163.wireline.com.au) (Ping timeout: 260 seconds) |
| 16:26:52 | → | jmcantrell_ joins (~weechat@user/jmcantrell) |
| 16:29:03 | jmcantrell_ | is now known as jmcantrell |
| 16:30:33 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 16:43:55 | × | Beowulf quits (florian@2a01:4f9:3b:2d56::2) (Remote host closed the connection) |
| 16:46:35 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 245 seconds) |
| 16:46:58 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 16:56:05 | × | trickard___ quits (~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 16:56:19 | → | trickard_ joins (~trickard@cpe-86-98-47-163.wireline.com.au) |
| 16:58:47 | → | Beowulf joins (florian@2a01:4f9:3b:2d56::2) |
| 17:06:16 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 17:20:08 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 240 seconds) |
| 17:35:16 | → | machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net) |
| 17:36:51 | × | Beowulf quits (florian@2a01:4f9:3b:2d56::2) (Remote host closed the connection) |
| 17:40:34 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 17:42:25 | → | Square3 joins (~Square@user/square) |
| 17:43:10 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 17:46:28 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
| 17:50:18 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 17:58:06 | × | qqq quits (~qqq@185.54.21.105) (Remote host closed the connection) |
| 18:13:29 | → | ss4 joins (~wootehfoo@user/wootehfoot) |
| 18:14:23 | → | divlamir_ joins (~divlamir@user/divlamir) |
| 18:15:31 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds) |
| 18:16:11 | × | divlamir quits (~divlamir@user/divlamir) (Ping timeout: 244 seconds) |
| 18:16:11 | divlamir_ | is now known as divlamir |
| 18:18:31 | → | qqq joins (~qqq@185.54.21.105) |
| 18:26:43 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 18:29:37 | → | fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi) |
| 18:32:11 | trickard_ | is now known as trickard |
| 18:38:05 | → | Beowulf joins (florian@2a01:4f9:3b:2d56::2) |
| 18:54:39 | × | qqq quits (~qqq@185.54.21.105) (Quit: Lost terminal) |
| 18:55:11 | × | ouilemur quits (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.8.1) |
| 18:59:11 | → | ouilemur joins (~jgmerritt@user/ouilemur) |
| 19:05:34 | × | DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 19:06:04 | → | DetourNetworkUK joins (DetourNetw@user/DetourNetworkUK) |
| 19:06:51 | → | jmcantrell_ joins (~weechat@user/jmcantrell) |
| 19:10:25 | × | Beowulf quits (florian@2a01:4f9:3b:2d56::2) (Remote host closed the connection) |
| 19:14:35 | → | euphores joins (~SASL_euph@user/euphores) |
| 19:15:24 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds) |
| 19:16:03 | → | wickedjargon joins (~user@24.83.46.194) |
| 19:16:12 | → | arandombit joins (~arandombi@user/arandombit) |
| 19:20:43 | × | driib3180 quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
| 19:21:48 | × | arahael quits (~wetfoot@user/arahael) (Ping timeout: 244 seconds) |
| 19:22:59 | → | arahael joins (~wetfoot@user/arahael) |
| 19:24:41 | → | driib3180 joins (~driib@vmi931078.contaboserver.net) |
| 19:32:30 | × | Pozyomka quits (~pyon@user/pyon) (Ping timeout: 252 seconds) |
| 19:41:08 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 19:41:24 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
| 19:42:28 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:49:13 | × | fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 264 seconds) |
| 19:53:47 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 20:05:12 | × | ethantwardy quits (~user@user/ethantwardy) (Ping timeout: 244 seconds) |
| 20:18:08 | × | tessier quits (~tessier@ip68-8-117-219.sd.sd.cox.net) (Ping timeout: 240 seconds) |
| 20:18:23 | → | tessier_ joins (~tessier@ip68-8-117-219.sd.sd.cox.net) |
| 20:19:04 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds) |
| 20:22:15 | <[exa]> | is there some sub-cryptographic hash library where the hashes would be somewhat stable between computers? Hashable is not super stable, and I don't want to throw SHA at a problem where crc32 is already an overkill |
| 20:22:55 | <[exa]> | ( preferably with some tooling to easily hash bigger datatypes than strings ) |
| 20:23:30 | → | haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 20:23:30 | × | haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 20:23:30 | → | haritz joins (~hrtz@user/haritz) |
| 20:24:34 | <Milan_Vanca> | [exa]: By hash you mean something that produces Int, like quick hash to produce key for "HashMap"? |
| 20:24:46 | <[exa]> | yeah |
| 20:25:10 | <[exa]> | but essentially I want the hashmap to be out of memory and preferably shared between computers, where Hashable seems to fail |
| 20:25:29 | <geekosaur> | yeh, Hashable's not designed for that use case in much of any sense |
| 20:25:31 | <tomsmeding> | [exa]: perhaps search for something like siphash or xxhash? |
| 20:25:36 | <tomsmeding> | or murmur |
| 20:25:43 | <tomsmeding> | one of the hashes that have been given names |
| 20:25:52 | <[exa]> | xxhash is ByteString -> Hash |
| 20:26:07 | <[exa]> | I ideally want AnyStableHashable a => a -> Hash |
| 20:26:32 | <geekosaur> | cabal has something internally for that, but it's not packaged. (uses Generic to hash ADTs) |
| 20:27:14 | → | wickedja` joins (~user@2605:8d80:5431:62ef:ec3f:86f3:7664:49eb) |
| 20:28:17 | <tomsmeding> | same in Accelerate :p |
| 20:28:29 | [exa] | prepares ctrl+c |
| 20:28:50 | <tomsmeding> | take the cabal one if you copy one of those, the accelerate thing is overengineered |
| 20:28:52 | × | wickedjargon quits (~user@24.83.46.194) (Ping timeout: 244 seconds) |
| 20:29:05 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 20:29:14 | <tomsmeding> | _and_ underengineered, it doesn't have many instances I think |
| 20:29:15 | <geekosaur> | hm, actually the cabal one is probably unsuitable though: it doesn't hash values, it specifically hashes structure |
| 20:29:26 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 20:29:42 | <tomsmeding> | [exa]: roll it yourself? How many types do you need |
| 20:29:54 | <geekosaur> | to ensure core data structures don't get changed unnecessarily and cause downstream breakage |
| 20:30:53 | <[exa]> | okay good that sounds like time to roll it |
| 20:30:59 | <tomsmeding> | and then package it up :) |
| 20:31:17 | <[exa]> | nah I have like 10 types, that's 10 functions |
| 20:31:23 | <tomsmeding> | there's actually a way to make the typeclass generic over the underlying hash implementation |
| 20:31:28 | <[exa]> | if I package it, the generality is gonna kill it :D :D |
| 20:32:21 | <tomsmeding> | class BaseHash base where { baseHash :: proxy base -> ByteString -> Int }; class BaseHash base => AnyHashable base a where { hash :: proxy base -> a -> Int } |
| 20:32:39 | <tomsmeding> | the proxy is ugly but it works |
| 20:33:56 | <[exa]> | hashable internally has some XXH3 or what |
| 20:34:03 | <[exa]> | cool. |
| 20:36:10 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 20:36:58 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit) |
| 20:56:43 | × | wickedja` quits (~user@2605:8d80:5431:62ef:ec3f:86f3:7664:49eb) (Remote host closed the connection) |
| 21:05:16 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 21:07:48 | <[exa]> | btw kinda related to the above, does anyone recognize what kind of hash is this: |
| 21:07:50 | <[exa]> | hsh x seed = seed `xor` (x * 2654435761 + 2654435769 + (shiftL seed 6) + (shiftR seed 2)) |
| 21:08:03 | <[exa]> | I found it in some very old source with a comment that it's very good indeed |
| 21:09:57 | <[exa]> | oh wow the magic numbers actually googled |
| 21:10:53 | × | myxos quits (~myxos@174-18-58-141.tcso.qwest.net) (Remote host closed the connection) |
| 21:11:44 | <tomsmeding> | does anyone have a recommendation for a package for filesystem events |
| 21:13:06 | <geekosaur> | the usual is fsnotify, I think |
| 21:13:12 | <[exa]> | tomsmeding: ghcid uses `fsnotify` and it was ok iirc |
| 21:13:29 | <tomsmeding> | why am I not getting that when I search for "notify" on hackage |
| 21:13:51 | <geekosaur> | tbh I use flora these days |
| 21:14:28 | → | myxos joins (~myxos@174-18-58-141.tcso.qwest.net) |
| 21:14:57 | <tomsmeding> | but thank you, that looks better than the 2018-era packages I was finding |
| 21:15:51 | → | Beowulf joins (florian@2a01:4f9:3b:2d56::2) |
| 21:16:36 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds) |
| 21:28:23 | <[exa]> | is there some philosophical reason for instance FromJSON () to always succeed? I'd kinda expect it should match a `null` or `[]` or something and scream if there's actual data |
| 21:28:33 | <[exa]> | ref: https://hackage.haskell.org/package/aeson-2.2.3.0/docs/src/Data.Aeson.Types.FromJSON.html#line-1672 |
| 21:29:03 | <tomsmeding> | doesn't aeson always allow it if there's more stuff than expected? |
| 21:29:21 | <[exa]> | not really, there's helpers to avoid that |
| 21:32:03 | <[exa]> | like, it's somewhat surprising |
| 21:32:27 | <[exa]> | I guess might be the case because of defaulting, if you write a parser and do `_ <- parseJSON`, it would select () by default |
| 21:32:48 | tomsmeding | isn't sure, but that sounds like a bad reason |
| 21:34:30 | <tomsmeding> | I might actually expect () to parse `null`, because there doesn't seem to be another way to specifically parse `null`? (Apart from parsing a `Value` and requiring it to be `Null`) |
| 21:35:02 | <[exa]> | yeah well you can do `Null <- ...` |
| 21:35:11 | <[exa]> | but we've got our cozy haskell null!!! |
| 21:35:41 | <tomsmeding> | [exa]: let me invert the question: why are you parsing a ()? |
| 21:36:04 | geekosaur | wonders if it's to play a bit more nicely in ghci with ExtendedDefaultRules or something like that |
| 21:36:19 | <[exa]> | I wanted to nicely match if a value is empty, looked pretty much okay that way |
| 21:37:09 | <geekosaur> | tbh that actually feels a bit wrong to me, since null is in-band in JSON |
| 21:38:30 | <[exa]> | oh well look at that https://github.com/haskell/aeson/issues/788#issuecomment-939328524 |
| 21:38:58 | <[exa]> | the philosophical reason is: in js everything can be null |
| 21:39:24 | <monochrom> | Does the empty object {} exist in JSON? I would be OK with that becoming () in Haskell. But then my idea still implies that parse errors still exist, e.g., parsing "5" to () should be an error. |
| 21:40:35 | <geekosaur> | that's what I meant by "in-band" |
| 21:40:50 | <geekosaur> | in Haskell it's a distinct type, not a distinct value inhabiting every type |
| 21:41:26 | × | oskarw quits (~user@user/oskarw) (Remote host closed the connection) |
| 21:42:41 | → | pavonia joins (~user@user/siracusa) |
| 21:52:45 | × | jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
| 21:53:08 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 21:55:30 | × | DetourNetworkUK quits (DetourNetw@user/DetourNetworkUK) (Ping timeout: 252 seconds) |
| 21:57:57 | <tomsmeding> | do I really have to reach into ghc-internal to get the UserInterrupt exception, for detecting if someone ^C'd me? |
| 21:58:30 | <tomsmeding> | ah no I'm stupid, ignore, it's AsyncException in base |
| 22:07:16 | <monochrom> | :) |
| 22:07:58 | <monochrom> | But beware that it is only delivered to the main thread. |
| 22:11:28 | → | mjacob joins (~mjacob@adrastea.uberspace.de) |
| 22:14:00 | <mjacob> | What are possible applications of cycles in functional reactive programming? I know that many frameworks forbid it unless there is a delay in each cycle. But it is hard to me to think of an example where cycles are useful (with or without delay). |
| 22:15:35 | <tomsmeding> | a clock? (disclaimer: have never used FRP) |
| 22:21:01 | × | oats quits (~oats@user/oats) (Read error: Connection reset by peer) |
| 22:21:16 | → | oats joins (~oats@user/oats) |
| 22:22:50 | × | machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 245 seconds) |
| 22:30:45 | <mjacob> | tomsmeding: Where is the cycle in this example? |
| 22:31:05 | <tomsmeding> | the update to the time triggers an update to the time again, after a delay? |
| 22:31:14 | <tomsmeding> | as I said, I dunno, maybe this is nonsense :) |
| 22:32:35 | <EvanR> | early versions of FRP exploited recursive definitions (why you might be thinking of as cycles?) to implement some sort of state |
| 22:33:07 | <geekosaur> | I wasn't using FRP but a PSQ for a simulation, and one of the events was a status report that triggered every so often in simulated time and rescheduled itself for later |
| 22:33:08 | <EvanR> | but whether that counts as some sort of cycle, might depend on your concept of the underlying implementation |
| 22:33:25 | <EvanR> | e.g. interpreting recursion doesn't necessarily need anything cyclic |
| 22:33:49 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 22:34:00 | × | takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 244 seconds) |
| 22:34:01 | <EvanR> | in arrow FRP you wouldn't use recursion but ArrowLoop |
| 22:35:27 | <geekosaur> | plus most other events scheduled other events for later, since it was a population simulator so it was simulating various life events |
| 22:38:36 | <monochrom> | People invent all sorts of "plain/simple English" words to avoid saying "recursion". :) |
| 22:41:08 | <monochrom> | I once posed a homework question that defined infinite streams of Bool to represent timing diagrams of digital circuits, then had students code up a flip flop using a feedback loop. (One more "plain English" word for recursion!) |
| 22:41:59 | <tomsmeding> | monochrom: conversely, functional programmers call everything recursion that we have more precise words for :) |
| 22:42:05 | <monochrom> | (It had to go through a delay. I also had a "part (b)" in which the students had to show what would go wrong in Haskell if there were no delay.) |
| 22:42:36 | <monochrom> | Oh yeah all of us should just say "least fixed point" and be done with it! |
| 22:43:32 | <monochrom> | But we are worse than calling everything "recursion" aren't we? We call everything "function". |
| 22:44:23 | <monochrom> | https://www.slideshare.net/slideshow/fp-patterns-buildstufflt/41936137#13 >:) |
| 22:44:26 | <tomsmeding> | our functions either recurse or traverse |
| 22:58:41 | <EvanR> | oop, everything's an object. FP, everything's a function! |
| 22:59:10 | × | Square3 quits (~Square@user/square) (Ping timeout: 255 seconds) |
| 23:02:34 | × | mulk quits (~mulk@pd95143a6.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 23:04:34 | → | mulk joins (~mulk@p5b1128da.dip0.t-ipconnect.de) |
| 23:08:29 | × | sp1ff` quits (~user@2601:1c2:4701:900::32d4) (Remote host closed the connection) |
| 23:11:22 | × | trickard quits (~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 23:11:35 | → | trickard_ joins (~trickard@cpe-86-98-47-163.wireline.com.au) |
| 23:13:16 | × | Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!) |
| 23:14:35 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 23:20:07 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 23:20:27 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:28:35 | → | Pozyomka joins (~pyon@user/pyon) |
| 23:36:42 | → | weary-traveler joins (~user@user/user363627) |
| 23:42:48 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds) |
| 23:44:10 | × | trickard_ quits (~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 23:44:23 | → | trickard_ joins (~trickard@cpe-86-98-47-163.wireline.com.au) |
All times are in UTC on 2026-01-25.