2024/02/21

2024-02-21 00:01:49 +0000nuh^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-02-21 00:05:59 +0000rvalue(~rvalue@user/rvalue) (Ping timeout: 264 seconds)
2024-02-21 00:06:19 +0000Vq(~vq@81-231-76-8-no600.tbcn.telia.com) (Ping timeout: 246 seconds)
2024-02-21 00:06:45 +0000segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2024-02-21 00:08:14 +0000 <fen_> i have serious ethical concerns about a light touch approach and do feel its important to be able to say that
2024-02-21 00:08:21 +0000Vq(~vq@81-231-76-8-no600.tbcn.telia.com)
2024-02-21 00:10:01 +0000 <fen_> also, no implicit params at classes does not preclude dictionary use, which allows even that instances can be strict
2024-02-21 00:10:33 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-21 00:10:37 +0000yoo(~yo0O0o@104.28.194.104) (Ping timeout: 264 seconds)
2024-02-21 00:11:43 +0000 <fen_> i cant imagine that its a case where its appearence in an instance would somehow lead to reevlauation by somehow sidestepping the strict reflection, by multiple construction of the reflecting object by function dereferencing
2024-02-21 00:12:29 +0000rvalue(~rvalue@user/rvalue)
2024-02-21 00:12:30 +0000 <fen_> comparing if the strict implicit dictionary appears in a datatype or in a class
2024-02-21 00:12:58 +0000Vq(~vq@81-231-76-8-no600.tbcn.telia.com) (Ping timeout: 246 seconds)
2024-02-21 00:13:24 +0000 <fen_> i hope it works btw, because the actual naming in the dictionary of the value is hidden in the outer datatype
2024-02-21 00:14:08 +0000Vq(~vq@81-231-76-8-no600.tbcn.telia.com)
2024-02-21 00:14:30 +0000 <fen_> otherwise it does seem useful to use the class mechanism to access a declaration of global availability
2024-02-21 00:15:37 +0000 <fen_> though it confronts the fact that the instance usage could lead to recomputation
2024-02-21 00:17:18 +0000 <fen_> i think i fail to be able to make strong theoretic guarantees with these dictionaries
2024-02-21 00:17:53 +0000 <fen_> and not to implement uniqueness scoping as desired
2024-02-21 00:19:01 +0000 <fen_> i cant map strictness at creation through to uniquness at all...
2024-02-21 00:20:44 +0000 <fen_> even if it tries to hijack the global uniqueness of an instance, if this contains a dictionary that can be multiply constructed but still strict, which does nothing to prevent the multiple construction
2024-02-21 00:20:58 +0000 <fen_> you want  the strict reflection to be the only reflection
2024-02-21 00:21:12 +0000segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-02-21 00:22:38 +0000 <fen_> do you think if an instance referenced something that is a strictly reflected dictionary eg defined at top level, that this would be enough to make it unique and global and strict
2024-02-21 00:22:45 +0000 <fen_> ?
2024-02-21 00:23:55 +0000 <fen_> seems like the top level nature of the functions that must be available during the definition at the instance, constrains the dictionary reference also to be top level
2024-02-21 00:24:08 +0000 <fen_> im not sure if the question remains as to its pottential reevaluation
2024-02-21 00:25:29 +0000 <fen_> or if because it occurs within an instance that we can be sure it only gets constructed the correct way through the strict constructor only once
2024-02-21 00:26:17 +0000 <fen_> i think there is no way of saying that it couldnt call it seveeral times, eg if it had a rangling second argument
2024-02-21 00:26:27 +0000 <fen_> ranging*
2024-02-21 00:27:20 +0000jmdaemon(~jmdaemon@user/jmdaemon)
2024-02-21 00:27:21 +0000 <fen_> datatypes were no good because there can be many of them constructed, even if they reference a dictionary which in some other way could be made unique
2024-02-21 00:28:18 +0000 <fen_> but classes seem no better, because the instances themselves seem to offer no guarantee against repeated construction of the supposedly unique strict reflection
2024-02-21 00:29:23 +0000 <fen_> basically both classes and datatypes can range in several arguments and trigger reevaluation of the unique dictionary
2024-02-21 00:30:22 +0000 <monochrom> OK I think we're done here. You have been offered a lot of options for moving your monologue to better places, and yet you still exhibit your entitlement attitude and re-instate it every time.
2024-02-21 00:30:30 +0000ChanServ+o monochrom
2024-02-21 00:30:32 +0000monochrom+b *!*@84.68.80.95
2024-02-21 00:30:32 +0000fen_monochrom (fen_)
2024-02-21 00:31:19 +0000 <monochrom> (It helps that I'm on the second glass of wine.)
2024-02-21 00:32:48 +0000monochrom-o monochrom
2024-02-21 00:33:07 +0000 <yushyin> +1 wine
2024-02-21 00:38:26 +0000jargon(~jargon@157.sub-174-205-162.myvzw.com)
2024-02-21 00:57:23 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-02-21 00:58:26 +0000euleritian(~euleritia@dynamic-176-006-190-101.176.6.pool.telefonica.de)
2024-02-21 01:03:35 +0000pointlessslippe1(~pointless@212.82.82.3) (Ping timeout: 264 seconds)
2024-02-21 01:10:22 +0000 <probie> I'm still not actually sure what the problem fen_ was trying to solve was
2024-02-21 01:10:42 +0000tabemann(~tabemann@2600:1700:7990:24e0:67b0:8842:12fe:e228) (Remote host closed the connection)
2024-02-21 01:11:01 +0000tabemann(~tabemann@2600:1700:7990:24e0:a91b:78d:f890:8e7c)
2024-02-21 01:11:20 +0000pointlessslippe1(~pointless@212.82.82.3)
2024-02-21 01:12:56 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-02-21 01:16:55 +0000segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
2024-02-21 01:18:02 +0000yoo(~yo0O0o@104.28.194.104)
2024-02-21 01:19:32 +0000segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-02-21 01:20:27 +0000mud(~mud@user/kadoban) (Quit: quit)
2024-02-21 01:28:07 +0000kaskal-(~kaskal@2001:4bb8:2d2:2a03:3b9f:beb4:402d:c396)
2024-02-21 01:28:15 +0000kaskal(~kaskal@2001:4bb8:2c3:39c1:ff3f:d58:4fd9:e10c) (Ping timeout: 268 seconds)
2024-02-21 01:32:35 +0000 <Axman6> tomsmeding: is paste down at the moment? I can't load it
2024-02-21 01:32:46 +0000 <geekosaur> I think they're in bed by now
2024-02-21 01:33:06 +0000 <geekosaur> (shows away in my user list)
2024-02-21 01:33:40 +0000 <c_wraith> it does seem to not be responding, so.. yeah, find a different pastebin for the moment
2024-02-21 01:35:19 +0000tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-21 01:35:39 +0000 <Axman6> resorted to sending files in chat, probably for the best iwth $work stuff =)
2024-02-21 01:38:01 +0000dolio(~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-21 01:39:43 +0000pukeGuest9273
2024-02-21 01:39:43 +0000pyooque(~puke@user/puke)
2024-02-21 01:39:43 +0000Guest9273(~puke@user/puke) (Killed (copper.libera.chat (Nickname regained by services)))
2024-02-21 01:39:43 +0000pyooquepuke
2024-02-21 01:40:01 +0000tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-02-21 01:40:28 +0000yoo(~yo0O0o@104.28.194.104) (Ping timeout: 246 seconds)
2024-02-21 01:41:02 +0000puke(~puke@user/puke) (Max SendQ exceeded)
2024-02-21 01:41:06 +0000Square(~Square@user/square)
2024-02-21 01:41:30 +0000puke(~puke@user/puke)
2024-02-21 01:48:15 +0000dolio(~dolio@130.44.134.54)
2024-02-21 01:52:03 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
2024-02-21 01:52:26 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-02-21 01:53:27 +0000machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-02-21 01:59:58 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com)
2024-02-21 02:02:37 +0000pointlessslippe1(~pointless@212.82.82.3) (Ping timeout: 260 seconds)
2024-02-21 02:04:28 +0000Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-02-21 02:05:19 +0000 <EvanR> speaking of neural networks maybe fen was an AI trained on haskell stuff
2024-02-21 02:05:38 +0000 <geekosaur> fen predates LLMs
2024-02-21 02:05:54 +0000 <geekosaur> they got banned on freenode for this kind of behavior
2024-02-21 02:06:22 +0000otto_s(~user@p4ff27fbc.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-02-21 02:07:25 +0000xff0x(~xff0x@ai082039.d.east.v6connect.net) (Ping timeout: 268 seconds)
2024-02-21 02:08:04 +0000yoo(~yo0O0o@104.28.226.105)
2024-02-21 02:08:15 +0000otto_s(~user@p5b04434a.dip0.t-ipconnect.de)
2024-02-21 02:28:41 +0000yoo(~yo0O0o@104.28.226.105) (Ping timeout: 268 seconds)
2024-02-21 02:29:08 +0000yoo(~yo0O0o@104.28.226.104)
2024-02-21 02:30:44 +0000 <haskellbridge> <i​rregularsphere> fen's kind of like me to be honest, sometimes i monologue like that
2024-02-21 02:31:32 +0000 <haskellbridge> <i​rregularsphere> unfortunately irc can't delete messages so i can't keep my record clean here
2024-02-21 02:32:31 +0000 <geekosaur> 'sokay, I just almost did the same thing in -offtopic 🙂
2024-02-21 02:33:32 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2024-02-21 02:34:09 +0000tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-21 02:51:05 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-02-21 02:55:31 +0000krei-se(~krei-se@p508747fd.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-02-21 02:55:31 +0000synchromesh(~synchrome@2407:7000:aa2d:4e00:9cf7:efcb:5efd:a99) (Read error: Connection reset by peer)
2024-02-21 02:56:29 +0000synchromesh(~synchrome@2407:7000:aa2d:4e00:9cf7:efcb:5efd:a99)
2024-02-21 02:56:43 +0000krei-se(~krei-se@p5085d2ec.dip0.t-ipconnect.de)
2024-02-21 03:04:27 +0000peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-21 03:08:21 +0000masterbuilder(~quassel@user/masterbuilder) (Ping timeout: 272 seconds)
2024-02-21 03:08:30 +0000masterbuilder(~quassel@user/masterbuilder)
2024-02-21 03:12:22 +0000bilegeek(~bilegeek@2600:1008:b08d:b388:d7ce:bf13:369f:42d9)
2024-02-21 03:20:51 +0000sroso(~sroso@user/SrOso)
2024-02-21 03:22:11 +0000td_(~td@i5387090B.versanet.de) (Ping timeout: 264 seconds)
2024-02-21 03:23:39 +0000td_(~td@i53870902.versanet.de)
2024-02-21 03:27:54 +0000machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds)
2024-02-21 03:39:43 +0000yoo(~yo0O0o@104.28.226.104) (Ping timeout: 256 seconds)
2024-02-21 03:40:20 +0000yoo(~yo0O0o@104.28.226.108)
2024-02-21 03:40:44 +0000mulk(~mulk@pd95147b3.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-02-21 03:44:15 +0000hays(rootvegeta@fsf/member/hays)
2024-02-21 03:44:48 +0000yooo(~yo0O0o@104.28.226.104)
2024-02-21 03:45:02 +0000igemnace(~ian@user/igemnace)
2024-02-21 03:45:57 +0000yoo(~yo0O0o@104.28.226.108) (Ping timeout: 256 seconds)
2024-02-21 03:46:16 +0000mulk(~mulk@p5b2dc008.dip0.t-ipconnect.de)
2024-02-21 03:56:29 +0000segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz)
2024-02-21 03:58:11 +0000waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
2024-02-21 03:58:45 +0000yooo(~yo0O0o@104.28.226.104) (Changing host)
2024-02-21 03:58:45 +0000yooo(~yo0O0o@user/mobivme)
2024-02-21 04:12:44 +0000euleritian(~euleritia@dynamic-176-006-190-101.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 04:13:02 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 04:25:32 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-21 04:37:05 +0000aforemny_(~aforemny@2001:9e8:6cec:d900:9d72:673f:b1f3:dc04) (Ping timeout: 260 seconds)
2024-02-21 04:37:17 +0000aforemny(~aforemny@2001:9e8:6cd1:9700:269c:3e5b:c88d:39e2)
2024-02-21 04:37:24 +0000nuh^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
2024-02-21 04:45:53 +0000thegeekinside(~thegeekin@189.217.83.221) (Read error: Connection reset by peer)
2024-02-21 04:46:11 +0000ski(~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 252 seconds)
2024-02-21 04:46:46 +0000yooo(~yo0O0o@user/mobivme) (Remote host closed the connection)
2024-02-21 04:47:44 +0000jargon(~jargon@157.sub-174-205-162.myvzw.com) (Remote host closed the connection)
2024-02-21 04:50:03 +0000jargon(~jargon@157.sub-174-205-162.myvzw.com)
2024-02-21 04:57:15 +0000Luj(~Luj@2a01:e0a:5f9:9681:f767:82a3:7de:1864) (Quit: Ping timeout (120 seconds))
2024-02-21 04:57:34 +0000Luj(~Luj@2a01:e0a:5f9:9681:535f:4048:fd0:e283)
2024-02-21 04:57:35 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-02-21 04:57:43 +0000euleritian(~euleritia@dynamic-176-006-190-101.176.6.pool.telefonica.de)
2024-02-21 04:58:05 +0000euleritian(~euleritia@dynamic-176-006-190-101.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 04:58:23 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 05:26:00 +0000ell(~ellie@user/ellie) (Quit: Leaving)
2024-02-21 05:26:36 +0000julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752)
2024-02-21 05:32:37 +0000ski(~ski@ext-1-033.eduroam.chalmers.se)
2024-02-21 05:32:49 +0000_3xistence(~existence@176.254.244.83) (Ping timeout: 264 seconds)
2024-02-21 05:32:52 +0000rosco(~rosco@175.136.156.77)
2024-02-21 05:34:50 +0000raym(~ray@user/raym)
2024-02-21 05:34:58 +0000jjhoo(jahakala@user/jjhoo)
2024-02-21 05:36:04 +0000rosco(~rosco@175.136.156.77) (Read error: Connection reset by peer)
2024-02-21 05:36:28 +0000oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-02-21 05:36:31 +0000julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
2024-02-21 05:37:32 +0000Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-02-21 05:39:58 +0000pavonia(~user@user/siracusa)
2024-02-21 05:56:55 +0000bilegeek(~bilegeek@2600:1008:b08d:b388:d7ce:bf13:369f:42d9) (Quit: Leaving)
2024-02-21 06:02:23 +0000tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-02-21 06:04:39 +0000exolight(~exolight@176.254.244.83)
2024-02-21 06:05:58 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-02-21 06:08:04 +0000michalz(~michalz@185.246.207.197)
2024-02-21 06:08:16 +0000michalz(~michalz@185.246.207.197) (Client Quit)
2024-02-21 06:11:06 +0000michalz(~michalz@185.246.207.215)
2024-02-21 06:11:26 +0000elbear(~lucian@188.24.178.66)
2024-02-21 06:17:42 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2024-02-21 06:23:27 +0000danza(~francesco@151.43.184.190)
2024-02-21 06:25:39 +0000bliminse(~bliminse@user/bliminse) (Quit: leaving)
2024-02-21 06:30:38 +0000thegeekinside(~thegeekin@189.217.83.221)
2024-02-21 06:32:39 +0000acidjnk(~acidjnk@p200300d6e737e789f1d9672538a89ef2.dip0.t-ipconnect.de)
2024-02-21 06:34:48 +0000bliminse(~bliminse@user/bliminse)
2024-02-21 06:36:54 +0000peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-02-21 06:46:15 +0000sord937(~sord937@gateway/tor-sasl/sord937)
2024-02-21 06:50:56 +0000raym(~ray@user/raym) (Quit: brb)
2024-02-21 06:55:55 +0000thegeekinside(~thegeekin@189.217.83.221) (Read error: Connection reset by peer)
2024-02-21 06:56:27 +0000jtza8(~user@user/jtza8)
2024-02-21 06:58:39 +0000csn(~csn@115.96.217.73)
2024-02-21 06:59:08 +0000 <csn> hi how do it include hakyll library on path.. i am running windows 11
2024-02-21 07:16:59 +0000Lycurgus(~georg@user/Lycurgus)
2024-02-21 07:18:03 +0000elbear(~lucian@188.24.178.66) (Quit: leaving)
2024-02-21 07:28:02 +0000Square3(~Square4@user/square)
2024-02-21 07:30:33 +0000Square(~Square@user/square) (Ping timeout: 272 seconds)
2024-02-21 07:31:45 +0000 <haskellbridge> <s​m> are you using stack ?
2024-02-21 07:32:24 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-02-21 07:33:25 +0000euleritian(~euleritia@dynamic-176-006-179-235.176.6.pool.telefonica.de)
2024-02-21 07:34:52 +0000euleritian(~euleritia@dynamic-176-006-179-235.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 07:35:09 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 07:38:18 +0000 <haskellbridge> <s​m> I really, really wish I had not used spaces in account names
2024-02-21 07:38:25 +0000 <haskellbridge> <s​m> oops
2024-02-21 07:45:18 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-02-21 07:47:01 +0000danza(~francesco@151.43.184.190) (Quit: Leaving)
2024-02-21 07:53:53 +0000 <EvanR> human civilization quantum leap 1, invent zero
2024-02-21 07:54:02 +0000 <EvanR> quantum leap 2, remove space
2024-02-21 07:54:08 +0000 <EvanR> and smart quotes
2024-02-21 07:54:45 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-02-21 07:55:24 +0000euleritian(~euleritia@dynamic-176-006-179-235.176.6.pool.telefonica.de)
2024-02-21 07:59:06 +0000oneeyedalien_(~oneeyedal@user/oneeyedalien)
2024-02-21 07:59:34 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-02-21 08:00:05 +0000CiaoSen(~Jura@2a05:5800:2c5:c300:e6b9:7aff:fe80:3d03)
2024-02-21 08:01:47 +0000oneeyedalien(~oneeyedal@user/oneeyedalien) (Ping timeout: 264 seconds)
2024-02-21 08:03:56 +0000sroso(~sroso@user/SrOso) (Read error: Connection reset by peer)
2024-02-21 08:08:08 +0000sroso(~sroso@user/SrOso)
2024-02-21 08:08:35 +0000sroso(~sroso@user/SrOso) (Max SendQ exceeded)
2024-02-21 08:14:25 +0000sroso(~sroso@user/SrOso)
2024-02-21 08:14:42 +0000 <[exa]> is it somehow possible to have more than 1 "section" in the toplevel haddock module documentation? I'm trying to paste it together somehow from the examples, but failing so far
2024-02-21 08:14:52 +0000sroso(~sroso@user/SrOso) (Max SendQ exceeded)
2024-02-21 08:14:56 +0000 <[exa]> (also I recall I saw it SOMEWHERE so I could copy, but no idea where it was)
2024-02-21 08:17:56 +0000 <dminuoso> [exa]: What does "section" mean to you, exactly?
2024-02-21 08:18:57 +0000fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
2024-02-21 08:20:40 +0000sroso(~sroso@user/SrOso)
2024-02-21 08:21:01 +0000 <dminuoso> [exa]: What you can do is use nested section headings to accomplish that effect.
2024-02-21 08:21:07 +0000sroso(~sroso@user/SrOso) (Max SendQ exceeded)
2024-02-21 08:21:13 +0000 <dminuoso> Look at https://github.com/well-typed/optics/blob/master/optics/src/Optics.hs https://hackage.haskell.org/package/optics-0.4.2.1/docs/Optics.html
2024-02-21 08:23:16 +0000 <dminuoso> Ah I guess you can also just use several sections like that, just put them into the export list at the beginning
2024-02-21 08:23:48 +0000pointlessslippe1(~pointless@212.82.82.3)
2024-02-21 08:26:55 +0000sroso(~sroso@user/SrOso)
2024-02-21 08:27:02 +0000yoo(~yo0O0o@130.105.162.42)
2024-02-21 08:27:35 +0000coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-21 08:28:56 +0000 <[exa]> oh yes that's it, thanks! I was trying to smash everything into one big docstring, obviously I need the $redirects
2024-02-21 08:29:42 +0000 <dmj`> c_wraith: ping
2024-02-21 08:34:00 +0000oneeyedalien_(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2024-02-21 08:34:58 +0000csn_(~csn@115.96.217.73)
2024-02-21 08:36:28 +0000kuribas(~user@2a02:1808:8a:e91f:e184:8a20:1122:74ac)
2024-02-21 08:37:52 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-21 08:38:24 +0000csn(~csn@115.96.217.73) (Ping timeout: 255 seconds)
2024-02-21 08:40:17 +0000 <dmj`> c_wraith: I think the static monomorphization approach removes the dictionary elaboration altogether
2024-02-21 08:40:31 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
2024-02-21 08:42:07 +0000euleritian(~euleritia@dynamic-176-006-179-235.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 08:42:32 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 08:47:02 +0000yoo(~yo0O0o@130.105.162.42) (Changing host)
2024-02-21 08:47:02 +0000yoo(~yo0O0o@user/mobivme)
2024-02-21 08:52:45 +0000danse-nr3(~danse@151.43.184.190)
2024-02-21 08:53:49 +0000machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-02-21 08:56:42 +0000kuribas(~user@2a02:1808:8a:e91f:e184:8a20:1122:74ac) (Remote host closed the connection)
2024-02-21 08:58:43 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-02-21 08:58:44 +0000chele(~chele@user/chele)
2024-02-21 08:59:01 +0000euleritian(~euleritia@dynamic-176-006-179-235.176.6.pool.telefonica.de)
2024-02-21 09:01:15 +0000csn__(~csn@115.96.217.73)
2024-02-21 09:02:25 +0000sroso(~sroso@user/SrOso) (Read error: Connection reset by peer)
2024-02-21 09:04:17 +0000csn_(~csn@115.96.217.73) (Ping timeout: 268 seconds)
2024-02-21 09:06:42 +0000sroso(~sroso@user/SrOso)
2024-02-21 09:07:48 +0000tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2024-02-21 09:09:11 +0000synchromesh(~synchrome@2407:7000:aa2d:4e00:9cf7:efcb:5efd:a99) (Read error: Connection reset by peer)
2024-02-21 09:09:38 +0000ft(~ft@p508db2e6.dip0.t-ipconnect.de) (Quit: leaving)
2024-02-21 09:10:03 +0000danse-nr3(~danse@151.43.184.190) (Read error: Connection reset by peer)
2024-02-21 09:10:14 +0000synchromesh(~synchrome@2407:7000:aa2d:4e00:9cf7:efcb:5efd:a99)
2024-02-21 09:12:40 +0000danse-nr3(~danse@151.43.209.48)
2024-02-21 09:12:51 +0000csn_(~csn@115.96.217.73)
2024-02-21 09:16:18 +0000csn__(~csn@115.96.217.73) (Ping timeout: 268 seconds)
2024-02-21 09:24:05 +0000econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-21 09:26:33 +0000yoo(~yo0O0o@user/mobivme) (Ping timeout: 255 seconds)
2024-02-21 09:27:17 +0000mmhat(~mmh@p200300f1c70b44daee086bfffe095315.dip0.t-ipconnect.de)
2024-02-21 09:34:42 +0000kuribas(~user@2a02:1808:8a:e91f:a062:7ecd:d33:3185)
2024-02-21 09:35:45 +0000euleritian(~euleritia@dynamic-176-006-179-235.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 09:36:03 +0000euleritian(~euleritia@77.22.252.56)
2024-02-21 09:38:31 +0000csn__(~csn@115.96.217.73)
2024-02-21 09:41:59 +0000csn_(~csn@115.96.217.73) (Ping timeout: 264 seconds)
2024-02-21 09:46:58 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-02-21 09:49:24 +0000 <carbolymer> is there any doc for -Wno-x-partial flag?
2024-02-21 09:50:55 +0000 <carbolymer> ah it's just warning about partial functions in ghc 9.8
2024-02-21 09:50:59 +0000ell(~ellie@user/ellie)
2024-02-21 09:56:02 +0000yoo(~yo0O0o@130.105.162.42)
2024-02-21 10:02:00 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-21 10:06:48 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds)
2024-02-21 10:15:50 +0000gehmehgeh(~user@user/gehmehgeh)
2024-02-21 10:16:23 +0000csn_(~csn@115.96.217.73)
2024-02-21 10:16:53 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-21 10:17:00 +0000gehmehgehgmg
2024-02-21 10:18:53 +0000csn__(~csn@115.96.217.73) (Ping timeout: 240 seconds)
2024-02-21 10:19:38 +0000oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
2024-02-21 10:20:36 +0000img(~img@user/img)
2024-02-21 10:21:37 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 246 seconds)
2024-02-21 10:22:11 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-02-21 10:27:44 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com)
2024-02-21 10:28:20 +0000csn__(~csn@115.96.217.73)
2024-02-21 10:28:41 +0000benkard(~mulk@pd9514f6d.dip0.t-ipconnect.de)
2024-02-21 10:29:13 +0000mulk(~mulk@p5b2dc008.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-02-21 10:29:13 +0000benkardmulk
2024-02-21 10:31:04 +0000csn_(~csn@115.96.217.73) (Ping timeout: 246 seconds)
2024-02-21 10:32:15 +0000ski(~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 255 seconds)
2024-02-21 10:33:08 +0000ski(~ski@ext-1-033.eduroam.chalmers.se)
2024-02-21 10:45:45 +0000yoo(~yo0O0o@130.105.162.42) (Ping timeout: 255 seconds)
2024-02-21 10:49:47 +0000rosco(~rosco@175.136.156.77)
2024-02-21 10:50:22 +0000sroso(~sroso@user/SrOso) (Quit: Leaving :))
2024-02-21 10:50:49 +0000xff0x(~xff0x@ai082039.d.east.v6connect.net)
2024-02-21 10:54:08 +0000csn_(~csn@115.96.217.73)
2024-02-21 10:56:37 +0000csn__(~csn@115.96.217.73) (Ping timeout: 256 seconds)
2024-02-21 10:59:58 +0000a51(a51@gateway/vpn/protonvpn/a51)
2024-02-21 11:03:32 +0000ubert(~Thunderbi@2a02:8109:ab8a:5a00:7702:da98:c9d3:8474)
2024-02-21 11:06:46 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-02-21 11:09:25 +0000Eoco_(~ian@128.101.131.218) (Ping timeout: 264 seconds)
2024-02-21 11:16:26 +0000Eoco(~ian@128.101.131.218)
2024-02-21 11:21:18 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 255 seconds)
2024-02-21 11:27:30 +0000rosco(~rosco@175.136.156.77) (Quit: Lost terminal)
2024-02-21 11:30:58 +0000troydm(~troydm@user/troydm)
2024-02-21 11:41:41 +0000zetef(~quassel@2a02:2f00:5208:300:c040:6289:5a5f:2d91)
2024-02-21 11:49:14 +0000danse-nr3(~danse@151.43.209.48) (Ping timeout: 268 seconds)
2024-02-21 11:50:20 +0000rosco(~rosco@175.136.156.77)
2024-02-21 11:52:55 +0000jargon(~jargon@157.sub-174-205-162.myvzw.com) (Remote host closed the connection)
2024-02-21 11:58:48 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-02-21 12:11:40 +0000CiaoSen(~Jura@2a05:5800:2c5:c300:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds)
2024-02-21 12:12:47 +0000jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
2024-02-21 12:15:16 +0000jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-02-21 12:18:39 +0000zetef(~quassel@2a02:2f00:5208:300:c040:6289:5a5f:2d91) (Read error: Connection reset by peer)
2024-02-21 12:23:38 +0000ph88^(~ph88@2a02:8109:9e26:c800:5d6d:c5dc:fbc4:3d94)
2024-02-21 12:48:47 +0000ph88(~ph88@91.64.63.48) (Ping timeout: 260 seconds)
2024-02-21 12:52:57 +0000coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2024-02-21 12:55:32 +0000ph88(~ph88@2a02:8109:9e26:c800:8ede:73b0:bb5c:daa3)
2024-02-21 12:58:50 +0000danse-nr3(~danse@151.43.238.22)
2024-02-21 13:12:11 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-21 13:15:34 +0000CiaoSen(~Jura@2a05:5800:2c5:c300:e6b9:7aff:fe80:3d03)
2024-02-21 13:16:02 +0000euleritian(~euleritia@77.22.252.56) (Ping timeout: 252 seconds)
2024-02-21 13:18:44 +0000euleritian(~euleritia@dynamic-176-006-177-235.176.6.pool.telefonica.de)
2024-02-21 13:18:44 +0000synchromesh(~synchrome@2407:7000:aa2d:4e00:9cf7:efcb:5efd:a99) (Read error: Connection reset by peer)
2024-02-21 13:19:58 +0000synchromesh(~synchrome@2407:7000:aa2d:4e00:9cf7:efcb:5efd:a99)
2024-02-21 13:25:01 +0000TheCoffeMaker_(~TheCoffeM@186.137.141.113)
2024-02-21 13:25:11 +0000TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 264 seconds)
2024-02-21 13:26:55 +0000ph88^(~ph88@2a02:8109:9e26:c800:5d6d:c5dc:fbc4:3d94) (Ping timeout: 256 seconds)
2024-02-21 13:29:57 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-21 13:30:32 +0000L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 260 seconds)
2024-02-21 13:31:56 +0000TheCoffeMaker_(~TheCoffeM@186.137.141.113) (Ping timeout: 260 seconds)
2024-02-21 13:32:48 +0000coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-21 13:35:53 +0000dumptruckman(~dumptruck@23-239-13-136.ip.linodeusercontent.com) (Quit: ZNC - https://znc.in)
2024-02-21 13:38:26 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-21 13:43:06 +0000csn_(~csn@115.96.217.73) (Read error: Connection reset by peer)
2024-02-21 13:44:31 +0000TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2024-02-21 13:44:37 +0000Achylles(~Achylles_@45.182.57.81)
2024-02-21 13:46:18 +0000dumptruckman(~dumptruck@69-164-220-160.ip.linodeusercontent.com)
2024-02-21 13:57:13 +0000euleritian(~euleritia@dynamic-176-006-177-235.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 14:00:02 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 14:03:05 +0000fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Quit: Leaving)
2024-02-21 14:04:38 +0000rosco(~rosco@175.136.156.77) (Quit: Lost terminal)
2024-02-21 14:11:08 +0000jinsun_(~jinsun@user/jinsun)
2024-02-21 14:11:08 +0000jinsunGuest4095
2024-02-21 14:11:09 +0000Guest4095(~jinsun@user/jinsun) (Killed (iridium.libera.chat (Nickname regained by services)))
2024-02-21 14:11:09 +0000jinsun_jinsun
2024-02-21 14:13:14 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-02-21 14:13:39 +0000end(~end@user/end/x-0094621) (Ping timeout: 255 seconds)
2024-02-21 14:13:40 +0000Nikopol(nikopol@user/astrorigin) (Quit: Bye!)
2024-02-21 14:13:50 +0000Nikopol(nikopol@user/astrorigin)
2024-02-21 14:14:52 +0000mmhat(~mmh@p200300f1c70b44daee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-02-21 14:15:14 +0000mmhat(~mmh@p200300f1c70b449aee086bfffe095315.dip0.t-ipconnect.de)
2024-02-21 14:17:30 +0000euleritian(~euleritia@dynamic-176-006-177-235.176.6.pool.telefonica.de)
2024-02-21 14:18:37 +0000end(~end@user/end/x-0094621)
2024-02-21 14:19:11 +0000yoo(~yo0O0o@130.105.162.42)
2024-02-21 14:22:55 +0000thegeekinside(~thegeekin@189.217.83.221)
2024-02-21 14:31:55 +0000jtza8(~user@user/jtza8) (Ping timeout: 260 seconds)
2024-02-21 14:32:53 +0000kuribas`(~user@2a02:1808:4:5142:d283:8f22:e8ed:88fa)
2024-02-21 14:34:49 +0000kuribas(~user@2a02:1808:8a:e91f:a062:7ecd:d33:3185) (Ping timeout: 255 seconds)
2024-02-21 14:38:48 +0000danse-nr3(~danse@151.43.238.22) (Ping timeout: 256 seconds)
2024-02-21 14:38:59 +0000yoo(~yo0O0o@130.105.162.42) (Ping timeout: 264 seconds)
2024-02-21 14:40:55 +0000L29Ah(~L29Ah@wikipedia/L29Ah)
2024-02-21 14:51:12 +0000yoo(~yo0O0o@130.105.162.42)
2024-02-21 14:54:19 +0000euleritian(~euleritia@dynamic-176-006-177-235.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 14:54:37 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 15:05:36 +0000k3ut0i(~keutoi@223.230.94.191)
2024-02-21 15:09:22 +0000 <k3ut0i> I'm using IntMap to count frequency of elements in a list. foldl (\m x -> insertWith (const (1+)) x 1 m) empty
2024-02-21 15:09:30 +0000 <k3ut0i> Is there any way to speed this up?
2024-02-21 15:09:58 +0000yoo(~yo0O0o@130.105.162.42) (Ping timeout: 256 seconds)
2024-02-21 15:11:04 +0000 <dminuoso> k3ut0i: You likely want foldl' at minimum.
2024-02-21 15:11:54 +0000 <dminuoso> To cause maximum confusion, we gave you `foldl` but forgot to tell you should probably not use it (most of the time).
2024-02-21 15:12:43 +0000 <kuribas`> k3ut0i: by not using IntMap?
2024-02-21 15:13:36 +0000 <kuribas`> maybe "map length . group . sort"
2024-02-21 15:13:48 +0000 <dminuoso> kuribas`: Another thing you could do is have an `IntMap (STRef Int)` and just mutate references instead.
2024-02-21 15:13:52 +0000 <dminuoso> Sorry, I meant k3ut0i.
2024-02-21 15:13:58 +0000 <kuribas`> > map length . group . sort [5, 2, 6, 4]
2024-02-21 15:13:59 +0000 <lambdabot> error:
2024-02-21 15:13:59 +0000 <lambdabot> • Couldn't match expected type ‘a -> [a1]’ with actual type ‘[a0]’
2024-02-21 15:13:59 +0000 <lambdabot> • Possible cause: ‘sort’ is applied to too many arguments
2024-02-21 15:14:18 +0000 <kuribas`> > map length $ group $ sort [5, 2, 6, 4, 5, 4, 4]
2024-02-21 15:14:20 +0000 <lambdabot> [1,3,2,1]
2024-02-21 15:15:14 +0000 <int-e> k3ut0i: if you use foldl' and Data.IntMap.Strict that should avoid any buildup of thunks.
2024-02-21 15:15:16 +0000 <kuribas`> > map (\l -> (head l, length l)) $ group $ sort [5, 2, 6, 4, 5, 4, 4]
2024-02-21 15:15:18 +0000 <lambdabot> [(2,1),(4,3),(5,2),(6,1)]
2024-02-21 15:15:34 +0000 <dminuoso> But yeah, foldl is one of the biggest warts we have.
2024-02-21 15:15:36 +0000cheater_(~Username@user/cheater)
2024-02-21 15:17:01 +0000cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2024-02-21 15:17:01 +0000cheater_cheater
2024-02-21 15:17:03 +0000cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2024-02-21 15:17:48 +0000cheater_(~Username@user/cheater)
2024-02-21 15:17:48 +0000cheater_cheater
2024-02-21 15:18:20 +0000jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2024-02-21 15:18:25 +0000Tisoxin(~Ikosit@user/ikosit) (Quit: The Lounge - https://thelounge.chat)
2024-02-21 15:18:58 +0000 <int-e> I'd habitually go with M.fromListWith (+) [(x,1) | x <- xs] but foldl' version could be better. Hard to see because it's a matter of compiler optimization (fusion kicking in).
2024-02-21 15:18:59 +0000Tisoxin(~Ikosit@user/ikosit)
2024-02-21 15:19:35 +0000mjs2600_(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
2024-02-21 15:20:12 +0000mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Ping timeout: 260 seconds)
2024-02-21 15:21:36 +0000waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-02-21 15:22:12 +0000 <k3ut0i> foldl' and IntMap.Strict still not fast enough, will IntMap (STRef Int) be faster?
2024-02-21 15:23:03 +0000 <dminuoso> k3ut0i: Note that it would also be IntMap.Strit for STRef
2024-02-21 15:23:17 +0000 <dminuoso> k3ut0i: What order of magnitude is that map going to be?
2024-02-21 15:23:51 +0000 <k3ut0i> 200_000 elements, each < 10^9
2024-02-21 15:23:51 +0000 <kuribas`> dminuoso: "for list".
2024-02-21 15:24:07 +0000 <kuribas`> because foldl could be sensible for other structures.
2024-02-21 15:24:11 +0000 <kuribas`> Like a SnocList.
2024-02-21 15:24:54 +0000 <dminuoso> kuribas`: Hold on, what do you mean by "each < 10^9"?
2024-02-21 15:25:01 +0000 <dminuoso> Sorry k3ut0i again.
2024-02-21 15:25:06 +0000 <kuribas`> k3ut0i: How fast is it? Do you compile or just ghci?
2024-02-21 15:25:06 +0000 <dminuoso> Tab completion went wrong.
2024-02-21 15:25:10 +0000 <kuribas`> no worries
2024-02-21 15:25:25 +0000xtabentun(uid491929@id-491929.tinside.irccloud.com)
2024-02-21 15:25:47 +0000 <kuribas`> Also, due to lazyness, you may be also timing the generation of the numbers, not the actual counting.
2024-02-21 15:25:49 +0000 <int-e> I don't think IntMap (STRef Int) will be faster unless you have *many* duplicates.
2024-02-21 15:25:49 +0000 <dminuoso> k3ut0i: I would expect STRef to perform somewhat better because you will have less allocations in a tight loop going on.
2024-02-21 15:27:05 +0000 <k3ut0i> compiling... I'm doing a competition. It's timing out only when most of the numbers are different. So default insertions rather than updates.
2024-02-21 15:27:18 +0000 <dminuoso> k3ut0i: One optimization step that comes to mind is doing a sort of pre-sort step.
2024-02-21 15:27:25 +0000 <dminuoso> Not necessarily full sort.
2024-02-21 15:27:58 +0000 <dminuoso> k3ut0i: See https://hackage.haskell.org/package/containers-0.7/docs/Data-IntMap-Strict.html#v:insertWith performance notes
2024-02-21 15:28:06 +0000 <int-e> If you involve ST, mutable data structures become a serious option... https://hackage.haskell.org/package/hashtables has a few ST based ones (what package do people use for hashtables?)
2024-02-21 15:28:40 +0000 <dminuoso> unordered-containers is popular
2024-02-21 15:28:50 +0000 <int-e> If you do a full pre-sort then I'd expect group . sort to be better.
2024-02-21 15:29:15 +0000 <int-e> but unordered-containers is persistent
2024-02-21 15:29:35 +0000erisco_(~erisco@d24-141-66-165.home.cgocable.net)
2024-02-21 15:29:41 +0000erisco(~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 252 seconds)
2024-02-21 15:29:45 +0000erisco_erisco
2024-02-21 15:29:45 +0000 <dminuoso> Im starting to think that an IntMap is not going to give you good performance characteristics, because you are re-doing work on each insert.
2024-02-21 15:32:51 +0000 <int-e> I'd seriously consider stuffing the numbers into an unboxed vector, sorting that, and then collect the groups (which may or may not exist in the vector package)
2024-02-21 15:33:35 +0000 <dminuoso> Mmm yeah, thats not a bad idea. The biggest price point for this kind of algorithm in regular idiomatic haskell is going to be memory indirections
2024-02-21 15:33:49 +0000 <dminuoso> With an unboxed vector you can leverage locality of cache some
2024-02-21 15:38:15 +0000Square3(~Square4@user/square) (Ping timeout: 255 seconds)
2024-02-21 15:39:11 +0000 <dminuoso> Honestly the more you approach this, the less haskelly this becomes.
2024-02-21 15:39:26 +0000 <k3ut0i> dminuoso: by "each < 10^9" I meant each integer is bound by 10^9. If it was around 10^5, I would've used a mutable array.
2024-02-21 15:39:36 +0000 <dminuoso> Once you're doing an unboxed vector, you might as well use a mutable inplace sort
2024-02-21 15:39:57 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2024-02-21 15:40:25 +0000 <dminuoso> And this eventually becomes a race for locality of reference and tight loops, your code will start looking more and more like C/Rust/whatever.
2024-02-21 15:41:49 +0000euleritian(~euleritia@dynamic-176-006-177-235.176.6.pool.telefonica.de)
2024-02-21 15:45:27 +0000euleritian(~euleritia@dynamic-176-006-177-235.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 15:46:42 +0000 <dminuoso> k3ut0i: So for maximum speed you could implement https://ieeexplore.ieee.org/document/8213187 using https://hackage.haskell.org/package/ghc-prim-0.11.0/docs/GHC-Prim.html#g:42
2024-02-21 15:47:17 +0000 <dminuoso> Then just do that SIMD powered quicksort on a ByteArray#, and then write a tight loop counting consecutive elements on that.
2024-02-21 15:47:25 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 15:47:43 +0000 <dminuoso> (Needs LLVM available, of course)
2024-02-21 15:56:23 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-02-21 15:56:52 +0000 <kuribas`> k3ut0i: most of the leetcode style problems only require you to have the right complexity.
2024-02-21 15:57:19 +0000 <kuribas`> k3ut0i: Maybe this problem could be done in O(n)?
2024-02-21 15:58:12 +0000 <kuribas`> For example with dynamic programming?
2024-02-21 15:58:15 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
2024-02-21 15:59:55 +0000notzmv(~daniel@user/notzmv) (Ping timeout: 256 seconds)
2024-02-21 16:00:58 +0000euleritian(~euleritia@dynamic-176-006-177-235.176.6.pool.telefonica.de)
2024-02-21 16:01:32 +0000 <k3ut0i> If h is the intmap, the answer is exactly: h 1 * h 2 + sum (map (\x -> x * (x - 1)/2) (elems h))
2024-02-21 16:02:54 +0000 <kuribas`> So you only need to know the two most frequent elements?
2024-02-21 16:02:58 +0000 <k3ut0i> So only if we can create h in O(n)
2024-02-21 16:03:12 +0000 <kuribas`> That can be done in O(n)
2024-02-21 16:03:59 +0000 <kuribas`> ah no, you need all frequencies...
2024-02-21 16:04:02 +0000 <int-e> that is... number of equal pairs when treating 1 and 2 as equal?
2024-02-21 16:04:36 +0000 <int-e> (I'm trying to understand the h 1 * h 2 part)
2024-02-21 16:04:45 +0000 <k3ut0i> (h 1) is the frequency of 1
2024-02-21 16:05:25 +0000 <k3ut0i> for all frequencies f, sum f*(f-1)/2. then sum (frequency of 1)*(frequency of 2)
2024-02-21 16:07:03 +0000 <int-e> so you also count pairs of 1s and 2s in either order, so effectively you're treating 1 and 2 as equal.
2024-02-21 16:08:07 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-02-21 16:10:22 +0000danse-nr3(~danse@151.47.247.148)
2024-02-21 16:11:40 +0000 <kuribas`> Anyway, an unboxed vector would be an order of magnitude faster than an IntMap.
2024-02-21 16:14:09 +0000 <k3ut0i> I cant use additional packages :(
2024-02-21 16:14:25 +0000Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 246 seconds)
2024-02-21 16:14:32 +0000 <kuribas`> vector is not included?
2024-02-21 16:14:58 +0000Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2024-02-21 16:15:17 +0000phaazonhadronized
2024-02-21 16:15:18 +0000 <k3ut0i> I don't think so. haskell has been pretty good for CP, but I always get stuck when it comes to hashing things.
2024-02-21 16:15:26 +0000 <EvanR> copy and paste all the code from vector into your code xD
2024-02-21 16:15:32 +0000 <EvanR> look ma, no additional packages
2024-02-21 16:16:16 +0000 <kuribas`> I mean, Vector is pretty standard haskell. Python comes with everything and the kitchen sink included, it's silly to not allow Vector.
2024-02-21 16:16:43 +0000 <EvanR> is this challenge like, do numeric python without numpy
2024-02-21 16:16:50 +0000 <int-e> kuribas`: how else do you make Haskell look bad ;-)
2024-02-21 16:18:28 +0000 <int-e> k3ut0i: out of curiosity, what ghc version are they using?
2024-02-21 16:18:36 +0000 <int-e> . o O ( 6.8.3 )
2024-02-21 16:18:52 +0000 <k3ut0i> 8.10.1
2024-02-21 16:19:30 +0000 <int-e> yeah, not super ancient but old enough to suggest that they don't care
2024-02-21 16:19:30 +0000a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-02-21 16:20:29 +0000 <EvanR> if you have a sparse array of size 10^9 you could implement it using an anonymous mmap and rely on the OS to not actually allocated the vast gaps between entries
2024-02-21 16:20:39 +0000 <EvanR> maybe
2024-02-21 16:21:36 +0000 <int-e> I was wondering how the sparse array trick would perform here. But you'd have *two* arrays of size 10^9.
2024-02-21 16:21:38 +0000 <k3ut0i> yeah, the number of entries is 2*10^5.
2024-02-21 16:22:19 +0000 <int-e> So any hope of locality would be lost.
2024-02-21 16:23:43 +0000gaze__(sid387101@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2024-02-21 16:24:57 +0000 <kuribas`> 200000 is not that much
2024-02-21 16:26:17 +0000 <kuribas`> "maximum $ sort $ take 200000 $ cycle [3, 9, 3, 5, 1]" takes a fraction of a second, in GHCI, not even compiled.
2024-02-21 16:27:12 +0000gaze__(sid387101@id-387101.helmsley.irccloud.com)
2024-02-21 16:27:15 +0000 <kuribas`> The whole thing should run in a few milliseconds.
2024-02-21 16:29:57 +0000euleritian(~euleritia@dynamic-176-006-177-235.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-21 16:30:14 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 16:34:15 +0000tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net)
2024-02-21 16:35:48 +0000hololeap(~quassel@user/hololeap) (Ping timeout: 260 seconds)
2024-02-21 16:36:23 +0000euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-02-21 16:36:29 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
2024-02-21 16:42:56 +0000 <k3ut0i> both IntMap and group . sort are working for smaller numbers. Keeping the number of elements at 200_000, when elements are at 10^3 and even 10^5 range, the time is < 1s. But at 10^9 range, I'm getting around 1.4secs. So I just need to shave off a little.
2024-02-21 16:48:40 +0000ph88^(~ph88@2a02:8109:9e26:c800:ebb2:8a16:2d0a:f29)
2024-02-21 16:49:36 +0000 <ph88^> i have a stack.yaml pointing to LTS 14.27 when i type stack path i see it pointing to the ghcup 9.6.4 compiler. How can i get it to switch to the right compiler version ?
2024-02-21 16:50:05 +0000 <haskellbridge> <m​aerwald> do you have system-ghc enabled?
2024-02-21 16:50:13 +0000igemnace(~ian@user/igemnace) (Quit: WeeChat 4.2.1)
2024-02-21 16:50:49 +0000 <ph88^> not sure, it's my first time using ghcup
2024-02-21 16:51:26 +0000euphores(~SASL_euph@user/euphores)
2024-02-21 16:52:30 +0000waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2024-02-21 16:55:22 +0000Achylles(~Achylles_@45.182.57.81) (Remote host closed the connection)
2024-02-21 16:55:26 +0000 <ph88^> @maerwald i set system-ghc false and install-ghc also false as per https://www.haskell.org/ghcup/guide/#stack-integration
2024-02-21 16:55:26 +0000 <lambdabot> Unknown command, try @list
2024-02-21 16:55:30 +0000 <ph88^> maerwald i set system-ghc false and install-ghc also false as per https://www.haskell.org/ghcup/guide/#stack-integration
2024-02-21 16:57:54 +0000CiaoSen(~Jura@2a05:5800:2c5:c300:e6b9:7aff:fe80:3d03) (Ping timeout: 255 seconds)
2024-02-21 17:01:16 +0000a51(a51@gateway/vpn/protonvpn/a51)
2024-02-21 17:04:15 +0000ubert(~Thunderbi@2a02:8109:ab8a:5a00:7702:da98:c9d3:8474) (Remote host closed the connection)
2024-02-21 17:05:35 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-02-21 17:07:20 +0000raym(~ray@user/raym)
2024-02-21 17:08:05 +0000 <ph88^> when i use the --compiler flag it works, but with stack.yaml it doesn't pick up the right compiler version :(
2024-02-21 17:10:16 +0000 <ph88^> also using the wrong package set 22.11 instead of specified 14.27 ... seems that stack and stack.yaml is completely broken
2024-02-21 17:12:18 +0000econo_(uid147250@id-147250.tinside.irccloud.com)
2024-02-21 17:13:32 +0000a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-02-21 17:17:07 +0000machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 260 seconds)
2024-02-21 17:17:42 +0000a51(a51@gateway/vpn/protonvpn/a51)
2024-02-21 17:17:59 +0000dom0(~u0_a202@47.60.32.187)
2024-02-21 17:18:27 +0000michalz(~michalz@185.246.207.215) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-21 17:22:31 +0000billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2024-02-21 17:22:40 +0000dom0(~u0_a202@47.60.32.187) (Quit: WeeChat 4.2.1)
2024-02-21 17:26:12 +0000erisco(~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 260 seconds)
2024-02-21 17:26:35 +0000erisco(~erisco@d24-141-66-165.home.cgocable.net)
2024-02-21 17:29:42 +0000kuribas`(~user@2a02:1808:4:5142:d283:8f22:e8ed:88fa) (Remote host closed the connection)
2024-02-21 17:31:01 +0000erisco(~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 256 seconds)
2024-02-21 17:31:20 +0000chele(~chele@user/chele) (Remote host closed the connection)
2024-02-21 17:36:15 +0000erisco(~erisco@d24-141-66-165.home.cgocable.net)
2024-02-21 17:42:16 +0000 <haskellbridge> <s​m> @where paste the full `stack path` output if you like ?
2024-02-21 17:43:55 +0000a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-02-21 17:44:28 +0000 <sm> @where paste
2024-02-21 17:44:29 +0000 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2024-02-21 17:59:34 +0000mud(~mud@user/kadoban)
2024-02-21 18:03:46 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-21 18:04:58 +0000billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Quit: Leaving)
2024-02-21 18:05:23 +0000vissa(~vissa@37.214.75.124)
2024-02-21 18:05:27 +0000Square(~Square@user/square)
2024-02-21 18:07:34 +0000 <vissa> yo
2024-02-21 18:07:38 +0000 <ph88^> @sm, https://github.com/commercialhaskell/stack/issues/6490
2024-02-21 18:07:38 +0000 <lambdabot> Source not found. Whoa.
2024-02-21 18:07:40 +0000 <ph88^> sm, https://github.com/commercialhaskell/stack/issues/6490
2024-02-21 18:07:44 +0000 <ph88^> yo vissa
2024-02-21 18:07:56 +0000 <vissa> so um
2024-02-21 18:07:58 +0000 <vissa> [Running] runghc "d:\Projects\Coding\Haskell\HelloWorld\hello.hs"
2024-02-21 18:07:58 +0000 <vissa> Hello, Worldskell
2024-02-21 18:07:59 +0000 <vissa> [Done] exited with code=0 in 5.942 seconds
2024-02-21 18:08:19 +0000 <vissa> 6 seconds to interpret? did i install something wrong? lol
2024-02-21 18:08:42 +0000 <ph88^> it's compiled right, try with ghci to interpret
2024-02-21 18:08:56 +0000 <ph88^> also check compiler flags use -O0 for fasted compilation
2024-02-21 18:09:04 +0000 <ph88^> fastest *
2024-02-21 18:09:05 +0000euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-02-21 18:09:11 +0000cheater_(~Username@user/cheater)
2024-02-21 18:09:34 +0000danse-nr3(~danse@151.47.247.148) (Ping timeout: 246 seconds)
2024-02-21 18:09:45 +0000michalz(~michalz@185.246.207.221)
2024-02-21 18:09:45 +0000 <geekosaur> runghc is interpreted
2024-02-21 18:10:10 +0000 <haskellbridge> <J​ade> doesn't runghc just invoke ghci under the hood
2024-02-21 18:10:11 +0000 <geekosaur> and the intepreter is not at all optimized in any sense
2024-02-21 18:10:18 +0000 <geekosaur> essentially yes
2024-02-21 18:10:20 +0000notzmv(~daniel@user/notzmv)
2024-02-21 18:10:47 +0000euphores(~SASL_euph@user/euphores)
2024-02-21 18:13:25 +0000cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2024-02-21 18:13:27 +0000cheater_cheater
2024-02-21 18:14:51 +0000 <vissa> ah i see
2024-02-21 18:15:11 +0000 <vissa> ghci> :script hello.hs
2024-02-21 18:15:12 +0000 <vissa> ghci> main
2024-02-21 18:15:12 +0000 <vissa> Hello, Worldskell
2024-02-21 18:15:13 +0000 <vissa> ^ this was almost instantaneous
2024-02-21 18:15:19 +0000michalz(~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-21 18:15:43 +0000 <mauke> also, windows is just slow at spawning programs
2024-02-21 18:15:45 +0000Square(~Square@user/square) (Ping timeout: 255 seconds)
2024-02-21 18:16:02 +0000 <vissa> gotchu
2024-02-21 18:20:26 +0000vissa(~vissa@37.214.75.124) (Quit: Connection closed)
2024-02-21 18:26:17 +0000euphores(~SASL_euph@user/euphores) (Read error: Connection reset by peer)
2024-02-21 18:31:11 +0000rvalue(~rvalue@user/rvalue) (Ping timeout: 264 seconds)
2024-02-21 18:31:15 +0000 <sm> ph88^ it seems odd alright. Perhaps add some debug logging to ~/.stack/hooks/ghc-install.sh ?
2024-02-21 18:31:36 +0000 <ph88^> sm, what kind of debug logging ?
2024-02-21 18:32:01 +0000 <sm> printing some of those vars to see what it's doing
2024-02-21 18:32:37 +0000 <sm> or set -eux, maybe
2024-02-21 18:34:56 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-02-21 18:35:07 +0000hololeap(~quassel@user/hololeap)
2024-02-21 18:35:35 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-02-21 18:35:45 +0000euphores(~SASL_euph@user/euphores)
2024-02-21 18:36:17 +0000 <sm> aside: did you ever successfully build this with ghc 8.6.5 ? eg with cabal ?
2024-02-21 18:36:34 +0000 <ph88^> sm, ghc_path: parameter not set
2024-02-21 18:36:48 +0000 <ph88^> sm no this is the first time i will try to build it
2024-02-21 18:37:16 +0000 <sm> for the second issue, some bug witih 8.6.5 is very possible
2024-02-21 18:37:27 +0000alexherbo2(~alexherbo@2a02-8440-3340-eded-49c3-0dbb-2c98-8f25.rev.sfr.net)
2024-02-21 18:37:28 +0000 <sm> you could try with cabal to see
2024-02-21 18:37:40 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-02-21 18:37:47 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-02-21 18:38:08 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-02-21 18:38:39 +0000 <ph88^> sm that about ghc_path i put the echo in the wrong place so ignore that ^^
2024-02-21 18:38:58 +0000rvalue(~rvalue@user/rvalue)
2024-02-21 18:40:42 +0000 <ph88^> sm, with cabal it works it seems (although different source for tree-sitter package)
2024-02-21 18:40:57 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
2024-02-21 18:42:47 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-02-21 18:44:44 +0000 <sm> what's $HOOK_GHC_VERSION in ghc-install.sh ?
2024-02-21 18:45:12 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-21 18:50:25 +0000cheater_(~Username@user/cheater)
2024-02-21 18:52:15 +0000 <ph88^> sm, 8.6.5
2024-02-21 18:52:34 +0000 <sm> and this output ?: ghcup whereis --directory ghc 8.6.5 || ghcup run --ghc 8.6.5 --install
2024-02-21 18:52:58 +0000 <ph88^> ghcup whereis --directory ghc 8.6.5 /home/flip111/.ghcup/ghc/8.6.5/bin
2024-02-21 18:54:27 +0000cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2024-02-21 18:54:31 +0000cheater_cheater
2024-02-21 18:54:53 +0000 <sm> a mystery! maybe strace can show what other config/cache files it's looking at
2024-02-21 18:57:20 +0000 <sm> or an older/newer stack version behaves differently
2024-02-21 18:57:56 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-21 19:02:36 +0000euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-02-21 19:05:00 +0000 <ph88^> sm i changed the formatting of the cabal file, recompiled and it went to the right compiler, then i put the cabal file back how it was and still the problem of wrong compiler version was resolved
2024-02-21 19:06:06 +0000 <sm> huh.. do you have a package.yaml file ?
2024-02-21 19:08:21 +0000julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752)
2024-02-21 19:08:28 +0000 <ph88^> no only cabal file
2024-02-21 19:09:10 +0000 <sm> weird.. well glad you got it worked around
2024-02-21 19:10:09 +0000misterfish(~misterfis@84.53.85.146)
2024-02-21 19:18:05 +0000 <ph88^> it's still borked in another directory. I will compile stack itself with a few debug statements
2024-02-21 19:20:16 +0000 <sm> The gods approve! You feel stronger!
2024-02-21 19:20:47 +0000 <sm> latest stack version I guess
2024-02-21 19:22:36 +0000euphores(~SASL_euph@user/euphores)
2024-02-21 19:24:56 +0000cheater_(~Username@user/cheater)
2024-02-21 19:25:25 +0000alexherbo2(~alexherbo@2a02-8440-3340-eded-49c3-0dbb-2c98-8f25.rev.sfr.net) (Remote host closed the connection)
2024-02-21 19:26:55 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 19:29:16 +0000cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2024-02-21 19:29:22 +0000cheater_cheater
2024-02-21 19:31:37 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 264 seconds)
2024-02-21 19:33:13 +0000cheater_(~Username@user/cheater)
2024-02-21 19:35:49 +0000cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2024-02-21 19:35:59 +0000cheater_cheater
2024-02-21 19:36:06 +0000TimWolla(~timwolla@2a01:4f8:150:6153:beef::6667) (Quit: Bye)
2024-02-21 19:40:47 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 256 seconds)
2024-02-21 19:41:32 +0000TimWolla(~timwolla@2a01:4f8:150:6153:beef::6667)
2024-02-21 19:45:41 +0000zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds)
2024-02-21 19:47:38 +0000apricot(uid581388@id-581388.ilkley.irccloud.com)
2024-02-21 19:48:47 +0000 <apricot> hello
2024-02-21 19:48:54 +0000 <geekosaur> hi
2024-02-21 19:49:22 +0000 <apricot> how is it going geekosaur?
2024-02-21 19:49:24 +0000todi(~todi@p4fd1a2f5.dip0.t-ipconnect.de) (Remote host closed the connection)
2024-02-21 19:50:17 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-02-21 19:50:17 +0000 <apricot> i came here to ask how you guys would solve this problem #1 of project euler: "Find the sum of all the multiples of 3 or 5 below 1000
2024-02-21 19:50:35 +0000 <apricot> this is what i did but i am interested to see other approaches https://paste.rs/VhADH
2024-02-21 19:51:36 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-21 19:52:24 +0000 <mauke> p x = x `rem` 3 == 0 || x `rem` 5 == 0
2024-02-21 19:53:29 +0000hgolden(~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) (Remote host closed the connection)
2024-02-21 19:53:32 +0000julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
2024-02-21 19:53:47 +0000 <monochrom> That's (sum of multiples of 3 below 1000) + (sum of multiples of 5 below 1000) - (sum of multiples of 15 below 1000)
2024-02-21 19:54:11 +0000julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752)
2024-02-21 19:54:21 +0000julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
2024-02-21 19:54:43 +0000 <mauke> ah, the slow approach
2024-02-21 19:54:50 +0000 <monochrom> Multiples of 3 below 1000 are 0, 3, 9, ..., 999. I.e., 3*0, 3*1, ... ,3*333.
2024-02-21 19:55:08 +0000 <monochrom> You know how to do "sum of 1 to 333". Just multiply that by 3.
2024-02-21 19:55:15 +0000 <monochrom> Similarly of "5" and "15".
2024-02-21 19:55:22 +0000 <mauke> > 3 * sum [1 .. 333]
2024-02-21 19:55:24 +0000 <lambdabot> 166833
2024-02-21 19:55:46 +0000 <int-e> > let f d = (999 - 999 `mod` d)*(1 + 999 `div` d) in (f 3 + f 5 - f 15) `div` 2
2024-02-21 19:55:47 +0000 <lambdabot> 233168
2024-02-21 19:55:53 +0000hgolden(~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com)
2024-02-21 19:56:35 +0000 <monochrom> ans = 3 * s 333 + 5 * s 199 - 15 * s 66 where s n = div (n*(n+1)) 2
2024-02-21 19:56:47 +0000peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-21 19:57:31 +0000 <monochrom> This takes only O(1) time.
2024-02-21 19:57:53 +0000 <int-e> meaningless big O notation, yay
2024-02-21 19:57:58 +0000 <c_wraith> it only takes O(1) time anyway, since the bounds are fixed...
2024-02-21 19:58:05 +0000 <c_wraith> there is no n to scale with!
2024-02-21 19:58:13 +0000 <monochrom> Well yeah we need to up the game.
2024-02-21 19:58:16 +0000 <mauke> the constants are better in apricot's solution
2024-02-21 19:58:24 +0000 <mauke> because you don't have to use algebra first
2024-02-21 19:58:28 +0000 <monochrom> Find the sum of all even primes below 10^100.
2024-02-21 19:58:32 +0000a51(a51@gateway/vpn/protonvpn/a51)
2024-02-21 19:58:48 +0000 <c_wraith> then your solution isn't O(1) either, because multiplication isn't
2024-02-21 19:58:53 +0000 <int-e> monochrom: 0 :-P
2024-02-21 19:58:57 +0000 <mauke> 2
2024-02-21 19:59:04 +0000 <int-e> -2 + 2 = 0
2024-02-21 19:59:16 +0000 <mauke> negaprimes? that's not legal
2024-02-21 19:59:17 +0000 <monochrom> :( :)
2024-02-21 19:59:36 +0000 <apricot> haha
2024-02-21 19:59:40 +0000 <mauke> otherwise you can't uniquely factor anymore
2024-02-21 19:59:52 +0000 <int-e> mauke: you still can, up to units
2024-02-21 20:00:05 +0000 <int-e> which is how you do it in rings (cf. unique factoring domains)
2024-02-21 20:00:12 +0000 <monochrom> Ring theory settles for what int-e said about units.
2024-02-21 20:00:21 +0000 <mauke> > sum [n | n <- [1 .. 10^100], n == 2]
2024-02-21 20:00:28 +0000 <lambdabot> mueval-core: Time limit exceeded
2024-02-21 20:01:11 +0000 <monochrom> I just want to demonstrate concretely that Project Euler is where you hone number theory not programming.
2024-02-21 20:02:06 +0000 <mauke> speak for yourself
2024-02-21 20:02:17 +0000 <mauke> project euler is where I practice brute force solutions
2024-02-21 20:02:28 +0000 <apricot> ah cool to know
2024-02-21 20:02:34 +0000 <apricot> i just found out about it and about haskell too
2024-02-21 20:02:57 +0000 <monochrom> In later questions, most brute force solutions will time out.
2024-02-21 20:03:02 +0000 <int-e> mauke: but a lot of the problems require theory and brute force to be solved in reasonable time without massive parallelization
2024-02-21 20:03:23 +0000 <int-e> this won't be evident in the first 100 or so
2024-02-21 20:03:27 +0000 <mauke> >:)
2024-02-21 20:03:54 +0000 <monochrom> I would prefer it if they started with s/1000/10^1000/ for example.
2024-02-21 20:03:57 +0000 <mauke> it's a good opportunity to learn about persistent state and resumable computations
2024-02-21 20:04:01 +0000k3ut0i(~keutoi@223.230.94.191) (Ping timeout: 256 seconds)
2024-02-21 20:04:08 +0000 <monochrom> ugh haha
2024-02-21 20:04:19 +0000 <int-e> ...right
2024-02-21 20:04:22 +0000 <apricot> well i think for me one is enough for today ;) goodnight guys
2024-02-21 20:05:51 +0000 <int-e> mauke: maybe you could apply that expertise to find an MD5 collision that breaks Data.Typeable (the standard techniques don't apply because it's hashing highly constrained data, UTF-32 strings with identifier legal characters), so it would have to be a generic attack with ~2^64 hashes.
2024-02-21 20:06:02 +0000 <monochrom> I seriously think on April 1st we should hack the PE website and post my even prime problem and watch the script kiddies of the world burn.
2024-02-21 20:06:45 +0000 <int-e> monochrom: we already have bitcoin for that though
2024-02-21 20:06:49 +0000 <mauke> 10^1000 is what I call Big Data
2024-02-21 20:06:50 +0000 <monochrom> Because they would seriously try to find all primes below 10^100 and they would actually hope that "gcc -O10" would have a chance.
2024-02-21 20:06:57 +0000 <int-e> monochrom: and LLMs
2024-02-21 20:07:02 +0000 <monochrom> haha OK
2024-02-21 20:08:36 +0000Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-02-21 20:09:26 +0000misterfish(~misterfis@84.53.85.146)
2024-02-21 20:10:04 +0000peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
2024-02-21 20:15:21 +0000cheater_(~Username@user/cheater)
2024-02-21 20:16:37 +0000cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2024-02-21 20:16:46 +0000cheater_cheater
2024-02-21 20:24:10 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-02-21 20:27:09 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-02-21 20:30:11 +0000mud(~mud@user/kadoban) (Ping timeout: 272 seconds)
2024-02-21 20:30:33 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-02-21 20:31:18 +0000euleritian(~euleritia@77.22.252.56)
2024-02-21 20:37:37 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 264 seconds)
2024-02-21 20:40:57 +0000ft(~ft@p508db2e6.dip0.t-ipconnect.de)
2024-02-21 20:41:11 +0000Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection)
2024-02-21 20:45:32 +0000mmhat(~mmh@p200300f1c70b449aee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
2024-02-21 20:46:10 +0000Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2024-02-21 20:58:44 +0000zer0bitz(~zer0bitz@user/zer0bitz)
2024-02-21 21:03:57 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-02-21 21:07:47 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-02-21 21:10:54 +0000cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2024-02-21 21:11:26 +0000cheater(~Username@user/cheater)
2024-02-21 21:14:32 +0000xtabentun(uid491929@id-491929.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-21 21:18:26 +0000cheater_(~Username@user/cheater)
2024-02-21 21:22:37 +0000cheater(~Username@user/cheater) (Ping timeout: 264 seconds)
2024-02-21 21:22:42 +0000cheater_cheater
2024-02-21 21:31:11 +0000euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-02-21 21:31:52 +0000euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-21 21:38:08 +0000synchromesh(~synchrome@2407:7000:aa2d:4e00:9cf7:efcb:5efd:a99) (Read error: Connection reset by peer)
2024-02-21 21:39:01 +0000synchromesh(~synchrome@2407:7000:aa2d:4e00:9cf7:efcb:5efd:a99)
2024-02-21 21:40:27 +0000lambdabot(~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
2024-02-21 21:40:54 +0000lambdabot(~lambdabot@silicon.int-e.eu)
2024-02-21 21:40:54 +0000lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2024-02-21 21:40:54 +0000lambdabot(~lambdabot@haskell/bot/lambdabot)
2024-02-21 21:40:54 +0000ChanServ+v lambdabot
2024-02-21 21:42:37 +0000int-e(~noone@int-e.eu) (Remote host closed the connection)
2024-02-21 21:43:26 +0000int-e(~noone@int-e.eu)
2024-02-21 21:44:20 +0000turlando(~turlando@user/turlando) (Remote host closed the connection)
2024-02-21 21:45:36 +0000turlando(~turlando@user/turlando)
2024-02-21 21:48:56 +0000michalz(~michalz@185.246.207.222)
2024-02-21 21:49:36 +0000peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-21 21:52:49 +0000Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-02-21 21:53:04 +0000jmorris(uid604645@id-604645.hampstead.irccloud.com)
2024-02-21 22:00:13 +0000peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
2024-02-21 22:06:50 +0000waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-02-21 22:07:33 +0000michalz(~michalz@185.246.207.222) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-21 22:10:32 +0000hgolden(~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) (Remote host closed the connection)
2024-02-21 22:13:02 +0000hgolden(~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com)
2024-02-21 22:14:27 +0000cheater_(~Username@user/cheater)
2024-02-21 22:16:33 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-02-21 22:16:40 +0000apricot(uid581388@id-581388.ilkley.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-21 22:18:51 +0000cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2024-02-21 22:18:54 +0000cheater_cheater
2024-02-21 22:27:15 +0000sroso(~sroso@user/SrOso)
2024-02-21 22:33:24 +0000Sgeo(~Sgeo@user/sgeo)
2024-02-21 22:39:20 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-02-21 22:42:02 +0000cheater_(~Username@user/cheater)
2024-02-21 22:46:12 +0000cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2024-02-21 22:46:12 +0000acidjnk(~acidjnk@p200300d6e737e789f1d9672538a89ef2.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-02-21 22:46:18 +0000cheater_cheater
2024-02-21 22:47:29 +0000natechan(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2024-02-21 22:59:49 +0000coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2024-02-21 23:04:18 +0000mud(~mud@user/kadoban)
2024-02-21 23:04:22 +0000todi(~todi@p4fd1a2f5.dip0.t-ipconnect.de)
2024-02-21 23:06:04 +0000mulk(~mulk@pd9514f6d.dip0.t-ipconnect.de) (Quit: ZNC - http://znc.in)
2024-02-21 23:06:56 +0000mulk(~mulk@pd9514f6d.dip0.t-ipconnect.de)
2024-02-21 23:07:50 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-02-21 23:26:57 +0000acidjnk(~acidjnk@p200300d6e737e731796c591da436d74b.dip0.t-ipconnect.de)
2024-02-21 23:35:04 +0000ACuriousMoose(~ACuriousM@142.166.18.53) (Quit: The Lounge - https://thelounge.chat)
2024-02-21 23:58:28 +0000cheater_(~Username@user/cheater)