2024/12/02

2024-12-02 00:00:32 +0100tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2024-12-02 00:00:33 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-12-02 00:00:38 +0100Everything(~Everythin@46.211.118.149) Everything
2024-12-02 00:01:12 +0100 <Rembane> Barefoot: The Influenced by-part of the wikipedia page is quite eluminating: https://en.wikipedia.org/wiki/Haskell
2024-12-02 00:02:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-02 00:02:39 +0100 <Barefoot> Rembrane: That’s a big list! Also, it misses some siblings/precursors of Haskell.
2024-12-02 00:03:46 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2024-12-02 00:06:00 +0100 <Rembane> Barefoot: Any particular ones you're thinking of?
2024-12-02 00:06:21 +0100 <Barefoot> Rembrane: Something that started with E…
2024-12-02 00:07:08 +0100 <Barefoot> Lisp is probably everybody’s granddaddy. (Who inherited the closing braces? XD) …Self-modifying code is still a superpower I wish the programming languages I know have. But hey, I recently used inline-asm (Language.Asm.Inline) to summon Cthulhu, so maybe I can coax Haskell into that too! XD
2024-12-02 00:09:46 +0100Barefootdreams of ascending to the level of Mel http://www.catb.org/jargon/html/story-of-mel.html, one day …
2024-12-02 00:14:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 00:17:26 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-12-02 00:17:54 +0100Barefoot(~Barefoot@124-pond.reversedummy.arcor-ip.net) (Quit: Client closed)
2024-12-02 00:18:16 +0100Guest46(~Guest46@31.205.202.30)
2024-12-02 00:19:06 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-02 00:19:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-02 00:23:12 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 265 seconds)
2024-12-02 00:28:45 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 252 seconds)
2024-12-02 00:29:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 00:32:25 +0100Guest46(~Guest46@31.205.202.30) (Quit: Client closed)
2024-12-02 00:34:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 00:37:57 +0100acidjnk_new3(~acidjnk@p200300d6e7283f8569e0cda054bb1243.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-12-02 00:40:44 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-12-02 00:45:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 00:46:21 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) myxokephale
2024-12-02 00:46:52 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-12-02 00:50:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-12-02 00:51:20 +0100weary-traveler(~user@user/user363627) user363627
2024-12-02 00:52:25 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 260 seconds)
2024-12-02 00:53:23 +0100manship(~manship@31.205.202.30)
2024-12-02 00:53:46 +0100manshipGuest1752
2024-12-02 00:55:01 +0100Guest1752(~manship@31.205.202.30) ()
2024-12-02 00:59:46 +0100 <Leary> L29Ah: Not in IO or STM. Each catch costs a stack frame, then a throw gobbles stack until it finds a corresponding catch frame that doesn't rethrow it. Something like `ExceptT`, on the other hand, has overhead on every bind.
2024-12-02 01:01:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 01:04:26 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 260 seconds)
2024-12-02 01:06:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 01:14:21 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-12-02 01:16:07 +0100banner_(~banner@202.137.173.5)
2024-12-02 01:16:21 +0100banner(~banner@202.137.173.5) (Read error: Connection reset by peer)
2024-12-02 01:16:52 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 01:19:02 +0100zenmov(~zenmov@user/zenmov) (Ping timeout: 255 seconds)
2024-12-02 01:19:57 +0100poopiedookie(~poopiedoo@syn-069-206-166-125.res.spectrum.com) (Quit: Client closed)
2024-12-02 01:20:50 +0100Everything(~Everythin@46.211.118.149) (Ping timeout: 252 seconds)
2024-12-02 01:21:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-02 01:22:47 +0100Everything(~Everythin@46-133-39-1.mobile.vf-ua.net) Everything
2024-12-02 01:26:15 +0100xff0x(~xff0x@2405:6580:b080:900:bdb1:25e1:e64a:22aa) (Ping timeout: 252 seconds)
2024-12-02 01:28:40 +0100sprotte24(~sprotte24@p200300d16f31c000346c7ccb6d0f74ba.dip0.t-ipconnect.de) (Quit: Leaving)
2024-12-02 01:29:59 +0100KicksonButt(~quassel@187.21.174.221) (Ping timeout: 252 seconds)
2024-12-02 01:30:57 +0100banner_(~banner@202.137.173.5) (Quit: Leaving)
2024-12-02 01:31:39 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-12-02 01:32:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 01:37:45 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-12-02 01:39:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 01:44:55 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 260 seconds)
2024-12-02 01:48:14 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 260 seconds)
2024-12-02 01:50:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 01:55:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-02 01:58:36 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 01:59:51 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-12-02 02:01:35 +0100gvg(~dcd@user/gvg) gvg
2024-12-02 02:04:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-12-02 02:05:34 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-02 02:10:21 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-12-02 02:14:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 02:19:04 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-12-02 02:19:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 02:25:55 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-02 02:27:13 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-02 02:30:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 02:35:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-02 02:43:00 +0100mange(~user@user/mange) mange
2024-12-02 02:45:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 02:50:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 02:51:11 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-12-02 02:53:58 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-12-02 02:57:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-02 02:59:09 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 245 seconds)
2024-12-02 03:01:11 +0100billchenchina(~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) billchenchina
2024-12-02 03:01:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 03:06:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-02 03:15:36 +0100Enviosity(~Enviosity@2.219.56.221) (Quit: Connection error?!)
2024-12-02 03:16:11 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-02 03:17:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 03:18:25 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2024-12-02 03:22:09 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds)
2024-12-02 03:22:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-02 03:22:48 +0100Square(~Square@user/square) Square
2024-12-02 03:25:52 +0100zenmov(~zenmov@user/zenmov) zenmov
2024-12-02 03:33:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 03:34:41 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-02 03:35:10 +0100Enviosity(~Enviosity@2.219.56.221)
2024-12-02 03:38:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-02 03:43:12 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-12-02 03:47:53 +0100euleritian(~euleritia@77.22.252.159)
2024-12-02 03:49:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 03:53:33 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 246 seconds)
2024-12-02 03:54:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-02 03:58:17 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2024-12-02 03:59:36 +0100Enviosity_(~Enviosity@2.219.56.221)
2024-12-02 04:02:09 +0100Enviosity(~Enviosity@2.219.56.221) (Ping timeout: 252 seconds)
2024-12-02 04:04:09 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) ezzieyguywuf
2024-12-02 04:04:53 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 04:08:46 +0100td_(~td@i53870919.versanet.de) (Ping timeout: 252 seconds)
2024-12-02 04:09:52 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 04:10:33 +0100td_(~td@i5387091A.versanet.de) td_
2024-12-02 04:20:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 04:27:26 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-12-02 04:27:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-02 04:30:20 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-02 04:33:18 +0100tv(~tv@user/tv) (Read error: Connection reset by peer)
2024-12-02 04:35:44 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-12-02 04:38:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 04:40:18 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 252 seconds)
2024-12-02 04:43:09 +0100Everything(~Everythin@46-133-39-1.mobile.vf-ua.net) (Quit: leaving)
2024-12-02 04:43:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-02 04:50:10 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-02 04:54:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 04:58:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 05:07:03 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-12-02 05:09:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 05:14:46 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 05:19:39 +0100aforemny_(~aforemny@2001:9e8:6cc2:7300:b057:b2c0:d48e:e441) aforemny
2024-12-02 05:20:05 +0100aforemny(~aforemny@2001:9e8:6ce8:7100:2a57:7115:ef6a:199f) (Ping timeout: 248 seconds)
2024-12-02 05:25:14 +0100KicksonButt(~quassel@187.21.174.221)
2024-12-02 05:25:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 05:30:13 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-02 05:40:49 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-02 05:41:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 05:46:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-02 05:48:34 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 260 seconds)
2024-12-02 05:50:01 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 05:55:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 05:59:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-02 06:02:03 +0100KicksonButt(~quassel@187.21.174.221) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-12-02 06:10:51 +0100zlqrvx(~zlqrvx@user/zlqrvx) (Ping timeout: 252 seconds)
2024-12-02 06:11:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 06:14:56 +0100zlqrvx(~zlqrvx@user/zlqrvx) zlqrvx
2024-12-02 06:15:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-02 06:24:41 +0100michalz(~michalz@185.246.207.218)
2024-12-02 06:26:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 06:27:17 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 248 seconds)
2024-12-02 06:32:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-02 06:42:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 06:47:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-02 06:58:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 07:05:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-02 07:05:23 +0100anpad(~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in)
2024-12-02 07:07:29 +0100anpad(~pandeyan@user/anpad) anpad
2024-12-02 07:08:13 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl)
2024-12-02 07:10:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 07:15:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 07:17:33 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-12-02 07:24:59 +0100leif(~leif@210.54.33.112) leif
2024-12-02 07:26:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 07:31:11 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-12-02 07:31:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-02 07:37:24 +0100mange(~user@user/mange) (Quit: Quittin' time!)
2024-12-02 07:42:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 07:47:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-02 07:56:35 +0100acidjnk_new3(~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) acidjnk
2024-12-02 07:57:42 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-12-02 07:58:11 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 08:02:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-02 08:11:27 +0100billchenchina-(~billchenc@103.118.42.229) billchenchina
2024-12-02 08:11:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 08:13:44 +0100billchenchina(~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) (Ping timeout: 245 seconds)
2024-12-02 08:16:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-02 08:16:34 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2024-12-02 08:24:57 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 276 seconds)
2024-12-02 08:27:36 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 08:32:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-02 08:33:57 +0100CiaoSen(~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) CiaoSen
2024-12-02 08:35:49 +0100euleritian(~euleritia@77.22.252.159) (Ping timeout: 248 seconds)
2024-12-02 08:36:16 +0100euleritian(~euleritia@dynamic-176-006-142-190.176.6.pool.telefonica.de)
2024-12-02 08:38:21 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers
2024-12-02 08:40:27 +0100briandaed(~root@user/briandaed) briandaed
2024-12-02 08:43:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 08:43:50 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving)
2024-12-02 08:45:23 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 265 seconds)
2024-12-02 08:47:52 +0100Square2(~Square4@user/square) Square
2024-12-02 08:48:05 +0100APic(apic@apic.name) (Ping timeout: 248 seconds)
2024-12-02 08:50:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-02 08:51:10 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-12-02 08:51:36 +0100Square(~Square@user/square) (Ping timeout: 276 seconds)
2024-12-02 08:53:51 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-02 08:56:08 +0100ubert(~Thunderbi@p200300ecdf42fd867c5a9f24741cb45b.dip0.t-ipconnect.de) ubert
2024-12-02 09:00:05 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-02 09:00:06 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers
2024-12-02 09:00:50 +0100caconym(~caconym@user/caconym) caconym
2024-12-02 09:01:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 09:07:37 +0100CiaoSen(~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) (Ping timeout: 265 seconds)
2024-12-02 09:15:29 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-02 09:18:13 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
2024-12-02 09:19:42 +0100APic(apic@apic.name) APic
2024-12-02 09:20:16 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-12-02 09:21:01 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-02 09:26:37 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-02 09:29:47 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-02 09:29:57 +0100Square(~Square@user/square) Square
2024-12-02 09:32:53 +0100acidjnk_new3(~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-12-02 09:33:12 +0100vanishingideal(~vanishing@user/vanishingideal) (Quit: leaving)
2024-12-02 09:34:09 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers
2024-12-02 09:36:53 +0100alp_(~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) (Remote host closed the connection)
2024-12-02 09:37:25 +0100Square(~Square@user/square) (Ping timeout: 260 seconds)
2024-12-02 09:38:12 +0100alp(~alp@2001:861:8ca0:4940:a36a:bc17:9bfc:9786)
2024-12-02 09:43:00 +0100gorignak(~gorignak@user/gorignak) (Remote host closed the connection)
2024-12-02 09:56:13 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-02 10:00:43 +0100APic(apic@apic.name) (Ping timeout: 264 seconds)
2024-12-02 10:02:58 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-12-02 10:03:37 +0100acidjnk_new3(~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de)
2024-12-02 10:05:10 +0100 <tomsmeding> why do we now have 9.8.4 in ghcup without having 9.8.3 :p
2024-12-02 10:05:21 +0100chele(~chele@user/chele) chele
2024-12-02 10:05:27 +0100 <haskellbridge> <maerwald> because 9.8.3 is BUSTED
2024-12-02 10:05:49 +0100 <haskellbridge> <maerwald> well, not exactly, but shipping a bugged filepath :)
2024-12-02 10:06:23 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-12-02 10:06:23 +0100 <tomsmeding> ah I see :p
2024-12-02 10:06:35 +0100 <tomsmeding> maerwald: thanks for going the good work :)
2024-12-02 10:07:06 +0100 <tomsmeding> *doing
2024-12-02 10:11:23 +0100 <haskellbridge> <maerwald> 9.6.7 I think is supposed to come too soon
2024-12-02 10:11:33 +0100 <haskellbridge> <maerwald> it will then be the target of the next "recommended" release
2024-12-02 10:13:35 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 260 seconds)
2024-12-02 10:13:58 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers
2024-12-02 10:15:53 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-12-02 10:16:56 +0100califax(~califax@user/califx) califx
2024-12-02 10:21:44 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 255 seconds)
2024-12-02 10:23:59 +0100APic(apic@apic.name) APic
2024-12-02 10:30:12 +0100m1dnight(~m1dnight@141.134.25.8) (Quit: WeeChat 3.0)
2024-12-02 10:33:22 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-02 10:35:56 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers
2024-12-02 10:36:25 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-12-02 10:37:36 +0100CiaoSen(~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) CiaoSen
2024-12-02 10:37:56 +0100califax(~califax@user/califx) califx
2024-12-02 10:40:07 +0100APic(apic@apic.name) (Ping timeout: 252 seconds)
2024-12-02 10:43:53 +0100euleritian(~euleritia@dynamic-176-006-142-190.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-02 10:44:14 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-12-02 10:50:16 +0100JamesMowery439(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) JamesMowery
2024-12-02 10:50:55 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-12-02 10:51:26 +0100JamesMowery43(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) (Ping timeout: 255 seconds)
2024-12-02 10:51:26 +0100JamesMowery439JamesMowery43
2024-12-02 10:51:29 +0100euleritian(~euleritia@dynamic-176-006-129-106.176.6.pool.telefonica.de)
2024-12-02 10:56:04 +0100koolazer(~koo@user/koolazer) (Remote host closed the connection)
2024-12-02 10:56:05 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-12-02 10:57:13 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds)
2024-12-02 10:57:15 +0100califax(~califax@user/califx) califx
2024-12-02 10:59:35 +0100euleritian(~euleritia@dynamic-176-006-129-106.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-02 11:00:06 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-12-02 11:00:54 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-12-02 11:00:54 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-12-02 11:01:37 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-12-02 11:02:14 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-12-02 11:09:11 +0100 <tomsmeding> playground now has 9.8.4 :)
2024-12-02 11:10:55 +0100__monty__(~toonn@user/toonn) toonn
2024-12-02 11:15:48 +0100m1dnight(~m1dnight@d8D861908.access.telenet.be) m1dnight
2024-12-02 11:19:08 +0100m1dnight(~m1dnight@d8D861908.access.telenet.be) (Client Quit)
2024-12-02 11:23:02 +0100m1dnight(~m1dnight@d8D861908.access.telenet.be) m1dnight
2024-12-02 11:27:57 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
2024-12-02 11:28:27 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers
2024-12-02 11:38:52 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-12-02 11:39:00 +0100fp(~Thunderbi@2001:708:20:1406::1370) fp
2024-12-02 11:40:54 +0100CiaoSen(~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2024-12-02 11:42:23 +0100 <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 11:44:12 +0100 <int-e> @pl \x y -> abs (x - y)
2024-12-02 11:44:12 +0100 <lambdabot> (abs .) . (-)
2024-12-02 11:44:28 +0100 <int-e> you're applying abs to a function
2024-12-02 11:45:40 +0100 <fp> Is it better to use what you wrote or what lambdabot wrote
2024-12-02 11:45:58 +0100 <fp> int-e
2024-12-02 11:45:59 +0100 <int-e> I'd use the function
2024-12-02 11:46:08 +0100 <int-e> that is what I wrote
2024-12-02 11:46:08 +0100 <fp> kk thank you
2024-12-02 11:46:15 +0100sawilagar(~sawilagar@user/sawilagar) (Quit: Leaving)
2024-12-02 11:49:53 +0100 <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 11:50:19 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-12-02 11:50:36 +0100 <haskellbridge> <Morj> Maybe something like "map (abs . uncurry (-)) $ zip [1,2,3] [3,2,1]" would look better
2024-12-02 11:50:48 +0100tv(~tv@user/tv) tv
2024-12-02 11:51:35 +0100 <geekosaur> I'd avoid the ($) as well since you seem to be confused about the difference between it and (.)
2024-12-02 11:51:57 +0100 <fp> Morj point-ful style refers to this sort of closure thing, \x y -> abs x - y
2024-12-02 11:52:11 +0100 <fp> I am indeed confused by the many symbols
2024-12-02 11:52:24 +0100 <int-e> beware that abs x - y is different from abs (x - y)
2024-12-02 11:52:38 +0100 <fp> right I just wrote that without thinking too hard
2024-12-02 11:53:55 +0100 <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 11:54:22 +0100tinjamin4(~tinjamin@banshee.h4x0r.space) (Remote host closed the connection)
2024-12-02 11:54:36 +0100 <fp> I see, ok
2024-12-02 11:56:38 +0100tinjamin4(~tinjamin@banshee.h4x0r.space)
2024-12-02 11:59:06 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-12-02 12:01:09 +0100kuribas(~user@ptr-17d51emmusfz7zv97iv.18120a2.ip6.access.telenet.be)
2024-12-02 12:05:27 +0100arahael(~arahael@user/arahael) (Quit: Lost terminal)
2024-12-02 12:12:07 +0100kmein(~weechat@user/kmein) (Ping timeout: 264 seconds)
2024-12-02 12:13:57 +0100kmein(~weechat@user/kmein) kmein
2024-12-02 12:23:31 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 264 seconds)
2024-12-02 12:23:42 +0100skinormally avoids using `$' altogether
2024-12-02 12:23:47 +0100 <ski> (with a few exceptions)
2024-12-02 12:23:55 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl)
2024-12-02 12:25:41 +0100 <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 12:27:17 +0100fp(~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 248 seconds)
2024-12-02 12:35:51 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 276 seconds)
2024-12-02 12:45:52 +0100fp(~Thunderbi@130.233.70.205) fp
2024-12-02 12:47:18 +0100pavonia(~user@user/siracusa) siracusa
2024-12-02 12:49:25 +0100xff0x(~xff0x@2405:6580:b080:900:2e90:f46e:2f28:18f7)
2024-12-02 12:51:39 +0100ubert(~Thunderbi@p200300ecdf42fd867c5a9f24741cb45b.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2024-12-02 12:55:18 +0100CiaoSen(~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) CiaoSen
2024-12-02 12:56:44 +0100APic(apic@apic.name) APic
2024-12-02 12:56:58 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers
2024-12-02 12:57:30 +0100kmein(~weechat@user/kmein) (Quit: ciao kakao)
2024-12-02 12:58:20 +0100kmein(~weechat@user/kmein) kmein
2024-12-02 13:00:12 +0100Guest87(~Guest87@81.144.164.210)
2024-12-02 13:02:00 +0100billchenchina(~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) billchenchina
2024-12-02 13:04:05 +0100billchenchina-(~billchenc@103.118.42.229) (Ping timeout: 248 seconds)
2024-12-02 13:04:59 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-12-02 13:08:48 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2024-12-02 13:09:23 +0100 <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 13:09:28 +0100 <ski> fp ^
2024-12-02 13:10:57 +0100euleritian(~euleritia@dynamic-176-006-139-191.176.6.pool.telefonica.de)
2024-12-02 13:11:03 +0100 <fp> Gosh how do you disable thunderbird from turning haskell into emojis
2024-12-02 13:11:54 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
2024-12-02 13:11:56 +0100 <dminuoso> fp: You can disable "Display emoticons as graphics" globally
2024-12-02 13:12:04 +0100 <dminuoso> Pick your poison.
2024-12-02 13:12:29 +0100fp(~Thunderbi@130.233.70.205) (Quit: fp)
2024-12-02 13:12:51 +0100fp(~Thunderbi@2001:708:20:1406::1370) fp
2024-12-02 13:14:40 +0100 <fp> But so in the case of (f .) . g, is (f .) as an operator using (.), or is it its own thing
2024-12-02 13:15:49 +0100 <dminuoso> fp: It is called a section
2024-12-02 13:16:48 +0100 <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 13:17:24 +0100 <dminuoso> So (a .) is the same as `\x -> (a . x)` and `(. b)` is the same as `\x -> (x . b)`
2024-12-02 13:18:40 +0100 <dminuoso> And also (a .) is obviously the same as ((.) a)
2024-12-02 13:18:51 +0100 <dminuoso> Though (b .) has no equivalent here except the lambda form above.
2024-12-02 13:19:03 +0100 <ski> (fp : see PM for what you missed, before)
2024-12-02 13:19:54 +0100 <ski> `(^ 2)' is the squaring function, and `(2 ^)' is the power-of-two function
2024-12-02 13:20:03 +0100 <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 13:21:04 +0100euleritian(~euleritia@dynamic-176-006-139-191.176.6.pool.telefonica.de) (Ping timeout: 272 seconds)
2024-12-02 13:21:15 +0100biberu(~biberu@user/biberu) (Ping timeout: 252 seconds)
2024-12-02 13:22:08 +0100euleritian(~euleritia@dynamic-176-004-023-074.176.4.pool.telefonica.de)
2024-12-02 13:22:21 +0100 <dminuoso> % (...) True = \_ -> True; (...) _ = \_ -> False
2024-12-02 13:22:21 +0100 <yahb2> <no output>
2024-12-02 13:22:31 +0100 <dminuoso> % (...) undefined `seq` ()
2024-12-02 13:22:31 +0100 <yahb2> ()
2024-12-02 13:22:34 +0100 <dminuoso> Why does this not diverge?
2024-12-02 13:22:48 +0100 <geekosaur> dminuoso, the standard requires them to be identical, I think ghc bends that slightly in some cases
2024-12-02 13:24:35 +0100 <fp> Is (f .) . g similar to (\p, x -> f (g (p x))) ?
2024-12-02 13:25:32 +0100 <dminuoso> What is `\p, x -> ...` supposed to denote?
2024-12-02 13:25:51 +0100 <fp> p I suppose is some function and x some value
2024-12-02 13:26:01 +0100euleritian(~euleritia@dynamic-176-004-023-074.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-02 13:26:04 +0100 <dminuoso> And that comma?
2024-12-02 13:26:13 +0100 <fp> Me forgetting the syntax
2024-12-02 13:26:18 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-12-02 13:26:37 +0100 <Leary> % :set -fpedantic-bottoms
2024-12-02 13:26:37 +0100 <yahb2> <no output>
2024-12-02 13:26:40 +0100 <Leary> % (...) True = \_ -> True; (...) _ = \_ -> False
2024-12-02 13:26:40 +0100 <yahb2> <no output>
2024-12-02 13:26:44 +0100 <Leary> % (...) undefined `seq` ()
2024-12-02 13:26:44 +0100 <yahb2> *** Exception: Prelude.undefined ; CallStack (from HasCallStack): ; undefined, called at <interactive>:101:7 in interactive:Ghci24
2024-12-02 13:27:20 +0100 <fp> so more correctly, (\p x -> f (g (p x)))
2024-12-02 13:27:43 +0100 <ncf> that doesn't even have the same type as (f .) . g
2024-12-02 13:27:58 +0100 <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 13:28:05 +0100 <geekosaur> yes
2024-12-02 13:28:18 +0100 <dminuoso> Well okay.. :S
2024-12-02 13:28:19 +0100 <Leary> dminuoso: Without -fpedantic-bottoms, ghc allows some transformations that make code "more defined".
2024-12-02 13:28:45 +0100 <merijn> dminuoso: I mean, GHC diverges from the Haskell standard in, like, 20 different ways :p
2024-12-02 13:28:52 +0100 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/users_guide/bugs.html#expressions-and-patterns
2024-12-02 13:29:08 +0100 <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 13:29:51 +0100 <merijn> dminuoso: In fact, this divergence is even documented
2024-12-02 13:29:58 +0100 <merijn> ah, geekosaur beat me
2024-12-02 13:30:03 +0100 <ncf> (f .) . g
2024-12-02 13:30:04 +0100 <ncf> = \p -> (f .) (g p)
2024-12-02 13:30:05 +0100 <ncf> = \p -> f . g p
2024-12-02 13:30:06 +0100 <ncf> = \p x -> f (g p x)
2024-12-02 13:30:31 +0100 <ncf> your first step is wrong
2024-12-02 13:30:47 +0100 <ski> fp : "Is (f .) . g similar to (\p, x -> f (g (p x))) ?" -- no
2024-12-02 13:30:54 +0100 <fp> I don't understand the first step
2024-12-02 13:31:05 +0100 <ncf> i am applying the definition of (.)
2024-12-02 13:31:07 +0100 <ncf> @src (.)
2024-12-02 13:31:07 +0100 <lambdabot> (f . g) x = f (g x)
2024-12-02 13:31:25 +0100 <ncf> with f := (f .)
2024-12-02 13:31:29 +0100 <dminuoso> % (undefined .) `seq` ()
2024-12-02 13:31:30 +0100 <ski> ((f .) . g) p = (f .) (g p)
2024-12-02 13:31:35 +0100 <dminuoso> % (undefined .) `seq` ()b
2024-12-02 13:31:35 +0100 <yahb2> <interactive>:113:23: error: [GHC-88464] Variable not in scope: b
2024-12-02 13:31:39 +0100 <dminuoso> % (undefined .) `seq` ()
2024-12-02 13:31:39 +0100 <yahb2> ()
2024-12-02 13:31:39 +0100 <fp> I see ok
2024-12-02 13:31:42 +0100 <dminuoso> % (. undefined) `seq` ()
2024-12-02 13:31:42 +0100 <yahb2> ()
2024-12-02 13:32:03 +0100 <dminuoso> Okay so (undefined .) is strictly (heh the pun) speaking not the same as ((.) undefined)
2024-12-02 13:32:23 +0100 <dminuoso> But since GHC is non-pedantic about bottoms, I guess this makes no difference in practice
2024-12-02 13:32:42 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 13:32:48 +0100 <dminuoso> Leary: Thanks for the pointer./
2024-12-02 13:33:05 +0100 <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 13:33:46 +0100 <geekosaur> since they aren't rewritten to the prefix partial application, but to lambdas
2024-12-02 13:34:34 +0100 <ski> `(<expr> <op>)' could have been specified as `(<op>) <expr>', and `(<op> <expr>)' as `flip (<op>) <expr>', i suppose
2024-12-02 13:34:40 +0100 <ski> (abstract, not concrete, syntax)
2024-12-02 13:35:55 +0100 <geekosaur> oh, it's in https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/rebindable_syntax.html#postfix-oper…
2024-12-02 13:36:26 +0100 <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 13:38:21 +0100 <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 13:38:42 +0100 <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 13:38:50 +0100 <geekosaur> no, this was a side thing set off by a statement before that
2024-12-02 13:39:14 +0100 <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 13:39:25 +0100 <geekosaur> this is that bending
2024-12-02 13:39:32 +0100 <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 13:40:09 +0100 <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 13:40:27 +0100 <geekosaur> but "in some cases" was the PostfixOperators thing, which I wanted to verify
2024-12-02 13:40:49 +0100 <dminuoso> I was not aware of the PostfixOperators extension and the interaction here, either.
2024-12-02 13:42:59 +0100 <dminuoso> Im curious why allowing eta-expansion through case-of allows for better transformations.
2024-12-02 13:43:10 +0100Guest87(~Guest87@81.144.164.210) (Quit: Client closed)
2024-12-02 13:45:54 +0100 <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 13:46:11 +0100 <dminuoso> Well, gitlab regularly falls over. :-)
2024-12-02 13:46:24 +0100 <geekosaur> yes, but it usually recovers
2024-12-02 13:46:59 +0100 <geekosaur> something got corruped by out of disk space and various things aren't working right including updating MRs and CI
2024-12-02 13:47:25 +0100 <fp> Could (f .) . g be interpreted generally to mean "unary f of a g that takes two arguments"?
2024-12-02 13:47:49 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-12-02 13:48:22 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-12-02 13:48:45 +0100 <dminuoso> 1. (f .) . g ===> \x -> (f .) (g x)
2024-12-02 13:49:13 +0100 <dminuoso> 2. \x -> (f .) (g x) ===> (\y -> f . y) (g x)
2024-12-02 13:49:33 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 13:49:45 +0100 <dminuoso> 3. (\y -> f . y) (g x) ==> f . (g x)
2024-12-02 13:50:34 +0100 <dminuoso> 4. f . (g x) ==> \z -> f (g x z)
2024-12-02 13:51:57 +0100 <dminuoso> Oh hold on, I dropped a \x along the way.
2024-12-02 13:52:37 +0100 <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 13:52:38 +0100 <dminuoso> 2. \x -> (f .) (g x) ===> \x -> (\y -> f . y) (g x)
2024-12-02 13:52:54 +0100 <fp> or fewer points as it were
2024-12-02 13:54:29 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) tdammers
2024-12-02 13:55:31 +0100j1n37-(j1n37@user/j1n37) j1n37
2024-12-02 13:55:55 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 13:58:42 +0100tdammers(~tdammers@240-117-146-85.ftth.glasoperator.nl) (Ping timeout: 246 seconds)
2024-12-02 13:59:59 +0100 <dminuoso> fp: https://paste.tomsmeding.com/xOBZd15y
2024-12-02 14:00:54 +0100 <dminuoso> Sometimes you find an operator called (.:) for this defined as (f .: g) x y = f (g x y)
2024-12-02 14:00:54 +0100ridcully(~ridcully@pd951f245.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-12-02 14:01:30 +0100 <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 14:01:45 +0100 <dminuoso> "compose after second argument" maybe?
2024-12-02 14:01:57 +0100 <ski> dminuoso : where is eta through `case'-`of' mentioned ?
2024-12-02 14:02:34 +0100 <ski> (yea, i mentioned coming up with `(.:)', years ago, above)
2024-12-02 14:02:56 +0100 <dminuoso> ski: fun True = \_ -> True; fun _ = \_ -> False desugars into `fun x = case x of True -> \_ -> True; ....`
2024-12-02 14:03:37 +0100 <dminuoso> And yet it will eta-expand through that case-of into `fun x y = case x of ...`
2024-12-02 14:03:54 +0100 <dminuoso> i.e. `fun x y = case x of True -> True; ...`
2024-12-02 14:04:01 +0100 <ski> ah, right
2024-12-02 14:04:43 +0100j1n37-(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 14:05:50 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 14:10:56 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 14:11:02 +0100 <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 14:11:24 +0100billchenchina-(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina
2024-12-02 14:12:03 +0100billchenchina-(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Max SendQ exceeded)
2024-12-02 14:12:39 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 14:12:56 +0100billchenchina-(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina
2024-12-02 14:13:49 +0100billchenchina-(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Max SendQ exceeded)
2024-12-02 14:13:55 +0100billchenchina(~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) (Ping timeout: 260 seconds)
2024-12-02 14:15:03 +0100billchenchina(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina
2024-12-02 14:15:27 +0100gorignak(~gorignak@user/gorignak) (Read error: Connection reset by peer)
2024-12-02 14:15:55 +0100billchenchina(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Max SendQ exceeded)
2024-12-02 14:16:43 +0100 <briandaed> not strictly Haskell but persistent, does it handle 'IN' clause, can't find it in docs
2024-12-02 14:17:31 +0100billchenchina(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina
2024-12-02 14:18:30 +0100billchenchina(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Max SendQ exceeded)
2024-12-02 14:19:14 +0100 <dminuoso> briandaed: https://hackage.haskell.org/package/persistent-2.14.6.3/docs/Database-Persist-Types.html#t:Persist… seems like
2024-12-02 14:19:33 +0100billchenchina(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina
2024-12-02 14:19:56 +0100billchenchina(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Remote host closed the connection)
2024-12-02 14:20:14 +0100 <briandaed> dminuoso: ha! thanks!
2024-12-02 14:20:40 +0100 <dminuoso> It is unclear how to construct that filter.. but hey you wanted some opaque layer ontop of SQL apparently! :-)
2024-12-02 14:21:16 +0100 <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 14:21:21 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 14:21:23 +0100 <briandaed> dminuoso: will play with that, still better than some folding with different constraints
2024-12-02 14:21:50 +0100billchenchina(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) billchenchina
2024-12-02 14:21:54 +0100 <dminuoso> "It is possible to construct values using this that will create malformed runtime bvalues."
2024-12-02 14:22:08 +0100 <dminuoso> Comments like this make me wonder why you would pick a library like this in the first place.
2024-12-02 14:22:25 +0100 <dminuoso> If at least you had some compile-time guarantee of generating healthy SQL I might get it.
2024-12-02 14:22:51 +0100 <briandaed> dminuoso: if it would be me, I would stay with stored procedures, but I have to use what is there
2024-12-02 14:28:18 +0100billchenchina-(~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) billchenchina
2024-12-02 14:29:29 +0100billchenchina-(~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) (Remote host closed the connection)
2024-12-02 14:31:49 +0100billchenchina(~billchenc@2408:844f:1530:9ede:7991:4790:c6ad:9331) (Ping timeout: 260 seconds)
2024-12-02 14:31:51 +0100j1n37-(j1n37@user/j1n37) j1n37
2024-12-02 14:31:52 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 244 seconds)
2024-12-02 14:33:19 +0100notzmv(~umar@user/notzmv) (Ping timeout: 252 seconds)
2024-12-02 14:38:51 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2024-12-02 14:39:05 +0100notzmv(~umar@user/notzmv) notzmv
2024-12-02 14:39:14 +0100gentauro(~gentauro@user/gentauro) gentauro
2024-12-02 14:40:15 +0100j1n37-(j1n37@user/j1n37) (Ping timeout: 272 seconds)
2024-12-02 14:49:51 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-12-02 14:51:23 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 14:51:27 +0100 <merijn> dminuoso: Compile time guarantees of healthy SQL are nonsense anyway
2024-12-02 14:51:46 +0100 <merijn> because how do you guarantee the database at runtime is the one you had at compile time
2024-12-02 14:53:07 +0100 <briandaed> fair point
2024-12-02 14:53:08 +0100 <dminuoso> merijn: Well, that is just an operational question, not one worth exploring honestly.
2024-12-02 14:53:34 +0100 <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 14:53:47 +0100 <dminuoso> If we just assume it does not happen, it's not an issue.
2024-12-02 14:54:26 +0100 <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 14:54:39 +0100 <dminuoso> Just like people dont just make arbitrary modifications to filesystems
2024-12-02 14:55:08 +0100 <merijn> dminuoso: My point was that I'd rather have a simple "validate at runtime and fail loudly"
2024-12-02 14:55:13 +0100 <merijn> over "validate at compile time"
2024-12-02 14:55:26 +0100 <dminuoso> Well there's different levels of compile time validation.
2024-12-02 14:55:44 +0100 <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 14:55:59 +0100 <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 14:56:03 +0100 <merijn> because it turns out the backup/restore didn't catch things, etc.
2024-12-02 14:56:19 +0100 <dminuoso> It just speeds up the feedback loop for typos.
2024-12-02 14:56:26 +0100 <haskellbridge> <maerwald> dminuoso: I hacked on that
2024-12-02 14:56:48 +0100 <haskellbridge> <maerwald> upstream is not very contribution friendly though
2024-12-02 14:56:55 +0100 <dminuoso> maerwald: Oh hey there.
2024-12-02 14:57:13 +0100 <dminuoso> Oh okay, how are they unfriendly towards contribution?
2024-12-02 14:58:26 +0100 <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 14:59:24 +0100 <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 14:59:41 +0100 <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 15:00:55 +0100 <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 15:01:15 +0100 <haskellbridge> <maerwald> people are resistant to learning SQL
2024-12-02 15:02:20 +0100 <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 15:02:28 +0100 <dminuoso> hasql drags this huge universe of nikitas libraries along
2024-12-02 15:02:39 +0100 <dminuoso> I dislike all of them for one reason or another.
2024-12-02 15:03:17 +0100 <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 15:03:29 +0100 <haskellbridge> <maerwald> * changes
2024-12-02 15:03:35 +0100j1n37-(j1n37@user/j1n37) j1n37
2024-12-02 15:03:48 +0100 <geekosaur> the flip side of that is nobody wants to get saddled with supporting drive-by code
2024-12-02 15:04:03 +0100ridcully(~ridcully@p508acf2e.dip0.t-ipconnect.de) ridcully
2024-12-02 15:04:22 +0100 <haskellbridge> <maerwald> yeah, I'm known as a drive-by maintainer :D
2024-12-02 15:04:44 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 15:04:54 +0100 <dminuoso> Well you yourself implied that this was work related.
2024-12-02 15:05:07 +0100 <haskellbridge> <maerwald> I think the reason is the human interaction causing overhead
2024-12-02 15:05:18 +0100 <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 15:05:31 +0100 <haskellbridge> <maerwald> as in: if he wants to make a new release, he now has to inquire
2024-12-02 15:06:49 +0100 <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 15:07:23 +0100 <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 15:07:50 +0100 <dminuoso> Perhaps not as intuitive to the casual user, but its far more modular.
2024-12-02 15:08:02 +0100alexherbo2(~alexherbo@2a02-8440-3314-645c-9913-39d7-dad5-8363.rev.sfr.net) alexherbo2
2024-12-02 15:08:34 +0100ridcully(~ridcully@p508acf2e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-12-02 15:09:09 +0100CiaoSen(~Jura@2a05:5800:2dc:8a00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2024-12-02 15:10:11 +0100 <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 15:10:48 +0100 <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 15:13:41 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 15:14:50 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-12-02 15:15:14 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 15:15:21 +0100j1n37-(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 15:18:58 +0100pounce(~pounce@user/cute/pounce) (Ping timeout: 252 seconds)
2024-12-02 15:21:14 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2024-12-02 15:22:15 +0100euleritian(~euleritia@dynamic-176-004-023-074.176.4.pool.telefonica.de)
2024-12-02 15:26:44 +0100euleritian(~euleritia@dynamic-176-004-023-074.176.4.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-12-02 15:27:14 +0100pierrot(~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in)
2024-12-02 15:27:34 +0100pierrot(~pi@user/pierrot) pierrot
2024-12-02 15:28:36 +0100euleritian(~euleritia@dynamic-176-003-035-162.176.3.pool.telefonica.de)
2024-12-02 15:30:47 +0100j1n37-(j1n37@user/j1n37) j1n37
2024-12-02 15:31:06 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 246 seconds)
2024-12-02 15:32:11 +0100ridcully(~ridcully@p57b52f42.dip0.t-ipconnect.de) ridcully
2024-12-02 15:33:15 +0100euleritian(~euleritia@dynamic-176-003-035-162.176.3.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-12-02 15:37:56 +0100 <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 15:38:20 +0100 <merijn> michaelis: That's a function type
2024-12-02 15:39:16 +0100 <merijn> michaelis: "Int -> Int" is a function that takes an Int argument and returns an Int
2024-12-02 15:39:44 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 15:39:47 +0100dminuososuggests a better example than an endofunction
2024-12-02 15:40:25 +0100j1n37-(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 15:42:38 +0100Guest31(~Guest31@185.176.244.77)
2024-12-02 15:42:58 +0100 <michaelis> merijn: But what does it mean that the type of a binary data constructor Pt is a -> a -> -> Point a?
2024-12-02 15:43:17 +0100 <dminuoso> michaelis: It is a right-associative operator . That means `Int -> Double -> Char` associates as `Int -> (Double -> Char)`
2024-12-02 15:43:27 +0100 <michaelis> Sorry, too many -> before point. Should only be one.
2024-12-02 15:43:50 +0100 <haskellbridge> <Morj> You can usually read "a -> b -> c" as "(a, b) -> c"
2024-12-02 15:44:01 +0100 <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 15:44:41 +0100 <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 15:45:09 +0100 <michaelis> dminuoso: Thank you. I'm trying to understand it.
2024-12-02 15:45:19 +0100 <dminuoso> michaelis: Let me give you a second bit that might help
2024-12-02 15:45:20 +0100 <michaelis> And thank you merijn.
2024-12-02 15:45:54 +0100 <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 15:46:25 +0100 <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 15:46:39 +0100j1n37-(j1n37@user/j1n37) j1n37
2024-12-02 15:46:40 +0100 <dminuoso> err: "first applies `f` to `1`"
2024-12-02 15:46:51 +0100Square2(~Square4@user/square) (Ping timeout: 265 seconds)
2024-12-02 15:47:16 +0100 <dminuoso> michaelis: So these two ideas belong together in a way.
2024-12-02 15:47:32 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 255 seconds)
2024-12-02 15:48:52 +0100 <michaelis> dminuoso: Thank you. I will have to contemplate it for a while. :)
2024-12-02 15:48:59 +0100 <dminuoso> michaelis: So similarly, we could think of `f x y = ...` as `f = \x -> \y -> ...` if that makes sense.
2024-12-02 15:49:07 +0100 <dminuoso> (For the defining side of a function)
2024-12-02 15:49:14 +0100 <dminuoso> So add that to your puzzle pieces.
2024-12-02 15:50:13 +0100Square(~Square@user/square) Square
2024-12-02 15:51:14 +0100 <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 15:51:31 +0100 <dminuoso> michaelis: `\x -> ...` is an anonymous function taking an argument x
2024-12-02 15:51:40 +0100 <michaelis> I understand.
2024-12-02 15:51:44 +0100 <dminuoso> yahb2: fun = \x -> x * 2
2024-12-02 15:51:51 +0100 <dminuoso> % fun = \x -> x * 2
2024-12-02 15:51:51 +0100 <yahb2> <no output>
2024-12-02 15:51:53 +0100 <dminuoso> % fun 10
2024-12-02 15:51:53 +0100 <yahb2> 20
2024-12-02 15:52:04 +0100 <dminuoso> % add = \x -> \y -> x + y
2024-12-02 15:52:04 +0100 <yahb2> <no output>
2024-12-02 15:52:09 +0100 <dminuoso> % :t add
2024-12-02 15:52:09 +0100 <yahb2> add :: Num a => a -> a -> a
2024-12-02 15:52:12 +0100 <dminuoso> % :t add 10
2024-12-02 15:52:12 +0100 <yahb2> add 10 :: Num a => a -> a
2024-12-02 15:52:14 +0100 <dminuoso> % :t add 10 20
2024-12-02 15:52:14 +0100 <yahb2> add 10 20 :: Num a => a
2024-12-02 15:52:17 +0100 <dminuoso> % add 10 20
2024-12-02 15:52:17 +0100 <yahb2> 30
2024-12-02 15:52:42 +0100 <dminuoso> michaelis: If that type confuses you, feel free to imagine `a` read `Int` and ignore that Num => part.
2024-12-02 15:52:45 +0100 <mauke> > (\x -> [x,x,x]) 42
2024-12-02 15:52:46 +0100 <lambdabot> [42,42,42]
2024-12-02 15:53:06 +0100 <mauke> > ((\x -> (\y -> [x,y,x]) 42) 3
2024-12-02 15:53:08 +0100 <lambdabot> <hint>:1:30: error:
2024-12-02 15:53:08 +0100 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2024-12-02 15:53:18 +0100 <mauke> > (\x -> (\y -> [x,y,x]) 42) 3
2024-12-02 15:53:19 +0100 <lambdabot> [3,42,3]
2024-12-02 15:54:02 +0100 <mauke> > ((\x -> (\y -> [x,y,x])) 42) 3
2024-12-02 15:54:03 +0100 <lambdabot> [42,3,42]
2024-12-02 15:54:13 +0100halloy1972(~halloy197@ptr-fyq2h23bzewebp3qgjx.18120a2.ip6.access.telenet.be)
2024-12-02 15:54:49 +0100 <mauke> > ((\x -> \y -> [x,y,x]) 42) 3
2024-12-02 15:54:50 +0100 <lambdabot> [42,3,42]
2024-12-02 15:55:00 +0100 <mauke> > ((\x y -> [x,y,x]) 42) 3
2024-12-02 15:55:01 +0100 <lambdabot> [42,3,42]
2024-12-02 15:55:08 +0100halloy1972Piegie
2024-12-02 15:55:16 +0100 <mauke> > (\x y -> [x,y,x]) 42 3
2024-12-02 15:55:17 +0100 <lambdabot> [42,3,42]
2024-12-02 15:55:28 +0100 <mauke> > let f = \x y -> [x,y,x] in f 42 3
2024-12-02 15:55:30 +0100 <lambdabot> [42,3,42]
2024-12-02 15:55:37 +0100 <mauke> > let f x y = [x,y,x] in f 42 3
2024-12-02 15:55:39 +0100 <lambdabot> [42,3,42]
2024-12-02 15:56:00 +0100euandreh1(~Thunderbi@189.6.105.228) euandreh
2024-12-02 15:56:11 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 15:56:15 +0100 <michaelis> Thank you.
2024-12-02 15:56:48 +0100j1n37-(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 15:58:22 +0100Guest31(~Guest31@185.176.244.77) (Quit: Client closed)
2024-12-02 16:08:42 +0100j1n37-(j1n37@user/j1n37) j1n37
2024-12-02 16:09:38 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 16:13:21 +0100acidjnk_new3(~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-12-02 16:14:57 +0100j1n37-(j1n37@user/j1n37) (Ping timeout: 248 seconds)
2024-12-02 16:15:10 +0100weary-traveler(~user@user/user363627) user363627
2024-12-02 16:17:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-02 16:21:22 +0100Square(~Square@user/square) (Ping timeout: 252 seconds)
2024-12-02 16:23:51 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-12-02 16:30:43 +0100acidjnk_new3(~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) acidjnk
2024-12-02 16:33:45 +0100SlackCoder(~SlackCode@208.26.70.132) SlackCoder
2024-12-02 16:33:48 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 16:34:59 +0100SlackCoder(~SlackCode@208.26.70.132) (Remote host closed the connection)
2024-12-02 16:35:06 +0100euleritian(~euleritia@dynamic-176-003-035-162.176.3.pool.telefonica.de)
2024-12-02 16:35:27 +0100SlackCoder(~SlackCode@208.26.70.132) SlackCoder
2024-12-02 16:36:59 +0100SlackCoder(~SlackCode@208.26.70.132) (Remote host closed the connection)
2024-12-02 16:37:26 +0100SlackCoder(~SlackCode@208.26.70.132) SlackCoder
2024-12-02 16:39:36 +0100Alleria(~Alleria@user/alleria) (Remote host closed the connection)
2024-12-02 16:40:10 +0100Alleria(~Alleria@user/alleria) Alleria
2024-12-02 16:43:05 +0100euandreh1euandreh
2024-12-02 16:43:49 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 16:44:21 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 16:44:28 +0100j1n37(j1n37@user/j1n37) (Ping timeout: 252 seconds)
2024-12-02 16:44:49 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 260 seconds)
2024-12-02 16:54:01 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 16:54:33 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 17:02:02 +0100 <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 17:04:12 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 17:04:44 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 17:04:53 +0100 <mauke> > (\xs -> zipWith (-) xs (drop 1 xs)) [1,10,4,4,5,2,4]
2024-12-02 17:04:54 +0100 <lambdabot> [-9,6,0,-1,3,-2]
2024-12-02 17:05:09 +0100 <mauke> > (\xs -> zipWith subtract xs (drop 1 xs)) [1,10,4,4,5,2,4]
2024-12-02 17:05:10 +0100 <lambdabot> [9,-6,0,1,-3,2]
2024-12-02 17:05:47 +0100 <mauke> (someone else can add the <*>)
2024-12-02 17:07:55 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-02 17:08:09 +0100 <ncf> @where zip.ap.tail
2024-12-02 17:08:09 +0100 <lambdabot> I know nothing about zip.ap.tail.
2024-12-02 17:09:06 +0100 <ncf> @quote zip.ap.tail
2024-12-02 17:09:07 +0100 <lambdabot> quicksilver says: zip`ap`tail - the Aztec god of consecutive numbers
2024-12-02 17:14:23 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 17:14:54 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 17:16:36 +0100Alleria(~Alleria@user/alleria) Alleria
2024-12-02 17:18:00 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-02 17:22:18 +0100 <ski> (`tail' works fine in place of `drop 1', there)
2024-12-02 17:24:34 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 17:24:53 +0100Alleria_(~Alleria@user/alleria) Alleria
2024-12-02 17:25:05 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 17:27:07 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 252 seconds)
2024-12-02 17:29:52 +0100Ritual12(~Ritual12@85-76-13-113-nat.elisa-mobile.fi)
2024-12-02 17:30:23 +0100 <merijn> ski: drop 1 has the nicety of not randomly crashing, though :p
2024-12-02 17:31:12 +0100 <int-e> > zip [] (tail [])
2024-12-02 17:31:14 +0100 <lambdabot> []
2024-12-02 17:31:40 +0100 <int-e> all ski said is that it works fine in this case
2024-12-02 17:31:47 +0100 <ski> > (\xs -> getZipList ((-) <$> ZipList xs <*> ZipList (tail xs))) [1,10,4,4,5,2,4]
2024-12-02 17:31:49 +0100 <lambdabot> [-9,6,0,-1,3,-2]
2024-12-02 17:31:54 +0100 <ski> > (\xs -> getZipList (liftA2 (-) (ZipList xs) (ZipList (tail xs)))) [1,10,4,4,5,2,4]
2024-12-02 17:31:56 +0100 <lambdabot> [-9,6,0,-1,3,-2]
2024-12-02 17:32:12 +0100Alleria_(~Alleria@user/alleria) (Ping timeout: 246 seconds)
2024-12-02 17:32:15 +0100 <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 17:32:18 +0100 <ski> > ((getZipList .) . (. ZipList)) (liftA2 (-) <$> id <*> ((ZipList .) . (. getZipList)) tail) [1,10,4,4,5,2,4]
2024-12-02 17:32:19 +0100 <lambdabot> [-9,6,0,-1,3,-2]
2024-12-02 17:32:26 +0100 <ski> > ((getZipList .) . (. ZipList)) ((liftA2 . liftA2) (-) id (((ZipList .) . (. getZipList)) tail)) [1,10,4,4,5,2,4]
2024-12-02 17:32:28 +0100 <lambdabot> [-9,6,0,-1,3,-2]
2024-12-02 17:33:10 +0100 <ski> (last two are pretty ugly, with the `ZipList'&`getZipList' nonsense)
2024-12-02 17:33:39 +0100 <ski> Ritual12 : usually i'd list them in groups of related functions
2024-12-02 17:34:11 +0100 <int-e> but they all come from a single module, so aren't they automaticall related :)
2024-12-02 17:34:24 +0100notzmv(~umar@user/notzmv) (Ping timeout: 260 seconds)
2024-12-02 17:34:45 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 17:35:02 +0100 <fp> Neat, thanks for the tips
2024-12-02 17:35:07 +0100 <Ritual12> I am importing LiftA2 and (<*>) from Control.Applicative and was wondering which to list first.
2024-12-02 17:35:16 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 17:35:37 +0100Alleria(~Alleria@user/alleria) Alleria
2024-12-02 17:36:14 +0100 <int-e> I don't think it makes a difference for just two imports.
2024-12-02 17:36:40 +0100 <int-e> doesn't Prelude export <*> these days
2024-12-02 17:36:58 +0100 <ski> @index (<*>)
2024-12-02 17:36:59 +0100 <lambdabot> Control.Applicative, Prelude, Compiler.Hoopl
2024-12-02 17:38:02 +0100 <Ritual12> So I do not need to import <*>?
2024-12-02 17:38:38 +0100 <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 17:38:46 +0100 <ski> correct, Ritual12
2024-12-02 17:38:59 +0100 <ski> @index liftA2
2024-12-02 17:38:59 +0100 <lambdabot> Control.Applicative
2024-12-02 17:40:11 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 252 seconds)
2024-12-02 17:43:49 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-02 17:44:36 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-12-02 17:44:56 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 17:45:27 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 17:46:15 +0100Alleria(~Alleria@user/alleria) Alleria
2024-12-02 17:46:20 +0100 <Ritual12> @index (&&&)
2024-12-02 17:46:21 +0100 <lambdabot> Control.Arrow
2024-12-02 17:52:27 +0100Alleria_(~Alleria@user/alleria) Alleria
2024-12-02 17:53:01 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 252 seconds)
2024-12-02 17:55:07 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 17:55:38 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 18:00:13 +0100sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-12-02 18:00:37 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-12-02 18:02:59 +0100SlackCoder(~SlackCode@208.26.70.132) (Ping timeout: 260 seconds)
2024-12-02 18:05:18 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 18:05:50 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 18:08:47 +0100Alleria_(~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-12-02 18:11:35 +0100 <Ritual12> @pl liftA2 (&&) (>= lower) (<= upper)
2024-12-02 18:11:35 +0100 <lambdabot> liftA2 (&&) (>= lower) (<= upper)
2024-12-02 18:12:31 +0100 <Ritual12> @pl \lower upper -> liftA2 (&&) (>= lower) (<= upper)
2024-12-02 18:12:31 +0100 <lambdabot> (. flip (<=)) . liftA2 (&&) . flip (>=)
2024-12-02 18:14:55 +0100Alleria(~Alleria@user/alleria) Alleria
2024-12-02 18:15:29 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 18:16:01 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 18:16:03 +0100 <Ritual12> Why flip (<=) and flip(>=) instead of just using (>=) and (<=)?
2024-12-02 18:16:52 +0100euleritian(~euleritia@dynamic-176-003-035-162.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-02 18:17:10 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-12-02 18:17:17 +0100 <int-e> because @pl is unaware of the Ord class
2024-12-02 18:19:20 +0100Piegie(~halloy197@ptr-fyq2h23bzewebp3qgjx.18120a2.ip6.access.telenet.be) (Ping timeout: 264 seconds)
2024-12-02 18:21:15 +0100briandaed(~root@user/briandaed) (Quit: Lost terminal)
2024-12-02 18:21:27 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-12-02 18:22:08 +0100euleritian(~euleritia@77.22.252.159)
2024-12-02 18:25:40 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 18:26:11 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 18:32:28 +0100budabudabee(~budabudab@2600:100e:b308:e5d4:2c68:9c6f:c307:d044)
2024-12-02 18:33:11 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) ft
2024-12-02 18:35:51 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 18:35:59 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 18:36:22 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 18:36:33 +0100kuribas(~user@ptr-17d51emmusfz7zv97iv.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2024-12-02 18:38:00 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-12-02 18:41:42 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-02 18:44:54 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-12-02 18:46:02 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 18:46:30 +0100 <hellwolf> > even . not . fst
2024-12-02 18:46:31 +0100 <lambdabot> error:
2024-12-02 18:46:31 +0100 <lambdabot> • No instance for (Integral Bool) arising from a use of ‘even’
2024-12-02 18:46:31 +0100 <lambdabot> • In the first argument of ‘(.)’, namely ‘even’
2024-12-02 18:46:33 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 18:47:37 +0100 <hellwolf> > Just . negate . curry
2024-12-02 18:47:39 +0100 <lambdabot> error:
2024-12-02 18:47:39 +0100 <lambdabot> • No instance for (Typeable a0)
2024-12-02 18:47:39 +0100 <lambdabot> arising from a use of ‘show_M56331944392192085928’
2024-12-02 18:48:13 +0100 <int-e> :t Just . negate . curry
2024-12-02 18:48:14 +0100 <lambdabot> Num (a -> b -> c) => ((a, b) -> c) -> Maybe (a -> b -> c)
2024-12-02 18:48:38 +0100 <int-e> :t Just . negate . uncurry
2024-12-02 18:48:39 +0100 <lambdabot> Num ((a, b) -> c) => (a -> b -> c) -> Maybe ((a, b) -> c)
2024-12-02 18:48:57 +0100 <int-e> :t (Just . negate .) . uncurry
2024-12-02 18:48:58 +0100 <lambdabot> error:
2024-12-02 18:48:58 +0100 <lambdabot> The operator ‘.’ [infixr 9] of a section
2024-12-02 18:48:58 +0100 <lambdabot> must have lower precedence than that of the operand,
2024-12-02 18:49:11 +0100 <int-e> :t ((Just . negate) .) . uncurry
2024-12-02 18:49:11 +0100 <lambdabot> Num a1 => (a2 -> b -> a1) -> (a2, b) -> Maybe a1
2024-12-02 18:50:13 +0100 <int-e> (TBH the fact that (a . b .) is invalid annoys me a little bit. It's associative after all...)
2024-12-02 18:50:28 +0100 <int-e> :t (. id . id)
2024-12-02 18:50:29 +0100 <lambdabot> (b -> c) -> b -> c
2024-12-02 18:50:41 +0100 <int-e> and *this* is allowed
2024-12-02 18:50:56 +0100 <hellwolf> the power is in the dot?
2024-12-02 18:51:15 +0100 <int-e> hellwolf: it's the mark of pointfree code
2024-12-02 18:51:41 +0100 <hellwolf> not all code has a point, but pointless code is definitely pointfree
2024-12-02 18:52:01 +0100 <int-e> @help pl
2024-12-02 18:52:01 +0100 <lambdabot> pointless <expr>. Play with pointfree code.
2024-12-02 18:52:12 +0100 <int-e> (that particular pun is ancient)
2024-12-02 18:54:39 +0100 <Ritual12> :t ap
2024-12-02 18:54:39 +0100 <lambdabot> Monad m => m (a -> b) -> m a -> m b
2024-12-02 18:54:58 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-12-02 18:55:59 +0100 <Ritual12> What is monad?
2024-12-02 18:56:12 +0100JuanDaugherty(~juan@user/JuanDaugherty) ()
2024-12-02 18:56:13 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 18:56:44 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 18:56:52 +0100 <Ritual12> @index ap
2024-12-02 18:56:52 +0100 <lambdabot> Control.Monad
2024-12-02 18:57:32 +0100 <int-e> :t (<*>)
2024-12-02 18:57:33 +0100 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
2024-12-02 18:57:55 +0100 <int-e> (`ap` mostly exists for historical reasons)
2024-12-02 18:58:27 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-02 18:58:31 +0100budabudabee(~budabudab@2600:100e:b308:e5d4:2c68:9c6f:c307:d044) (Read error: Connection reset by peer)
2024-12-02 18:59:05 +0100 <Ritual12> Is it similar to <*>?
2024-12-02 18:59:08 +0100 <haskellbridge> <Morj> "ap" is useful when you're doing monads in a language without operator overloading ;)
2024-12-02 18:59:29 +0100 <haskellbridge> <Morj> When you're translating you stuff from haskell to it I mean
2024-12-02 19:01:04 +0100 <c_wraith> <*> and ap have the same type, and are usually the same operation. but ap is implemented in terms of >>=
2024-12-02 19:01:35 +0100 <int-e> `ap` existed before Applicative
2024-12-02 19:01:41 +0100 <c_wraith> So on rare occasions ap can be more efficient for a specific data type
2024-12-02 19:02:32 +0100 <c_wraith> It still exists *mostly* so that you can define the Applicative instance in terms of the Monad operations
2024-12-02 19:02:40 +0100 <c_wraith> just like liftM
2024-12-02 19:02:40 +0100 <int-e> Hmm why would the Applicative instance not use the more efficient implementation then?
2024-12-02 19:02:54 +0100 <c_wraith> mostly in the case of a transformer
2024-12-02 19:02:54 +0100 <int-e> (<*>) is a class method
2024-12-02 19:03:23 +0100 <int-e> Ah
2024-12-02 19:03:23 +0100 <c_wraith> where you want the Applicative instance to only require Applicative from the wrapped type
2024-12-02 19:03:46 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-12-02 19:03:57 +0100 <c_wraith> It's not common to be in that situation.
2024-12-02 19:04:10 +0100 <int-e> Right, adding another level of abstraction may do it.
2024-12-02 19:04:47 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2024-12-02 19:05:36 +0100notzmv(~umar@user/notzmv) notzmv
2024-12-02 19:06:05 +0100 <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 19:06:14 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-12-02 19:06:18 +0100 <hellwolf> *it was not named applicable
2024-12-02 19:06:23 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 19:06:28 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
2024-12-02 19:06:54 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 19:07:06 +0100tokie(~tokie@user/strtok) strtok
2024-12-02 19:07:35 +0100Lord_of_Life_Lord_of_Life
2024-12-02 19:10:45 +0100j1n37(j1n37@user/j1n37) j1n37
2024-12-02 19:12:04 +0100fp(~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 245 seconds)
2024-12-02 19:12:04 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-12-02 19:16:34 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 19:17:05 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 19:26:45 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 19:27:16 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 19:28:08 +0100biberu(~biberu@user/biberu) biberu
2024-12-02 19:36:26 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-02 19:36:30 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-12-02 19:36:56 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 19:37:27 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 19:40:18 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 276 seconds)
2024-12-02 19:43:01 +0100 <monochrom> mappative is better than mappable, too >:)
2024-12-02 19:45:00 +0100rvalue-(~rvalue@user/rvalue) rvalue
2024-12-02 19:45:33 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 246 seconds)
2024-12-02 19:46:06 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds)
2024-12-02 19:47:07 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 19:47:38 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 19:47:39 +0100alexherbo2(~alexherbo@2a02-8440-3314-645c-9913-39d7-dad5-8363.rev.sfr.net) (Ping timeout: 256 seconds)
2024-12-02 19:49:22 +0100 <mauke> Ritual12: inRange?
2024-12-02 19:51:00 +0100rvalue-rvalue
2024-12-02 19:54:16 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-02 19:57:18 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 19:57:49 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 20:04:56 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-02 20:07:29 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 20:08:00 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 20:08:17 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-02 20:09:56 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-12-02 20:09:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-02 20:12:45 +0100 <Ritual12> Mauke what about inRange?
2024-12-02 20:14:18 +0100 <mauke> simplifies liftA2 (&&) (>= lower) (<= upper)
2024-12-02 20:14:31 +0100 <mauke> :t inRange (?lower, ?upper)
2024-12-02 20:14:32 +0100 <lambdabot> (Ix a, ?lower::a, ?upper::a) => a -> Bool
2024-12-02 20:16:43 +0100 <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 20:16:49 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2024-12-02 20:16:56 +0100 <haskellbridge> <hellwolf> *hyperhoogle
2024-12-02 20:17:11 +0100Jackneill(~Jackneill@178-164-253-185.pool.digikabel.hu) Jackneill
2024-12-02 20:17:40 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 20:18:11 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 20:19:49 +0100 <geekosaur> not in the general case. there are specific cases, e.g. OEIS
2024-12-02 20:21:03 +0100sprotte24(~sprotte24@p200300d16f395d001484d78db1444af0.dip0.t-ipconnect.de)
2024-12-02 20:21:31 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 20:27:51 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 20:28:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 20:28:22 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 20:33:11 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-02 20:36:01 +0100TheCoffeMaker_(~TheCoffeM@186.136.173.70)
2024-12-02 20:36:11 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer)
2024-12-02 20:38:02 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 20:38:33 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 20:39:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 20:39:49 +0100 <sprotte24> Hi, I´m looking for help for my new Haskell problem which executes too slowly
2024-12-02 20:39:55 +0100 <sprotte24> https://paste.tomsmeding.com/yhuKGov3
2024-12-02 20:41:26 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-02 20:44:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-02 20:45:08 +0100 <monochrom> I don't find it slow.
2024-12-02 20:48:13 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 20:48:19 +0100 <haskellbridge> <Bowuigi> For a single item x, "iterate (x:) []" should be faster
2024-12-02 20:48:44 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 20:49:39 +0100 <haskellbridge> <Bowuigi> Making the contained item strict on the list is another option
2024-12-02 20:51:08 +0100 <sprotte24> It is my homework for our university. the automatic tests say: heck allCombinations
2024-12-02 20:51:08 +0100 <sprotte24> All tests successful
2024-12-02 20:51:08 +0100 <sprotte24> ***time limit exceeded*** 0 from 3 points
2024-12-02 20:51:34 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-12-02 20:53:22 +0100 <sprotte24> haskellbridge, I am beginner, can you show me the iteration code?
2024-12-02 20:54:35 +0100 <haskellbridge> <Bowuigi> Notice the pattern that emerges when you transpose the list
2024-12-02 20:54:41 +0100 <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 20:55:20 +0100 <monochrom> At this point I would ask: did you submit the very same code to school?
2024-12-02 20:55:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 20:55:27 +0100 <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 20:55:46 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-02 20:55:56 +0100sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-12-02 20:56:09 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-12-02 20:56:16 +0100 <haskellbridge> <Bowuigi> It shouldn't actually be that slow as is though
2024-12-02 20:56:52 +0100 <monochrom> It's also a 2017 laptop I tested on.
2024-12-02 20:57:45 +0100 <sprotte24> Unfortunately, a machine judges my submitted solution, and it executes about 100 partly exotic tests
2024-12-02 20:58:24 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 20:58:55 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 20:59:22 +0100 <monochrom> I know, but I can't reproduce "slow".
2024-12-02 20:59:59 +0100 <monochrom> Can't solve an irreproducible problem.
2024-12-02 21:00:01 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-02 21:00:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-02 21:00:38 +0100caconym(~caconym@user/caconym) caconym
2024-12-02 21:00:50 +0100 <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 21:01:30 +0100 <haskellbridge> <Bowuigi> If yes, just drop a "take 50000" before the definition or similar
2024-12-02 21:02:04 +0100sawilagar(~sawilagar@user/sawilagar) (Quit: Leaving)
2024-12-02 21:05:39 +0100 <sprotte24> perhaps the only way ist to test alternate algorithms for this task
2024-12-02 21:06:59 +0100 <haskellbridge> <Bowuigi> Note that testing for infiniteness is impossible since such a test would fail to terminate on an infinite list
2024-12-02 21:08:35 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 21:09:06 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 21:11:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 21:12:44 +0100 <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 21:16:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-02 21:17:37 +0100Ritual12(~Ritual12@85-76-13-113-nat.elisa-mobile.fi) (Quit: Client closed)
2024-12-02 21:18:46 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 21:19:01 +0100weary-traveler(~user@user/user363627) user363627
2024-12-02 21:19:18 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 21:21:54 +0100eL_Bart0(eL_Bart0@dietunichtguten.org) (Ping timeout: 260 seconds)
2024-12-02 21:22:51 +0100 <sprotte24> also allCombinations :: [a] -> [[a]]
2024-12-02 21:22:51 +0100 <sprotte24> allCombinations xs = sequence =<< iterate (xs :) [] was too slow
2024-12-02 21:26:00 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers
2024-12-02 21:26:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 21:28:57 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 21:29:28 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 21:31:27 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 276 seconds)
2024-12-02 21:31:36 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-02 21:33:02 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-12-02 21:37:14 +0100 <hellwolf> :type replicateM Int [a]
2024-12-02 21:38:07 +0100 <hellwolf> > :type replicateM 10
2024-12-02 21:38:08 +0100 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2024-12-02 21:38:45 +0100 <Rembane> :t replicateM Int [a]
2024-12-02 21:38:46 +0100 <lambdabot> error:
2024-12-02 21:38:46 +0100 <lambdabot> • Data constructor not in scope: Int :: Int
2024-12-02 21:38:46 +0100 <lambdabot> • Perhaps you meant variable ‘int’ (imported from Text.PrettyPrint.HughesPJ)
2024-12-02 21:38:47 +0100 <Rembane> :D
2024-12-02 21:38:59 +0100 <Rembane> :t replicateM (0 :: Int)
2024-12-02 21:39:00 +0100 <lambdabot> Applicative m => m a -> m [a]
2024-12-02 21:39:08 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 21:39:34 +0100 <hellwolf> when m = List, you get a [a] -> [[a]]
2024-12-02 21:39:39 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 21:40:31 +0100 <hellwolf> > replicate 2 [True, False]
2024-12-02 21:40:33 +0100 <lambdabot> [[True,False],[True,False]]
2024-12-02 21:40:54 +0100 <hellwolf> oh, wait.
2024-12-02 21:41:09 +0100 <hellwolf> > replicateM 2 [True, False]
2024-12-02 21:41:10 +0100 <lambdabot> [[True,True],[True,False],[False,True],[False,False]]
2024-12-02 21:41:16 +0100 <hellwolf> here you go, big difference..
2024-12-02 21:41:57 +0100 <hellwolf> I sometimes still don't know how it works, unless you think about it mathematically.
2024-12-02 21:42:46 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 21:44:24 +0100Jackneill(~Jackneill@178-164-253-185.pool.digikabel.hu) (Remote host closed the connection)
2024-12-02 21:45:12 +0100simendsjo-web(34b0550437@2a03:6000:1812:100::1441) simendsjo
2024-12-02 21:47:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 21:49:19 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 21:49:19 +0100zmt01(~zmt00@user/zmt00) zmt00
2024-12-02 21:49:49 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers
2024-12-02 21:49:51 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 21:50:44 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-12-02 21:52:27 +0100zmt00(~zmt00@user/zmt00) (Ping timeout: 252 seconds)
2024-12-02 21:52:50 +0100swamp_(~zmt00@user/zmt00) zmt00
2024-12-02 21:55:03 +0100 <xerox> @src replicateM
2024-12-02 21:55:03 +0100 <lambdabot> replicateM n x = sequence (replicate n x)
2024-12-02 21:55:16 +0100simendsjo-web(34b0550437@2a03:6000:1812:100::1441) (Remote host closed the connection)
2024-12-02 21:55:26 +0100simendsjo_(34b0550437@2a03:6000:1812:100::1441) simendsjo
2024-12-02 21:55:33 +0100 <Rembane> @src replicate
2024-12-02 21:55:33 +0100 <lambdabot> replicate n x = take n (repeat x)
2024-12-02 21:55:43 +0100 <Rembane> Lovely!
2024-12-02 21:55:46 +0100zmt01(~zmt00@user/zmt00) (Ping timeout: 252 seconds)
2024-12-02 21:56:01 +0100 <xerox> agreed
2024-12-02 21:57:49 +0100zmt01(~zmt00@user/zmt00) zmt00
2024-12-02 21:58:32 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 21:58:48 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
2024-12-02 21:58:57 +0100simendsjo_simendsjo
2024-12-02 21:59:30 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 22:00:01 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 22:01:05 +0100swamp_(~zmt00@user/zmt00) (Ping timeout: 248 seconds)
2024-12-02 22:01:33 +0100zmt00(~zmt00@user/zmt00) zmt00
2024-12-02 22:03:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-02 22:04:05 +0100zmt01(~zmt00@user/zmt00) (Ping timeout: 260 seconds)
2024-12-02 22:04:55 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 22:05:33 +0100visilii(~visilii@188.254.126.79) (Quit: ZNC - https://znc.in)
2024-12-02 22:05:52 +0100visilii(~visilii@188.254.126.79)
2024-12-02 22:09:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-02 22:09:41 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 22:10:12 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 22:10:22 +0100Alleria(~Alleria@user/alleria) (Read error: Connection reset by peer)
2024-12-02 22:10:27 +0100 <sprotte24> many nice code lines. Which can I use for my problem infinite listes?
2024-12-02 22:15:21 +0100 <haskellbridge> <Bowuigi> The same trick doesn't seem to apply to "repeat" sadly, "sequence (repeat [True, False])" loops
2024-12-02 22:16:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 22:19:52 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 22:20:23 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 22:20:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-02 22:22:00 +0100 <int-e> Well, it can never decide whether the result is empty.
2024-12-02 22:22:38 +0100 <int-e> > sequence (replicate 42 "01" ++ [""])
2024-12-02 22:22:39 +0100 <lambdabot> []
2024-12-02 22:22:44 +0100 <int-e> > sequence (replicate 42 "01")
2024-12-02 22:22:45 +0100 <lambdabot> ["000000000000000000000000000000000000000000","00000000000000000000000000000...
2024-12-02 22:24:40 +0100 <sprotte24> in my task allCombinations [] = [[]]
2024-12-02 22:30:03 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 22:30:34 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 22:31:55 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 22:36:21 +0100 <haskellbridge> <hellwolf> Repeats allowed No Repeats
2024-12-02 22:36:21 +0100 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/nxZBNsHrMMJJURRtUnXdnFKt/PyxkJhr_m-A (4 lines)
2024-12-02 22:36:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-02 22:38:57 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers
2024-12-02 22:39:17 +0100Square(~Square@user/square) Square
2024-12-02 22:39:33 +0100 <hellwolf> the `replicateM Int` does repeated permutations, I guess?
2024-12-02 22:40:09 +0100 <dminuoso> What does `replicateM Int` mean?
2024-12-02 22:40:14 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 22:40:29 +0100 <hellwolf> > replicateM 2 ['a', 'b', 'c']
2024-12-02 22:40:31 +0100 <lambdabot> ["aa","ab","ac","ba","bb","bc","ca","cb","cc"]
2024-12-02 22:40:45 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 22:40:48 +0100 <sprotte24> [02.12.24|21:41:08] <hellwolf> > replicateM 2 [True, False]
2024-12-02 22:40:48 +0100 <sprotte24> [02.12.24|21:41:10] <lambdabot> [[True,True],[True,False],[False,True],[False,False]]
2024-12-02 22:41:23 +0100 <dminuoso> hellwolf: So with a bit of squinting you could think of [] modelling non-determinism.
2024-12-02 22:41:50 +0100 <dminuoso> Squinting because lists have an order, so there's a slight bit of extra structure there.
2024-12-02 22:41:55 +0100 <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 22:42:09 +0100 <sprotte24> [[],[True],[False]...] ist misssingand the tail
2024-12-02 22:42:51 +0100 <dminuoso> hellwolf: So ['a', 'b', 'c'] could be seen as "some non-deterministic choice of 'a", "b" and c"
2024-12-02 22:42:59 +0100 <dminuoso> Gah enter a bit early, but anyhow.
2024-12-02 22:43:29 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 265 seconds)
2024-12-02 22:43:35 +0100 <dminuoso> In that sense it gives you permutations.
2024-12-02 22:46:18 +0100 <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 22:47:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 22:47:55 +0100 <hellwolf> I wonder what's the clever one-liner one for combinations.
2024-12-02 22:48:38 +0100 <hellwolf> repeat or non-repeat
2024-12-02 22:49:06 +0100 <hellwolf> without post processing the permuntation.
2024-12-02 22:49:19 +0100 <dminuoso> Depends on whether you want it performant or not.
2024-12-02 22:49:34 +0100 <sprotte24> these were non-repeat
2024-12-02 22:50:09 +0100 <dminuoso> If you dont care about performance, you can just take list monad, sort and nub it (maybe via Data.Set)
2024-12-02 22:50:25 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 22:50:56 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 22:51:04 +0100 <sprotte24> But that would not work for a infinite list to be sorted later
2024-12-02 22:52:06 +0100Everything(~Everythin@46.211.103.42) Everything
2024-12-02 22:52:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 22:54:35 +0100 <dminuoso> The solution for infinite lists would fall in the performant category.
2024-12-02 22:54:54 +0100 <hellwolf> let me try with splitAt and recursion
2024-12-02 22:55:05 +0100 <hellwolf> one sec
2024-12-02 22:55:19 +0100 <hellwolf> unlikely a one-liner anymore
2024-12-02 22:59:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-02 22:59:24 +0100 <sprotte24> oksplits :: [a] -> [([a], [a])]
2024-12-02 22:59:24 +0100 <sprotte24> splits [] = [([], [])]
2024-12-02 22:59:24 +0100 <sprotte24> splits (y:ys) = ([], y:ys) : [(y:ys1, ys2)
2024-12-02 22:59:25 +0100 <sprotte24> | (ys1, ys2) <- splits ys]
2024-12-02 23:00:08 +0100alexherbo2(~alexherbo@13.135.22.93.rev.sfr.net) alexherbo2
2024-12-02 23:00:36 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-02 23:01:08 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:01:38 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers
2024-12-02 23:03:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 23:04:03 +0100pounce(~pounce@user/cute/pounce) pounce
2024-12-02 23:05:33 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-02 23:05:47 +0100gorignak(~gorignak@user/gorignak) (Client Quit)
2024-12-02 23:06:20 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:07:32 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 272 seconds)
2024-12-02 23:10:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-02 23:10:59 +0100gorignak(~gorignak@user/gorignak) (Client Quit)
2024-12-02 23:11:31 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:16:10 +0100gorignak(~gorignak@user/gorignak) (Client Quit)
2024-12-02 23:16:41 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:20:22 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers
2024-12-02 23:21:21 +0100gorignak(~gorignak@user/gorignak) (Client Quit)
2024-12-02 23:21:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 23:21:52 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:22:51 +0100michalz(~michalz@185.246.207.218) (Remote host closed the connection)
2024-12-02 23:26:32 +0100gorignak(~gorignak@user/gorignak) (Client Quit)
2024-12-02 23:26:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-02 23:27:04 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:27:05 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-02 23:29:14 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 255 seconds)
2024-12-02 23:29:38 +0100Everything(~Everythin@46.211.103.42) (Ping timeout: 252 seconds)
2024-12-02 23:29:43 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl)
2024-12-02 23:31:34 +0100Everything(~Everythin@46.211.80.247) Everything
2024-12-02 23:31:43 +0100gorignak(~gorignak@user/gorignak) (Client Quit)
2024-12-02 23:32:14 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:34:57 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 276 seconds)
2024-12-02 23:35:18 +0100gorignak(~gorignak@user/gorignak) (Client Quit)
2024-12-02 23:35:49 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:36:21 +0100gorignak(~gorignak@user/gorignak) (Client Quit)
2024-12-02 23:36:52 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-02 23:37:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 23:39:02 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-02 23:40:07 +0100alp(~alp@2001:861:8ca0:4940:a36a:bc17:9bfc:9786) (Remote host closed the connection)
2024-12-02 23:40:24 +0100alp(~alp@2001:861:8ca0:4940:6caf:2993:1558:2dee)
2024-12-02 23:41:22 +0100alp(~alp@2001:861:8ca0:4940:6caf:2993:1558:2dee) (Remote host closed the connection)
2024-12-02 23:41:38 +0100gorignak(~gorignak@user/gorignak) (Remote host closed the connection)
2024-12-02 23:41:39 +0100alp(~alp@2001:861:8ca0:4940:18f3:4eb6:59be:b60)
2024-12-02 23:42:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 23:43:04 +0100alp(~alp@2001:861:8ca0:4940:18f3:4eb6:59be:b60) (Remote host closed the connection)
2024-12-02 23:43:21 +0100alp(~alp@2001:861:8ca0:4940:53b0:728a:4a19:6af2)
2024-12-02 23:43:29 +0100hgolden_(~hgolden@2603:8000:9d00:3ed1:6c70:1ac0:d127:74dd) (Remote host closed the connection)
2024-12-02 23:44:45 +0100alp(~alp@2001:861:8ca0:4940:53b0:728a:4a19:6af2) (Remote host closed the connection)
2024-12-02 23:45:03 +0100alp(~alp@2001:861:8ca0:4940:11eb:6be:450d:4949)
2024-12-02 23:45:42 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-12-02 23:45:50 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2024-12-02 23:46:27 +0100alp(~alp@2001:861:8ca0:4940:11eb:6be:450d:4949) (Remote host closed the connection)
2024-12-02 23:46:44 +0100alp(~alp@2001:861:8ca0:4940:3097:3d6d:8b01:fcba)
2024-12-02 23:47:55 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) tdammers
2024-12-02 23:48:08 +0100alp(~alp@2001:861:8ca0:4940:3097:3d6d:8b01:fcba) (Remote host closed the connection)
2024-12-02 23:48:26 +0100alp(~alp@2001:861:8ca0:4940:442:919:bd8c:d19c)
2024-12-02 23:50:04 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-12-02 23:50:08 +0100alp_(~alp@2001:861:8ca0:4940:2fb9:3073:3158:62ef)
2024-12-02 23:51:32 +0100alp_(~alp@2001:861:8ca0:4940:2fb9:3073:3158:62ef) (Remote host closed the connection)
2024-12-02 23:51:49 +0100alp_(~alp@2001:861:8ca0:4940:36d2:d74a:8e91:a2c6)
2024-12-02 23:53:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-02 23:53:12 +0100j1n37(~j1n37@user/j1n37) j1n37
2024-12-02 23:53:15 +0100alp_(~alp@2001:861:8ca0:4940:36d2:d74a:8e91:a2c6) (Remote host closed the connection)
2024-12-02 23:53:33 +0100alp_(~alp@2001:861:8ca0:4940:7755:1baa:b171:8d8d)
2024-12-02 23:53:37 +0100alp(~alp@2001:861:8ca0:4940:442:919:bd8c:d19c) (Ping timeout: 248 seconds)
2024-12-02 23:55:16 +0100alp__(~alp@2001:861:8ca0:4940:9b41:1bdc:3efe:5d7f)
2024-12-02 23:56:31 +0100tdammers(~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
2024-12-02 23:58:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-02 23:58:25 +0100alp_(~alp@2001:861:8ca0:4940:7755:1baa:b171:8d8d) (Ping timeout: 248 seconds)
2024-12-02 23:58:48 +0100emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2024-12-02 23:58:59 +0100__monty__(~toonn@user/toonn) (Quit: leaving)