| 2024-12-02 00:01:05 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 00:04:26 +0000 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 2024-12-02 00:06:10 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 00:14:21 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2024-12-02 00:16:07 +0000 | banner_ | (~banner@202.137.173.5) |
| 2024-12-02 00:16:21 +0000 | banner | (~banner@202.137.173.5) (Read error: Connection reset by peer) |
| 2024-12-02 00:16:52 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 00:19:02 +0000 | zenmov | (~zenmov@user/zenmov) (Ping timeout: 255 seconds) |
| 2024-12-02 00:19:57 +0000 | poopiedookie | (~poopiedoo@syn-069-206-166-125.res.spectrum.com) (Quit: Client closed) |
| 2024-12-02 00:20:50 +0000 | Everything | (~Everythin@46.211.118.149) (Ping timeout: 252 seconds) |
| 2024-12-02 00:21:37 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 00:22:47 +0000 | Everything | (~Everythin@46-133-39-1.mobile.vf-ua.net) Everything |
| 2024-12-02 00:26:15 +0000 | xff0x | (~xff0x@2405:6580:b080:900:bdb1:25e1:e64a:22aa) (Ping timeout: 252 seconds) |
| 2024-12-02 00:28:40 +0000 | sprotte24 | (~sprotte24@p200300d16f31c000346c7ccb6d0f74ba.dip0.t-ipconnect.de) (Quit: Leaving) |
| 2024-12-02 00:29:59 +0000 | KicksonButt | (~quassel@187.21.174.221) (Ping timeout: 252 seconds) |
| 2024-12-02 00:30:57 +0000 | banner_ | (~banner@202.137.173.5) (Quit: Leaving) |
| 2024-12-02 00:31:39 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2024-12-02 00:32:40 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 00:37:45 +0000 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier |
| 2024-12-02 00:39:27 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 00:44:55 +0000 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 260 seconds) |
| 2024-12-02 00:48:14 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds) |
| 2024-12-02 00:50:44 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 00:55:23 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 2024-12-02 00:58:36 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 00:59:51 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
| 2024-12-02 01:01:35 +0000 | gvg | (~dcd@user/gvg) gvg |
| 2024-12-02 01:04:02 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 2024-12-02 01:05:34 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2024-12-02 01:10:21 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
| 2024-12-02 01:14:22 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 01:19:04 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2024-12-02 01:19:08 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 01:25:55 +0000 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
| 2024-12-02 01:27:13 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2024-12-02 01:30:09 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 01:35:05 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 2024-12-02 01:43:00 +0000 | mange | (~user@user/mange) mange |
| 2024-12-02 01:45:58 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 01:50:40 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 01:51:11 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
| 2024-12-02 01:53:58 +0000 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier |
| 2024-12-02 01:57:56 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2024-12-02 01:59:09 +0000 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 245 seconds) |
| 2024-12-02 02:01:11 +0000 | billchenchina | (~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) billchenchina |
| 2024-12-02 02:01:44 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 02:06:39 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 2024-12-02 02:15:36 +0000 | Enviosity | (~Enviosity@2.219.56.221) (Quit: Connection error?!) |
| 2024-12-02 02:16:11 +0000 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2024-12-02 02:17:30 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 02:18:25 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 2024-12-02 02:22:09 +0000 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds) |
| 2024-12-02 02:22:42 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 2024-12-02 02:22:48 +0000 | Square | (~Square@user/square) Square |
| 2024-12-02 02:25:52 +0000 | zenmov | (~zenmov@user/zenmov) zenmov |
| 2024-12-02 02:33:21 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 02:34:41 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2024-12-02 02:35:10 +0000 | Enviosity | (~Enviosity@2.219.56.221) |
| 2024-12-02 02:38:28 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 2024-12-02 02:43:12 +0000 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier |
| 2024-12-02 02:47:53 +0000 | euleritian | (~euleritia@77.22.252.159) |
| 2024-12-02 02:49:05 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 02:53:33 +0000 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 246 seconds) |
| 2024-12-02 02:54:17 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 2024-12-02 02:58:17 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
| 2024-12-02 02:59:36 +0000 | Enviosity_ | (~Enviosity@2.219.56.221) |
| 2024-12-02 03:02:09 +0000 | Enviosity | (~Enviosity@2.219.56.221) (Ping timeout: 252 seconds) |
| 2024-12-02 03:04:09 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
| 2024-12-02 03:04:53 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 03:08:46 +0000 | td_ | (~td@i53870919.versanet.de) (Ping timeout: 252 seconds) |
| 2024-12-02 03:09:52 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 03:10:33 +0000 | td_ | (~td@i5387091A.versanet.de) td_ |
| 2024-12-02 03:20:42 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 03:27:26 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2024-12-02 03:27:42 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 2024-12-02 03:30:20 +0000 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2024-12-02 03:33:18 +0000 | tv | (~tv@user/tv) (Read error: Connection reset by peer) |
| 2024-12-02 03:35:44 +0000 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier |
| 2024-12-02 03:38:45 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 03:40:18 +0000 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 252 seconds) |
| 2024-12-02 03:43:09 +0000 | Everything | (~Everythin@46-133-39-1.mobile.vf-ua.net) (Quit: leaving) |
| 2024-12-02 03:43:14 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 2024-12-02 03:50:10 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2024-12-02 03:54:07 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 03:58:59 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 04:07:03 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 2024-12-02 04:09:48 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 04:14:46 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 04:19:39 +0000 | aforemny_ | (~aforemny@2001:9e8:6cc2:7300:b057:b2c0:d48e:e441) aforemny |
| 2024-12-02 04:20:05 +0000 | aforemny | (~aforemny@2001:9e8:6ce8:7100:2a57:7115:ef6a:199f) (Ping timeout: 248 seconds) |
| 2024-12-02 04:25:14 +0000 | KicksonButt | (~quassel@187.21.174.221) |
| 2024-12-02 04:25:35 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 04:30:13 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 04:40:49 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2024-12-02 04:41:22 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 04:46:09 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 04:48:34 +0000 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 260 seconds) |
| 2024-12-02 04:50:01 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 04:55:17 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 04:59:54 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 2024-12-02 05:02:03 +0000 | KicksonButt | (~quassel@187.21.174.221) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2024-12-02 05:10:51 +0000 | zlqrvx | (~zlqrvx@user/zlqrvx) (Ping timeout: 252 seconds) |
| 2024-12-02 05:11:04 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 05:14:56 +0000 | zlqrvx | (~zlqrvx@user/zlqrvx) zlqrvx |
| 2024-12-02 05:15:49 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 2024-12-02 05:24:41 +0000 | michalz | (~michalz@185.246.207.218) |
| 2024-12-02 05:26:51 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 05:27:17 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 05:32:30 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 2024-12-02 05:42:39 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 05:47:33 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 05:58:26 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 06:05:05 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 2024-12-02 06:05:23 +0000 | anpad | (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-12-02 06:07:29 +0000 | anpad | (~pandeyan@user/anpad) anpad |
| 2024-12-02 06:08:13 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) |
| 2024-12-02 06:10:48 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 06:15:45 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 06:17:33 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2024-12-02 06:24:59 +0000 | leif | (~leif@210.54.33.112) leif |
| 2024-12-02 06:26:35 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 06:31:11 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2024-12-02 06:31:54 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 2024-12-02 06:37:24 +0000 | mange | (~user@user/mange) (Quit: Quittin' time!) |
| 2024-12-02 06:42:23 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 06:47:00 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 2024-12-02 06:56:35 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) acidjnk |
| 2024-12-02 06:57:42 +0000 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2024-12-02 06:58:11 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 07:02:49 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 2024-12-02 07:11:27 +0000 | billchenchina- | (~billchenc@103.118.42.229) billchenchina |
| 2024-12-02 07:11:48 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 07:13:44 +0000 | billchenchina | (~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) (Ping timeout: 245 seconds) |
| 2024-12-02 07:16:33 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 07:16:34 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 2024-12-02 07:24:57 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 276 seconds) |
| 2024-12-02 07:27:36 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 07:32:40 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 2024-12-02 07:33:57 +0000 | CiaoSen | (~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) CiaoSen |
| 2024-12-02 07:35:49 +0000 | euleritian | (~euleritia@77.22.252.159) (Ping timeout: 248 seconds) |
| 2024-12-02 07:36:16 +0000 | euleritian | (~euleritia@dynamic-176-006-142-190.176.6.pool.telefonica.de) |
| 2024-12-02 07:38:21 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers |
| 2024-12-02 07:40:27 +0000 | briandaed | (~root@user/briandaed) briandaed |
| 2024-12-02 07:43:23 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 07:43:50 +0000 | ft | (~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving) |
| 2024-12-02 07:45:23 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 265 seconds) |
| 2024-12-02 07:47:52 +0000 | Square2 | (~Square4@user/square) Square |
| 2024-12-02 07:48:05 +0000 | APic | (apic@apic.name) (Ping timeout: 248 seconds) |
| 2024-12-02 07:50:00 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 2024-12-02 07:51:10 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
| 2024-12-02 07:51:36 +0000 | Square | (~Square@user/square) (Ping timeout: 276 seconds) |
| 2024-12-02 07:53:51 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-12-02 07:56:08 +0000 | ubert | (~Thunderbi@p200300ecdf42fd867c5a9f24741cb45b.dip0.t-ipconnect.de) ubert |
| 2024-12-02 08:00:05 +0000 | caconym | (~caconym@user/caconym) (Quit: bye) |
| 2024-12-02 08:00:06 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers |
| 2024-12-02 08:00:50 +0000 | caconym | (~caconym@user/caconym) caconym |
| 2024-12-02 08:01:26 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 08:07:37 +0000 | CiaoSen | (~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) (Ping timeout: 265 seconds) |
| 2024-12-02 08:15:29 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2024-12-02 08:18:13 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 08:19:42 +0000 | APic | (apic@apic.name) APic |
| 2024-12-02 08:20:16 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
| 2024-12-02 08:21:01 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2024-12-02 08:26:37 +0000 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
| 2024-12-02 08:29:47 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-12-02 08:29:57 +0000 | Square | (~Square@user/square) Square |
| 2024-12-02 08:32:53 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2024-12-02 08:33:12 +0000 | vanishingideal | (~vanishing@user/vanishingideal) (Quit: leaving) |
| 2024-12-02 08:34:09 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers |
| 2024-12-02 08:36:53 +0000 | alp_ | (~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) (Remote host closed the connection) |
| 2024-12-02 08:37:25 +0000 | Square | (~Square@user/square) (Ping timeout: 260 seconds) |
| 2024-12-02 08:38:12 +0000 | alp | (~alp@2001:861:8ca0:4940:a36a:bc17:9bfc:9786) |
| 2024-12-02 08:43:00 +0000 | gorignak | (~gorignak@user/gorignak) (Remote host closed the connection) |
| 2024-12-02 08:56:13 +0000 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
| 2024-12-02 09:00:43 +0000 | APic | (apic@apic.name) (Ping timeout: 264 seconds) |
| 2024-12-02 09:02:58 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2024-12-02 09:03:37 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) |
| 2024-12-02 09:05:10 +0000 | <tomsmeding> | why do we now have 9.8.4 in ghcup without having 9.8.3 :p |
| 2024-12-02 09:05:21 +0000 | chele | (~chele@user/chele) chele |
| 2024-12-02 09:05:27 +0000 | <haskellbridge> | <maerwald> because 9.8.3 is BUSTED |
| 2024-12-02 09:05:49 +0000 | <haskellbridge> | <maerwald> well, not exactly, but shipping a bugged filepath :) |
| 2024-12-02 09:06:23 +0000 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
| 2024-12-02 09:06:23 +0000 | <tomsmeding> | ah I see :p |
| 2024-12-02 09:06:35 +0000 | <tomsmeding> | maerwald: thanks for going the good work :) |
| 2024-12-02 09:07:06 +0000 | <tomsmeding> | *doing |
| 2024-12-02 09:11:23 +0000 | <haskellbridge> | <maerwald> 9.6.7 I think is supposed to come too soon |
| 2024-12-02 09:11:33 +0000 | <haskellbridge> | <maerwald> it will then be the target of the next "recommended" release |
| 2024-12-02 09:13:35 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 260 seconds) |
| 2024-12-02 09:13:58 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers |
| 2024-12-02 09:15:53 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2024-12-02 09:16:56 +0000 | califax | (~califax@user/califx) califx |
| 2024-12-02 09:21:44 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 255 seconds) |
| 2024-12-02 09:23:59 +0000 | APic | (apic@apic.name) APic |
| 2024-12-02 09:30:12 +0000 | m1dnight | (~m1dnight@141.134.25.8) (Quit: WeeChat 3.0) |
| 2024-12-02 09:33:22 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-12-02 09:35:56 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers |
| 2024-12-02 09:36:25 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2024-12-02 09:37:36 +0000 | CiaoSen | (~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) CiaoSen |
| 2024-12-02 09:37:56 +0000 | califax | (~califax@user/califx) califx |
| 2024-12-02 09:40:07 +0000 | APic | (apic@apic.name) (Ping timeout: 252 seconds) |
| 2024-12-02 09:43:53 +0000 | euleritian | (~euleritia@dynamic-176-006-142-190.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-12-02 09:44:14 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 2024-12-02 09:50:16 +0000 | JamesMowery439 | (~JamesMowe@ip68-228-212-232.ph.ph.cox.net) JamesMowery |
| 2024-12-02 09:50:55 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 2024-12-02 09:51:26 +0000 | JamesMowery43 | (~JamesMowe@ip68-228-212-232.ph.ph.cox.net) (Ping timeout: 255 seconds) |
| 2024-12-02 09:51:26 +0000 | JamesMowery439 | JamesMowery43 |
| 2024-12-02 09:51:29 +0000 | euleritian | (~euleritia@dynamic-176-006-129-106.176.6.pool.telefonica.de) |
| 2024-12-02 09:56:04 +0000 | koolazer | (~koo@user/koolazer) (Remote host closed the connection) |
| 2024-12-02 09:56:05 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2024-12-02 09:57:13 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds) |
| 2024-12-02 09:57:15 +0000 | califax | (~califax@user/califx) califx |
| 2024-12-02 09:59:35 +0000 | euleritian | (~euleritia@dynamic-176-006-129-106.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-12-02 10:00:06 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 2024-12-02 10:00:54 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2024-12-02 10:00:54 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 2024-12-02 10:01:37 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2024-12-02 10:02:14 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 2024-12-02 10:09:11 +0000 | <tomsmeding> | playground now has 9.8.4 :) |
| 2024-12-02 10:10:55 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2024-12-02 10:15:48 +0000 | m1dnight | (~m1dnight@d8D861908.access.telenet.be) m1dnight |
| 2024-12-02 10:19:08 +0000 | m1dnight | (~m1dnight@d8D861908.access.telenet.be) (Client Quit) |
| 2024-12-02 10:23:02 +0000 | m1dnight | (~m1dnight@d8D861908.access.telenet.be) m1dnight |
| 2024-12-02 10:27:57 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 10:28:27 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers |
| 2024-12-02 10:38:52 +0000 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
| 2024-12-02 10:39:00 +0000 | fp | (~Thunderbi@2001:708:20:1406::1370) fp |
| 2024-12-02 10:40:54 +0000 | CiaoSen | (~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds) |
| 2024-12-02 10:42:23 +0000 | <fp> | Hey there, I have two lists that I'm trying to get the absolute difference of, ie the absolute value of their element-wise difference. I'm trying to do this with =zipWith=, but I'm getting errors that I'm having a hard time understanding. If I do =zipWith (abs $ (-)) [1, 2, 3] [3, 2, 1]=, it says "No instance for (Num (Int -> Int -> Int)) arising from a use of ‘abs’". Does this mean =abs= isn't meeting the =Num= constraint? |
| 2024-12-02 10:44:12 +0000 | <int-e> | @pl \x y -> abs (x - y) |
| 2024-12-02 10:44:12 +0000 | <lambdabot> | (abs .) . (-) |
| 2024-12-02 10:44:28 +0000 | <int-e> | you're applying abs to a function |
| 2024-12-02 10:45:40 +0000 | <fp> | Is it better to use what you wrote or what lambdabot wrote |
| 2024-12-02 10:45:58 +0000 | <fp> | int-e |
| 2024-12-02 10:45:59 +0000 | <int-e> | I'd use the function |
| 2024-12-02 10:46:08 +0000 | <int-e> | that is what I wrote |
| 2024-12-02 10:46:08 +0000 | <fp> | kk thank you |
| 2024-12-02 10:46:15 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Quit: Leaving) |
| 2024-12-02 10:49:53 +0000 | <haskellbridge> | <Morj> fp: This means that you're trying to use a function (int -> int -> int) as a number. In your example the function is "(-)", and you're using it in "abs (-)" (you can remove $ here). For such expressions I recommend first writing it in point-ful style, like "zipWith (\a b -> abs $ a - b)", and then removing the points by hand, because what lambdabot recommends is wow (= |
| 2024-12-02 10:50:19 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
| 2024-12-02 10:50:36 +0000 | <haskellbridge> | <Morj> Maybe something like "map (abs . uncurry (-)) $ zip [1,2,3] [3,2,1]" would look better |
| 2024-12-02 10:50:48 +0000 | tv | (~tv@user/tv) tv |
| 2024-12-02 10:51:35 +0000 | <geekosaur> | I'd avoid the ($) as well since you seem to be confused about the difference between it and (.) |
| 2024-12-02 10:51:57 +0000 | <fp> | Morj point-ful style refers to this sort of closure thing, \x y -> abs x - y |
| 2024-12-02 10:52:11 +0000 | <fp> | I am indeed confused by the many symbols |
| 2024-12-02 10:52:24 +0000 | <int-e> | beware that abs x - y is different from abs (x - y) |
| 2024-12-02 10:52:38 +0000 | <fp> | right I just wrote that without thinking too hard |
| 2024-12-02 10:53:55 +0000 | <haskellbridge> | <Morj> Pointful and pointfree refers to the points as in maths, that is inputs to functions. Like if you write "graph of f(x)", x is a point on a line. Similarily, in haskell you can either write "f = \x -> abs x", or "f = abs" - the second one is point-free because you don't mention x. It's a bit confusing, everyone agrees :D |
| 2024-12-02 10:54:22 +0000 | tinjamin4 | (~tinjamin@banshee.h4x0r.space) (Remote host closed the connection) |
| 2024-12-02 10:54:36 +0000 | <fp> | I see, ok |
| 2024-12-02 10:56:38 +0000 | tinjamin4 | (~tinjamin@banshee.h4x0r.space) |
| 2024-12-02 10:59:06 +0000 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
| 2024-12-02 11:01:09 +0000 | kuribas | (~user@ptr-17d51emmusfz7zv97iv.18120a2.ip6.access.telenet.be) |
| 2024-12-02 11:05:27 +0000 | arahael | (~arahael@user/arahael) (Quit: Lost terminal) |
| 2024-12-02 11:12:07 +0000 | kmein | (~weechat@user/kmein) (Ping timeout: 264 seconds) |
| 2024-12-02 11:13:57 +0000 | kmein | (~weechat@user/kmein) kmein |
| 2024-12-02 11:23:31 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 264 seconds) |
| 2024-12-02 11:23:42 +0000 | ski | normally avoids using `$' altogether |
| 2024-12-02 11:23:47 +0000 | <ski> | (with a few exceptions) |
| 2024-12-02 11:23:55 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) |
| 2024-12-02 11:25:41 +0000 | <ski> | fp : `(f .) . g' is a known pattern for `\x y -> f (g x y)' (i defined `(.:) = (.) . (.)', many years ago, which would enable writing `f .: g'. generalizes to more curried parameters). many people prefer not using either of these, either using a function abstraction expression (lambda), or naming the function |
| 2024-12-02 11:27:17 +0000 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 248 seconds) |
| 2024-12-02 11:35:51 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 276 seconds) |
| 2024-12-02 11:45:52 +0000 | fp | (~Thunderbi@130.233.70.205) fp |
| 2024-12-02 11:47:18 +0000 | pavonia | (~user@user/siracusa) siracusa |
| 2024-12-02 11:49:25 +0000 | xff0x | (~xff0x@2405:6580:b080:900:2e90:f46e:2f28:18f7) |
| 2024-12-02 11:51:39 +0000 | ubert | (~Thunderbi@p200300ecdf42fd867c5a9f24741cb45b.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 2024-12-02 11:55:18 +0000 | CiaoSen | (~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) CiaoSen |
| 2024-12-02 11:56:44 +0000 | APic | (apic@apic.name) APic |
| 2024-12-02 11:56:58 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers |
| 2024-12-02 11:57:30 +0000 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
| 2024-12-02 11:58:20 +0000 | kmein | (~weechat@user/kmein) kmein |
| 2024-12-02 12:00:12 +0000 | Guest87 | (~Guest87@81.144.164.210) |
| 2024-12-02 12:02:00 +0000 | billchenchina | (~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) billchenchina |
| 2024-12-02 12:04:05 +0000 | billchenchina- | (~billchenc@103.118.42.229) (Ping timeout: 248 seconds) |
| 2024-12-02 12:04:59 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
| 2024-12-02 12:08:48 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
| 2024-12-02 12:09:23 +0000 | <ski> | (with `(.::) = (.) . (.) . (.)' (same number of dots, number of characters tells how many parameters are passed to the inner/right/first function), `f .:: g' is `((f .) .) . g' is `\x y z -> f (g x y z)'. btw, note that `(f .: g) x y z is `f (g x y) z', passing on two parameters to `g') |
| 2024-12-02 12:09:28 +0000 | <ski> | fp ^ |
| 2024-12-02 12:10:57 +0000 | euleritian | (~euleritia@dynamic-176-006-139-191.176.6.pool.telefonica.de) |
| 2024-12-02 12:11:03 +0000 | <fp> | Gosh how do you disable thunderbird from turning haskell into emojis |
| 2024-12-02 12:11:54 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 12:11:56 +0000 | <dminuoso> | fp: You can disable "Display emoticons as graphics" globally |
| 2024-12-02 12:12:04 +0000 | <dminuoso> | Pick your poison. |
| 2024-12-02 12:12:29 +0000 | fp | (~Thunderbi@130.233.70.205) (Quit: fp) |
| 2024-12-02 12:12:51 +0000 | fp | (~Thunderbi@2001:708:20:1406::1370) fp |
| 2024-12-02 12:14:40 +0000 | <fp> | But so in the case of (f .) . g, is (f .) as an operator using (.), or is it its own thing |
| 2024-12-02 12:15:49 +0000 | <dminuoso> | fp: It is called a section |
| 2024-12-02 12:16:48 +0000 | <dminuoso> | For operators (functions whose name are not alphanumeric but other characters) there's a special shorthand where you can partially apply the second argument (and the first argument) by writing `(a .)` or `(. b)` - we call these sections. |
| 2024-12-02 12:17:24 +0000 | <dminuoso> | So (a .) is the same as `\x -> (a . x)` and `(. b)` is the same as `\x -> (x . b)` |
| 2024-12-02 12:18:40 +0000 | <dminuoso> | And also (a .) is obviously the same as ((.) a) |
| 2024-12-02 12:18:51 +0000 | <dminuoso> | Though (b .) has no equivalent here except the lambda form above. |
| 2024-12-02 12:19:03 +0000 | <ski> | (fp : see PM for what you missed, before) |
| 2024-12-02 12:19:54 +0000 | <ski> | `(^ 2)' is the squaring function, and `(2 ^)' is the power-of-two function |
| 2024-12-02 12:20:03 +0000 | <dminuoso> | I think there may be a small difference with respect to strictness between `\x -> a . x` and `((.) a`, let me check real quick |
| 2024-12-02 12:21:04 +0000 | euleritian | (~euleritia@dynamic-176-006-139-191.176.6.pool.telefonica.de) (Ping timeout: 272 seconds) |
| 2024-12-02 12:21:15 +0000 | biberu | (~biberu@user/biberu) (Ping timeout: 252 seconds) |
| 2024-12-02 12:22:08 +0000 | euleritian | (~euleritia@dynamic-176-004-023-074.176.4.pool.telefonica.de) |
| 2024-12-02 12:22:21 +0000 | <dminuoso> | % (...) True = \_ -> True; (...) _ = \_ -> False |
| 2024-12-02 12:22:21 +0000 | <yahb2> | <no output> |
| 2024-12-02 12:22:31 +0000 | <dminuoso> | % (...) undefined `seq` () |
| 2024-12-02 12:22:31 +0000 | <yahb2> | () |
| 2024-12-02 12:22:34 +0000 | <dminuoso> | Why does this not diverge? |
| 2024-12-02 12:22:48 +0000 | <geekosaur> | dminuoso, the standard requires them to be identical, I think ghc bends that slightly in some cases |
| 2024-12-02 12:24:35 +0000 | <fp> | Is (f .) . g similar to (\p, x -> f (g (p x))) ? |
| 2024-12-02 12:25:32 +0000 | <dminuoso> | What is `\p, x -> ...` supposed to denote? |
| 2024-12-02 12:25:51 +0000 | <fp> | p I suppose is some function and x some value |
| 2024-12-02 12:26:01 +0000 | euleritian | (~euleritia@dynamic-176-004-023-074.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-12-02 12:26:04 +0000 | <dminuoso> | And that comma? |
| 2024-12-02 12:26:13 +0000 | <fp> | Me forgetting the syntax |
| 2024-12-02 12:26:18 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 2024-12-02 12:26:37 +0000 | <Leary> | % :set -fpedantic-bottoms |
| 2024-12-02 12:26:37 +0000 | <yahb2> | <no output> |
| 2024-12-02 12:26:40 +0000 | <Leary> | % (...) True = \_ -> True; (...) _ = \_ -> False |
| 2024-12-02 12:26:40 +0000 | <yahb2> | <no output> |
| 2024-12-02 12:26:44 +0000 | <Leary> | % (...) undefined `seq` () |
| 2024-12-02 12:26:44 +0000 | <yahb2> | *** Exception: Prelude.undefined ; CallStack (from HasCallStack): ; undefined, called at <interactive>:101:7 in interactive:Ghci24 |
| 2024-12-02 12:27:20 +0000 | <fp> | so more correctly, (\p x -> f (g (p x))) |
| 2024-12-02 12:27:43 +0000 | <ncf> | that doesn't even have the same type as (f .) . g |
| 2024-12-02 12:27:58 +0000 | <dminuoso> | Leary: Err. I am confused, is GHC diverging from the haskell standard with respect to function argument pattern matching without that flag? |
| 2024-12-02 12:28:05 +0000 | <geekosaur> | yes |
| 2024-12-02 12:28:18 +0000 | <dminuoso> | Well okay.. :S |
| 2024-12-02 12:28:19 +0000 | <Leary> | dminuoso: Without -fpedantic-bottoms, ghc allows some transformations that make code "more defined". |
| 2024-12-02 12:28:45 +0000 | <merijn> | dminuoso: I mean, GHC diverges from the Haskell standard in, like, 20 different ways :p |
| 2024-12-02 12:28:52 +0000 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/users_guide/bugs.html#expressions-and-patterns |
| 2024-12-02 12:29:08 +0000 | <fp> | So where is my logic breaking down? Here's how I got to that expression: (f .) . g becomes (\p -> (f . p)) . g becomes (\p x -> f (p x)) . g becomes (\p x -> (f . g) (p x)) becomes (\p x -> f (g (p x))) |
| 2024-12-02 12:29:51 +0000 | <merijn> | dminuoso: In fact, this divergence is even documented |
| 2024-12-02 12:29:58 +0000 | <merijn> | ah, geekosaur beat me |
| 2024-12-02 12:30:03 +0000 | <ncf> | (f .) . g |
| 2024-12-02 12:30:04 +0000 | <ncf> | = \p -> (f .) (g p) |
| 2024-12-02 12:30:05 +0000 | <ncf> | = \p -> f . g p |
| 2024-12-02 12:30:06 +0000 | <ncf> | = \p x -> f (g p x) |
| 2024-12-02 12:30:31 +0000 | <ncf> | your first step is wrong |
| 2024-12-02 12:30:47 +0000 | <ski> | fp : "Is (f .) . g similar to (\p, x -> f (g (p x))) ?" -- no |
| 2024-12-02 12:30:54 +0000 | <fp> | I don't understand the first step |
| 2024-12-02 12:31:05 +0000 | <ncf> | i am applying the definition of (.) |
| 2024-12-02 12:31:07 +0000 | <ncf> | @src (.) |
| 2024-12-02 12:31:07 +0000 | <lambdabot> | (f . g) x = f (g x) |
| 2024-12-02 12:31:25 +0000 | <ncf> | with f := (f .) |
| 2024-12-02 12:31:29 +0000 | <dminuoso> | % (undefined .) `seq` () |
| 2024-12-02 12:31:30 +0000 | <ski> | ((f .) . g) p = (f .) (g p) |
| 2024-12-02 12:31:35 +0000 | <dminuoso> | % (undefined .) `seq` ()b |
| 2024-12-02 12:31:35 +0000 | <yahb2> | <interactive>:113:23: error: [GHC-88464] Variable not in scope: b |
| 2024-12-02 12:31:39 +0000 | <dminuoso> | % (undefined .) `seq` () |
| 2024-12-02 12:31:39 +0000 | <yahb2> | () |
| 2024-12-02 12:31:39 +0000 | <fp> | I see ok |
| 2024-12-02 12:31:42 +0000 | <dminuoso> | % (. undefined) `seq` () |
| 2024-12-02 12:31:42 +0000 | <yahb2> | () |
| 2024-12-02 12:32:03 +0000 | <dminuoso> | Okay so (undefined .) is strictly (heh the pun) speaking not the same as ((.) undefined) |
| 2024-12-02 12:32:23 +0000 | <dminuoso> | But since GHC is non-pedantic about bottoms, I guess this makes no difference in practice |
| 2024-12-02 12:32:42 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 12:32:48 +0000 | <dminuoso> | Leary: Thanks for the pointer./ |
| 2024-12-02 12:33:05 +0000 | <geekosaur> | I was looking for where there IIRC used to be a discussion of how ghc deviates from the standard there, but IIRC the standard is actually at fault there because sections introduce a little extra laziness |
| 2024-12-02 12:33:46 +0000 | <geekosaur> | since they aren't rewritten to the prefix partial application, but to lambdas |
| 2024-12-02 12:34:34 +0000 | <ski> | `(<expr> <op>)' could have been specified as `(<op>) <expr>', and `(<op> <expr>)' as `flip (<op>) <expr>', i suppose |
| 2024-12-02 12:34:40 +0000 | <ski> | (abstract, not concrete, syntax) |
| 2024-12-02 12:35:55 +0000 | <geekosaur> | oh, it's in https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/rebindable_syntax.html#postfix-oper… |
| 2024-12-02 12:36:26 +0000 | <geekosaur> | which says ghc actually does the rewrite I mentioned for left sections, instead of using a lambda like the Report says |
| 2024-12-02 12:38:21 +0000 | <dminuoso> | geekosaur: Oh I think you may have misread my statement about strictness difference between ``\x -> a . x` and `((.) a` - note that the second part is not a section but just a regular application. |
| 2024-12-02 12:38:42 +0000 | <dminuoso> | Not that it's really important, but I was still trying to understand how you could say the language report requires them to be identical. |
| 2024-12-02 12:38:50 +0000 | <geekosaur> | no, this was a side thing set off by a statement before that |
| 2024-12-02 12:39:14 +0000 | <geekosaur> | [02 12:22:48] <geekosaur> dminuoso, the standard requires them to be identical, I think ghc bends that slightly in some cases |
| 2024-12-02 12:39:25 +0000 | <geekosaur> | this is that bending |
| 2024-12-02 12:39:32 +0000 | <dminuoso> | Yeah I meant that, it seemed to be in response to `12:20:03 dminuoso │ I think there may be a small difference with respect to strictness between `\x -> a . x` and `((.) a`, let me check real quick` |
| 2024-12-02 12:40:09 +0000 | <geekosaur> | right, the answer to that is that sections aren;t rewritten to the prefix form normally, they use a lambda which introduces a little laziness |
| 2024-12-02 12:40:27 +0000 | <geekosaur> | but "in some cases" was the PostfixOperators thing, which I wanted to verify |
| 2024-12-02 12:40:49 +0000 | <dminuoso> | I was not aware of the PostfixOperators extension and the interaction here, either. |
| 2024-12-02 12:42:59 +0000 | <dminuoso> | Im curious why allowing eta-expansion through case-of allows for better transformations. |
| 2024-12-02 12:43:10 +0000 | Guest87 | (~Guest87@81.144.164.210) (Quit: Client closed) |
| 2024-12-02 12:45:54 +0000 | <geekosaur> | that might be a question for #ghc although I think at the moment they're a bit busy (gitlab seems to have fallen over) |
| 2024-12-02 12:46:11 +0000 | <dminuoso> | Well, gitlab regularly falls over. :-) |
| 2024-12-02 12:46:24 +0000 | <geekosaur> | yes, but it usually recovers |
| 2024-12-02 12:46:59 +0000 | <geekosaur> | something got corruped by out of disk space and various things aren't working right including updating MRs and CI |
| 2024-12-02 12:47:25 +0000 | <fp> | Could (f .) . g be interpreted generally to mean "unary f of a g that takes two arguments"? |
| 2024-12-02 12:47:49 +0000 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 2024-12-02 12:48:22 +0000 | rvalue | (~rvalue@user/rvalue) rvalue |
| 2024-12-02 12:48:45 +0000 | <dminuoso> | 1. (f .) . g ===> \x -> (f .) (g x) |
| 2024-12-02 12:49:13 +0000 | <dminuoso> | 2. \x -> (f .) (g x) ===> (\y -> f . y) (g x) |
| 2024-12-02 12:49:33 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 12:49:45 +0000 | <dminuoso> | 3. (\y -> f . y) (g x) ==> f . (g x) |
| 2024-12-02 12:50:34 +0000 | <dminuoso> | 4. f . (g x) ==> \z -> f (g x z) |
| 2024-12-02 12:51:57 +0000 | <dminuoso> | Oh hold on, I dropped a \x along the way. |
| 2024-12-02 12:52:37 +0000 | <fp> | I believe understand the desugaring at this point, I'm trying to understand more abstractly what the symbols mean together, i.e. how does it add meaning beyond extra points in code golf |
| 2024-12-02 12:52:38 +0000 | <dminuoso> | 2. \x -> (f .) (g x) ===> \x -> (\y -> f . y) (g x) |
| 2024-12-02 12:52:54 +0000 | <fp> | or fewer points as it were |
| 2024-12-02 12:54:29 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers |
| 2024-12-02 12:55:31 +0000 | j1n37- | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 12:55:55 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 12:58:42 +0000 | tdammers | (~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 246 seconds) |
| 2024-12-02 12:59:59 +0000 | <dminuoso> | fp: https://paste.tomsmeding.com/xOBZd15y |
| 2024-12-02 13:00:54 +0000 | <dminuoso> | Sometimes you find an operator called (.:) for this defined as (f .: g) x y = f (g x y) |
| 2024-12-02 13:00:54 +0000 | ridcully | (~ridcully@pd951f245.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2024-12-02 13:01:30 +0000 | <dminuoso> | Idea is that its sort of like `f . g` except g gets applied to two arguments before passing its result to f |
| 2024-12-02 13:01:45 +0000 | <dminuoso> | "compose after second argument" maybe? |
| 2024-12-02 13:01:57 +0000 | <ski> | dminuoso : where is eta through `case'-`of' mentioned ? |
| 2024-12-02 13:02:34 +0000 | <ski> | (yea, i mentioned coming up with `(.:)', years ago, above) |
| 2024-12-02 13:02:56 +0000 | <dminuoso> | ski: fun True = \_ -> True; fun _ = \_ -> False desugars into `fun x = case x of True -> \_ -> True; ....` |
| 2024-12-02 13:03:37 +0000 | <dminuoso> | And yet it will eta-expand through that case-of into `fun x y = case x of ...` |
| 2024-12-02 13:03:54 +0000 | <dminuoso> | i.e. `fun x y = case x of True -> True; ...` |
| 2024-12-02 13:04:01 +0000 | <ski> | ah, right |
| 2024-12-02 13:04:43 +0000 | j1n37- | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 13:05:50 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 13:10:56 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 13:11:02 +0000 | <ski> | (.. i was thinking about a general ("commuting") eta-conversion for sum, not just having `case e of Left x0 -> Left x0; Right x1 -> Right x1 = e', but even `case e of Left x0 -> e0[y := Left x0]; e1[y := Right x1] = e0[y := e]' (which obviously breaks bottoms)) |
| 2024-12-02 13:11:24 +0000 | billchenchina- | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina |
| 2024-12-02 13:12:03 +0000 | billchenchina- | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Max SendQ exceeded) |
| 2024-12-02 13:12:39 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 13:12:56 +0000 | billchenchina- | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina |
| 2024-12-02 13:13:49 +0000 | billchenchina- | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Max SendQ exceeded) |
| 2024-12-02 13:13:55 +0000 | billchenchina | (~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) (Ping timeout: 260 seconds) |
| 2024-12-02 13:15:03 +0000 | billchenchina | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina |
| 2024-12-02 13:15:27 +0000 | gorignak | (~gorignak@user/gorignak) (Read error: Connection reset by peer) |
| 2024-12-02 13:15:55 +0000 | billchenchina | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Max SendQ exceeded) |
| 2024-12-02 13:16:43 +0000 | <briandaed> | not strictly Haskell but persistent, does it handle 'IN' clause, can't find it in docs |
| 2024-12-02 13:17:31 +0000 | billchenchina | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina |
| 2024-12-02 13:18:30 +0000 | billchenchina | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Max SendQ exceeded) |
| 2024-12-02 13:19:14 +0000 | <dminuoso> | briandaed: https://hackage.haskell.org/package/persistent-2.14.6.3/docs/Database-Persist-Types.html#t:Persist… seems like |
| 2024-12-02 13:19:33 +0000 | billchenchina | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina |
| 2024-12-02 13:19:56 +0000 | billchenchina | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Remote host closed the connection) |
| 2024-12-02 13:20:14 +0000 | <briandaed> | dminuoso: ha! thanks! |
| 2024-12-02 13:20:40 +0000 | <dminuoso> | It is unclear how to construct that filter.. but hey you wanted some opaque layer ontop of SQL apparently! :-) |
| 2024-12-02 13:21:16 +0000 | <dminuoso> | Probably have to manually construct a Filter https://hackage.haskell.org/package/persistent-2.14.6.3/docs/Database-Persist-Types.html#t:Filter |
| 2024-12-02 13:21:21 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 13:21:23 +0000 | <briandaed> | dminuoso: will play with that, still better than some folding with different constraints |
| 2024-12-02 13:21:50 +0000 | billchenchina | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina |
| 2024-12-02 13:21:54 +0000 | <dminuoso> | "It is possible to construct values using this that will create malformed runtime bvalues." |
| 2024-12-02 13:22:08 +0000 | <dminuoso> | Comments like this make me wonder why you would pick a library like this in the first place. |
| 2024-12-02 13:22:25 +0000 | <dminuoso> | If at least you had some compile-time guarantee of generating healthy SQL I might get it. |
| 2024-12-02 13:22:51 +0000 | <briandaed> | dminuoso: if it would be me, I would stay with stored procedures, but I have to use what is there |
| 2024-12-02 13:28:18 +0000 | billchenchina- | (~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) billchenchina |
| 2024-12-02 13:29:29 +0000 | billchenchina- | (~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) (Remote host closed the connection) |
| 2024-12-02 13:31:49 +0000 | billchenchina | (~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Ping timeout: 260 seconds) |
| 2024-12-02 13:31:51 +0000 | j1n37- | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 13:31:52 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 244 seconds) |
| 2024-12-02 13:33:19 +0000 | notzmv | (~umar@user/notzmv) (Ping timeout: 252 seconds) |
| 2024-12-02 13:38:51 +0000 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 2024-12-02 13:39:05 +0000 | notzmv | (~umar@user/notzmv) notzmv |
| 2024-12-02 13:39:14 +0000 | gentauro | (~gentauro@user/gentauro) gentauro |
| 2024-12-02 13:40:15 +0000 | j1n37- | (j1n37@user/j1n37) (Ping timeout: 272 seconds) |
| 2024-12-02 13:49:51 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2024-12-02 13:51:23 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 13:51:27 +0000 | <merijn> | dminuoso: Compile time guarantees of healthy SQL are nonsense anyway |
| 2024-12-02 13:51:46 +0000 | <merijn> | because how do you guarantee the database at runtime is the one you had at compile time |
| 2024-12-02 13:53:07 +0000 | <briandaed> | fair point |
| 2024-12-02 13:53:08 +0000 | <dminuoso> | merijn: Well, that is just an operational question, not one worth exploring honestly. |
| 2024-12-02 13:53:34 +0000 | <dminuoso> | It's like saying "How do you guarantee Haskell code does what it does at runtime, when someone can just take an editor and manipulate your object files" |
| 2024-12-02 13:53:47 +0000 | <dminuoso> | If we just assume it does not happen, it's not an issue. |
| 2024-12-02 13:54:26 +0000 | <dminuoso> | Here at work we dont have people log onto databases and change the DDL, because it's not part of how we deal with database. |
| 2024-12-02 13:54:39 +0000 | <dminuoso> | Just like people dont just make arbitrary modifications to filesystems |
| 2024-12-02 13:55:08 +0000 | <merijn> | dminuoso: My point was that I'd rather have a simple "validate at runtime and fail loudly" |
| 2024-12-02 13:55:13 +0000 | <merijn> | over "validate at compile time" |
| 2024-12-02 13:55:26 +0000 | <dminuoso> | Well there's different levels of compile time validation. |
| 2024-12-02 13:55:44 +0000 | <merijn> | dminuoso: We don't have people touch our database directly anyway and yet there's been like 3 incidents of unanticipated changes in the past year |
| 2024-12-02 13:55:59 +0000 | <dminuoso> | hasql for example has this cool nifty TH helper that has the postgresql syntax embedded and can at least guarantee syntactically valid SQL. |
| 2024-12-02 13:56:03 +0000 | <merijn> | because it turns out the backup/restore didn't catch things, etc. |
| 2024-12-02 13:56:19 +0000 | <dminuoso> | It just speeds up the feedback loop for typos. |
| 2024-12-02 13:56:26 +0000 | <haskellbridge> | <maerwald> dminuoso: I hacked on that |
| 2024-12-02 13:56:48 +0000 | <haskellbridge> | <maerwald> upstream is not very contribution friendly though |
| 2024-12-02 13:56:55 +0000 | <dminuoso> | maerwald: Oh hey there. |
| 2024-12-02 13:57:13 +0000 | <dminuoso> | Oh okay, how are they unfriendly towards contribution? |
| 2024-12-02 13:58:26 +0000 | <haskellbridge> | <maerwald> I worked on some blockchain nonsense that generates SQL and then used https://hackage.haskell.org/package/postgresql-syntax and added quasi quoters and then manipulated part of the AST |
| 2024-12-02 13:59:24 +0000 | <haskellbridge> | <maerwald> He did not want to add quasiquoters and instead expected me to do that in a new package (hell no... it'll break on any adjustment of the AST) |
| 2024-12-02 13:59:41 +0000 | <merijn> | dminuoso: That only speeds up the feedback loop for typos if the TH doesn't slow down your over all feedback cycle :p |
| 2024-12-02 14:00:55 +0000 | <dminuoso> | merijn: It's not that Im a big fan of hasql either, I have a long list of issues with most database interface libraries, no matter how simple or complex, I think most have bad smells to them. |
| 2024-12-02 14:01:15 +0000 | <haskellbridge> | <maerwald> people are resistant to learning SQL |
| 2024-12-02 14:02:20 +0000 | <dminuoso> | Say in Haskell even the ones requiring you to write SQL have their issues. postgresql-simple is highly imperformant and uses a hand-crafted interpolation syntax instead of using the existing robust one. |
| 2024-12-02 14:02:28 +0000 | <dminuoso> | hasql drags this huge universe of nikitas libraries along |
| 2024-12-02 14:02:39 +0000 | <dminuoso> | I dislike all of them for one reason or another. |
| 2024-12-02 14:03:17 +0000 | <haskellbridge> | <maerwald> dminuoso: it's modular, but then yes... if you want to contribute, he expects you to write a new package and then you get dragged along on any chances that there may be in the future |
| 2024-12-02 14:03:29 +0000 | <haskellbridge> | <maerwald> * changes |
| 2024-12-02 14:03:35 +0000 | j1n37- | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 14:03:48 +0000 | <geekosaur> | the flip side of that is nobody wants to get saddled with supporting drive-by code |
| 2024-12-02 14:04:03 +0000 | ridcully | (~ridcully@p508acf2e.dip0.t-ipconnect.de) ridcully |
| 2024-12-02 14:04:22 +0000 | <haskellbridge> | <maerwald> yeah, I'm known as a drive-by maintainer :D |
| 2024-12-02 14:04:44 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 14:04:54 +0000 | <dminuoso> | Well you yourself implied that this was work related. |
| 2024-12-02 14:05:07 +0000 | <haskellbridge> | <maerwald> I think the reason is the human interaction causing overhead |
| 2024-12-02 14:05:18 +0000 | <dminuoso> | Regardless of your personal ambition, if your work projects or employment changes, will you carry on the torch for all prior work related submissions? |
| 2024-12-02 14:05:31 +0000 | <haskellbridge> | <maerwald> as in: if he wants to make a new release, he now has to inquire |
| 2024-12-02 14:06:49 +0000 | <dminuoso> | At any rate. The one library across all language I think approaches database interaction the right way is ActiveRecord. It has generally good ergonomics, is very expressible, but - and this is the crucial part - It has this universal trap door of exposing the underlying relational algebra as a tree, or injecting a partial relational algebra tree in any spot. |
| 2024-12-02 14:07:23 +0000 | <dminuoso> | So if at some point you no longer care to cater its somewhat arbitrary interface or you need some prorgrammatic access, the relational algebra representation is as universal as SQL. |
| 2024-12-02 14:07:50 +0000 | <dminuoso> | Perhaps not as intuitive to the casual user, but its far more modular. |
| 2024-12-02 14:08:02 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3314-645c-9913-39d7-dad5-8363.rev.sfr.net) alexherbo2 |
| 2024-12-02 14:08:34 +0000 | ridcully | (~ridcully@p508acf2e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2024-12-02 14:09:09 +0000 | CiaoSen | (~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds) |
| 2024-12-02 14:10:11 +0000 | <dminuoso> | Though since you can just write `Arel.SQL("...")` you can use your traditional SQL intuition and conjure up these cool fragments that can be used |
| 2024-12-02 14:10:48 +0000 | <dminuoso> | At some point I should explore this idea in Haskell to introduce the 17th library to finally make SQL usable in Haskell. |
| 2024-12-02 14:13:41 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 14:14:50 +0000 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2024-12-02 14:15:14 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 14:15:21 +0000 | j1n37- | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 14:18:58 +0000 | pounce | (~pounce@user/cute/pounce) (Ping timeout: 252 seconds) |
| 2024-12-02 14:21:14 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 2024-12-02 14:22:15 +0000 | euleritian | (~euleritia@dynamic-176-004-023-074.176.4.pool.telefonica.de) |
| 2024-12-02 14:26:44 +0000 | euleritian | (~euleritia@dynamic-176-004-023-074.176.4.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 2024-12-02 14:27:14 +0000 | pierrot | (~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in) |
| 2024-12-02 14:27:34 +0000 | pierrot | (~pi@user/pierrot) pierrot |
| 2024-12-02 14:28:36 +0000 | euleritian | (~euleritia@dynamic-176-003-035-162.176.3.pool.telefonica.de) |
| 2024-12-02 14:30:47 +0000 | j1n37- | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 14:31:06 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 246 seconds) |
| 2024-12-02 14:32:11 +0000 | ridcully | (~ridcully@p57b52f42.dip0.t-ipconnect.de) ridcully |
| 2024-12-02 14:33:15 +0000 | euleritian | (~euleritia@dynamic-176-003-035-162.176.3.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 2024-12-02 14:37:56 +0000 | <michaelis> | Hi! I'm completely new to Haskell. Could someone explain the meaning of ->? I see it everywhere but no explanation. For example Pt -> a -> a -> Point. What does this mean? |
| 2024-12-02 14:38:20 +0000 | <merijn> | michaelis: That's a function type |
| 2024-12-02 14:39:16 +0000 | <merijn> | michaelis: "Int -> Int" is a function that takes an Int argument and returns an Int |
| 2024-12-02 14:39:44 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 14:39:47 +0000 | dminuoso | suggests a better example than an endofunction |
| 2024-12-02 14:40:25 +0000 | j1n37- | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 14:42:38 +0000 | Guest31 | (~Guest31@185.176.244.77) |
| 2024-12-02 14:42:58 +0000 | <michaelis> | merijn: But what does it mean that the type of a binary data constructor Pt is a -> a -> -> Point a? |
| 2024-12-02 14:43:17 +0000 | <dminuoso> | michaelis: It is a right-associative operator . That means `Int -> Double -> Char` associates as `Int -> (Double -> Char)` |
| 2024-12-02 14:43:27 +0000 | <michaelis> | Sorry, too many -> before point. Should only be one. |
| 2024-12-02 14:43:50 +0000 | <haskellbridge> | <Morj> You can usually read "a -> b -> c" as "(a, b) -> c" |
| 2024-12-02 14:44:01 +0000 | <dminuoso> | So given that most recent example it is a function taking an `Int` and returning a function, which itself takes a Double and returns a Char. This roughly acts as if this was a function taking both an Int and a Double and returning a Char. |
| 2024-12-02 14:44:41 +0000 | <dminuoso> | michaelis: Note strictly speaking the former is the correct way to look at it, the second way (thinking of this as a two argument function) is more often useful. |
| 2024-12-02 14:45:09 +0000 | <michaelis> | dminuoso: Thank you. I'm trying to understand it. |
| 2024-12-02 14:45:19 +0000 | <dminuoso> | michaelis: Let me give you a second bit that might help |
| 2024-12-02 14:45:20 +0000 | <michaelis> | And thank you merijn. |
| 2024-12-02 14:45:54 +0000 | <dminuoso> | michaelis: On the value level, if you apply a function `f` to two arguments `f 1 3.7` it is now left associative, that is `(f 1) 3.7`, so you could think of this as two applications after another. |
| 2024-12-02 14:46:25 +0000 | <dminuoso> | So `(f 1)` first applies `f` to `f`, to get that function `Double -> Char` back, and then apply that function to `3.7` to get some Char back. |
| 2024-12-02 14:46:39 +0000 | j1n37- | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 14:46:40 +0000 | <dminuoso> | err: "first applies `f` to `1`" |
| 2024-12-02 14:46:51 +0000 | Square2 | (~Square4@user/square) (Ping timeout: 265 seconds) |
| 2024-12-02 14:47:16 +0000 | <dminuoso> | michaelis: So these two ideas belong together in a way. |
| 2024-12-02 14:47:32 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 255 seconds) |
| 2024-12-02 14:48:52 +0000 | <michaelis> | dminuoso: Thank you. I will have to contemplate it for a while. :) |
| 2024-12-02 14:48:59 +0000 | <dminuoso> | michaelis: So similarly, we could think of `f x y = ...` as `f = \x -> \y -> ...` if that makes sense. |
| 2024-12-02 14:49:07 +0000 | <dminuoso> | (For the defining side of a function) |
| 2024-12-02 14:49:14 +0000 | <dminuoso> | So add that to your puzzle pieces. |
| 2024-12-02 14:50:13 +0000 | Square | (~Square@user/square) Square |
| 2024-12-02 14:51:14 +0000 | <michaelis> | It doesn't since I don't know where the backslash is coming from but as I said it will take some time understanding all this. |
| 2024-12-02 14:51:31 +0000 | <dminuoso> | michaelis: `\x -> ...` is an anonymous function taking an argument x |
| 2024-12-02 14:51:40 +0000 | <michaelis> | I understand. |
| 2024-12-02 14:51:44 +0000 | <dminuoso> | yahb2: fun = \x -> x * 2 |
| 2024-12-02 14:51:51 +0000 | <dminuoso> | % fun = \x -> x * 2 |
| 2024-12-02 14:51:51 +0000 | <yahb2> | <no output> |
| 2024-12-02 14:51:53 +0000 | <dminuoso> | % fun 10 |
| 2024-12-02 14:51:53 +0000 | <yahb2> | 20 |
| 2024-12-02 14:52:04 +0000 | <dminuoso> | % add = \x -> \y -> x + y |
| 2024-12-02 14:52:04 +0000 | <yahb2> | <no output> |
| 2024-12-02 14:52:09 +0000 | <dminuoso> | % :t add |
| 2024-12-02 14:52:09 +0000 | <yahb2> | add :: Num a => a -> a -> a |
| 2024-12-02 14:52:12 +0000 | <dminuoso> | % :t add 10 |
| 2024-12-02 14:52:12 +0000 | <yahb2> | add 10 :: Num a => a -> a |
| 2024-12-02 14:52:14 +0000 | <dminuoso> | % :t add 10 20 |
| 2024-12-02 14:52:14 +0000 | <yahb2> | add 10 20 :: Num a => a |
| 2024-12-02 14:52:17 +0000 | <dminuoso> | % add 10 20 |
| 2024-12-02 14:52:17 +0000 | <yahb2> | 30 |
| 2024-12-02 14:52:42 +0000 | <dminuoso> | michaelis: If that type confuses you, feel free to imagine `a` read `Int` and ignore that Num => part. |
| 2024-12-02 14:52:45 +0000 | <mauke> | > (\x -> [x,x,x]) 42 |
| 2024-12-02 14:52:46 +0000 | <lambdabot> | [42,42,42] |
| 2024-12-02 14:53:06 +0000 | <mauke> | > ((\x -> (\y -> [x,y,x]) 42) 3 |
| 2024-12-02 14:53:08 +0000 | <lambdabot> | <hint>:1:30: error: |
| 2024-12-02 14:53:08 +0000 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
| 2024-12-02 14:53:18 +0000 | <mauke> | > (\x -> (\y -> [x,y,x]) 42) 3 |
| 2024-12-02 14:53:19 +0000 | <lambdabot> | [3,42,3] |
| 2024-12-02 14:54:02 +0000 | <mauke> | > ((\x -> (\y -> [x,y,x])) 42) 3 |
| 2024-12-02 14:54:03 +0000 | <lambdabot> | [42,3,42] |
| 2024-12-02 14:54:13 +0000 | halloy1972 | (~halloy197@ptr-fyq2h23bzewebp3qgjx.18120a2.ip6.access.telenet.be) |
| 2024-12-02 14:54:49 +0000 | <mauke> | > ((\x -> \y -> [x,y,x]) 42) 3 |
| 2024-12-02 14:54:50 +0000 | <lambdabot> | [42,3,42] |
| 2024-12-02 14:55:00 +0000 | <mauke> | > ((\x y -> [x,y,x]) 42) 3 |
| 2024-12-02 14:55:01 +0000 | <lambdabot> | [42,3,42] |
| 2024-12-02 14:55:08 +0000 | halloy1972 | Piegie |
| 2024-12-02 14:55:16 +0000 | <mauke> | > (\x y -> [x,y,x]) 42 3 |
| 2024-12-02 14:55:17 +0000 | <lambdabot> | [42,3,42] |
| 2024-12-02 14:55:28 +0000 | <mauke> | > let f = \x y -> [x,y,x] in f 42 3 |
| 2024-12-02 14:55:30 +0000 | <lambdabot> | [42,3,42] |
| 2024-12-02 14:55:37 +0000 | <mauke> | > let f x y = [x,y,x] in f 42 3 |
| 2024-12-02 14:55:39 +0000 | <lambdabot> | [42,3,42] |
| 2024-12-02 14:56:00 +0000 | euandreh1 | (~Thunderbi@189.6.105.228) euandreh |
| 2024-12-02 14:56:11 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 14:56:15 +0000 | <michaelis> | Thank you. |
| 2024-12-02 14:56:48 +0000 | j1n37- | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 14:58:22 +0000 | Guest31 | (~Guest31@185.176.244.77) (Quit: Client closed) |
| 2024-12-02 15:08:42 +0000 | j1n37- | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 15:09:38 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 15:13:21 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2024-12-02 15:14:57 +0000 | j1n37- | (j1n37@user/j1n37) (Ping timeout: 248 seconds) |
| 2024-12-02 15:15:10 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2024-12-02 15:17:44 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-12-02 15:21:22 +0000 | Square | (~Square@user/square) (Ping timeout: 252 seconds) |
| 2024-12-02 15:23:51 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
| 2024-12-02 15:30:43 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) acidjnk |
| 2024-12-02 15:33:45 +0000 | SlackCoder | (~SlackCode@208.26.70.132) SlackCoder |
| 2024-12-02 15:33:48 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 15:34:59 +0000 | SlackCoder | (~SlackCode@208.26.70.132) (Remote host closed the connection) |
| 2024-12-02 15:35:06 +0000 | euleritian | (~euleritia@dynamic-176-003-035-162.176.3.pool.telefonica.de) |
| 2024-12-02 15:35:27 +0000 | SlackCoder | (~SlackCode@208.26.70.132) SlackCoder |
| 2024-12-02 15:36:59 +0000 | SlackCoder | (~SlackCode@208.26.70.132) (Remote host closed the connection) |
| 2024-12-02 15:37:26 +0000 | SlackCoder | (~SlackCode@208.26.70.132) SlackCoder |
| 2024-12-02 15:39:36 +0000 | Alleria | (~Alleria@user/alleria) (Remote host closed the connection) |
| 2024-12-02 15:40:10 +0000 | Alleria | (~Alleria@user/alleria) Alleria |
| 2024-12-02 15:43:05 +0000 | euandreh1 | euandreh |
| 2024-12-02 15:43:49 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 15:44:21 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 15:44:28 +0000 | j1n37 | (j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2024-12-02 15:44:49 +0000 | Alleria | (~Alleria@user/alleria) (Ping timeout: 260 seconds) |
| 2024-12-02 15:54:01 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 15:54:33 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 16:02:02 +0000 | <fp> | I've made a method diff that computes the difference of an [Int], much like np.diff. I made it with =diff (x:xs) = (head xs - x) : diff xs= and with diff of 1- or 0-element arrays returning []. Is this an idiomatic solution? It felt odd not to use like scanl or something |
| 2024-12-02 16:04:12 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 16:04:44 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 16:04:53 +0000 | <mauke> | > (\xs -> zipWith (-) xs (drop 1 xs)) [1,10,4,4,5,2,4] |
| 2024-12-02 16:04:54 +0000 | <lambdabot> | [-9,6,0,-1,3,-2] |
| 2024-12-02 16:05:09 +0000 | <mauke> | > (\xs -> zipWith subtract xs (drop 1 xs)) [1,10,4,4,5,2,4] |
| 2024-12-02 16:05:10 +0000 | <lambdabot> | [9,-6,0,1,-3,2] |
| 2024-12-02 16:05:47 +0000 | <mauke> | (someone else can add the <*>) |
| 2024-12-02 16:07:55 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-12-02 16:08:09 +0000 | <ncf> | @where zip.ap.tail |
| 2024-12-02 16:08:09 +0000 | <lambdabot> | I know nothing about zip.ap.tail. |
| 2024-12-02 16:09:06 +0000 | <ncf> | @quote zip.ap.tail |
| 2024-12-02 16:09:07 +0000 | <lambdabot> | quicksilver says: zip`ap`tail - the Aztec god of consecutive numbers |
| 2024-12-02 16:14:23 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 16:14:54 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 16:16:36 +0000 | Alleria | (~Alleria@user/alleria) Alleria |
| 2024-12-02 16:18:00 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-12-02 16:22:18 +0000 | <ski> | (`tail' works fine in place of `drop 1', there) |
| 2024-12-02 16:24:34 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 16:24:53 +0000 | Alleria_ | (~Alleria@user/alleria) Alleria |
| 2024-12-02 16:25:05 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 16:27:07 +0000 | Alleria | (~Alleria@user/alleria) (Ping timeout: 252 seconds) |
| 2024-12-02 16:29:52 +0000 | Ritual12 | (~Ritual12@85-76-13-113-nat.elisa-mobile.fi) |
| 2024-12-02 16:30:23 +0000 | <merijn> | ski: drop 1 has the nicety of not randomly crashing, though :p |
| 2024-12-02 16:31:12 +0000 | <int-e> | > zip [] (tail []) |
| 2024-12-02 16:31:14 +0000 | <lambdabot> | [] |
| 2024-12-02 16:31:40 +0000 | <int-e> | all ski said is that it works fine in this case |
| 2024-12-02 16:31:47 +0000 | <ski> | > (\xs -> getZipList ((-) <$> ZipList xs <*> ZipList (tail xs))) [1,10,4,4,5,2,4] |
| 2024-12-02 16:31:49 +0000 | <lambdabot> | [-9,6,0,-1,3,-2] |
| 2024-12-02 16:31:54 +0000 | <ski> | > (\xs -> getZipList (liftA2 (-) (ZipList xs) (ZipList (tail xs)))) [1,10,4,4,5,2,4] |
| 2024-12-02 16:31:56 +0000 | <lambdabot> | [-9,6,0,-1,3,-2] |
| 2024-12-02 16:32:12 +0000 | Alleria_ | (~Alleria@user/alleria) (Ping timeout: 246 seconds) |
| 2024-12-02 16:32:15 +0000 | <Ritual12> | When listing what functions to import from given module, is it better for readability to list functions with symbolic names before functions with alphanumeric names? |
| 2024-12-02 16:32:18 +0000 | <ski> | > ((getZipList .) . (. ZipList)) (liftA2 (-) <$> id <*> ((ZipList .) . (. getZipList)) tail) [1,10,4,4,5,2,4] |
| 2024-12-02 16:32:19 +0000 | <lambdabot> | [-9,6,0,-1,3,-2] |
| 2024-12-02 16:32:26 +0000 | <ski> | > ((getZipList .) . (. ZipList)) ((liftA2 . liftA2) (-) id (((ZipList .) . (. getZipList)) tail)) [1,10,4,4,5,2,4] |
| 2024-12-02 16:32:28 +0000 | <lambdabot> | [-9,6,0,-1,3,-2] |
| 2024-12-02 16:33:10 +0000 | <ski> | (last two are pretty ugly, with the `ZipList'&`getZipList' nonsense) |
| 2024-12-02 16:33:39 +0000 | <ski> | Ritual12 : usually i'd list them in groups of related functions |
| 2024-12-02 16:34:11 +0000 | <int-e> | but they all come from a single module, so aren't they automaticall related :) |
| 2024-12-02 16:34:24 +0000 | notzmv | (~umar@user/notzmv) (Ping timeout: 260 seconds) |
| 2024-12-02 16:34:45 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 16:35:02 +0000 | <fp> | Neat, thanks for the tips |
| 2024-12-02 16:35:07 +0000 | <Ritual12> | I am importing LiftA2 and (<*>) from Control.Applicative and was wondering which to list first. |
| 2024-12-02 16:35:16 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 16:35:37 +0000 | Alleria | (~Alleria@user/alleria) Alleria |
| 2024-12-02 16:36:14 +0000 | <int-e> | I don't think it makes a difference for just two imports. |
| 2024-12-02 16:36:40 +0000 | <int-e> | doesn't Prelude export <*> these days |
| 2024-12-02 16:36:58 +0000 | <ski> | @index (<*>) |
| 2024-12-02 16:36:59 +0000 | <lambdabot> | Control.Applicative, Prelude, Compiler.Hoopl |
| 2024-12-02 16:38:02 +0000 | <Ritual12> | So I do not need to import <*>? |
| 2024-12-02 16:38:38 +0000 | <ski> | (of course, instead of `((post .) . (. pre)) f', you can type `post . f . pre', i just wanted to localize/separate the `pre' & `post' (`ZipList' and `getZipList', above) together. would probably be more readable without that) |
| 2024-12-02 16:38:46 +0000 | <ski> | correct, Ritual12 |
| 2024-12-02 16:38:59 +0000 | <ski> | @index liftA2 |
| 2024-12-02 16:38:59 +0000 | <lambdabot> | Control.Applicative |
| 2024-12-02 16:40:11 +0000 | Alleria | (~Alleria@user/alleria) (Ping timeout: 252 seconds) |
| 2024-12-02 16:43:49 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-12-02 16:44:36 +0000 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 2024-12-02 16:44:56 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 16:45:27 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 16:46:15 +0000 | Alleria | (~Alleria@user/alleria) Alleria |
| 2024-12-02 16:46:20 +0000 | <Ritual12> | @index (&&&) |
| 2024-12-02 16:46:21 +0000 | <lambdabot> | Control.Arrow |
| 2024-12-02 16:52:27 +0000 | Alleria_ | (~Alleria@user/alleria) Alleria |
| 2024-12-02 16:53:01 +0000 | Alleria | (~Alleria@user/alleria) (Ping timeout: 252 seconds) |
| 2024-12-02 16:55:07 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 16:55:38 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 17:00:13 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Remote host closed the connection) |
| 2024-12-02 17:00:37 +0000 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
| 2024-12-02 17:02:59 +0000 | SlackCoder | (~SlackCode@208.26.70.132) (Ping timeout: 260 seconds) |
| 2024-12-02 17:05:18 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 17:05:50 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 17:08:47 +0000 | Alleria_ | (~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2024-12-02 17:11:35 +0000 | <Ritual12> | @pl liftA2 (&&) (>= lower) (<= upper) |
| 2024-12-02 17:11:35 +0000 | <lambdabot> | liftA2 (&&) (>= lower) (<= upper) |
| 2024-12-02 17:12:31 +0000 | <Ritual12> | @pl \lower upper -> liftA2 (&&) (>= lower) (<= upper) |
| 2024-12-02 17:12:31 +0000 | <lambdabot> | (. flip (<=)) . liftA2 (&&) . flip (>=) |
| 2024-12-02 17:14:55 +0000 | Alleria | (~Alleria@user/alleria) Alleria |
| 2024-12-02 17:15:29 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 17:16:01 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 17:16:03 +0000 | <Ritual12> | Why flip (<=) and flip(>=) instead of just using (>=) and (<=)? |
| 2024-12-02 17:16:52 +0000 | euleritian | (~euleritia@dynamic-176-003-035-162.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-12-02 17:17:10 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 2024-12-02 17:17:17 +0000 | <int-e> | because @pl is unaware of the Ord class |
| 2024-12-02 17:19:20 +0000 | Piegie | (~halloy197@ptr-fyq2h23bzewebp3qgjx.18120a2.ip6.access.telenet.be) (Ping timeout: 264 seconds) |
| 2024-12-02 17:21:15 +0000 | briandaed | (~root@user/briandaed) (Quit: Lost terminal) |
| 2024-12-02 17:21:27 +0000 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 2024-12-02 17:22:08 +0000 | euleritian | (~euleritia@77.22.252.159) |
| 2024-12-02 17:25:40 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 17:26:11 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 17:32:28 +0000 | budabudabee | (~budabudab@2600:100e:b308:e5d4:2c68:9c6f:c307:d044) |
| 2024-12-02 17:33:11 +0000 | ft | (~ft@p508db9c7.dip0.t-ipconnect.de) ft |
| 2024-12-02 17:35:51 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 17:35:59 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 17:36:22 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 17:36:33 +0000 | kuribas | (~user@ptr-17d51emmusfz7zv97iv.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 2024-12-02 17:38:00 +0000 | j1n37 | (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2024-12-02 17:41:42 +0000 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
| 2024-12-02 17:44:54 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2024-12-02 17:46:02 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 17:46:30 +0000 | <hellwolf> | > even . not . fst |
| 2024-12-02 17:46:31 +0000 | <lambdabot> | error: |
| 2024-12-02 17:46:31 +0000 | <lambdabot> | • No instance for (Integral Bool) arising from a use of ‘even’ |
| 2024-12-02 17:46:31 +0000 | <lambdabot> | • In the first argument of ‘(.)’, namely ‘even’ |
| 2024-12-02 17:46:33 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 17:47:37 +0000 | <hellwolf> | > Just . negate . curry |
| 2024-12-02 17:47:39 +0000 | <lambdabot> | error: |
| 2024-12-02 17:47:39 +0000 | <lambdabot> | • No instance for (Typeable a0) |
| 2024-12-02 17:47:39 +0000 | <lambdabot> | arising from a use of ‘show_M56331944392192085928’ |
| 2024-12-02 17:48:13 +0000 | <int-e> | :t Just . negate . curry |
| 2024-12-02 17:48:14 +0000 | <lambdabot> | Num (a -> b -> c) => ((a, b) -> c) -> Maybe (a -> b -> c) |
| 2024-12-02 17:48:38 +0000 | <int-e> | :t Just . negate . uncurry |
| 2024-12-02 17:48:39 +0000 | <lambdabot> | Num ((a, b) -> c) => (a -> b -> c) -> Maybe ((a, b) -> c) |
| 2024-12-02 17:48:57 +0000 | <int-e> | :t (Just . negate .) . uncurry |
| 2024-12-02 17:48:58 +0000 | <lambdabot> | error: |
| 2024-12-02 17:48:58 +0000 | <lambdabot> | The operator ‘.’ [infixr 9] of a section |
| 2024-12-02 17:48:58 +0000 | <lambdabot> | must have lower precedence than that of the operand, |
| 2024-12-02 17:49:11 +0000 | <int-e> | :t ((Just . negate) .) . uncurry |
| 2024-12-02 17:49:11 +0000 | <lambdabot> | Num a1 => (a2 -> b -> a1) -> (a2, b) -> Maybe a1 |
| 2024-12-02 17:50:13 +0000 | <int-e> | (TBH the fact that (a . b .) is invalid annoys me a little bit. It's associative after all...) |
| 2024-12-02 17:50:28 +0000 | <int-e> | :t (. id . id) |
| 2024-12-02 17:50:29 +0000 | <lambdabot> | (b -> c) -> b -> c |
| 2024-12-02 17:50:41 +0000 | <int-e> | and *this* is allowed |
| 2024-12-02 17:50:56 +0000 | <hellwolf> | the power is in the dot? |
| 2024-12-02 17:51:15 +0000 | <int-e> | hellwolf: it's the mark of pointfree code |
| 2024-12-02 17:51:41 +0000 | <hellwolf> | not all code has a point, but pointless code is definitely pointfree |
| 2024-12-02 17:52:01 +0000 | <int-e> | @help pl |
| 2024-12-02 17:52:01 +0000 | <lambdabot> | pointless <expr>. Play with pointfree code. |
| 2024-12-02 17:52:12 +0000 | <int-e> | (that particular pun is ancient) |
| 2024-12-02 17:54:39 +0000 | <Ritual12> | :t ap |
| 2024-12-02 17:54:39 +0000 | <lambdabot> | Monad m => m (a -> b) -> m a -> m b |
| 2024-12-02 17:54:58 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
| 2024-12-02 17:55:59 +0000 | <Ritual12> | What is monad? |
| 2024-12-02 17:56:12 +0000 | JuanDaugherty | (~juan@user/JuanDaugherty) () |
| 2024-12-02 17:56:13 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 17:56:44 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 17:56:52 +0000 | <Ritual12> | @index ap |
| 2024-12-02 17:56:52 +0000 | <lambdabot> | Control.Monad |
| 2024-12-02 17:57:32 +0000 | <int-e> | :t (<*>) |
| 2024-12-02 17:57:33 +0000 | <lambdabot> | Applicative f => f (a -> b) -> f a -> f b |
| 2024-12-02 17:57:55 +0000 | <int-e> | (`ap` mostly exists for historical reasons) |
| 2024-12-02 17:58:27 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-12-02 17:58:31 +0000 | budabudabee | (~budabudab@2600:100e:b308:e5d4:2c68:9c6f:c307:d044) (Read error: Connection reset by peer) |
| 2024-12-02 17:59:05 +0000 | <Ritual12> | Is it similar to <*>? |
| 2024-12-02 17:59:08 +0000 | <haskellbridge> | <Morj> "ap" is useful when you're doing monads in a language without operator overloading ;) |
| 2024-12-02 17:59:29 +0000 | <haskellbridge> | <Morj> When you're translating you stuff from haskell to it I mean |
| 2024-12-02 18:01:04 +0000 | <c_wraith> | <*> and ap have the same type, and are usually the same operation. but ap is implemented in terms of >>= |
| 2024-12-02 18:01:35 +0000 | <int-e> | `ap` existed before Applicative |
| 2024-12-02 18:01:41 +0000 | <c_wraith> | So on rare occasions ap can be more efficient for a specific data type |
| 2024-12-02 18:02:32 +0000 | <c_wraith> | It still exists *mostly* so that you can define the Applicative instance in terms of the Monad operations |
| 2024-12-02 18:02:40 +0000 | <c_wraith> | just like liftM |
| 2024-12-02 18:02:40 +0000 | <int-e> | Hmm why would the Applicative instance not use the more efficient implementation then? |
| 2024-12-02 18:02:54 +0000 | <c_wraith> | mostly in the case of a transformer |
| 2024-12-02 18:02:54 +0000 | <int-e> | (<*>) is a class method |
| 2024-12-02 18:03:23 +0000 | <int-e> | Ah |
| 2024-12-02 18:03:23 +0000 | <c_wraith> | where you want the Applicative instance to only require Applicative from the wrapped type |
| 2024-12-02 18:03:46 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
| 2024-12-02 18:03:57 +0000 | <c_wraith> | It's not common to be in that situation. |
| 2024-12-02 18:04:10 +0000 | <int-e> | Right, adding another level of abstraction may do it. |
| 2024-12-02 18:04:47 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
| 2024-12-02 18:05:36 +0000 | notzmv | (~umar@user/notzmv) notzmv |
| 2024-12-02 18:06:05 +0000 | <hellwolf> | to overthink about it. I am glad it was named applicable, not sure what's the essential difference etymologically between -able and -tive |
| 2024-12-02 18:06:14 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2024-12-02 18:06:18 +0000 | <hellwolf> | *it was not named applicable |
| 2024-12-02 18:06:23 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 18:06:28 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
| 2024-12-02 18:06:54 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 18:07:06 +0000 | tokie | (~tokie@user/strtok) strtok |
| 2024-12-02 18:07:35 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2024-12-02 18:10:45 +0000 | j1n37 | (j1n37@user/j1n37) j1n37 |
| 2024-12-02 18:12:04 +0000 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 245 seconds) |
| 2024-12-02 18:12:04 +0000 | j1n37 | (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2024-12-02 18:16:34 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 18:17:05 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 18:26:45 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 18:27:16 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 18:28:08 +0000 | biberu | (~biberu@user/biberu) biberu |
| 2024-12-02 18:36:26 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-12-02 18:36:30 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2024-12-02 18:36:56 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 18:37:27 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 18:40:18 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 276 seconds) |
| 2024-12-02 18:43:01 +0000 | <monochrom> | mappative is better than mappable, too >:) |
| 2024-12-02 18:45:00 +0000 | rvalue- | (~rvalue@user/rvalue) rvalue |
| 2024-12-02 18:45:33 +0000 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 246 seconds) |
| 2024-12-02 18:46:06 +0000 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds) |
| 2024-12-02 18:47:07 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 18:47:38 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 18:47:39 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3314-645c-9913-39d7-dad5-8363.rev.sfr.net) (Ping timeout: 256 seconds) |
| 2024-12-02 18:49:22 +0000 | <mauke> | Ritual12: inRange? |
| 2024-12-02 18:51:00 +0000 | rvalue- | rvalue |
| 2024-12-02 18:54:16 +0000 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
| 2024-12-02 18:57:18 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 18:57:49 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 19:04:56 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-12-02 19:07:29 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 19:08:00 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 19:08:17 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-12-02 19:09:56 +0000 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
| 2024-12-02 19:09:59 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 2024-12-02 19:12:45 +0000 | <Ritual12> | Mauke what about inRange? |
| 2024-12-02 19:14:18 +0000 | <mauke> | simplifies liftA2 (&&) (>= lower) (<= upper) |
| 2024-12-02 19:14:31 +0000 | <mauke> | :t inRange (?lower, ?upper) |
| 2024-12-02 19:14:32 +0000 | <lambdabot> | (Ix a, ?lower::a, ?upper::a) => a -> Bool |
| 2024-12-02 19:16:43 +0000 | <haskellbridge> | <hellwolf> hmmm, could there be a hypeyhoogle... where you put example values and expected output, and it finds a function that produces that... :) |
| 2024-12-02 19:16:49 +0000 | OftenFaded | (~OftenFade@user/tisktisk) OftenFaded |
| 2024-12-02 19:16:56 +0000 | <haskellbridge> | <hellwolf> *hyperhoogle |
| 2024-12-02 19:17:11 +0000 | Jackneill | (~Jackneill@178-164-253-185.pool.digikabel.hu) Jackneill |
| 2024-12-02 19:17:40 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 19:18:11 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 19:19:49 +0000 | <geekosaur> | not in the general case. there are specific cases, e.g. OEIS |
| 2024-12-02 19:21:03 +0000 | sprotte24 | (~sprotte24@p200300d16f395d001484d78db1444af0.dip0.t-ipconnect.de) |
| 2024-12-02 19:21:31 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 19:27:51 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 19:28:08 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 19:28:22 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 19:33:11 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2024-12-02 19:36:01 +0000 | TheCoffeMaker_ | (~TheCoffeM@186.136.173.70) |
| 2024-12-02 19:36:11 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer) |
| 2024-12-02 19:38:02 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 19:38:33 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 19:39:34 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 19:39:49 +0000 | <sprotte24> | Hi, I´m looking for help for my new Haskell problem which executes too slowly |
| 2024-12-02 19:39:55 +0000 | <sprotte24> | https://paste.tomsmeding.com/yhuKGov3 |
| 2024-12-02 19:41:26 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2024-12-02 19:44:09 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 2024-12-02 19:45:08 +0000 | <monochrom> | I don't find it slow. |
| 2024-12-02 19:48:13 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 19:48:19 +0000 | <haskellbridge> | <Bowuigi> For a single item x, "iterate (x:) []" should be faster |
| 2024-12-02 19:48:44 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 19:49:39 +0000 | <haskellbridge> | <Bowuigi> Making the contained item strict on the list is another option |
| 2024-12-02 19:51:08 +0000 | <sprotte24> | It is my homework for our university. the automatic tests say: heck allCombinations |
| 2024-12-02 19:51:08 +0000 | <sprotte24> | All tests successful |
| 2024-12-02 19:51:08 +0000 | <sprotte24> | ***time limit exceeded*** 0 from 3 points |
| 2024-12-02 19:51:34 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 2024-12-02 19:53:22 +0000 | <sprotte24> | haskellbridge, I am beginner, can you show me the iteration code? |
| 2024-12-02 19:54:35 +0000 | <haskellbridge> | <Bowuigi> Notice the pattern that emerges when you transpose the list |
| 2024-12-02 19:54:41 +0000 | <monochrom> | I am already trying "print $ take 50000 (allCombinations [True, False])" and it is instantaneous (0.07 seconds if redirected to /dev/null) and also seems to be O(1)-space. |
| 2024-12-02 19:55:20 +0000 | <monochrom> | At this point I would ask: did you submit the very same code to school? |
| 2024-12-02 19:55:20 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 19:55:27 +0000 | <haskellbridge> | <Bowuigi> If you don't actually need an infinite list, generating its transposition and printing it in a fancier way may be faster |
| 2024-12-02 19:55:46 +0000 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2024-12-02 19:55:56 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Remote host closed the connection) |
| 2024-12-02 19:56:09 +0000 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
| 2024-12-02 19:56:16 +0000 | <haskellbridge> | <Bowuigi> It shouldn't actually be that slow as is though |
| 2024-12-02 19:56:52 +0000 | <monochrom> | It's also a 2017 laptop I tested on. |
| 2024-12-02 19:57:45 +0000 | <sprotte24> | Unfortunately, a machine judges my submitted solution, and it executes about 100 partly exotic tests |
| 2024-12-02 19:58:24 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 19:58:55 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 19:59:22 +0000 | <monochrom> | I know, but I can't reproduce "slow". |
| 2024-12-02 19:59:59 +0000 | <monochrom> | Can't solve an irreproducible problem. |
| 2024-12-02 20:00:01 +0000 | caconym | (~caconym@user/caconym) (Quit: bye) |
| 2024-12-02 20:00:21 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 20:00:38 +0000 | caconym | (~caconym@user/caconym) caconym |
| 2024-12-02 20:00:50 +0000 | <haskellbridge> | <Bowuigi> Since the list is infinite, some functions can't terminate when executed on them. Do the tests execute anything related to those functions? (length, transpose, etc) |
| 2024-12-02 20:01:30 +0000 | <haskellbridge> | <Bowuigi> If yes, just drop a "take 50000" before the definition or similar |
| 2024-12-02 20:02:04 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Quit: Leaving) |
| 2024-12-02 20:05:39 +0000 | <sprotte24> | perhaps the only way ist to test alternate algorithms for this task |
| 2024-12-02 20:06:59 +0000 | <haskellbridge> | <Bowuigi> Note that testing for infiniteness is impossible since such a test would fail to terminate on an infinite list |
| 2024-12-02 20:08:35 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 20:09:06 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 20:11:09 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 20:12:44 +0000 | <sprotte24> | yes. Another task with generation of a sorted infinite list could be fixed by sorting while inserting each element just in the sorted position. |
| 2024-12-02 20:16:30 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 2024-12-02 20:17:37 +0000 | Ritual12 | (~Ritual12@85-76-13-113-nat.elisa-mobile.fi) (Quit: Client closed) |
| 2024-12-02 20:18:46 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 20:19:01 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2024-12-02 20:19:18 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 20:21:54 +0000 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) (Ping timeout: 260 seconds) |
| 2024-12-02 20:22:51 +0000 | <sprotte24> | also allCombinations :: [a] -> [[a]] |
| 2024-12-02 20:22:51 +0000 | <sprotte24> | allCombinations xs = sequence =<< iterate (xs :) [] was too slow |
| 2024-12-02 20:26:00 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers |
| 2024-12-02 20:26:56 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 20:28:57 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 20:29:28 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 20:31:27 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 276 seconds) |
| 2024-12-02 20:31:36 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 2024-12-02 20:33:02 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2024-12-02 20:37:14 +0000 | <hellwolf> | :type replicateM Int [a] |
| 2024-12-02 20:38:07 +0000 | <hellwolf> | > :type replicateM 10 |
| 2024-12-02 20:38:08 +0000 | <lambdabot> | <hint>:1:1: error: parse error on input ‘:’ |
| 2024-12-02 20:38:45 +0000 | <Rembane> | :t replicateM Int [a] |
| 2024-12-02 20:38:46 +0000 | <lambdabot> | error: |
| 2024-12-02 20:38:46 +0000 | <lambdabot> | • Data constructor not in scope: Int :: Int |
| 2024-12-02 20:38:46 +0000 | <lambdabot> | • Perhaps you meant variable ‘int’ (imported from Text.PrettyPrint.HughesPJ) |
| 2024-12-02 20:38:47 +0000 | <Rembane> | :D |
| 2024-12-02 20:38:59 +0000 | <Rembane> | :t replicateM (0 :: Int) |
| 2024-12-02 20:39:00 +0000 | <lambdabot> | Applicative m => m a -> m [a] |
| 2024-12-02 20:39:08 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 20:39:34 +0000 | <hellwolf> | when m = List, you get a [a] -> [[a]] |
| 2024-12-02 20:39:39 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 20:40:31 +0000 | <hellwolf> | > replicate 2 [True, False] |
| 2024-12-02 20:40:33 +0000 | <lambdabot> | [[True,False],[True,False]] |
| 2024-12-02 20:40:54 +0000 | <hellwolf> | oh, wait. |
| 2024-12-02 20:41:09 +0000 | <hellwolf> | > replicateM 2 [True, False] |
| 2024-12-02 20:41:10 +0000 | <lambdabot> | [[True,True],[True,False],[False,True],[False,False]] |
| 2024-12-02 20:41:16 +0000 | <hellwolf> | here you go, big difference.. |
| 2024-12-02 20:41:57 +0000 | <hellwolf> | I sometimes still don't know how it works, unless you think about it mathematically. |
| 2024-12-02 20:42:46 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 20:44:24 +0000 | Jackneill | (~Jackneill@178-164-253-185.pool.digikabel.hu) (Remote host closed the connection) |
| 2024-12-02 20:45:12 +0000 | simendsjo-web | (34b0550437@2a03:6000:1812:100::1441) simendsjo |
| 2024-12-02 20:47:49 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 20:49:19 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 20:49:19 +0000 | zmt01 | (~zmt00@user/zmt00) zmt00 |
| 2024-12-02 20:49:49 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers |
| 2024-12-02 20:49:51 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 20:50:44 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 2024-12-02 20:52:27 +0000 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 252 seconds) |
| 2024-12-02 20:52:50 +0000 | swamp_ | (~zmt00@user/zmt00) zmt00 |
| 2024-12-02 20:55:03 +0000 | <xerox> | @src replicateM |
| 2024-12-02 20:55:03 +0000 | <lambdabot> | replicateM n x = sequence (replicate n x) |
| 2024-12-02 20:55:16 +0000 | simendsjo-web | (34b0550437@2a03:6000:1812:100::1441) (Remote host closed the connection) |
| 2024-12-02 20:55:26 +0000 | simendsjo_ | (34b0550437@2a03:6000:1812:100::1441) simendsjo |
| 2024-12-02 20:55:33 +0000 | <Rembane> | @src replicate |
| 2024-12-02 20:55:33 +0000 | <lambdabot> | replicate n x = take n (repeat x) |
| 2024-12-02 20:55:43 +0000 | <Rembane> | Lovely! |
| 2024-12-02 20:55:46 +0000 | zmt01 | (~zmt00@user/zmt00) (Ping timeout: 252 seconds) |
| 2024-12-02 20:56:01 +0000 | <xerox> | agreed |
| 2024-12-02 20:57:49 +0000 | zmt01 | (~zmt00@user/zmt00) zmt00 |
| 2024-12-02 20:58:32 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 20:58:48 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 20:58:57 +0000 | simendsjo_ | simendsjo |
| 2024-12-02 20:59:30 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 21:00:01 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 21:01:05 +0000 | swamp_ | (~zmt00@user/zmt00) (Ping timeout: 248 seconds) |
| 2024-12-02 21:01:33 +0000 | zmt00 | (~zmt00@user/zmt00) zmt00 |
| 2024-12-02 21:03:30 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 2024-12-02 21:04:05 +0000 | zmt01 | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
| 2024-12-02 21:04:55 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 21:05:33 +0000 | visilii | (~visilii@188.254.126.79) (Quit: ZNC - https://znc.in) |
| 2024-12-02 21:05:52 +0000 | visilii | (~visilii@188.254.126.79) |
| 2024-12-02 21:09:09 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 21:09:41 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 21:10:12 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 21:10:22 +0000 | Alleria | (~Alleria@user/alleria) (Read error: Connection reset by peer) |
| 2024-12-02 21:10:27 +0000 | <sprotte24> | many nice code lines. Which can I use for my problem infinite listes? |
| 2024-12-02 21:15:21 +0000 | <haskellbridge> | <Bowuigi> The same trick doesn't seem to apply to "repeat" sadly, "sequence (repeat [True, False])" loops |
| 2024-12-02 21:16:08 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 21:19:52 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 21:20:23 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 21:20:49 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 21:22:00 +0000 | <int-e> | Well, it can never decide whether the result is empty. |
| 2024-12-02 21:22:38 +0000 | <int-e> | > sequence (replicate 42 "01" ++ [""]) |
| 2024-12-02 21:22:39 +0000 | <lambdabot> | [] |
| 2024-12-02 21:22:44 +0000 | <int-e> | > sequence (replicate 42 "01") |
| 2024-12-02 21:22:45 +0000 | <lambdabot> | ["000000000000000000000000000000000000000000","00000000000000000000000000000... |
| 2024-12-02 21:24:40 +0000 | <sprotte24> | in my task allCombinations [] = [[]] |
| 2024-12-02 21:30:03 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 21:30:34 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 21:31:55 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 21:36:21 +0000 | <haskellbridge> | <hellwolf> Repeats allowed No Repeats |
| 2024-12-02 21:36:21 +0000 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/nxZBNsHrMMJJURRtUnXdnFKt/PyxkJhr_m-A (4 lines) |
| 2024-12-02 21:36:42 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 2024-12-02 21:38:57 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers |
| 2024-12-02 21:39:17 +0000 | Square | (~Square@user/square) Square |
| 2024-12-02 21:39:33 +0000 | <hellwolf> | the `replicateM Int` does repeated permutations, I guess? |
| 2024-12-02 21:40:09 +0000 | <dminuoso> | What does `replicateM Int` mean? |
| 2024-12-02 21:40:14 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 21:40:29 +0000 | <hellwolf> | > replicateM 2 ['a', 'b', 'c'] |
| 2024-12-02 21:40:31 +0000 | <lambdabot> | ["aa","ab","ac","ba","bb","bc","ca","cb","cc"] |
| 2024-12-02 21:40:45 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 21:40:48 +0000 | <sprotte24> | [02.12.24|21:41:08] <hellwolf> > replicateM 2 [True, False] |
| 2024-12-02 21:40:48 +0000 | <sprotte24> | [02.12.24|21:41:10] <lambdabot> [[True,True],[True,False],[False,True],[False,False]] |
| 2024-12-02 21:41:23 +0000 | <dminuoso> | hellwolf: So with a bit of squinting you could think of [] modelling non-determinism. |
| 2024-12-02 21:41:50 +0000 | <dminuoso> | Squinting because lists have an order, so there's a slight bit of extra structure there. |
| 2024-12-02 21:41:55 +0000 | <hellwolf> | my math memory of this party gets blurry... I can't what is asked here, I guess it's either someone's home work, or advent calendar coding challenges. |
| 2024-12-02 21:42:09 +0000 | <sprotte24> | [[],[True],[False]...] ist misssingand the tail |
| 2024-12-02 21:42:51 +0000 | <dminuoso> | hellwolf: So ['a', 'b', 'c'] could be seen as "some non-deterministic choice of 'a", "b" and c" |
| 2024-12-02 21:42:59 +0000 | <dminuoso> | Gah enter a bit early, but anyhow. |
| 2024-12-02 21:43:29 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 265 seconds) |
| 2024-12-02 21:43:35 +0000 | <dminuoso> | In that sense it gives you permutations. |
| 2024-12-02 21:46:18 +0000 | <sprotte24> | Yes. For permutation, I add the next number in front, in the middle and the end of the current list. [[],[1],[1,2].[2,1] and so on |
| 2024-12-02 21:47:43 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 21:47:55 +0000 | <hellwolf> | I wonder what's the clever one-liner one for combinations. |
| 2024-12-02 21:48:38 +0000 | <hellwolf> | repeat or non-repeat |
| 2024-12-02 21:49:06 +0000 | <hellwolf> | without post processing the permuntation. |
| 2024-12-02 21:49:19 +0000 | <dminuoso> | Depends on whether you want it performant or not. |
| 2024-12-02 21:49:34 +0000 | <sprotte24> | these were non-repeat |
| 2024-12-02 21:50:09 +0000 | <dminuoso> | If you dont care about performance, you can just take list monad, sort and nub it (maybe via Data.Set) |
| 2024-12-02 21:50:25 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 21:50:56 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 21:51:04 +0000 | <sprotte24> | But that would not work for a infinite list to be sorted later |
| 2024-12-02 21:52:06 +0000 | Everything | (~Everythin@46.211.103.42) Everything |
| 2024-12-02 21:52:35 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 21:54:35 +0000 | <dminuoso> | The solution for infinite lists would fall in the performant category. |
| 2024-12-02 21:54:54 +0000 | <hellwolf> | let me try with splitAt and recursion |
| 2024-12-02 21:55:05 +0000 | <hellwolf> | one sec |
| 2024-12-02 21:55:19 +0000 | <hellwolf> | unlikely a one-liner anymore |
| 2024-12-02 21:59:05 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-12-02 21:59:24 +0000 | <sprotte24> | oksplits :: [a] -> [([a], [a])] |
| 2024-12-02 21:59:24 +0000 | <sprotte24> | splits [] = [([], [])] |
| 2024-12-02 21:59:24 +0000 | <sprotte24> | splits (y:ys) = ([], y:ys) : [(y:ys1, ys2) |
| 2024-12-02 21:59:25 +0000 | <sprotte24> | | (ys1, ys2) <- splits ys] |
| 2024-12-02 22:00:08 +0000 | alexherbo2 | (~alexherbo@13.135.22.93.rev.sfr.net) alexherbo2 |
| 2024-12-02 22:00:36 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-12-02 22:01:08 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:01:38 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers |
| 2024-12-02 22:03:29 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 22:04:03 +0000 | pounce | (~pounce@user/cute/pounce) pounce |
| 2024-12-02 22:05:33 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-12-02 22:05:47 +0000 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2024-12-02 22:06:20 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:07:32 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 272 seconds) |
| 2024-12-02 22:10:35 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 2024-12-02 22:10:59 +0000 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2024-12-02 22:11:31 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:16:10 +0000 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2024-12-02 22:16:41 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:20:22 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers |
| 2024-12-02 22:21:21 +0000 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2024-12-02 22:21:33 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 22:21:52 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:22:51 +0000 | michalz | (~michalz@185.246.207.218) (Remote host closed the connection) |
| 2024-12-02 22:26:32 +0000 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2024-12-02 22:26:44 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 2024-12-02 22:27:04 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:27:05 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2024-12-02 22:29:14 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 255 seconds) |
| 2024-12-02 22:29:38 +0000 | Everything | (~Everythin@46.211.103.42) (Ping timeout: 252 seconds) |
| 2024-12-02 22:29:43 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 2024-12-02 22:31:34 +0000 | Everything | (~Everythin@46.211.80.247) Everything |
| 2024-12-02 22:31:43 +0000 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2024-12-02 22:32:14 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:34:57 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 276 seconds) |
| 2024-12-02 22:35:18 +0000 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2024-12-02 22:35:49 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:36:21 +0000 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2024-12-02 22:36:52 +0000 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2024-12-02 22:37:19 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 22:39:02 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-12-02 22:40:07 +0000 | alp | (~alp@2001:861:8ca0:4940:a36a:bc17:9bfc:9786) (Remote host closed the connection) |
| 2024-12-02 22:40:24 +0000 | alp | (~alp@2001:861:8ca0:4940:6caf:2993:1558:2dee) |
| 2024-12-02 22:41:22 +0000 | alp | (~alp@2001:861:8ca0:4940:6caf:2993:1558:2dee) (Remote host closed the connection) |
| 2024-12-02 22:41:38 +0000 | gorignak | (~gorignak@user/gorignak) (Remote host closed the connection) |
| 2024-12-02 22:41:39 +0000 | alp | (~alp@2001:861:8ca0:4940:18f3:4eb6:59be:b60) |
| 2024-12-02 22:42:06 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 22:43:04 +0000 | alp | (~alp@2001:861:8ca0:4940:18f3:4eb6:59be:b60) (Remote host closed the connection) |
| 2024-12-02 22:43:21 +0000 | alp | (~alp@2001:861:8ca0:4940:53b0:728a:4a19:6af2) |
| 2024-12-02 22:43:29 +0000 | hgolden_ | (~hgolden@2603:8000:9d00:3ed1:6c70:1ac0:d127:74dd) (Remote host closed the connection) |
| 2024-12-02 22:44:45 +0000 | alp | (~alp@2001:861:8ca0:4940:53b0:728a:4a19:6af2) (Remote host closed the connection) |
| 2024-12-02 22:45:03 +0000 | alp | (~alp@2001:861:8ca0:4940:11eb:6be:450d:4949) |
| 2024-12-02 22:45:42 +0000 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
| 2024-12-02 22:45:50 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 2024-12-02 22:46:27 +0000 | alp | (~alp@2001:861:8ca0:4940:11eb:6be:450d:4949) (Remote host closed the connection) |
| 2024-12-02 22:46:44 +0000 | alp | (~alp@2001:861:8ca0:4940:3097:3d6d:8b01:fcba) |
| 2024-12-02 22:47:55 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers |
| 2024-12-02 22:48:08 +0000 | alp | (~alp@2001:861:8ca0:4940:3097:3d6d:8b01:fcba) (Remote host closed the connection) |
| 2024-12-02 22:48:26 +0000 | alp | (~alp@2001:861:8ca0:4940:442:919:bd8c:d19c) |
| 2024-12-02 22:50:04 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 2024-12-02 22:50:08 +0000 | alp_ | (~alp@2001:861:8ca0:4940:2fb9:3073:3158:62ef) |
| 2024-12-02 22:51:32 +0000 | alp_ | (~alp@2001:861:8ca0:4940:2fb9:3073:3158:62ef) (Remote host closed the connection) |
| 2024-12-02 22:51:49 +0000 | alp_ | (~alp@2001:861:8ca0:4940:36d2:d74a:8e91:a2c6) |
| 2024-12-02 22:53:06 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 22:53:12 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2024-12-02 22:53:15 +0000 | alp_ | (~alp@2001:861:8ca0:4940:36d2:d74a:8e91:a2c6) (Remote host closed the connection) |
| 2024-12-02 22:53:33 +0000 | alp_ | (~alp@2001:861:8ca0:4940:7755:1baa:b171:8d8d) |
| 2024-12-02 22:53:37 +0000 | alp | (~alp@2001:861:8ca0:4940:442:919:bd8c:d19c) (Ping timeout: 248 seconds) |
| 2024-12-02 22:55:16 +0000 | alp__ | (~alp@2001:861:8ca0:4940:9b41:1bdc:3efe:5d7f) |
| 2024-12-02 22:56:31 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 22:58:09 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 22:58:25 +0000 | alp_ | (~alp@2001:861:8ca0:4940:7755:1baa:b171:8d8d) (Ping timeout: 248 seconds) |
| 2024-12-02 22:58:48 +0000 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
| 2024-12-02 22:58:59 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2024-12-02 23:00:01 +0000 | alp__ | (~alp@2001:861:8ca0:4940:9b41:1bdc:3efe:5d7f) (Ping timeout: 248 seconds) |
| 2024-12-02 23:08:54 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 23:11:55 +0000 | koz | (~koz@121.99.240.58) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-12-02 23:13:15 +0000 | koz | (~koz@121.99.240.58) |
| 2024-12-02 23:13:38 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 23:24:18 +0000 | malte | (~malte@mal.tc) (Remote host closed the connection) |
| 2024-12-02 23:24:40 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 23:27:33 +0000 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Quit: Ping timeout (120 seconds)) |
| 2024-12-02 23:27:43 +0000 | MironZ3 | (~MironZ@nat-infra.ehlab.uk) (Quit: Ping timeout (120 seconds)) |
| 2024-12-02 23:27:50 +0000 | malte | (~malte@mal.tc) malte |
| 2024-12-02 23:27:52 +0000 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) sciencentistguy |
| 2024-12-02 23:28:03 +0000 | MironZ3 | (~MironZ@nat-infra.ehlab.uk) |
| 2024-12-02 23:29:24 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 2024-12-02 23:34:56 +0000 | hgolden | (~hgolden@2603:8000:9d00:3ed1:6c70:1ac0:d127:74dd) hgolden |
| 2024-12-02 23:37:02 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers |
| 2024-12-02 23:40:28 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 23:41:29 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 2024-12-02 23:42:16 +0000 | tdammers | (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 2024-12-02 23:45:19 +0000 | <hellwolf> | I am back. This is one that works: https://play.haskell.org/saved/SyfciPGn not the most pretty code, but kinda works. |
| 2024-12-02 23:47:05 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 2024-12-02 23:47:13 +0000 | Square | (~Square@user/square) (Ping timeout: 265 seconds) |
| 2024-12-02 23:48:36 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
| 2024-12-02 23:53:25 +0000 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 2024-12-02 23:55:20 +0000 | alexherbo2 | (~alexherbo@13.135.22.93.rev.sfr.net) (Remote host closed the connection) |