2024/10/11

2024-10-11 00:11:45 +0200AlexZenon(~alzenon@178.34.163.165) (Ping timeout: 252 seconds)
2024-10-11 00:16:59 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 260 seconds)
2024-10-11 00:17:38 +0200weary-traveler(~user@user/user363627) user363627
2024-10-11 00:26:05 +0200AlexZenon(~alzenon@178.34.163.165)
2024-10-11 00:27:00 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-11 00:27:17 +0200thaumavorio(~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
2024-10-11 00:27:49 +0200xff0x(~xff0x@2405:6580:b080:900:3e:c6b:65b9:2866) (Quit: xff0x)
2024-10-11 00:28:32 +0200thaumavorio(~thaumavor@thaumavor.io) thaumavorio
2024-10-11 00:29:27 +0200AlexZenon(~alzenon@178.34.163.165) (Read error: Connection reset by peer)
2024-10-11 00:35:13 +0200xff0x(~xff0x@2405:6580:b080:900:524e:9ecb:b84d:391c)
2024-10-11 00:35:13 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-10-11 00:35:20 +0200euleritian(~euleritia@dynamic-176-006-134-060.176.6.pool.telefonica.de)
2024-10-11 00:35:47 +0200euleritian(~euleritia@dynamic-176-006-134-060.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-10-11 00:36:04 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-11 00:47:58 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) athan
2024-10-11 00:51:21 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds)
2024-10-11 00:52:09 +0200AlexZenon(~alzenon@178.34.163.165)
2024-10-11 00:56:29 +0200arahael(~arahael@user/arahael) arahael
2024-10-11 01:05:34 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 260 seconds)
2024-10-11 01:10:52 +0200xff0x_(~xff0x@2405:6580:b080:900:4f73:4e09:b8f0:e4a2)
2024-10-11 01:13:55 +0200xff0x(~xff0x@2405:6580:b080:900:524e:9ecb:b84d:391c) (Ping timeout: 264 seconds)
2024-10-11 01:18:11 +0200mantraofpie(~mantraofp@user/mantraofpie) (Ping timeout: 260 seconds)
2024-10-11 01:24:16 +0200dcoutts(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) dcoutts
2024-10-11 01:29:57 +0200acidjnk(~acidjnk@p200300d6e72cfb8558a5acefa98b724b.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-10-11 01:30:05 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-10-11 01:30:36 +0200gorignak(~gorignak@user/gorignak) gorignak
2024-10-11 01:30:56 +0200dcoutts_(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
2024-10-11 01:30:57 +0200dcoutts(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Read error: Connection reset by peer)
2024-10-11 01:51:27 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-10-11 01:52:42 +0200vanishingideal(~vanishing@user/vanishingideal) (Read error: Connection reset by peer)
2024-10-11 01:52:43 +0200vanishing(~vanishing@user/vanishingideal) (Read error: Connection reset by peer)
2024-10-11 01:53:25 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-11 01:53:32 +0200vanishing(~vanishing@user/vanishingideal) vanishingideal
2024-10-11 01:56:19 +0200Zer000(~02@64.137.132.10) Zer000
2024-10-11 01:59:33 +0200 <Zer000> whoa wait a second, my application just changed the way it calculates numbers but all I did was add a print statement! I'm looking at the diff and besides print out a list (generated purely from two Integers), I refactored a very simple toInteger call to be it's own variable name using let. How the heck is this possible?? Before my application was crashing because it was trying to use (!!) with a negative index on a list.
2024-10-11 02:00:57 +0200dcoutts__(~duncan@host86-143-111-204.range86-143.btcentralplus.com)
2024-10-11 02:01:44 +0200 <c_wraith> let-generalization is a thing. values bound in a let become polymorphic when they wouldn't if used inline. maybe there's something going on with that?
2024-10-11 02:02:14 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-10-11 02:02:15 +0200dcoutts_(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Read error: Connection reset by peer)
2024-10-11 02:02:18 +0200 <monochrom> You will understand that generally I don't trust random people on the internet when they say "that's the only difference, everything else is identical, I swear".
2024-10-11 02:02:37 +0200ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2024-10-11 02:02:42 +0200 <c_wraith> if it is the only difference, it's easy to pop back and forth!
2024-10-11 02:03:02 +0200 <Zer000> here is the diff!
2024-10-11 02:03:03 +0200 <Zer000> https://dpaste.com/GYYM5LCAX
2024-10-11 02:03:23 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-10-11 02:04:01 +0200 <Zer000> the program reads data from disks, but they aren't mounted and only read from. So unless the data magically changed on the because of a cosmic ray, that's about the only thing that changed.
2024-10-11 02:04:25 +0200 <c_wraith> so did you temporarily revert the change to verify?
2024-10-11 02:05:13 +0200 <c_wraith> also, wow that pastebin handles mobile poorly.
2024-10-11 02:05:39 +0200 <Zer000> It's still running, so I'll see how far it gets before crashing. this is a distance record atm and i don't wanna touch it. but I've ran a few times before that change and it crashed in the same place every time.
2024-10-11 02:05:50 +0200 <Zer000> c_wraith, I can repaste if you have a better place
2024-10-11 02:05:53 +0200lol_jcarpenter2
2024-10-11 02:05:59 +0200 <Zer000> what's a good pastebin?
2024-10-11 02:06:02 +0200 <c_wraith> @where paste
2024-10-11 02:06:02 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2024-10-11 02:06:40 +0200 <Zer000> https://paste.tomsmeding.com/OpuMYlD1
2024-10-11 02:07:11 +0200 <Zer000> I'm excited because it's running but it's freaking me out. i'll read about that let-generalization though
2024-10-11 02:08:02 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-10-11 02:08:37 +0200 <Lears> Zer000: You also changed `E.diskNumBytes` to `E.diskBytenr`.
2024-10-11 02:10:50 +0200 <Zer000> DOH!
2024-10-11 02:10:54 +0200 <Zer000> That's probably it :)
2024-10-11 02:15:10 +0200quintasan(~quassel@quintasan.pl) ()
2024-10-11 02:16:54 +0200ystael(~ystael@user/ystael) (Ping timeout: 265 seconds)
2024-10-11 02:17:27 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) raehik
2024-10-11 02:28:13 +0200Nixkernal(~Nixkernal@226.85.194.178.dynamic.cust.swisscom.net) (Ping timeout: 252 seconds)
2024-10-11 02:32:32 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-10-11 02:34:18 +0200califax(~califax@user/califx) califx
2024-10-11 02:38:36 +0200haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
2024-10-11 02:39:08 +0200haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) hackager
2024-10-11 02:39:08 +0200ChanServ+v haskellbridge
2024-10-11 02:47:39 +0200identity(~identity@user/ZharMeny) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.91))
2024-10-11 02:48:04 +0200 <haskellbridge> <thirdofmay18081814goya> what are some interesting/useful/neat type-level data types and functions?
2024-10-11 02:48:12 +0200 <haskellbridge> <thirdofmay18081814goya> vague answers only, am practicing type-level programming
2024-10-11 02:49:19 +0200xff0x_(~xff0x@2405:6580:b080:900:4f73:4e09:b8f0:e4a2) (Ping timeout: 264 seconds)
2024-10-11 02:53:47 +0200 <dmj`> UnconsSymbol
2024-10-11 02:54:46 +0200jinsun(~jinsun@user/jinsun) jinsun
2024-10-11 03:00:23 +0200Sgeo_(~Sgeo@user/sgeo) Sgeo
2024-10-11 03:00:29 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 260 seconds)
2024-10-11 03:02:57 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-10-11 03:03:25 +0200jinsun(~jinsun@user/jinsun) (Ping timeout: 252 seconds)
2024-10-11 03:08:50 +0200user363627(~user@user/user363627) user363627
2024-10-11 03:12:14 +0200weary-traveler(~user@user/user363627) (Ping timeout: 252 seconds)
2024-10-11 03:27:17 +0200youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-10-11 03:29:10 +0200youthlic(~Thunderbi@user/youthlic) youthlic
2024-10-11 03:32:08 +0200LukeHoersten(~LukeHoers@user/lukehoersten) LukeHoersten
2024-10-11 03:32:43 +0200jcarpenter2(~lol@2603:3016:1e01:b9e0:835:2698:e6f:bd82) (Read error: Connection reset by peer)
2024-10-11 03:36:48 +0200RedFlamingos(~RedFlamin@user/RedFlamingos) (Ping timeout: 252 seconds)
2024-10-11 03:41:16 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 03:55:55 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) athan
2024-10-11 04:08:22 +0200spew(~spew@201.141.99.170) (Quit: spew)
2024-10-11 04:10:16 +0200td_(~td@i53870924.versanet.de) (Ping timeout: 272 seconds)
2024-10-11 04:11:40 +0200td_(~td@i5387090C.versanet.de) td_
2024-10-11 04:11:54 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-10-11 04:12:25 +0200gorignak(~gorignak@user/gorignak) gorignak
2024-10-11 04:20:25 +0200Square(~Square4@user/square) (Ping timeout: 252 seconds)
2024-10-11 04:22:12 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-10-11 04:33:59 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-10-11 04:39:00 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 265 seconds)
2024-10-11 04:59:23 +0200jinsun(~jinsun@user/jinsun) jinsun
2024-10-11 05:01:26 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Quit: xff0x)
2024-10-11 05:04:47 +0200user363627(~user@user/user363627) (Remote host closed the connection)
2024-10-11 05:33:00 +0200aforemny_(~aforemny@2001:9e8:6cc0:e400:1d65:59f5:5ebd:ca5e) aforemny
2024-10-11 05:33:24 +0200aforemny(~aforemny@i577BEEF5.versanet.de) (Ping timeout: 246 seconds)
2024-10-11 05:38:03 +0200Sgeo__(~Sgeo@user/sgeo) Sgeo
2024-10-11 05:38:28 +0200dcoutts_(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
2024-10-11 05:38:36 +0200synchrom1(~john@2406:5a00:2497:300:99c5:4603:d83:aa35) synchromesh
2024-10-11 05:39:03 +0200alioguzhan1(~Thunderbi@78.173.89.238)
2024-10-11 05:39:06 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2024-10-11 05:39:07 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Read error: Connection reset by peer)
2024-10-11 05:39:31 +0200noctux(~noctux@user/noctux) (Read error: Connection reset by peer)
2024-10-11 05:39:31 +0200synchrom2(~john@2406:5a00:2497:300:99c5:4603:d83:aa35) synchromesh
2024-10-11 05:39:33 +0200Digit(~user@user/digit) (Remote host closed the connection)
2024-10-11 05:39:38 +0200noctux(~noctux@user/noctux) noctux
2024-10-11 05:39:42 +0200youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-10-11 05:39:46 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in)
2024-10-11 05:39:56 +0200pierrot(~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in)
2024-10-11 05:39:56 +0200remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2024-10-11 05:39:57 +0200thaumavorio(~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
2024-10-11 05:39:57 +0200CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-10-11 05:39:58 +0200youthlic(~Thunderbi@user/youthlic) youthlic
2024-10-11 05:40:00 +0200AlexZenon(~alzenon@178.34.163.165) (Ping timeout: 252 seconds)
2024-10-11 05:40:03 +0200haritz(~hrtz@user/haritz) (Remote host closed the connection)
2024-10-11 05:40:10 +0200rvalue(~rvalue@user/rvalue) (Remote host closed the connection)
2024-10-11 05:40:12 +0200haritz(~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737)
2024-10-11 05:40:31 +0200rvalue(~rvalue@user/rvalue) rvalue
2024-10-11 05:40:45 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-10-11 05:40:56 +0200remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2024-10-11 05:41:06 +0200synchromesh(~john@180.148.124.74) (Ping timeout: 252 seconds)
2024-10-11 05:41:15 +0200Digit(~user@user/digit) Digit
2024-10-11 05:41:28 +0200Sgeo_(~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
2024-10-11 05:41:28 +0200dcoutts__(~duncan@host86-143-111-204.range86-143.btcentralplus.com) (Ping timeout: 252 seconds)
2024-10-11 05:41:28 +0200wanted(~wanted@2.219.56.221) (Ping timeout: 252 seconds)
2024-10-11 05:42:00 +0200synchromesh(~john@180.148.124.74) synchromesh
2024-10-11 05:42:01 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) todi
2024-10-11 05:42:04 +0200haritz(~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737) (Changing host)
2024-10-11 05:42:04 +0200haritz(~hrtz@user/haritz) haritz
2024-10-11 05:42:35 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Remote host closed the connection)
2024-10-11 05:42:41 +0200kaol(~kaol@94-237-45-144.nl-ams1.upcloud.host) (Remote host closed the connection)
2024-10-11 05:42:48 +0200kaol(~kaol@94-237-45-144.nl-ams1.upcloud.host)
2024-10-11 05:42:58 +0200raym(~ray@user/raym) (Remote host closed the connection)
2024-10-11 05:42:58 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) gabriel_sevecek
2024-10-11 05:43:18 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-10-11 05:43:18 +0200alioguzhan(~Thunderbi@78.173.89.238) (Ping timeout: 252 seconds)
2024-10-11 05:43:18 +0200juri_(~juri@implicitcad.org) (Ping timeout: 252 seconds)
2024-10-11 05:43:18 +0200alioguzhan1alioguzhan
2024-10-11 05:43:22 +0200synchrom1(~john@2406:5a00:2497:300:99c5:4603:d83:aa35) (Ping timeout: 272 seconds)
2024-10-11 05:43:40 +0200lyxia(~lyxia@poisson.chat) (Ping timeout: 252 seconds)
2024-10-11 05:44:02 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 252 seconds)
2024-10-11 05:44:12 +0200CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-10-11 05:44:22 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-11 05:44:24 +0200synchrom2(~john@2406:5a00:2497:300:99c5:4603:d83:aa35) (Ping timeout: 260 seconds)
2024-10-11 05:44:54 +0200sourcetarius(~sourcetar@user/sourcetarius) (Quit: sourcetarius)
2024-10-11 05:45:07 +0200AlexZenon(~alzenon@178.34.163.165)
2024-10-11 05:45:49 +0200thaumavorio(~thaumavor@thaumavor.io) thaumavorio
2024-10-11 05:46:08 +0200wanted(~wanted@2.219.56.221)
2024-10-11 05:47:41 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2024-10-11 05:49:19 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-10-11 05:49:52 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) Natch
2024-10-11 05:50:55 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 05:52:27 +0200dcoutts__(~duncan@host86-143-111-204.range86-143.btcentralplus.com)
2024-10-11 05:53:11 +0200juri_(~juri@implicitcad.org) juri_
2024-10-11 05:53:49 +0200pierrot(~pi@user/pierrot) pierrot
2024-10-11 05:53:52 +0200lyxia(~lyxia@poisson.chat)
2024-10-11 05:54:29 +0200tomboy64(~tomboy64@user/tomboy64) tomboy64
2024-10-11 05:55:39 +0200dcoutts_(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Ping timeout: 276 seconds)
2024-10-11 06:00:05 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-10-11 06:03:29 +0200raym(~ray@user/raym) raym
2024-10-11 06:16:26 +0200rosco(~rosco@175.136.22.30) rosco
2024-10-11 06:43:35 +0200michalz(~michalz@185.246.207.200)
2024-10-11 06:54:49 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-10-11 07:02:41 +0200euphores(~SASL_euph@user/euphores) euphores
2024-10-11 07:08:17 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Quit: xff0x)
2024-10-11 07:11:15 +0200solaire(~solaire@185.209.198.102)
2024-10-11 07:11:19 +0200solaire(~solaire@185.209.198.102) (Remote host closed the connection)
2024-10-11 07:12:04 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 07:15:48 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Client Quit)
2024-10-11 07:24:46 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 07:30:10 +0200Sgeo__(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-10-11 07:31:42 +0200alp_(~alp@2001:861:e3d6:8f80:3e1b:1051:6267:8f64)
2024-10-11 07:34:41 +0200Zer000(~02@64.137.132.10) (Quit: Leaving)
2024-10-11 07:35:39 +0200jinsun(~jinsun@user/jinsun) (Ping timeout: 260 seconds)
2024-10-11 07:44:31 +0200Buliarous(~gypsydang@46.232.210.139) (Ping timeout: 264 seconds)
2024-10-11 07:50:28 +0200vanishing(~vanishing@user/vanishingideal) (Quit: leaving)
2024-10-11 07:55:09 +0200acidjnk(~acidjnk@p200300d6e72cfb85c0de74302d76eade.dip0.t-ipconnect.de) acidjnk
2024-10-11 08:43:33 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Quit: xff0x)
2024-10-11 08:51:12 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 08:51:50 +0200ft(~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving)
2024-10-11 08:54:28 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Client Quit)
2024-10-11 08:54:42 +0200vanishingideal(~vanishing@user/vanishingideal) (Quit: Lost terminal)
2024-10-11 08:55:19 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 08:58:33 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Client Quit)
2024-10-11 08:59:15 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 09:00:00 +0200caconym(~caconym@user/caconym) (Quit: bye)
2024-10-11 09:00:37 +0200caconym(~caconym@user/caconym) caconym
2024-10-11 09:02:46 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Client Quit)
2024-10-11 09:03:46 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 09:03:48 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Client Quit)
2024-10-11 09:04:08 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 09:04:09 +0200arahael(~arahael@user/arahael) (Ping timeout: 276 seconds)
2024-10-11 09:06:26 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Client Quit)
2024-10-11 09:07:09 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-11 09:07:38 +0200mulk(~mulk@p5b112a06.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-10-11 09:13:15 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-10-11 09:13:44 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-11 09:14:50 +0200cyphase(~cyphase@user/cyphase) (Read error: Connection reset by peer)
2024-10-11 09:18:27 +0200cyphase(~cyphase@user/cyphase) cyphase
2024-10-11 09:24:09 +0200arahael(~arahael@user/arahael) arahael
2024-10-11 09:27:10 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-11 09:31:54 +0200CiaoSen(~Jura@2a05:5800:2e4:b000:ca4b:d6ff:fec1:99da) CiaoSen
2024-10-11 09:32:06 +0200cfricke(~cfricke@user/cfricke) cfricke
2024-10-11 09:32:58 +0200gentauro(~gentauro@user/gentauro) (Quit: leaving)
2024-10-11 09:38:16 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) jespada
2024-10-11 09:43:30 +0200dcoutts__(~duncan@host86-143-111-204.range86-143.btcentralplus.com) (Ping timeout: 265 seconds)
2024-10-11 09:43:40 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-10-11 09:47:17 +0200vpan(~vpan@212.117.1.172)
2024-10-11 09:50:21 +0200briandaed(~root@185.234.210.211)
2024-10-11 09:51:20 +0200mulk(~mulk@pd9514da8.dip0.t-ipconnect.de) mulk
2024-10-11 09:52:47 +0200gentauro(~gentauro@user/gentauro) gentauro
2024-10-11 10:02:05 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-11 10:05:06 +0200talismanick(~user@2601:644:937c:ed10::ae5) (Read error: Connection reset by peer)
2024-10-11 10:05:19 +0200talismanick(~user@2601:644:937c:ed10::ae5) talismanick
2024-10-11 10:12:05 +0200CiaoSen(~Jura@2a05:5800:2e4:b000:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds)
2024-10-11 10:24:29 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2024-10-11 10:24:59 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-10-11 10:25:56 +0200chele(~chele@user/chele) chele
2024-10-11 10:28:30 +0200dcoutts__(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
2024-10-11 10:29:51 +0200Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-10-11 10:31:18 +0200sp1ff(~user@c-73-11-70-111.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
2024-10-11 10:31:33 +0200sp1ff(~user@c-73-11-70-111.hsd1.wa.comcast.net) sp1ff
2024-10-11 10:34:00 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-10-11 10:37:59 +0200araujo(~araujo@45.146.54.21) araujo
2024-10-11 10:40:10 +0200petrichor(~znc-user@user/petrichor) (Read error: Connection reset by peer)
2024-10-11 10:42:45 +0200ubert(~Thunderbi@178.165.179.94.wireless.dyn.drei.com) ubert
2024-10-11 10:42:50 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-10-11 10:43:47 +0200petrichor(~znc-user@user/petrichor) petrichor
2024-10-11 10:46:53 +0200rosco(~rosco@175.136.22.30) (Quit: Lost terminal)
2024-10-11 10:48:07 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-10-11 10:49:17 +0200__monty__(~toonn@user/toonn) toonn
2024-10-11 10:50:29 +0200araujo(~araujo@45.146.54.21) (Remote host closed the connection)
2024-10-11 10:53:03 +0200arahael(~arahael@user/arahael) (Ping timeout: 252 seconds)
2024-10-11 10:54:53 +0200CiaoSen(~Jura@2a05:5800:2e4:b000:ca4b:d6ff:fec1:99da) CiaoSen
2024-10-11 10:56:46 +0200araujo(~araujo@45.146.54.21) araujo
2024-10-11 10:58:50 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2024-10-11 10:59:02 +0200arahael(~arahael@user/arahael) arahael
2024-10-11 11:03:59 +0200sp1ff(~user@c-73-11-70-111.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
2024-10-11 11:05:53 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 248 seconds)
2024-10-11 11:07:35 +0200sp1ff(~user@c-73-11-70-111.hsd1.wa.comcast.net) sp1ff
2024-10-11 11:24:30 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-11 11:44:05 +0200acidjnk(~acidjnk@p200300d6e72cfb85c0de74302d76eade.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-10-11 11:47:04 +0200vpan(~vpan@212.117.1.172) (Quit: Leaving.)
2024-10-11 11:51:04 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds)
2024-10-11 11:54:49 +0200dcoutts_(~duncan@host86-143-111-204.range86-143.btcentralplus.com)
2024-10-11 11:56:24 +0200turlando(~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.)
2024-10-11 11:57:24 +0200dcoutts__(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Ping timeout: 252 seconds)
2024-10-11 11:57:39 +0200turlando(~turlando@user/turlando) turlando
2024-10-11 11:59:44 +0200driib318(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2024-10-11 12:00:17 +0200driib318(~driib@vmi931078.contaboserver.net) driib
2024-10-11 12:01:57 +0200acidjnk(~acidjnk@p200300d6e72cfb85c0de74302d76eade.dip0.t-ipconnect.de) acidjnk
2024-10-11 12:07:11 +0200mari-estel(~mari-este@user/danza) danza
2024-10-11 12:18:31 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 260 seconds)
2024-10-11 12:33:46 +0200Luj9(~Luj@2a01:e0a:de4:a0e1:be24:11ff:febc:b5b5) (Quit: The Lounge - https://thelounge.chat)
2024-10-11 12:34:24 +0200Luj9(~Luj@2a01:e0a:de4:a0e1:be24:11ff:febc:b5b5) Luj
2024-10-11 12:35:03 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2024-10-11 12:43:55 +0200SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2024-10-11 12:48:22 +0200 <lxsameer> hey folks, I heard it a lot that haskell ruins other langs for you as a programmer, just out of curiosity, do you know any lang "better" (air quote) than Haskell?
2024-10-11 12:50:05 +0200 <opqdonut> well if you want something "more haskell than haskell", try agda or perhaps (arguably) purescript
2024-10-11 12:50:36 +0200gehmehgeh(~user@user/gehmehgeh) gehmehgeh
2024-10-11 12:56:30 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-10-11 12:57:10 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) finn_elija
2024-10-11 12:57:24 +0200 <mari-estel> kool kids use lean nowadays
2024-10-11 12:57:51 +0200mari-estel(~mari-este@user/danza) (Quit: shitty chrome system)
2024-10-11 13:00:06 +0200 <araujo> lxsameer, Haskell certainly does that
2024-10-11 13:03:30 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 246 seconds)
2024-10-11 13:04:18 +0200 <lxsameer> opqdonut: don't know about purescript but tried Agda before
2024-10-11 13:04:38 +0200 <lxsameer> araujo: i think so yeah
2024-10-11 13:07:03 +0200CiaoSen(~Jura@2a05:5800:2e4:b000:ca4b:d6ff:fec1:99da) (Ping timeout: 245 seconds)
2024-10-11 13:07:28 +0200 <tomsmeding> lxsameer: haskell is not good for every application
2024-10-11 13:08:14 +0200 <tomsmeding> it's very expressive at writing compiler-like programs, and certainly the way it guides one in structuring one's program is one that is good to have under your belt
2024-10-11 13:08:20 +0200 <tomsmeding> and IMO also a very enjoyable one
2024-10-11 13:08:52 +0200 <tomsmeding> it also has a very high abstraction ceiling, even for code that is "low-level"-ish in the sense of mutable arrays and calling C functions
2024-10-11 13:09:18 +0200 <tomsmeding> but it can only go so low into the concrete level; writing code that is really competitive with optimised C code at numerical stuff is hard to impossible
2024-10-11 13:09:51 +0200 <tomsmeding> or algorithms that are really mutation-based, like some dynamic programming algorithms
2024-10-11 13:10:37 +0200 <tomsmeding> while you _can_ express them, to get any semblance of performance in haskell you have to use ST, which makes the code very verbose and not necessarily easier to read than C code; you do still have a separation between the pure code and the impure code, but at some point that trades off against verbosity and clarity
2024-10-11 13:10:49 +0200 <lxsameer> it's a trade off after all
2024-10-11 13:10:51 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-11 13:10:58 +0200 <tomsmeding> and even if you go deep on ST and unboxed stuff, C can still beat you 2x
2024-10-11 13:11:06 +0200 <tomsmeding> (I've seen that happen)
2024-10-11 13:11:31 +0200 <tomsmeding> knowing haskell certainly spoils you for a lot of problem domains, but there are certainly domains left where haskell would not be my first choice
2024-10-11 13:11:56 +0200 <tomsmeding> perhaps this gives some perspective :)
2024-10-11 13:12:15 +0200 <tomsmeding> so "better" than haskell at competitive programming or kernel code would be C++ or Rust
2024-10-11 13:12:49 +0200 <tomsmeding> "better" than haskell at highly verifiable prototype implementations of compiler stuff is Agda
2024-10-11 13:13:05 +0200 <tomsmeding> "better" than haskell at simple FP code where laziness is more a pain than a boon is OCaml
2024-10-11 13:13:28 +0200 <tomsmeding> "better" than haskell at lensy code is perhaps nothing else currently :p
2024-10-11 13:13:40 +0200 <tomsmeding> and various stuff that I already mentioned
2024-10-11 13:13:52 +0200 <tomsmeding> (disclaimer I don't use lens)
2024-10-11 13:15:30 +0200acidjnk(~acidjnk@p200300d6e72cfb85c0de74302d76eade.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-10-11 13:17:31 +0200 <tomsmeding> lxsameer: but about spoiling: after using haskell a lot, writing _anything_ that you would use a sum type for in Haskell in a language like C++ without proper sum types is a royal pain in the behind that makes you long for the good days of haskell
2024-10-11 13:17:39 +0200acidjnk(~acidjnk@p200300d6e72cfb8501454db6567a02c6.dip0.t-ipconnect.de) acidjnk
2024-10-11 13:18:49 +0200comerijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 13:18:52 +0200 <tomsmeding> "C++ has sum types, it has std::variant" std::variant is a monstrosity that can only be deemed sufficient by people so deep in C++ stockholm syndrome that the way out is like being the Minotaur
2024-10-11 13:21:10 +0200 <Franciman> lol
2024-10-11 13:21:27 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2024-10-11 13:21:53 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 255 seconds)
2024-10-11 13:25:07 +0200mulk(~mulk@pd9514da8.dip0.t-ipconnect.de) (Quit: ZNC - http://znc.in)
2024-10-11 13:25:56 +0200mulk(~mulk@pd9514da8.dip0.t-ipconnect.de) mulk
2024-10-11 13:27:29 +0200 <lxsameer> tomsmeding: thanks for the insight
2024-10-11 13:28:10 +0200 <tomsmeding> :)
2024-10-11 13:28:12 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-10-11 13:31:35 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2024-10-11 13:34:06 +0200synchromesh(~john@180.148.124.74) (Read error: Connection reset by peer)
2024-10-11 13:35:32 +0200synchromesh(~john@2406:5a00:2497:300:b439:971c:5f64:53b2) synchromesh
2024-10-11 13:35:52 +0200synchromesh(~john@2406:5a00:2497:300:b439:971c:5f64:53b2) (Read error: Connection reset by peer)
2024-10-11 13:36:17 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 252 seconds)
2024-10-11 13:36:33 +0200synchromesh(~john@2406:5a00:2497:300:b439:971c:5f64:53b2) synchromesh
2024-10-11 13:36:51 +0200rosco(~rosco@175.136.22.30) rosco
2024-10-11 13:40:13 +0200synchrom1(~john@2406:5a00:2497:300:b439:971c:5f64:53b2) synchromesh
2024-10-11 13:40:24 +0200synchromesh(~john@2406:5a00:2497:300:b439:971c:5f64:53b2) (Read error: Connection reset by peer)
2024-10-11 13:40:52 +0200Square(~Square4@user/square) Square
2024-10-11 13:41:00 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-10-11 13:41:39 +0200Lord_of_LifeLord_of_L
2024-10-11 13:42:44 +0200mari-estel(~mari-este@user/danza) danza
2024-10-11 13:44:58 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-10-11 13:46:05 +0200Lord_of_L(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2024-10-11 13:48:29 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) athan
2024-10-11 13:54:14 +0200Square(~Square4@user/square) (Ping timeout: 260 seconds)
2024-10-11 14:00:07 +0200cfricke(~cfricke@user/cfricke) cfricke
2024-10-11 14:00:32 +0200rosco(~rosco@175.136.22.30) (Quit: Lost terminal)
2024-10-11 14:03:01 +0200mari-estel(~mari-este@user/danza) (Quit: on the move)
2024-10-11 14:06:34 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-11 14:07:07 +0200comerijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Read error: Connection reset by peer)
2024-10-11 14:22:38 +0200xff0x(~xff0x@2405:6580:b080:900:3d02:210b:1e86:6542)
2024-10-11 14:25:57 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 248 seconds)
2024-10-11 14:30:24 +0200ft(~ft@p4fc2a216.dip0.t-ipconnect.de) ft
2024-10-11 14:30:44 +0200dcoutts_(~duncan@host86-143-111-204.range86-143.btcentralplus.com) (Ping timeout: 255 seconds)
2024-10-11 14:33:05 +0200dcoutts_(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
2024-10-11 14:48:09 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 246 seconds)
2024-10-11 14:50:58 +0200nisstyre(wes@user/nisstyre) (Quit: WeeChat 4.2.1)
2024-10-11 14:53:51 +0200weary-traveler(~user@user/user363627) user363627
2024-10-11 14:54:23 +0200user363627(~user@user/user363627) user363627
2024-10-11 14:58:21 +0200weary-traveler(~user@user/user363627) (Ping timeout: 252 seconds)
2024-10-11 14:58:57 +0200Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-10-11 15:08:42 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-10-11 15:09:09 +0200youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-10-11 15:09:54 +0200Square2(~Square@user/square) Square
2024-10-11 15:10:29 +0200identity(~identity@user/ZharMeny) identity
2024-10-11 15:10:56 +0200 <Square2> is there some language agnostic protocol suitable for interprocess communication? Say calling methods in haskell from other languages.
2024-10-11 15:11:41 +0200youthlic(~Thunderbi@user/youthlic) youthlic
2024-10-11 15:14:35 +0200 <__monty__> I think that's what gRPC and Cap'n Proto try to be?
2024-10-11 15:14:47 +0200 <Square2> I guess I mean sending/reciving messages.
2024-10-11 15:15:01 +0200 <__monty__> There's also various message queue libraries like ZeroMQ.
2024-10-11 15:16:23 +0200Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-10-11 15:17:45 +0200 <Square2> __monty__, cap'n proto looks nice. protobuffers feels less elegant to me.
2024-10-11 15:18:20 +0200noctux(~noctux@user/noctux) (Read error: Connection reset by peer)
2024-10-11 15:19:38 +0200carbolymer(~carbolyme@dropacid.net) carbolymer
2024-10-11 15:20:53 +0200noctux(~noctux@user/noctux) noctux
2024-10-11 15:22:32 +0200xff0x(~xff0x@2405:6580:b080:900:3d02:210b:1e86:6542) (Quit: xff0x)
2024-10-11 15:40:43 +0200 <Square2> Anyone got any experience of working with cap'n proto for Haskell? Does it feel ergonomic?
2024-10-11 15:41:59 +0200 <Square2> I couldn't find a "haskell types -> schema" function, which wouldv'e felt practical to get going fast.
2024-10-11 15:42:26 +0200ubert(~Thunderbi@178.165.179.94.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2024-10-11 15:45:34 +0200ystael(~ystael@user/ystael) ystael
2024-10-11 15:47:23 +0200xff0x(~xff0x@2405:6580:b080:900:3d02:210b:1e86:6542)
2024-10-11 15:48:13 +0200dcoutts_(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Remote host closed the connection)
2024-10-11 15:48:35 +0200dcoutts_(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
2024-10-11 15:51:21 +0200k`(~k`@152.7.255.192)
2024-10-11 15:54:37 +0200dcoutts__(~duncan@host86-143-111-204.range86-143.btcentralplus.com)
2024-10-11 15:54:48 +0200 <k`> Is there any way to force GHC to statically compile a data structure? I'm generating an IntSet in a source file from the union of a lot of ranges. The set itself is relatively small (thanks to the clever implementation of IntSet), but the resulting interface file and binary are huge. I have already marked the set NOTINLINE and tried O0, O1, and O2.
2024-10-11 15:56:25 +0200 <k`> Plus the app has to build the set each time it is run.
2024-10-11 15:56:41 +0200 <geekosaur> I think the best you can do is compute it in TH?
2024-10-11 15:57:02 +0200 <geekosaur> but that'll probably explode compile time instead
2024-10-11 15:57:22 +0200 <k`> You mean by importing the internal constructors from containers and using that?
2024-10-11 15:57:33 +0200dcoutts_(~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Ping timeout: 276 seconds)
2024-10-11 15:57:52 +0200 <k`> The compile time shouldn't be any longer than building the set at startup time, so that's a tradeoff I a eager to make.
2024-10-11 15:58:27 +0200 <geekosaur> the no-thinking-needed way is just to do the generation in TH without recourse to internals and put a reference to the result in the AST
2024-10-11 15:58:59 +0200 <geekosaur> GHC in general will not do this itself because it necessarily alters strictness properties
2024-10-11 15:59:28 +0200 <k`> So essentially that's like having a bang at the top level? Template haskell forces the evaluation, and then you inline the result?
2024-10-11 15:59:40 +0200 <geekosaur> not just bang but `rnf`
2024-10-11 16:00:19 +0200 <k`> Very cool. Convoluted, but I think that's exactly what I need. I do think that IntSet is strict, so rnf should be the same as a bang.
2024-10-11 16:02:12 +0200cfricke(~cfricke@user/cfricke) cfricke
2024-10-11 16:08:10 +0200xff0x(~xff0x@2405:6580:b080:900:3d02:210b:1e86:6542) (Quit: xff0x)
2024-10-11 16:08:48 +0200xff0x(~xff0x@2405:6580:b080:900:3d02:210b:1e86:6542)
2024-10-11 16:22:08 +0200 <sweater1> I wonder if y'all know how to install shell completions for a binary Haskell distribution with Nix Flake. Here is the current flake: https://github.com/doma-engineering/passveil/blob/main/flake.nix
2024-10-11 16:47:06 +0200youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-10-11 16:47:21 +0200SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
2024-10-11 16:49:47 +0200youthlic(~Thunderbi@user/youthlic) youthlic
2024-10-11 16:54:11 +0200identity(~identity@user/ZharMeny) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.91))
2024-10-11 16:56:01 +0200Batzy(~quassel@user/batzy) Batzy
2024-10-11 16:58:21 +0200Batzy_(~quassel@user/batzy) (Ping timeout: 246 seconds)
2024-10-11 17:02:17 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2024-10-11 17:06:27 +0200ystael(~ystael@user/ystael) (Read error: Connection reset by peer)
2024-10-11 17:07:52 +0200ystael(~ystael@user/ystael) ystael
2024-10-11 17:08:03 +0200gehmehgehgmg
2024-10-11 17:10:45 +0200identity(~identity@user/ZharMeny) identity
2024-10-11 17:12:44 +0200vulpineghoulpine
2024-10-11 17:14:12 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-10-11 17:18:19 +0200euleritian(~euleritia@176.2.67.12)
2024-10-11 17:21:25 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-10-11 17:23:21 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-11 17:28:46 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) mreh
2024-10-11 17:29:08 +0200euleritian(~euleritia@176.2.67.12) (Ping timeout: 252 seconds)
2024-10-11 17:29:44 +0200euleritian(~euleritia@dynamic-176-007-135-041.176.7.pool.telefonica.de)
2024-10-11 17:32:51 +0200weary-traveler(~user@user/user363627) user363627
2024-10-11 17:33:33 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Remote host closed the connection)
2024-10-11 17:33:49 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) gabiruh
2024-10-11 17:34:00 +0200user363627(~user@user/user363627) (Ping timeout: 252 seconds)
2024-10-11 17:42:38 +0200mceresa(~mceresa@user/mceresa) (Remote host closed the connection)
2024-10-11 17:42:42 +0200euleritian(~euleritia@dynamic-176-007-135-041.176.7.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-10-11 17:43:34 +0200euleritian(~euleritia@dynamic-176-001-134-031.176.1.pool.telefonica.de)
2024-10-11 17:43:47 +0200 <k`> geekosaur: Using template Haskell not only massively shrunk compiled size, it also sped up compilation by orders of magnitude.
2024-10-11 17:44:24 +0200 <k`> I think having GHC running optimizing passes over all those little Int thunks was doing terrible things.
2024-10-11 17:46:17 +0200 <c_wraith> huh. IntSet having a Lift instance is pretty recent.
2024-10-11 17:46:30 +0200 <c_wraith> But a very pleasant change
2024-10-11 17:47:27 +0200synchrom1(~john@2406:5a00:2497:300:b439:971c:5f64:53b2) (Read error: Connection reset by peer)
2024-10-11 17:48:49 +0200synchromesh(~john@2406:5a00:2497:300:b439:971c:5f64:53b2) synchromesh
2024-10-11 17:49:21 +0200k`(~k`@152.7.255.192) (Quit: Client closed)
2024-10-11 17:49:34 +0200k`(~k`@152.7.255.192)
2024-10-11 17:50:29 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 17:54:26 +0200euleritian(~euleritia@dynamic-176-001-134-031.176.1.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-10-11 17:54:32 +0200 <k`> Yeah, It's very nice. In this case it also dropped the cmm dump from about 200,000 loc to about 17,000 loc.
2024-10-11 17:55:13 +0200 <k`> And compilation time from about 30 seconds to under a second.
2024-10-11 17:55:19 +0200acidjnk(~acidjnk@p200300d6e72cfb8501454db6567a02c6.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-10-11 17:55:29 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-11 17:55:53 +0200spew(~spew@201.141.99.170) spew
2024-10-11 17:56:15 +0200euleritian(~euleritia@176.2.132.103)
2024-10-11 17:56:21 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
2024-10-11 17:56:38 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) gabiruh
2024-10-11 17:58:06 +0200araujo(~araujo@45.146.54.21) (Ping timeout: 252 seconds)
2024-10-11 17:59:59 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 18:00:17 +0200mceresa(~mceresa@user/mceresa) mceresa
2024-10-11 18:02:42 +0200 <geekosaur> first time I've ever heard of TH making compilation faster
2024-10-11 18:03:07 +0200 <c_wraith> I really don't understand what you were doing that made GHC do what it was before. The only thing I can think of is that it was attempting to inline the definition everywhere and run rules with a lot of simplifier steps on it
2024-10-11 18:04:01 +0200 <c_wraith> I suppose you could test if a simple NOINLINE pragma also does anything useful
2024-10-11 18:04:42 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-11 18:05:38 +0200 <geekosaur> didn't they say they already did that?
2024-10-11 18:05:51 +0200 <geekosaur> [11 13:54:48] <k`> Is there any way to force GHC to statically compile a data structure? I'm generating an IntSet in a source file from the union of a lot of ranges. The set itself is relatively small (thanks to the clever implementation of IntSet), but the resulting interface file and binary are huge. I have already marked the set NOTINLINE and tried O0, O1, and O2.
2024-10-11 18:06:08 +0200 <geekosaur> (well, called it NOTINLINE, hopefully that was only typoed on IRC)
2024-10-11 18:06:42 +0200 <c_wraith> Oh, I didn't scroll back quite that far.
2024-10-11 18:06:44 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
2024-10-11 18:08:01 +0200 <c_wraith> But seriously, inappropriate inlining is the only way I can explain the observed results of generating it with TH reducing code size and compilation time.
2024-10-11 18:08:21 +0200 <k`> NOTINLINE isn't a typo. Try it out.
2024-10-11 18:08:39 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
2024-10-11 18:08:49 +0200 <geekosaur> "NOTINLINE" would get you an unrecognized pragma warning
2024-10-11 18:08:57 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) gabiruh
2024-10-11 18:08:57 +0200 <geekosaur> it's "NOINLINE"
2024-10-11 18:09:08 +0200 <k`> You say that, but clearly you haven't tried it.
2024-10-11 18:09:11 +0200 <geekosaur> (well, if you had warnings enabled)]
2024-10-11 18:09:29 +0200 <k`> 'NOTINLINE' is the original form from the Haskell spec. It still works.
2024-10-11 18:09:56 +0200 <geekosaur> I say that with backing from the manual https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/pragmas.html#inline-and-noinline-pr…
2024-10-11 18:10:50 +0200 <k`> Ah, guess I'm the fool. I'll try to rewrite that muscle memory.
2024-10-11 18:10:55 +0200 <geekosaur> oh, huh, it does say once I follow the chains that NOTINLINE is accepted
2024-10-11 18:10:57 +0200 <geekosaur> interesting
2024-10-11 18:11:13 +0200 <geekosaur> "NOTINLINE is a synonym for NOINLINE (NOINLINE is specified by Haskell 98 as the standard way to disable inlining, so it should be used if you want your code to be portable)."
2024-10-11 18:12:54 +0200 <geekosaur> kinda says soemthing that I've never seen that before, apparently nobody cares about compatibility at all
2024-10-11 18:15:43 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 18:17:25 +0200 <k`> Anyway, I was automatically generating huge IntSets representing grapheme break properties, and GHC was compiling them into tens of thousands of thunks (and, in the case of O0, leaving the set definitions completely unevaluated). Using a splice has the desired effect of dumping each branch of the set literally into the simplifier, and since GHC
2024-10-11 18:17:26 +0200 <k`> can't do anything with them, it leaves them alone. And of course the number of set branches is the log of the number of thunks it was creating before.
2024-10-11 18:17:26 +0200euleritian(~euleritia@176.2.132.103) (Read error: Connection reset by peer)
2024-10-11 18:17:37 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-11 18:20:27 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-11 18:26:11 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net) machinedgod
2024-10-11 18:31:23 +0200acidjnk(~acidjnk@p200300d6e72cfb8501454db6567a02c6.dip0.t-ipconnect.de) acidjnk
2024-10-11 18:32:46 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 18:37:20 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-11 18:38:20 +0200aljazmc(~aljazmc@user/aljazmc) aljazmc
2024-10-11 18:42:42 +0200vanishingideal(~vanishing@user/vanishingideal) (Read error: Connection reset by peer)
2024-10-11 18:43:28 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-11 18:47:39 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds)
2024-10-11 18:48:05 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 18:50:19 +0200chele(~chele@user/chele) (Remote host closed the connection)
2024-10-11 18:53:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-11 18:56:44 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-10-11 19:00:04 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-10-11 19:06:33 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 19:11:04 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-11 19:18:42 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 19:25:07 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) raehik
2024-10-11 19:25:37 +0200jinsun(~jinsun@user/jinsun) jinsun
2024-10-11 19:27:28 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-10-11 19:31:42 +0200 <raehik> I want to meaningfully mark some modules as "internal/doesn't follow PVP", but I don't want to place them under an `Internal` folder. What could I perhaps do instead?
2024-10-11 19:32:20 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) todi
2024-10-11 19:32:32 +0200 <raehik> isn't there some metadata you can write that gets displayed on the Haddocks? can I use that to state internal/unstable?
2024-10-11 19:33:51 +0200 <geekosaur> I think the best you can do is something in the top matter (for example, see https://hackage.haskell.org/package/ghc-9.10.1)
2024-10-11 19:34:14 +0200 <geekosaur> but in your case that would be per module instead of in the README
2024-10-11 19:35:14 +0200 <geekosaur> "Internal" is just a convention, not a requirement
2024-10-11 19:35:19 +0200 <raehik> so Haddock has the Stability field. but personally I have never ever read it lol
2024-10-11 19:35:29 +0200 <geekosaur> yes, it's essentially useless though
2024-10-11 19:35:43 +0200 <raehik> geekosaur: yeah, I guess I feel like the meaning of `Internal` is understood well enough to be useful
2024-10-11 19:36:11 +0200 <raehik> I guess I'll just copy paste a line into each module docstring
2024-10-11 19:36:30 +0200 <raehik> thx for the tip :)
2024-10-11 19:37:45 +0200 <geekosaur> the problem with the Stability field is that, as it's actually used, it suffers from "There's this special biologist word we use for 'stable'. We call it 'dead'."
2024-10-11 19:38:02 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-10-11 19:38:03 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2024-10-11 19:38:24 +0200vanishingideal(~vanishing@user/vanishingideal) (Quit: Lost terminal)
2024-10-11 19:39:00 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 19:40:38 +0200Sgeo_(~Sgeo@user/sgeo) Sgeo
2024-10-11 19:40:46 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-10-11 19:40:53 +0200 <raehik> lol
2024-10-11 19:41:06 +0200 <geekosaur> (that is, everyone's afraid to mark something "stable" because that would mean they can't change it in the future. PVP expresses this more practically, so "Stability" has essentially dropped out of use.)
2024-10-11 19:41:41 +0200 <raehik> there was some blog post in the past year concerning good & bad versioning practices in Haskell/using the PVP... can't remembre
2024-10-11 19:43:07 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-11 19:43:42 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-11 19:51:08 +0200 <yushyin> raehik: the blog post that comes to mind is https://nikita-volkov.github.io/internal-convention-is-a-mistake/
2024-10-11 19:54:47 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 19:55:12 +0200 <geekosaur> problem with that article is that there really are cases when internals normally best kept hidden need to be exposed. redesigning your API does not change this
2024-10-11 19:56:00 +0200 <geekosaur> unless the idea is that there are never ever any hidden parts (goodbye smart constructors, goodbye type safety of `Map`, …)
2024-10-11 19:56:13 +0200 <geekosaur> it's just a different road to hell, as usual paved with good intentions
2024-10-11 19:56:30 +0200 <dolio> Yeah, it doesn't seem like it's a reasonable position.
2024-10-11 19:56:31 +0200acidjnk_new(~acidjnk@p200300d6e72cfb8559afb38ba3995c38.dip0.t-ipconnect.de) acidjnk
2024-10-11 19:57:05 +0200acidjnk(~acidjnk@p200300d6e72cfb8501454db6567a02c6.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-10-11 19:59:28 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-11 19:59:39 +0200 <geekosaur> that's not to claim "Internals" isn't flawed, but at least if I see "Internals" somewhere I know someone (possibly me) has made a judgement call to break the rules
2024-10-11 19:59:58 +0200 <geekosaur> if people are doing so indiscriminately, we have a social / communication problem
2024-10-11 20:01:15 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-10-11 20:03:36 +0200 <geekosaur> sorry, not type safety, soundness
2024-10-11 20:05:36 +0200 <dolio> I don't know that it's always possible to anticipate when someone downstream will need to actually make use of the internals. So it doesn't seem that far fetched to say that it should be possible to get at them, with the understanding of what you're doing.
2024-10-11 20:05:54 +0200 <raehik> yay thx yushyin that was it! I don't claim it's gospel, but I've tended towards his suggestion in that post (more small libraries)
2024-10-11 20:06:07 +0200 <dolio> But if that leads people to say that the internals must be as stable as the public API, then my response would just be that people insisting that have ruined it for everyone.
2024-10-11 20:10:35 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 20:15:44 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-11 20:19:39 +0200 <geekosaur> (I'll also note that `Map` is something of a hack, but it's the best we can do with Haskell as it currently exists. SML/NJ has a better solution.)
2024-10-11 20:20:15 +0200vanishingideal(~vanishing@user/vanishingideal) (Quit: leaving)
2024-10-11 20:20:39 +0200briandaed(~root@185.234.210.211) (Quit: Lost terminal)
2024-10-11 20:20:54 +0200 <yushyin> raehik: happy to help :)
2024-10-11 20:21:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-11 20:22:58 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-11 20:23:20 +0200 <Square2> As I'm not getting hits on google. On my fresh ubuntu 24.04 machine I'm getting:
2024-10-11 20:23:24 +0200 <Square2> > cabal2nix: nix-prefetch-url: createProcess: posix_spawnp: does not exist (No such file or directory)
2024-10-11 20:23:25 +0200 <lambdabot> error: Variable not in scope: cabal2nixerror:
2024-10-11 20:23:25 +0200 <lambdabot> • Variable not in scope: nix
2024-10-11 20:23:25 +0200 <lambdabot> • Perhaps you meant one of these:
2024-10-11 20:23:45 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-11 20:24:16 +0200 <Square2> ..for most of my nix based projects.