| 2026-01-03 00:03:55 +0100 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 240 seconds) |
| 2026-01-03 00:04:30 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2026-01-03 00:07:00 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 00:11:23 +0100 | Milan_Vanca | (~milan@user/Milan-Vanca:32634) (Quit: WeeChat 4.5.2) |
| 2026-01-03 00:16:20 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 00:21:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 00:28:06 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
| 2026-01-03 00:32:08 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 00:37:10 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-01-03 00:38:48 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) Inline |
| 2026-01-03 00:39:50 +0100 | <yin> | huge tangent but I just reminded myself of someone using sleep to efficiently sort a list of ints |
| 2026-01-03 00:40:13 +0100 | <geekosaur> | snerk |
| 2026-01-03 00:42:55 +0100 | <yin> | apparently they call it sleep sort now |
| 2026-01-03 00:43:11 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2026-01-03 00:44:09 +0100 | califax | (~califax@user/califx) califx |
| 2026-01-03 00:44:54 +0100 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds) |
| 2026-01-03 00:47:53 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 00:48:15 +0100 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
| 2026-01-03 00:48:24 +0100 | litharge | (litharge@libera/bot/litharge) litharge |
| 2026-01-03 00:52:46 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 00:56:35 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 252 seconds) |
| 2026-01-03 00:57:12 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
| 2026-01-03 01:03:28 +0100 | vulpine | (xfnw@user/meow/xfnw) (Quit: Connection reset by purr) |
| 2026-01-03 01:03:52 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 01:04:40 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
| 2026-01-03 01:10:37 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 01:16:58 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2026-01-03 01:17:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 01:21:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 01:32:34 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2026-01-03 01:32:56 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 01:32:58 +0100 | <monochrom> | Does it mean that if the list to be sorted is [n] then it will sleep for n units of time? So Ω(n) time for sorting a singleton list? That's efficient? |
| 2026-01-03 01:35:05 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Ping timeout: 252 seconds) |
| 2026-01-03 01:36:01 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
| 2026-01-03 01:36:35 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) (Remote host closed the connection) |
| 2026-01-03 01:37:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 01:37:43 +0100 | <geekosaur> | for a specific definitoon of "efficient" 🙂 |
| 2026-01-03 01:48:41 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 01:51:02 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 01:51:43 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 01:53:48 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-01-03 02:04:29 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 02:04:58 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 02:05:39 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 02:07:35 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) Inline |
| 2026-01-03 02:08:36 +0100 | omidmash3 | (~omidmash@user/omidmash) omidmash |
| 2026-01-03 02:09:36 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 02:09:37 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 02:10:34 +0100 | omidmash | (~omidmash@user/omidmash) (Ping timeout: 244 seconds) |
| 2026-01-03 02:10:34 +0100 | omidmash3 | omidmash |
| 2026-01-03 02:11:30 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 02:12:37 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) (Ping timeout: 264 seconds) |
| 2026-01-03 02:14:36 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) Inline |
| 2026-01-03 02:20:14 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 02:21:48 +0100 | Tuplanolla | (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2026-01-03 02:24:39 +0100 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2026-01-03 02:25:00 +0100 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2026-01-03 02:27:44 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 02:27:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 02:29:09 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 02:29:21 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) (Remote host closed the connection) |
| 2026-01-03 02:36:34 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 02:38:23 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 02:39:08 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 02:42:31 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) Inline |
| 2026-01-03 02:43:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 02:44:46 +0100 | acidjnk | (~acidjnk@p200300d6e7171974ecdc66dbb7a91ed3.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2026-01-03 02:51:47 +0100 | <epitron> | You can speed it up by a factor of 1000 by only sleeping for 1ms |
| 2026-01-03 02:52:02 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 02:52:38 +0100 | <epitron> | Also its runtime is the largest value in the list, not the list size |
| 2026-01-03 02:52:58 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 02:53:10 +0100 | epitron | sleep sort expert |
| 2026-01-03 02:54:56 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 02:56:09 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-01-03 02:59:20 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 02:59:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 03:02:08 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 03:04:44 +0100 | <monochrom> | > 2^64 / 1000 / 86400 |
| 2026-01-03 03:04:51 +0100 | <monochrom> | % 2^64 / 1000 / 86400 |
| 2026-01-03 03:04:51 +0100 | <yahb2> | 2.135039823346013e11 |
| 2026-01-03 03:04:55 +0100 | <monochrom> | That's 2 days. |
| 2026-01-03 03:05:35 +0100 | <monochrom> | It means that if I sort a list of just a few 64-bit numbers I'm already waiting 2 days. |
| 2026-01-03 03:08:00 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 03:08:16 +0100 | <monochrom> | OTOH if the list has 1,000,000 numbers, we are spawning 1,000,000 threads. At that point the OS overhead of spawning so many threads becomes unbearable; and even if you find a way to tolerate it, the huge uncertainty that some threads start counting early, some others start count late, means that your sleep time cannot be as short as 1ms. |
| 2026-01-03 03:09:01 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 03:10:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 03:14:11 +0100 | <monochrom> | Once again the fallacy of seeing O/Θ/Ω("n") and thinking "I only see 'n', so linear time, and if I can easily make a 1000x speedup then it's fast", forgetting that really n = 2^k where k is the number of input bits, so you're looking at exponential time, at which point a 1000x speedup fails to catch up. |
| 2026-01-03 03:14:21 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 03:15:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 03:15:36 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-01-03 03:15:43 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 03:18:16 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 03:18:49 +0100 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
| 2026-01-03 03:19:29 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) (Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/) |
| 2026-01-03 03:21:28 +0100 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-01-03 03:26:30 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 03:26:35 +0100 | Square3 | (~Square@user/square) (Ping timeout: 240 seconds) |
| 2026-01-03 03:27:35 +0100 | jmcantrell_ | jmcantrell |
| 2026-01-03 03:28:52 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2026-01-03 03:31:13 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 03:42:05 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 03:47:06 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-01-03 03:55:15 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2026-01-03 03:57:53 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 04:02:31 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 04:09:49 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 246 seconds) |
| 2026-01-03 04:10:48 +0100 | aetepe | (~aetepe@188.119.58.52) aetepe |
| 2026-01-03 04:11:53 +0100 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-01-03 04:15:04 +0100 | aetepe | (~aetepe@188.119.58.52) (Ping timeout: 246 seconds) |
| 2026-01-03 04:57:00 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-01-03 05:06:55 +0100 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 240 seconds) |
| 2026-01-03 05:09:40 +0100 | crazazy | (crazazy@tilde.town) (Ping timeout: 255 seconds) |
| 2026-01-03 05:22:37 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 2026-01-03 05:26:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 05:33:28 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 05:39:04 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
| 2026-01-03 05:44:57 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 05:50:25 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 05:54:22 +0100 | crazazy | (~crazazy@tilde.town) crazazy |
| 2026-01-03 06:00:45 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 06:02:57 +0100 | crazazy | (~crazazy@tilde.town) (Ping timeout: 252 seconds) |
| 2026-01-03 06:05:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 06:16:31 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 06:17:45 +0100 | aetepe | (~aetepe@188.119.58.52) aetepe |
| 2026-01-03 06:21:09 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-01-03 06:22:07 +0100 | aetepe | (~aetepe@188.119.58.52) (Ping timeout: 246 seconds) |
| 2026-01-03 06:32:30 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 06:36:33 +0100 | spew | (~spew@user/spew) (Quit: nyaa~) |
| 2026-01-03 06:37:10 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 06:48:21 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 06:52:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 07:03:48 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 07:05:52 +0100 | karenw | (~karenw@user/karenw) (Ping timeout: 246 seconds) |
| 2026-01-03 07:08:31 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 07:19:34 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 07:24:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 07:25:25 +0100 | crazazy | (crazazy@tilde.town) crazazy |
| 2026-01-03 07:30:54 +0100 | crazazy | (crazazy@tilde.town) (Ping timeout: 244 seconds) |
| 2026-01-03 07:34:52 +0100 | mmohammadi9812 | (~mohammad@46.236.253.29) mmohammadi9812 |
| 2026-01-03 07:35:23 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 07:40:12 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-01-03 07:40:33 +0100 | mmohammadi9812 | (~mohammad@46.236.253.29) (Remote host closed the connection) |
| 2026-01-03 07:51:09 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 07:55:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 08:01:32 +0100 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2026-01-03 08:01:44 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 08:04:48 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2026-01-03 08:06:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 08:10:40 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-01-03 08:35:32 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 08:40:24 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2026-01-03 08:46:37 +0100 | aetepe | (~aetepe@188.119.58.52) aetepe |
| 2026-01-03 08:51:18 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 08:54:58 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-01-03 08:56:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 09:02:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 09:07:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 09:17:30 +0100 | jetchisel | (~jetchisel@user/jetchisel) (Quit: Unfortunately time is always against us -- [Morpheus]) |
| 2026-01-03 09:26:34 +0100 | aetepe | (~aetepe@188.119.58.52) (Ping timeout: 246 seconds) |
| 2026-01-03 09:34:18 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 09:38:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 09:49:50 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 09:53:06 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2026-01-03 09:54:05 +0100 | aetepe | (~aetepe@188.119.58.52) aetepe |
| 2026-01-03 09:54:11 +0100 | carbolymer | (carbolymer@delirium.systems) () |
| 2026-01-03 09:54:34 +0100 | carbolymer | (~carbolyme@2a0a:4cc0:c1:e0af::) carbolymer |
| 2026-01-03 09:54:34 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 09:55:09 +0100 | carbolymer | (~carbolyme@2a0a:4cc0:c1:e0af::) (Client Quit) |
| 2026-01-03 09:55:40 +0100 | carbolymer | (carbolymer@delirium.systems) carbolymer |
| 2026-01-03 09:58:49 +0100 | aetepe | (~aetepe@188.119.58.52) (Ping timeout: 264 seconds) |
| 2026-01-03 10:00:52 +0100 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds) |
| 2026-01-03 10:03:44 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 10:10:27 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-01-03 10:19:58 +0100 | mmohammadi9812 | (~mohammad@89.168.52.105) mmohammadi9812 |
| 2026-01-03 10:21:47 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 10:24:11 +0100 | acidjnk | (~acidjnk@p200300d6e7171928c97b09002621ce21.dip0.t-ipconnect.de) acidjnk |
| 2026-01-03 10:27:01 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 10:31:35 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2026-01-03 10:36:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 10:41:02 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-01-03 10:43:53 +0100 | mmohammadi9812 | (~mohammad@89.168.52.105) (Remote host closed the connection) |
| 2026-01-03 10:52:08 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 10:52:33 +0100 | __monty__ | (~toonn@user/toonn) toonn |
| 2026-01-03 10:52:48 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2026-01-03 10:56:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 11:01:52 +0100 | Tuplanolla | (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) Tuplanolla |
| 2026-01-03 11:03:22 +0100 | tv | (~tv@user/tv) tv |
| 2026-01-03 11:04:49 +0100 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-01-03 11:09:15 +0100 | merijn | (~merijn@62.45.136.136) (Ping timeout: 240 seconds) |
| 2026-01-03 11:20:28 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 11:25:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 11:34:04 +0100 | mmohammadi9812 | (~mohammad@85.185.35.42) mmohammadi9812 |
| 2026-01-03 11:36:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 11:40:58 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 11:46:28 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
| 2026-01-03 11:48:56 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
| 2026-01-03 11:50:25 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds) |
| 2026-01-03 11:52:03 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 11:52:32 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-01-03 11:56:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 12:00:26 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-01-03 12:05:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 12:10:22 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 12:20:57 +0100 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) (Read error: Connection reset by peer) |
| 2026-01-03 12:21:14 +0100 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) GdeVolpiano |
| 2026-01-03 12:22:27 +0100 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) (Client Quit) |
| 2026-01-03 12:33:28 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-01-03 12:37:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 12:42:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 12:46:35 +0100 | aetepe | (~aetepe@188.119.58.52) aetepe |
| 2026-01-03 12:47:04 +0100 | mmohammadi9812 | (~mohammad@85.185.35.42) (Remote host closed the connection) |
| 2026-01-03 12:47:20 +0100 | mmohammadi9812 | (~mohammad@85.185.35.42) mmohammadi9812 |
| 2026-01-03 12:53:08 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 12:58:22 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-01-03 13:06:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 13:10:54 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-01-03 13:10:55 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) Inline |
| 2026-01-03 13:12:01 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 13:14:16 +0100 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
| 2026-01-03 13:22:53 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 13:29:28 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 13:36:44 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds) |
| 2026-01-03 13:41:11 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 13:45:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 13:46:10 +0100 | crazazy | (~crazazy@tilde.town) crazazy |
| 2026-01-03 13:56:26 +0100 | crazazy | (~crazazy@tilde.town) (Ping timeout: 244 seconds) |
| 2026-01-03 13:56:33 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 13:59:15 +0100 | Square3 | (~Square@user/square) Square |
| 2026-01-03 13:59:25 +0100 | mmohammadi9812 | (~mohammad@85.185.35.42) (Ping timeout: 264 seconds) |
| 2026-01-03 14:01:27 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-01-03 14:02:35 +0100 | aetepe | (~aetepe@188.119.58.52) (Ping timeout: 240 seconds) |
| 2026-01-03 14:05:17 +0100 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) smalltalkman |
| 2026-01-03 14:07:44 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 14:12:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 14:23:30 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 14:28:27 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-01-03 14:29:18 +0100 | aetepe | (~aetepe@188.119.58.52) aetepe |
| 2026-01-03 14:33:15 +0100 | aetepe | (~aetepe@188.119.58.52) (Ping timeout: 240 seconds) |
| 2026-01-03 14:34:22 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 14:39:18 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 14:41:37 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2026-01-03 14:42:44 +0100 | aetepe | (~aetepe@188.119.58.52) aetepe |
| 2026-01-03 14:44:20 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-01-03 14:55:06 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 14:59:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 15:00:48 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2026-01-03 15:01:36 +0100 | Motok | (~moto@user/Motok) Motok |
| 2026-01-03 15:08:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 15:09:13 +0100 | CloneOfNone | (~CloneOfNo@user/CloneOfNone) CloneOfNone |
| 2026-01-03 15:09:15 +0100 | CloneOfNone_ | (~CloneOfNo@user/CloneOfNone) (Ping timeout: 240 seconds) |
| 2026-01-03 15:11:39 +0100 | Miroboru | (~myrvoll@188.113.115.67) Miroboru |
| 2026-01-03 15:13:04 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2026-01-03 15:15:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 15:18:05 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 15:18:47 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 15:28:13 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 15:28:54 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 15:29:32 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 15:32:31 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2026-01-03 15:33:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 15:39:18 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 15:40:10 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 15:40:41 +0100 | crazazy | (~crazazy@tilde.town) crazazy |
| 2026-01-03 15:44:59 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 15:46:39 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 15:47:53 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 15:49:33 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2026-01-03 15:50:55 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
| 2026-01-03 15:51:19 +0100 | crazazy | (~crazazy@tilde.town) (Ping timeout: 264 seconds) |
| 2026-01-03 15:52:54 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 15:54:05 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 16:00:26 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 16:05:25 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 16:09:45 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 16:10:43 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 16:11:16 +0100 | <haskellbridge> | <Liamzee> interesting question: can free monads be used to specify a program via types as an eDSL? |
| 2026-01-03 16:11:19 +0100 | <haskellbridge> | <Liamzee> the goal is velocity |
| 2026-01-03 16:14:49 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2026-01-03 16:20:18 +0100 | mmohammadi9812 | (~mohammad@85.185.35.42) mmohammadi9812 |
| 2026-01-03 16:25:33 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 16:26:02 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-01-03 16:26:40 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2026-01-03 16:29:48 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 16:30:20 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-01-03 16:31:00 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 16:34:48 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 16:36:33 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 16:37:51 +0100 | Pozyomka | (~pyon@user/pyon) (Quit: brb) |
| 2026-01-03 16:39:51 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 16:41:04 +0100 | mmohammadi9812 | (~mohammad@85.185.35.42) (Ping timeout: 260 seconds) |
| 2026-01-03 16:41:09 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 16:41:54 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 16:42:13 +0100 | bb010g | (~bb010g@wank.party) bb010g |
| 2026-01-03 16:44:48 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 16:46:00 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 16:46:12 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-01-03 16:49:50 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 16:51:03 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 16:56:28 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 2026-01-03 16:56:55 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 17:00:50 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-01-03 17:03:59 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
| 2026-01-03 17:05:34 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-01-03 17:09:30 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2026-01-03 17:10:46 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 17:14:20 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 17:15:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 17:16:35 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 17:19:11 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
| 2026-01-03 17:19:55 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 17:20:38 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 17:24:54 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 17:25:35 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 17:26:31 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 17:26:49 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 17:30:40 +0100 | bb010g | (~bb010g@wank.party) (Remote host closed the connection) |
| 2026-01-03 17:31:13 +0100 | bb010g | (~bb010g@wank.party) bb010g |
| 2026-01-03 17:31:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 17:34:48 +0100 | Motok | (~moto@user/Motok) (Remote host closed the connection) |
| 2026-01-03 17:42:16 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 17:46:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 17:49:05 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod |
| 2026-01-03 17:49:12 +0100 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
| 2026-01-03 17:49:32 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2026-01-03 17:54:50 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2026-01-03 17:54:54 +0100 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
| 2026-01-03 17:57:47 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 18:04:29 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2026-01-03 18:11:47 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 18:13:55 +0100 | Milan_Vanca | (~Milan_Van@user/Milan-Vanca:32634) Milan_Vanca |
| 2026-01-03 18:14:23 +0100 | Milan_Vanca | (~Milan_Van@user/Milan-Vanca:32634) () |
| 2026-01-03 18:16:42 +0100 | Milan_Vanca | (~milan@user/Milan-Vanca:32634) Milan_Vanca |
| 2026-01-03 18:16:49 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-03 18:18:59 +0100 | <Milan_Vanca> | Hello :), do you use partial functions? I get that it is unsafe and may lead to runtime errors, but it feels pointles to use function that produces Maybe then pattern match on Nothing and throw my own error. |
| 2026-01-03 18:19:51 +0100 | <Milan_Vanca> | Or is it good practise to always think about all possible branches and explicitly document them? Even when they could not possibly be evaluated at runtime? |
| 2026-01-03 18:19:55 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2026-01-03 18:21:18 +0100 | <monochrom> | I use partial functions when it becomes over-engineering to make them total. |
| 2026-01-03 18:21:30 +0100 | spew | (~spew@user/spew) spew |
| 2026-01-03 18:21:40 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) (Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/) |
| 2026-01-03 18:22:41 +0100 | <Milan_Vanca> | So basically when you feel/decide it is not worth it. |
| 2026-01-03 18:25:39 +0100 | <Leary> | Milan_Vanca: The only partial function I use often is `error`. It's usually worth writing your own error messages, since the generic ones tend not to be very helpful. |
| 2026-01-03 18:25:44 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-01-03 18:26:28 +0100 | <Milan_Vanca> | Leary: hmm so no other use of partial? Interesting. |
| 2026-01-03 18:27:40 +0100 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-01-03 18:30:47 +0100 | <Milan_Vanca> | How wouuld you guyz approach this problem. Imagine I have list of elements of arbitrary length. I pad it so it is multiple of 512. Now I try to consume this list by chunks of 512. I am tempted to use partial function for consuming as it should not be possible to have non mod 512 lenght. If padding is correct error can't happen. |
| 2026-01-03 18:31:37 +0100 | <Milan_Vanca> | Leary: Would you still use total function and pattern match on Nothing and then throw error? |
| 2026-01-03 18:32:25 +0100 | merijn | (~merijn@62.45.136.136) (Ping timeout: 245 seconds) |
| 2026-01-03 18:32:40 +0100 | <monochrom> | I work backwards. If the impossible happens, do I have a plan B for the program to continue working (is it even required?), or should it just crash and I just fix the bug and move on? |
| 2026-01-03 18:33:45 +0100 | <EvanR> | Milan_Vanca, true, it is pointless to use a Maybe, pattern match and then throw an error. Unless you want to change the error message in case the impossible happens. The failure case is impossible right? |
| 2026-01-03 18:34:10 +0100 | <Milan_Vanca> | monochrom: This is great idea! I should ask this question more often when programming. |
| 2026-01-03 18:34:39 +0100 | <EvanR> | sometimes Nothing would be impossible |
| 2026-01-03 18:34:59 +0100 | <EvanR> | but it's important to not delude yourself... which is why you need proof |
| 2026-01-03 18:35:05 +0100 | <EvanR> | not a runtime test |
| 2026-01-03 18:35:07 +0100 | <Milan_Vanca> | EvanR: Yeah it should be, I try to implement MD5 which pads messages to modulo 512. Then computes whole blocks. So it should not error as it would imply I padded wrong. |
| 2026-01-03 18:35:17 +0100 | <monochrom> | But in your example, I don't even have that dichotomy. Instead of pre-padding then expect well-padded, just go ahead consume the chunk and pad the last chunk when found. |
| 2026-01-03 18:36:00 +0100 | <EvanR> | sometimes the algorithm can be made more efficient at the expense of requiring a meticulous proof that some situations can't happen, not covered by the type system |
| 2026-01-03 18:36:02 +0100 | <Milan_Vanca> | monochrom: Yeah agree this is nice solution, but MD5 says there must be padding. As operation is not defined on blocks of different length that 512 |
| 2026-01-03 18:36:08 +0100 | <monochrom> | s/consume the chunk/consume the chunks/ |
| 2026-01-03 18:36:51 +0100 | <EvanR> | it sounds scary until you realize every line of dynamically typed code is using this mentality |
| 2026-01-03 18:37:02 +0100 | <EvanR> | and somehow runs the world |
| 2026-01-03 18:37:25 +0100 | <Leary> | The problem with "this case is impossible anyway" is that you can be wrong, or code elsewhere can change that breaks it. When that happens, you will really want to see a runtime error that points precisely to the code that threw it, not a "*** Exception: Maybe.fromJust: Nothing" which could have come from anywhere. |
| 2026-01-03 18:37:28 +0100 | <Milan_Vanca> | EvanR: This idea of proofing is interesting, but I am not proficient at math and cannot even imagine how could I proof that something will or won't happen. However I have a strong gut feeling :D |
| 2026-01-03 18:38:22 +0100 | <EvanR> | since you're dealing with a very specific algorithm, it is possible and somebody has probably done it 1000 times |
| 2026-01-03 18:38:31 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2026-01-03 18:38:36 +0100 | <Milan_Vanca> | EvanR: :( So true... My day to day job is with these dynamic languages. |
| 2026-01-03 18:38:41 +0100 | <EvanR> | just trace backwards where this nothing might have come from and see that it is ... nowhere |
| 2026-01-03 18:39:35 +0100 | <EvanR> | also Leary is also right |
| 2026-01-03 18:39:51 +0100 | <Milan_Vanca> | Leary: Oookey I can see that.. I will try to document "imposible" cases |
| 2026-01-03 18:40:08 +0100 | <EvanR> | GHC has crashed on my with "the impossible happened" xD |
| 2026-01-03 18:40:15 +0100 | <Leary> | Milan_Vanca: I would not pad the list, but parse fixed-size chunks from the list into a (dense) bespoke type with your invariant. That type would then have fast, safe operations written in terms of unsafe or partial functions. |
| 2026-01-03 18:40:16 +0100 | <EvanR> | very sad |
| 2026-01-03 18:40:40 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
| 2026-01-03 18:41:55 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 18:42:03 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 2026-01-03 18:42:03 +0100 | ljdarj1 | ljdarj |
| 2026-01-03 18:42:08 +0100 | <Milan_Vanca> | EvanR: Was the error *** Exception: Prelude.head: empty list ?? :D Just kidding :D |
| 2026-01-03 18:42:27 +0100 | <Milan_Vanca> | EvanR: SO internal GHC error? |
| 2026-01-03 18:42:28 +0100 | <EvanR> | ... no |
| 2026-01-03 18:42:45 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 18:43:09 +0100 | <EvanR> | this was very rare which is good |
| 2026-01-03 18:43:27 +0100 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-01-03 18:43:32 +0100 | <EvanR> | but shows how hard it can be to verify code even when the language forces you to think about the cases |
| 2026-01-03 18:44:46 +0100 | <Milan_Vanca> | Leary: Hmm not sure if I want to rewrite my algo now.. But I might try it later when I am bored. So basically you would "pad" only when last block is not 512 and in moment you parse it to some datatype? |
| 2026-01-03 18:46:38 +0100 | <Leary> | Yes, something like `newtype Chunk512 = UnsafeMkChunk512 Text; parseChunk512 :: [Char] -> Maybe (Chunk512, [Char])`. |
| 2026-01-03 18:47:55 +0100 | merijn | (~merijn@62.45.136.136) (Ping timeout: 240 seconds) |
| 2026-01-03 18:48:39 +0100 | <EvanR> | then internal code only uses UnsafeMkChunk512 when it is definitely the case that the chunk has that length. Parsers bear a lot of burden |
| 2026-01-03 18:49:22 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 18:49:35 +0100 | <EvanR> | for extra paranoia don't export UnsafeMkChunk512 at least in a public API |
| 2026-01-03 18:50:16 +0100 | <Leary> | That's not extra paranoia, that's the basic level. |
| 2026-01-03 18:52:16 +0100 | <EvanR> | who would use UnsafeMkChunk512 irresponsibly when it says Unsafe all over it?? xD |
| 2026-01-03 18:54:08 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 18:56:21 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 18:57:00 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 18:57:15 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 240 seconds) |
| 2026-01-03 19:00:56 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 19:01:50 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 19:05:17 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 19:05:41 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-01-03 19:08:03 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2026-01-03 19:09:40 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 19:12:52 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 19:17:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 19:18:38 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 19:20:16 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 19:28:36 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 19:29:57 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
| 2026-01-03 19:32:14 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) Inline |
| 2026-01-03 19:33:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2026-01-03 19:36:58 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 19:37:55 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 19:38:17 +0100 | Digit | (~user@user/digit) (Remote host closed the connection) |
| 2026-01-03 19:43:51 +0100 | Digit | (~user@user/digit) Digit |
| 2026-01-03 19:44:23 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 19:46:43 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 19:47:54 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 19:49:23 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-01-03 19:51:42 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 19:52:59 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 20:00:10 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 20:03:08 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 20:03:56 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 20:04:58 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-03 20:06:23 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2026-01-03 20:09:08 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 20:09:51 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 20:12:46 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 20:13:48 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 20:13:58 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 20:18:40 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-01-03 20:23:11 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 20:23:50 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 20:28:13 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 20:28:15 +0100 | aman | (~aman@user/aman) (Ping timeout: 240 seconds) |
| 2026-01-03 20:28:55 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 20:29:36 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-03 20:35:19 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) (Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/) |
| 2026-01-03 20:35:21 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 20:35:25 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds) |
| 2026-01-03 20:35:45 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-01-03 20:35:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-03 20:36:35 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 2026-01-03 20:37:02 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Client Quit) |
| 2026-01-03 20:37:04 +0100 | Lord_of_Life_ | Lord_of_Life |
| 2026-01-03 20:39:34 +0100 | wennefer0 | (~wennefer0@user/wennefer0) wennefer0 |
| 2026-01-03 20:40:42 +0100 | pebble | (~pebble@212.104.118.193) pebble |
| 2026-01-03 20:40:46 +0100 | Inline | (~User@cgn-195-14-221-74.nc.de) Inline |
| 2026-01-03 20:43:40 +0100 | mangoiv | (~mangoiv@user/mangoiv) (Quit: The Lounge - https://thelounge.chat) |
| 2026-01-03 20:44:57 +0100 | Everything | (~Everythin@46.96.10.169) Everything |
| 2026-01-03 20:45:56 +0100 | mangoiv | (~mangoiv@user/mangoiv) mangoiv |
| 2026-01-03 20:46:15 +0100 | pebble | (~pebble@212.104.118.193) (Quit: KVIrc 5.2.8 Quasar http://www.kvirc.net/) |
| 2026-01-03 20:47:38 +0100 | wennefer0 | (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2026-01-03 20:47:39 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |