2023/06/01

2023-06-01 00:03:23 +0200dcleonarski(~user@2804:d51:4793:c800:b0e2:a2e8:89a0:4c46) (Remote host closed the connection)
2023-06-01 00:06:22 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:3e30:d1db:17eb:3fe6) (Ping timeout: 265 seconds)
2023-06-01 00:06:52 +0200michalz(~michalz@185.246.204.89) (Remote host closed the connection)
2023-06-01 00:08:38 +0200pyooque(~puke@user/puke)
2023-06-01 00:08:38 +0200puke(~puke@user/puke) (Killed (lead.libera.chat (Nickname regained by services)))
2023-06-01 00:08:38 +0200pyooquepuke
2023-06-01 00:12:37 +0200mei(~mei@user/mei) (Remote host closed the connection)
2023-06-01 00:15:03 +0200mei(~mei@user/mei)
2023-06-01 00:15:07 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-06-01 00:17:51 +0200mikoto-chan(~mikoto-ch@ip-213-49-58-19.dsl.scarlet.be)
2023-06-01 00:19:12 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 248 seconds)
2023-06-01 00:23:00 +0200byte`(~byte@user/byte)
2023-06-01 00:23:08 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
2023-06-01 00:24:07 +0200byte(~byte@user/byte) (Ping timeout: 240 seconds)
2023-06-01 00:27:47 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-01 00:46:23 +0200scrungus(~scrungus@bras-base-aurron9127w-grc-46-70-31-27-241.dsl.bell.ca) (Quit: WeeChat 3.8)
2023-06-01 00:48:30 +0200mikoto-chan(~mikoto-ch@ip-213-49-58-19.dsl.scarlet.be) (Quit: WeeChat 3.8)
2023-06-01 00:59:09 +0200user__(~user@dynamic-046-114-183-195.46.114.pool.telefonica.de) (Ping timeout: 250 seconds)
2023-06-01 01:01:08 +0200user__(~user@dynamic-046-114-179-113.46.114.pool.telefonica.de)
2023-06-01 01:05:08 +0200acidjnk(~acidjnk@p200300d6e7072f606840ba95ce8ed5e1.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-06-01 01:07:42 +0200Ranhir(~Ranhir@157.97.53.139) (Ping timeout: 268 seconds)
2023-06-01 01:07:53 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe)
2023-06-01 01:10:01 +0200thegeekinside(~thegeekin@189.180.38.64) (Remote host closed the connection)
2023-06-01 01:12:19 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-06-01 01:14:19 +0200machinedgod(~machinedg@93-136-182-237.adsl.net.t-com.hr) (Ping timeout: 250 seconds)
2023-06-01 01:17:28 +0200mauke_(~mauke@user/mauke)
2023-06-01 01:17:31 +0200reverse_(~inversed@188.220.172.130)
2023-06-01 01:17:47 +0200reverse(~inversed@bcdcac82.skybroadband.com) (Ping timeout: 250 seconds)
2023-06-01 01:19:07 +0200mauke(~mauke@user/mauke) (Ping timeout: 240 seconds)
2023-06-01 01:19:07 +0200mauke_mauke
2023-06-01 01:20:08 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
2023-06-01 01:28:32 +0200vandita(~vandit@193-226-238-253.pool.digikabel.hu) (Ping timeout: 265 seconds)
2023-06-01 01:29:47 +0200vandita(~vandit@92-249-193-48.pool.digikabel.hu)
2023-06-01 01:30:50 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-06-01 01:31:12 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-06-01 01:31:37 +0200user__(~user@dynamic-046-114-179-113.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
2023-06-01 01:33:43 +0200 <juri_> what the.. my tests just got super flakey. even tests that are unit tests. updated my dependencies. anyone see anything insane in quickcheck today?
2023-06-01 01:39:04 +0200 <juri_> great. yeah, upstream busted me. running "cabal v2-update 'hackage.haskell.org,2023-05-29T21:55:15Z'", then re-running my test suite makes all tests pass.
2023-06-01 01:39:12 +0200thegeekinside(~thegeekin@189.180.38.64)
2023-06-01 01:40:24 +0200 <juri_> I'm going to go to bed now, and hope someone fixes this before morning.
2023-06-01 01:47:56 +0200Ranhir(~Ranhir@157.97.53.139)
2023-06-01 01:51:25 +0200 <Axman6> juri_: have you reported it?
2023-06-01 01:52:07 +0200mncheck(~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
2023-06-01 01:54:54 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!)
2023-06-01 01:57:08 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-06-01 02:05:37 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
2023-06-01 02:09:22 +0200byte`byte
2023-06-01 02:16:08 +0200 <juri_> Axman6: haven't determined which dependency yet.
2023-06-01 02:16:09 +0200Deide(~deide@user/deide)
2023-06-01 02:16:09 +0200ormaaaj(~ormaaj@user/ormaaj)
2023-06-01 02:18:39 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-06-01 02:21:04 +0200ners[m](~nersnixos@2001:470:69fc:105::3:648b)
2023-06-01 02:31:12 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 02:32:32 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-06-01 02:32:32 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-06-01 02:32:32 +0200wroathe(~wroathe@user/wroathe)
2023-06-01 02:40:07 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
2023-06-01 02:55:50 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2023-06-01 02:57:17 +0200zaquest(~notzaques@5.130.79.72)
2023-06-01 03:01:18 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-06-01 03:10:27 +0200thegeekinside(~thegeekin@189.180.38.64) (Ping timeout: 250 seconds)
2023-06-01 03:10:32 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-06-01 03:10:46 +0200jjanzen(~jjanzen@user/jjanzen)
2023-06-01 03:10:53 +0200thegeekinside(~thegeekin@189.180.15.129)
2023-06-01 03:16:38 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-06-01 03:19:13 +0200troydm(~troydm@user/troydm) (Ping timeout: 265 seconds)
2023-06-01 03:23:37 +0200nate2(~nate@98.45.169.16)
2023-06-01 03:24:25 +0200jjanzen(~jjanzen@user/jjanzen) (Remote host closed the connection)
2023-06-01 03:28:07 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-06-01 03:32:41 +0200troydm(~troydm@user/troydm)
2023-06-01 03:39:58 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc)
2023-06-01 03:44:21 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc) (Ping timeout: 256 seconds)
2023-06-01 03:55:34 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-06-01 04:02:13 +0200vandita(~vandit@92-249-193-48.pool.digikabel.hu) (Ping timeout: 268 seconds)
2023-06-01 04:03:42 +0200vandita(~vandit@80-95-82-30.pool.digikabel.hu)
2023-06-01 04:03:43 +0200Guest72(~Guest72@177.129.229.127)
2023-06-01 04:04:16 +0200Guest72(~Guest72@177.129.229.127) (Client Quit)
2023-06-01 04:07:37 +0200xff0x_(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds)
2023-06-01 04:10:06 +0200reach(~reach@cpe30b7d4bc76e3-cm30b7d4bc76e0.cpe.net.cable.rogers.com)
2023-06-01 04:11:37 +0200foul_owl(~kerry@71.212.137.212)
2023-06-01 04:16:07 +0200nate2(~nate@98.45.169.16)
2023-06-01 04:16:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc)
2023-06-01 04:23:07 +0200reach(~reach@cpe30b7d4bc76e3-cm30b7d4bc76e0.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
2023-06-01 04:30:45 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 04:43:12 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds)
2023-06-01 04:44:12 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-06-01 04:44:12 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-06-01 04:44:12 +0200finn_elijaFinnElija
2023-06-01 04:52:29 +0200oak-(~oak-@2001:470:69fc:105::fcd)
2023-06-01 04:53:21 +0200Batzy(~quassel@user/batzy)
2023-06-01 04:55:23 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc) (Remote host closed the connection)
2023-06-01 04:55:37 +0200xff0x_(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-06-01 04:57:29 +0200td_(~td@i53870935.versanet.de) (Ping timeout: 250 seconds)
2023-06-01 04:58:30 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc)
2023-06-01 04:59:31 +0200td_(~td@i5387091E.versanet.de)
2023-06-01 05:01:29 +0200motherfsck(~motherfsc@user/motherfsck)
2023-06-01 05:03:15 +0200jero98772(~jero98772@2800:484:1d7f:5d36::2) (Remote host closed the connection)
2023-06-01 05:19:05 +0200nate2(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2023-06-01 05:22:05 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-06-01 05:24:54 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-06-01 05:25:08 +0200img(~img@user/img)
2023-06-01 05:45:59 +0200haasn`(~nand@haasn.dev)
2023-06-01 06:00:04 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
2023-06-01 06:00:26 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 06:08:08 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 240 seconds)
2023-06-01 06:13:14 +0200[Leary](~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
2023-06-01 06:16:48 +0200ub(~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
2023-06-01 06:17:59 +0200phma(~phma@2001:5b0:2143:ed58:27b1:77ae:44a6:25c1) (Read error: Connection reset by peer)
2023-06-01 06:18:29 +0200ubert(~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-06-01 06:18:29 +0200ububert
2023-06-01 06:18:55 +0200phma(~phma@2001:5b0:210b:91a8:aa36:cb59:278d:999d)
2023-06-01 06:21:21 +0200[Leary](~Leary]@user/Leary/x-0910699)
2023-06-01 06:28:55 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 250 seconds)
2023-06-01 06:30:50 +0200rembo10(~rembo10@main.remulis.com) (Ping timeout: 268 seconds)
2023-06-01 06:30:50 +0200Everything(~Everythin@static.208.206.21.65.clients.your-server.de) (Ping timeout: 268 seconds)
2023-06-01 06:31:01 +0200Everything(~Everythin@static.208.206.21.65.clients.your-server.de)
2023-06-01 06:31:07 +0200rembo10(~rembo10@main.remulis.com)
2023-06-01 06:33:45 +0200jargon(~jargon@184.101.77.79) (Remote host closed the connection)
2023-06-01 06:37:38 +0200notzmv(~zmv@user/notzmv)
2023-06-01 06:45:30 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-06-01 06:46:56 +0200trev(~trev@user/trev)
2023-06-01 06:50:09 +0200vandita(~vandit@80-95-82-30.pool.digikabel.hu) (Ping timeout: 250 seconds)
2023-06-01 06:51:52 +0200vandita(~vandit@92-249-182-120.pool.digikabel.hu)
2023-06-01 06:57:41 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2023-06-01 06:59:33 +0200turlando(~turlando@user/turlando) (Read error: Connection reset by peer)
2023-06-01 07:04:00 +0200turlando(~turlando@user/turlando)
2023-06-01 07:07:21 +0200hisa38(~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 265 seconds)
2023-06-01 07:07:44 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-06-01 07:09:47 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-06-01 07:11:23 +0200motherfsck(~motherfsc@user/motherfsck)
2023-06-01 07:23:16 +0200chomwitt(~chomwitt@2a02:587:7a16:6700:1ac0:4dff:fedb:a3f1)
2023-06-01 07:26:17 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-06-01 07:31:32 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-06-01 07:33:45 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-06-01 07:35:51 +0200Maeda(~Maeda@91-161-10-149.subs.proxad.net)
2023-06-01 07:45:42 +0200radioredwagon(radioredwa@user/radioredwagon)
2023-06-01 07:47:37 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2023-06-01 08:00:02 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
2023-06-01 08:00:18 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-06-01 08:01:49 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-06-01 08:01:57 +0200_xor(~xor@nw-esr1-72-49-97-201.fuse.net) (Quit: brb/bbiab)
2023-06-01 08:11:29 +0200mncheck(~mncheck@193.224.205.254)
2023-06-01 08:12:24 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-06-01 08:17:09 +0200radioredwagon(radioredwa@user/radioredwagon) (Quit: Client closed)
2023-06-01 08:28:41 +0200phma_(~phma@host-67-44-208-61.hnremote.net)
2023-06-01 08:31:14 +0200phma__(phma@2001:5b0:210b:91a8:aa36:cb59:278d:999d)
2023-06-01 08:31:31 +0200phma(~phma@2001:5b0:210b:91a8:aa36:cb59:278d:999d) (Ping timeout: 240 seconds)
2023-06-01 08:33:06 +0200acidjnk(~acidjnk@p200300d6e7072f91d93d35c03e1f2ae2.dip0.t-ipconnect.de)
2023-06-01 08:34:31 +0200phma_(~phma@host-67-44-208-61.hnremote.net) (Ping timeout: 240 seconds)
2023-06-01 08:40:03 +0200michalz(~michalz@185.246.204.73)
2023-06-01 08:40:30 +0200chele(~chele@user/chele)
2023-06-01 08:42:10 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection)
2023-06-01 08:42:22 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2023-06-01 08:44:26 +0200 <dy> Urgh
2023-06-01 08:44:33 +0200 <dy> Wait wrong channkx
2023-06-01 08:45:07 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-06-01 08:50:12 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:182f:d616:6e75:8cf6)
2023-06-01 08:50:15 +0200 <Hecate> no no, do complain
2023-06-01 08:55:49 +0200gensyst(~gensyst@user/gensyst)
2023-06-01 08:57:24 +0200 <gensyst> I'm finding that putting "threadDelay 10000" right after performGC *makes a difference*. Without the delay, I notice things don't get fully cleaned up. This indicates that performGC is not blocking. Apparently it triggers GC in the background and returns right away.
2023-06-01 08:57:33 +0200 <gensyst> Is there no blocking version of this function?
2023-06-01 08:57:38 +0200 <gensyst> "Wait until GC complete"
2023-06-01 09:00:55 +0200 <probie> call it three times in a row (and possibly sacrifice a goat)
2023-06-01 09:02:29 +0200 <c_wraith> are you using the concurrent gc?
2023-06-01 09:03:31 +0200 <gensyst> c_wraith, how to find out? is that the default in 9.2.7 which I'm on?
2023-06-01 09:03:48 +0200 <c_wraith> it's not the default. You would have had to enable it
2023-06-01 09:06:35 +0200 <gensyst> i didn't do that.
2023-06-01 09:06:41 +0200 <gensyst> so what could this be then hmm
2023-06-01 09:10:09 +0200 <gensyst> ah never mind...
2023-06-01 09:10:30 +0200jonathan_(~jonathan@193.234.101.122)
2023-06-01 09:14:32 +0200 <gensyst> c_wraith, probie found a possible culprit: https://groups.google.com/g/fa.haskell/c/AvH4Vci6M6U
2023-06-01 09:14:44 +0200 <gensyst> search there for "At the moment performGC doesn't actually run any finalizers"
2023-06-01 09:14:52 +0200 <gensyst> however this is from 2004
2023-06-01 09:14:55 +0200 <gensyst> any changes since then?
2023-06-01 09:15:11 +0200 <gensyst> "I've been wondering whether having a more synchronous kind of finalizer would be a good thing."
2023-06-01 09:16:11 +0200nate2(~nate@98.45.169.16)
2023-06-01 09:20:57 +0200nate2(~nate@98.45.169.16) (Ping timeout: 250 seconds)
2023-06-01 09:26:01 +0200user____2(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
2023-06-01 09:27:10 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-06-01 09:28:26 +0200 <probie> What's a good name for `class Thing t where { map :: (f a -> g a) -> t f a -> t g a; lift :: f a -> t f a }` with the law `lift (f x) = map f (lift x)`?
2023-06-01 09:30:29 +0200puke(~puke@user/puke) (Ping timeout: 250 seconds)
2023-06-01 09:34:21 +0200 <c_wraith> probie: https://hackage.haskell.org/package/mmorph-1.2.0/docs/Control-Monad-Morph.html#t:MFunctor this doesn't document the law, as it doesn't actually require a MonadTrans instance.. But this is a relatively standard place for that to exist
2023-06-01 09:36:05 +0200mc47(~mc47@xmonad/TheMC47)
2023-06-01 09:40:45 +0200Maeda(~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving)
2023-06-01 09:44:36 +0200machinedgod(~machinedg@93-136-157-56.adsl.net.t-com.hr)
2023-06-01 09:59:43 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl)
2023-06-01 10:02:33 +0200 <probie> Possibly? The objects I'm actually talking about aren't monads though, just functors
2023-06-01 10:07:07 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
2023-06-01 10:12:22 +0200mmhat(~mmh@p200300f1c7066893ee086bfffe095315.dip0.t-ipconnect.de)
2023-06-01 10:12:24 +0200mmhat(~mmh@p200300f1c7066893ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-06-01 10:12:48 +0200cfricke(~cfricke@user/cfricke)
2023-06-01 10:17:04 +0200hugo(znc@verdigris.lysator.liu.se)
2023-06-01 10:20:52 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-06-01 10:27:23 +0200ubert1(~Thunderbi@2a02:8109:abc0:6434:83e3:5602:732:d8ea)
2023-06-01 10:28:13 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-06-01 10:29:33 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc) (Remote host closed the connection)
2023-06-01 10:29:53 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-06-01 10:30:22 +0200nschoe(~q@2a01:e0a:8e:a190:e52c:d7b9:b485:eb5f)
2023-06-01 10:37:00 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-06-01 10:42:30 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:adf5:88c1:b508:38b3)
2023-06-01 10:44:29 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Read error: Connection reset by peer)
2023-06-01 10:49:22 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-06-01 10:51:31 +0200m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 240 seconds)
2023-06-01 10:51:58 +0200m5zs7k(aquares@web10.mydevil.net)
2023-06-01 10:53:25 +0200machinedgod(~machinedg@93-136-157-56.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
2023-06-01 10:57:47 +0200kitzman(~kitzman@user/dekenevs) (Quit: C-x C-c)
2023-06-01 10:58:14 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2023-06-01 10:58:42 +0200kitzman(~kitzman@user/dekenevs)
2023-06-01 10:58:51 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-06-01 11:04:27 +0200 <ncf> probie: sounds like MonadTrans, except it doesn't have map
2023-06-01 11:04:37 +0200 <ncf> but most lawful instances do have it, i think?
2023-06-01 11:08:09 +0200 <ncf> i guess categorically what you're describing is a pointed endofunctor in a category of endofunctors
2023-06-01 11:08:52 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
2023-06-01 11:10:00 +0200 <ncf> or a pointed object in Endo(Endo(Hask))
2023-06-01 11:11:12 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-06-01 11:11:32 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:182f:d616:6e75:8cf6) (Ping timeout: 246 seconds)
2023-06-01 11:13:04 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Ping timeout: 248 seconds)
2023-06-01 11:17:08 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2023-06-01 11:17:12 +0200titibandit(~titibandi@user/titibandit)
2023-06-01 11:19:41 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:4aaa:c418:150d:dcc4)
2023-06-01 11:20:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-06-01 11:44:37 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2023-06-01 11:46:11 +0200Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
2023-06-01 11:47:34 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-06-01 11:48:52 +0200 <tom_> Should we default to deriving typeclasses or will this strategy lead to undesirable compile times?
2023-06-01 11:49:36 +0200 <dminuoso> tom_: What for?
2023-06-01 11:49:37 +0200chomwitt(~chomwitt@2a02:587:7a16:6700:1ac0:4dff:fedb:a3f1) (Ping timeout: 265 seconds)
2023-06-01 11:49:44 +0200 <dminuoso> And are you talking about Generic instances or not?
2023-06-01 11:50:35 +0200Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
2023-06-01 11:50:44 +0200 <tom_> Not generic
2023-06-01 11:50:52 +0200 <tom_> Lets just say Show and Read
2023-06-01 12:09:11 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
2023-06-01 12:10:24 +0200ubert(~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2023-06-01 12:10:24 +0200ubert1ubert
2023-06-01 12:10:27 +0200ub(~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
2023-06-01 12:14:37 +0200Albina_Pavlovna(~Albina_Pa@2603-7000-76f0-76e0-0ca5-d447-752c-ff89.res6.spectrum.com)
2023-06-01 12:15:07 +0200xff0x_(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds)
2023-06-01 12:17:42 +0200Pickchea(~private@user/pickchea)
2023-06-01 12:19:53 +0200user____2(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-06-01 12:20:48 +0200gensyst(~gensyst@user/gensyst) (Ping timeout: 250 seconds)
2023-06-01 12:21:10 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-06-01 12:23:25 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-06-01 12:32:49 +0200Albina_Pavlovna(~Albina_Pa@2603-7000-76f0-76e0-0ca5-d447-752c-ff89.res6.spectrum.com) (Quit: ZZZzzz…)
2023-06-01 12:36:36 +0200 <juri_> ok, bisect and test.. la la la...
2023-06-01 12:42:07 +0200user____2(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
2023-06-01 12:43:45 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2023-06-01 12:49:16 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-06-01 13:01:32 +0200user____2(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-06-01 13:03:58 +0200puke(~puke@user/puke)
2023-06-01 13:05:55 +0200user____2(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
2023-06-01 13:07:20 +0200user____2(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Client Quit)
2023-06-01 13:08:17 +0200user____2(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
2023-06-01 13:09:31 +0200 <lyxia> probie: it's a pointed functor in the category of functors (or indexed types if f and g are meant to have no structure) https://ncatlab.org/nlab/show/pointed+endofunctor
2023-06-01 13:11:19 +0200 <dminuoso> tom_: deriving Show/Read is very quick.
2023-06-01 13:11:40 +0200 <dminuoso> I would consider it negligable in most conceivable scenarios
2023-06-01 13:14:02 +0200xff0x_(~xff0x@ai098135.d.east.v6connect.net)
2023-06-01 13:14:17 +0200 <tomsmeding> dminuoso: https://downloads.haskell.org/ghc/latest/docs/users_guide/hints.html?highlight=sooner#sooner-produ… does say "don't derive Read if you don't need it"
2023-06-01 13:14:40 +0200 <tomsmeding> there is 0 reason not to derive Show if you can though
2023-06-01 13:15:30 +0200user____2gurkenglas
2023-06-01 13:17:40 +0200nate2(~nate@98.45.169.16)
2023-06-01 13:18:32 +0200 <dminuoso> Fair, for Read I can perhaps see why.
2023-06-01 13:18:43 +0200 <dminuoso> Though in my experience, Read is not a major factor.
2023-06-01 13:18:54 +0200 <dminuoso> Unless you generally write trivial code, dont involve in type heavy stuff, and dont use generics.
2023-06-01 13:19:19 +0200Zmzi(~rscastilh@189-82-108-215.user3p.veloxzone.com.br)
2023-06-01 13:19:20 +0200 <dminuoso> If compilation time is a concern in the first place, chances are you're meddling with tyfams or generics.
2023-06-01 13:20:07 +0200 <dminuoso> However, the main argument for `Read` is that its a really unnecessary and almost useless typeclass.
2023-06-01 13:20:31 +0200 <tomsmeding> yeah probably Read is "slow" only if you don't use the _actually_ slow things
2023-06-01 13:21:16 +0200jero98772(~jero98772@2800:484:1d7f:5d36::2)
2023-06-01 13:21:27 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 265 seconds)
2023-06-01 13:22:19 +0200nate2(~nate@98.45.169.16) (Ping timeout: 250 seconds)
2023-06-01 13:23:17 +0200 <dminuoso> My main annoyance with compilation time has been Generic really.
2023-06-01 13:23:37 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-06-01 13:23:44 +0200 <dminuoso> I think its an interface that is so heavily overused, TH is generally much better but breaks cross compilation.
2023-06-01 13:25:54 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-01 13:29:42 +0200 <tomsmeding> will the TH cross-compilation story get better when ghc at some point (soon (tm)) gets better multi-architecture support?
2023-06-01 13:29:56 +0200 <tomsmeding> hm I guess that's a tautology
2023-06-01 13:30:23 +0200titibandit(~titibandi@user/titibandit)
2023-06-01 13:33:45 +0200Zmzi(~rscastilh@189-82-108-215.user3p.veloxzone.com.br) (Remote host closed the connection)
2023-06-01 13:38:49 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-06-01 13:40:57 +0200__monty__(~toonn@user/toonn)
2023-06-01 13:43:31 +0200andscape(~andscape@2a02:2121:61a:783a:8720:8ec3:90b:fab6)
2023-06-01 13:54:08 +0200andscape(~andscape@2a02:2121:61a:783a:8720:8ec3:90b:fab6) (Read error: Connection reset by peer)
2023-06-01 14:02:28 +0200myme(~myme@2a01:799:d60:e400:a249:9a08:ca20:7690) (Ping timeout: 240 seconds)
2023-06-01 14:03:39 +0200myme(~myme@2a01:799:d60:e400:7281:f661:241c:ec7)
2023-06-01 14:04:42 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:4aaa:c418:150d:dcc4) (Quit: WeeChat 2.8)
2023-06-01 14:07:01 +0200jonathan_(~jonathan@193.234.101.122) (Remote host closed the connection)
2023-06-01 14:07:22 +0200jonathan_(~jonathan@193.234.101.122)
2023-06-01 14:08:12 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:3f8f:2686:3440:2158)
2023-06-01 14:15:34 +0200mcglk(~mcglk@131.191.19.145) (Remote host closed the connection)
2023-06-01 14:28:38 +0200dcleonarski(~user@2804:d51:4793:c800:b0e2:a2e8:89a0:4c46)
2023-06-01 14:30:57 +0200 <juri_> yay, quickcheck seems to generate better randomness, making trash of my property tests.
2023-06-01 14:31:18 +0200 <juri_> BOO, quickcheck seems to now generate better randomness, making trash of my property tests.
2023-06-01 14:31:30 +0200 <juri_> there goes my week.
2023-06-01 14:31:31 +0200 <Hecate> juri_: haha yeah I feel you
2023-06-01 14:34:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-06-01 14:35:59 +0200 <juri_> Hecate: my pain involves floating point, and geometry. let me show you my pain. :)
2023-06-01 14:36:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-06-01 14:36:41 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-06-01 14:37:15 +0200 <geekosaur> I think the invites will be for the new time, which starts next week?
2023-06-01 14:37:50 +0200hussam(~hussam@user/hussam) (Remote host closed the connection)
2023-06-01 14:38:11 +0200 <Hecate> juri_: show me your 🥖 !
2023-06-01 14:40:50 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 14:44:55 +0200titibandit(~titibandi@user/titibandit)
2023-06-01 15:01:17 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
2023-06-01 15:01:21 +0200accord(uid568320@id-568320.hampstead.irccloud.com)
2023-06-01 15:01:40 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 15:06:12 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-06-01 15:08:42 +0200chomwitt(~chomwitt@ppp-94-67-203-168.home.otenet.gr)
2023-06-01 15:13:08 +0200gurkenglas(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Quit: Lost terminal)
2023-06-01 15:13:37 +0200user____2(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
2023-06-01 15:14:20 +0200user____2gurkenglas
2023-06-01 15:16:01 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 240 seconds)
2023-06-01 15:18:23 +0200notzmv(~zmv@user/notzmv)
2023-06-01 15:23:48 +0200gurkenglas(~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-06-01 15:28:32 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-06-01 15:32:42 +0200n0den1te(~~.~@42.111.161.231)
2023-06-01 15:42:24 +0200n0den1te(~~.~@42.111.161.231) (Ping timeout: 248 seconds)
2023-06-01 15:43:58 +0200 <maralorn> I would like to hear opinions of people how you would name the forward composition operator "flip (.)". I know that some libs/languages use `.>`. My aim is to stay as idiomatic to traditional Haskell as possible. So the aim is to somehow be consistent with $, &, <$> et al.
2023-06-01 15:44:34 +0200Guest27(~Guest71@87-89-191-59.abo.bbox.fr)
2023-06-01 15:45:50 +0200 <maralorn> Additionally I am looking for a name for the forward fmap composition. e.g. `f .>> g = \x -> f x <&> g` would also love to have a consistent name for that.
2023-06-01 15:46:14 +0200 <maralorn> s/<$>/<&>/
2023-06-01 15:47:50 +0200 <monochrom> Control.Category.Category has >>> which covers flip(.) and other cases.
2023-06-01 15:49:09 +0200 <monochrom> The aim should not be consistency with $ &.
2023-06-01 15:49:40 +0200 <monochrom> Function composition should not be conflated with function application.
2023-06-01 15:49:41 +0200 <maralorn> True, but otoh >>> is a lot to type and two the more general type might lead to confusion.
2023-06-01 15:50:12 +0200 <monochrom> >>> incurs less hand movement than <$>.
2023-06-01 15:50:59 +0200 <monochrom> Experience with hard disks shows that seek time is 1000 times higher than hammer time.
2023-06-01 15:51:42 +0200 <maralorn> Okay, fair.
2023-06-01 15:52:34 +0200 <maralorn> Sadly: I want to write code like `stream & aTransformation >>> anotherTransformation` which doesn’t work because they have the same fixity …
2023-06-01 15:52:47 +0200 <maralorn> * Sadly: I want to write code like `stream & aTransformation >>> anotherTransformation` which doesn’t work because they have the same binding strength …
2023-06-01 15:53:17 +0200jonathan_(~jonathan@193.234.101.122) (Ping timeout: 246 seconds)
2023-06-01 15:53:27 +0200 <Guest27> Hey o/! I'm sorry if this is the wrong place for these questions. I am trying to follow the Haskellbook exercises and one of them is a vigenere cipher (rot but instead of a fixed offset, you use the caracters of a key to determine the offset of each letter of your ciphertext). I have the following solution: https://paste.tomsmeding.com/YKYwnMTI -
2023-06-01 15:53:27 +0200 <Guest27> where I return all my intermediary variables to get a better understanding. What I don't understand, is why the my "k" variable doesn't neatly follow the Char's of my key ("ALLY"). Instead, k gets assigned seemingly random elements of my key... My hunch is that this is related to execution order? But I'm confused :/...
2023-06-01 15:53:50 +0200 <monochrom> Does that mean (stream & aTransformation) >>> anotherTransformation? Or is it stream & (aTransformation >>> anotherTransformation)?
2023-06-01 15:54:14 +0200 <maralorn> monochrom: I would want the later.
2023-06-01 15:54:18 +0200 <monochrom> See, even if they had fixity, who could remember which way it is?
2023-06-01 15:54:26 +0200 <monochrom> I certainly can't.
2023-06-01 15:54:44 +0200 <monochrom> s/had fixity/had different fixity/
2023-06-01 15:55:19 +0200 <maralorn> It should behave exactly like $ and . but inverted.
2023-06-01 15:56:37 +0200 <monochrom> I can't remember fixity of $ and . either. I just always write (a . b . c) f
2023-06-01 15:56:55 +0200 <maralorn> So where you would write `f . g $ x` you write `x & g .> f`. It kinda reads weird for short functions but it makes sense for multiline expressions.
2023-06-01 15:57:07 +0200 <monochrom> I would write (a . b . c) $ f if $ were compulsory.
2023-06-01 15:57:18 +0200 <maralorn> monochrom: Well, $ always binds weaker than everything.
2023-06-01 15:57:50 +0200 <ncf> Guest27: reading backwards, you get ALLYAALLLYAL
2023-06-01 15:58:15 +0200 <ncf> so nothing unexpected, given that you used foldr and one of your branches keeps k:restOfKey, so you have duplication
2023-06-01 15:58:57 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-06-01 15:59:38 +0200 <monochrom> I can't remember the fixities of <*> and <|> either so I always write like (a <*> f) <|> (a' <*> f').
2023-06-01 15:59:49 +0200 <monochrom> Precendence levels are like endianness.
2023-06-01 16:00:41 +0200 <Guest27> Oooohhh! Right! It's reversed because of the foldr. Thanks!
2023-06-01 16:00:43 +0200 <maralorn> Yeah, at that point I would also opt-out of relying on precedence.^^
2023-06-01 16:00:47 +0200 <monochrom> Actually today in the unix & C course I will reveal to my students that x86 is small endian.
2023-06-01 16:01:06 +0200 <monochrom> I'm pretty sure many of them will ask "why would anyone on earth do this?!"
2023-06-01 16:01:46 +0200 <monochrom> I'm going to ask: How many of you crack your eggs at the small end? How many of you crack your eggs at the big end?
2023-06-01 16:01:56 +0200 <monochrom> And then "there is your answer".
2023-06-01 16:02:01 +0200 <Rembane> I'm cracking my eggs in the middle.
2023-06-01 16:02:11 +0200Rembanestares accusingly at US dates
2023-06-01 16:02:13 +0200ystael_ystael
2023-06-01 16:02:21 +0200 <geekosaur> US dates are psycho endian
2023-06-01 16:03:10 +0200 <Rembane> http://www.catb.org/jargon/html/M/middle-endian.html
2023-06-01 16:03:18 +0200 <Rembane> Indeed
2023-06-01 16:03:40 +0200 <Hecate> geekosaur: hahaha
2023-06-01 16:03:59 +0200jonathan_(~jonathan@193.234.101.122)
2023-06-01 16:05:16 +0200 <monochrom> Hey thanks for the idea, I'll bring up d-m-y vs m-d-y vs y-m-d too!
2023-06-01 16:06:21 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-06-01 16:07:27 +0200 <Rembane> Sweet! :D
2023-06-01 16:08:30 +0200 <merijn> I still want to one day have the time to work on my maximally malicious C compiler
2023-06-01 16:09:04 +0200 <merijn> i.e. standard compliant, but making the evillest possible choice where possible
2023-06-01 16:09:44 +0200 <maralorn> by the way: <&> also specializes to flip (.), but that’s also super confusing …
2023-06-01 16:09:51 +0200 <Rembane> merijn: So no undefined behaviour, only evil behaviour?
2023-06-01 16:09:52 +0200 <monochrom> First you need to work on any compliant compiler at all. >:)
2023-06-01 16:12:14 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-06-01 16:17:54 +0200Guest27(~Guest71@87-89-191-59.abo.bbox.fr) (Quit: Client closed)
2023-06-01 16:18:48 +0200acidjnk(~acidjnk@p200300d6e7072f91d93d35c03e1f2ae2.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-06-01 16:19:37 +0200 <merijn> monochrom: ssh
2023-06-01 16:22:18 +0200acidjnk(~acidjnk@p200300d6e7072f91bd07055d1bf35105.dip0.t-ipconnect.de)
2023-06-01 16:25:10 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-01 16:32:05 +0200CalculusCatsCalculusCat
2023-06-01 16:35:03 +0200oo_miguel(~Thunderbi@77.252.47.84)
2023-06-01 16:42:02 +0200boukenshaou(~Boukensha@223.178.84.62)
2023-06-01 16:44:16 +0200motherfsck(~motherfsc@user/motherfsck)
2023-06-01 16:44:56 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 265 seconds)
2023-06-01 16:50:58 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-06-01 16:51:49 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:3f8f:2686:3440:2158) (Quit: WeeChat 2.8)
2023-06-01 16:54:03 +0200gensyst(~gensyst@user/gensyst)
2023-06-01 16:57:59 +0200vandita(~vandit@92-249-182-120.pool.digikabel.hu) (Ping timeout: 265 seconds)
2023-06-01 16:58:28 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 265 seconds)
2023-06-01 16:59:14 +0200vandita(~vandit@84-236-3-86.pool.digikabel.hu)
2023-06-01 17:00:02 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-06-01 17:00:29 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2023-06-01 17:01:04 +0200 <gensyst> Simon Marlow writes here: https://groups.google.com/g/fa.haskell/c/AvH4Vci6M6U
2023-06-01 17:01:04 +0200 <gensyst> "At the moment performGC doesn't actually run any finalizers. It schedules a thread to run the finalizers, and you hope the thread runs soon."
2023-06-01 17:01:04 +0200 <gensyst> This was in 2004. Apparently this is still true (as shown by threadDelay 10000 after performGC making a difference).
2023-06-01 17:01:06 +0200 <gensyst> Is there still really no way of reliably *waiting* until performGC finishes fully?
2023-06-01 17:01:18 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-06-01 17:01:36 +0200Pickchea(~private@user/pickchea)
2023-06-01 17:04:16 +0200biberu(~biberu@user/biberu) (Ping timeout: 265 seconds)
2023-06-01 17:04:37 +0200jonathan_(~jonathan@193.234.101.122) (Ping timeout: 250 seconds)
2023-06-01 17:06:45 +0200Sgeo(~Sgeo@user/sgeo)
2023-06-01 17:08:50 +0200 <merijn> Define "performGC finishes"
2023-06-01 17:11:02 +0200biberu(~biberu@user/biberu)
2023-06-01 17:12:07 +0200kilolympus(~kilolympu@213.144.144.24) (Ping timeout: 240 seconds)
2023-06-01 17:13:48 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
2023-06-01 17:13:51 +0200 <kuribas> Is there something like a conditional monoid?
2023-06-01 17:14:00 +0200 <kuribas> m -> m -> Maybe m?
2023-06-01 17:15:23 +0200 <gensyst> merijn, wait until performGC ends up with the same thing as performGC >> threadDelay veryLongTime - so that I no longer have to wait this veryLongTime.
2023-06-01 17:17:26 +0200 <merijn> gensyst: I don't understand what you mean, by that
2023-06-01 17:18:03 +0200 <merijn> GC is done as soon as performGC finishes
2023-06-01 17:18:33 +0200 <gensyst> merijn, hmm.. but not according to this i got on #ghc
2023-06-01 17:18:35 +0200 <gensyst> <adamse> .net has a funtion run all pending finalizers. i think ghc should and could have this too. but there is nothing currently
2023-06-01 17:18:39 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Ping timeout: 256 seconds)
2023-06-01 17:18:44 +0200 <merijn> gensyst: Finalizers are *not* part of GC
2023-06-01 17:18:58 +0200 <merijn> gensyst: That was sorta my point
2023-06-01 17:19:10 +0200nate2(~nate@98.45.169.16)
2023-06-01 17:19:35 +0200 <merijn> "is there a way to wait for finalizers to finish?" and is a seperate question from "wait until GC is finished"
2023-06-01 17:19:43 +0200 <merijn> s/and is/is
2023-06-01 17:20:04 +0200 <dolio> Partial monoids are categories.
2023-06-01 17:20:06 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-06-01 17:20:20 +0200 <gensyst> ok thanks for clarifying
2023-06-01 17:21:27 +0200 <merijn> gensyst: Probably a "perform GC *and* finalizers" function would nice, but I don't think we should modify the meaning of performGC
2023-06-01 17:21:52 +0200 <merijn> gensyst: tbh, if you're a bit handy with C it's probably not even *that* difficult to extend the RTS with a "wait for finalizers" API
2023-06-01 17:23:37 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-06-01 17:26:58 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2023-06-01 17:34:07 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
2023-06-01 17:38:57 +0200 <yin> is there a widely used `interactIO :: (String -> IO String) -> IO ()` or did i dream it?
2023-06-01 17:39:16 +0200 <kuribas> dolio: how so?
2023-06-01 17:41:06 +0200 <dolio> kuribas: It's one of the ways of defining a category. The composition of arrows is a partial binary operation that is associative and with a unit. The objects of a category tell you which arrows will successfully compose.
2023-06-01 17:41:35 +0200 <dolio> Saying it's a partial binary operation instead is an objectless way of specifying the same thing.
2023-06-01 17:42:36 +0200 <dolio> It does have some well-behavedness rules. Like, composing with the unit always succeeds, and reassociating doesn't change well-definedness.
2023-06-01 17:43:03 +0200 <c_wraith> yin: seems unlikely... For one, you'd lose the laziness that interact has. For another, once you have IO, you can do output in more controlled ways anyway...
2023-06-01 17:44:06 +0200ub1(~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
2023-06-01 17:44:07 +0200ub(~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-06-01 17:45:07 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-06-01 17:46:23 +0200ub1ub
2023-06-01 17:48:40 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
2023-06-01 17:49:22 +0200phma__phma
2023-06-01 17:50:16 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
2023-06-01 17:52:04 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2023-06-01 17:54:14 +0200kilolympus(~kilolympu@213.144.144.24)
2023-06-01 17:55:28 +0200Zmzi(~rscastilh@189-82-108-215.user3p.veloxzone.com.br)
2023-06-01 17:56:15 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 18:01:57 +0200Adran(adran@botters/adran) (Ping timeout: 256 seconds)
2023-06-01 18:04:40 +0200 <EvanR> clarify, GC is done as soon as performGC finishes. In the sense that GC is performed at that time, or GC has finished by that time
2023-06-01 18:05:22 +0200 <EvanR> done vs done
2023-06-01 18:05:26 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
2023-06-01 18:06:23 +0200Zmzi(~rscastilh@189-82-108-215.user3p.veloxzone.com.br) (Remote host closed the connection)
2023-06-01 18:08:24 +0200Zmzi(~rscastilh@189-82-108-215.user3p.veloxzone.com.br)
2023-06-01 18:14:26 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-06-01 18:20:38 +0200nschoe(~q@2a01:e0a:8e:a190:e52c:d7b9:b485:eb5f) (Ping timeout: 265 seconds)
2023-06-01 18:28:04 +0200acro(~acro@user/acro) (Quit: Bye.)
2023-06-01 18:28:04 +0200ouroboros(~ouroboros@user/ouroboros) (Quit: Bye.)
2023-06-01 18:28:32 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-01 18:28:35 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl)
2023-06-01 18:28:59 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-01 18:29:58 +0200acro(~acro@user/acro)
2023-06-01 18:31:38 +0200Adran(~adran@botters/adran)
2023-06-01 18:31:47 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-01 18:32:43 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
2023-06-01 18:33:00 +0200ouroboros(~ouroboros@user/ouroboros)
2023-06-01 18:41:16 +0200Zmzi(~rscastilh@189-82-108-215.user3p.veloxzone.com.br) (Remote host closed the connection)
2023-06-01 18:43:33 +0200ddellacosta(~ddellacos@143.244.47.85) (Quit: WeeChat 3.8)
2023-06-01 18:47:23 +0200 <ncf> dolio: so the unit of the monoid serves as a polymorphic id?
2023-06-01 18:47:46 +0200 <ncf> that seems at odds with how you'd think of a category as a partial monoid, by forgetting objects
2023-06-01 18:47:48 +0200 <dolio> Yeah. That's another sort of discrepancy.
2023-06-01 18:47:55 +0200ouroboros(~ouroboros@user/ouroboros) (Quit: Bye.)
2023-06-01 18:47:55 +0200acro(~acro@user/acro) (Quit: Bye.)
2023-06-01 18:48:04 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-06-01 18:48:20 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-06-01 18:48:34 +0200acro(~acro@user/acro)
2023-06-01 18:49:05 +0200ouroboros(~ouroboros@user/ouroboros)
2023-06-01 18:49:19 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 256 seconds)
2023-06-01 18:50:04 +0200 <EvanR> category = a bunch of magic lego
2023-06-01 18:53:05 +0200 <dolio> Partial monoid might be a little more restrictive than categories, if you can't make sense of a universal identity like thing.
2023-06-01 18:54:57 +0200 <dolio> The fix is to make the identity operation a pair of mappings on arrows that correspond to 'domain' and 'codomain' maps on the arrows+objects version. But instead the mapping takes an arrow to 'the identity for the (co)domain'.
2023-06-01 18:55:09 +0200acro(~acro@user/acro) (Quit: Bye.)
2023-06-01 18:55:09 +0200ouroboros(~ouroboros@user/ouroboros) (Quit: Bye.)
2023-06-01 18:56:43 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
2023-06-01 18:57:12 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-06-01 18:59:10 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 18:59:52 +0200 <ncf> not sure i see how that would work
2023-06-01 18:59:59 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-06-01 19:02:32 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2023-06-01 19:04:13 +0200 <dolio> So, like, the usual definition of an internal category is that you have C₁ → C₀ × C₀ reporting the (co)domains of each arrow, and C₀ → C₁ giving the identity arrow, and then a composition operation involving some pullback, right?
2023-06-01 19:04:32 +0200econo(uid147250@user/econo)
2023-06-01 19:06:28 +0200 <dolio> But, given those first two arrows, you can get a map C₁ → C₁ × C₁ that gives you both identity arrows instead. And instead of the arrows involving a pullback, you have a partial map C₁ × C₁ → C₁.
2023-06-01 19:08:14 +0200 <ncf> right
2023-06-01 19:08:26 +0200 <ncf> using identities as representatives for objects
2023-06-01 19:08:48 +0200 <dolio> Yeah, that's how you get the object version back out. The objects correspond to identity arrows.
2023-06-01 19:14:46 +0200 <dolio> There's other conditions, too. Like, the identities map should just be the diagonal on identities. Although you can throw that out and get really weird structures.
2023-06-01 19:15:19 +0200barcisz(~barcisz@83.6.194.51.ipv4.supernova.orange.pl)
2023-06-01 19:15:34 +0200 <dolio> Like, where you can have sort of infinite dimensional things where you can always ask for the boundaries, but they never have to bottom out anywhere.
2023-06-01 19:16:27 +0200nschoe(~q@2a01:e0a:8e:a190:cdde:1915:5897:15a1)
2023-06-01 19:16:40 +0200titibandit(~titibandi@user/titibandit)
2023-06-01 19:18:01 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-06-01 19:19:07 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
2023-06-01 19:20:07 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-06-01 19:21:03 +0200jero98772(~jero98772@2800:484:1d7f:5d36::2) (Ping timeout: 256 seconds)
2023-06-01 19:21:05 +0200machinedgod(~machinedg@93-136-157-56.adsl.net.t-com.hr)
2023-06-01 19:24:35 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
2023-06-01 19:27:50 +0200vandita(~vandit@84-236-3-86.pool.digikabel.hu) (Ping timeout: 268 seconds)
2023-06-01 19:29:02 +0200vandita(~vandit@188-143-101-95.pool.digikabel.hu)
2023-06-01 19:34:21 +0200jero98772(~jero98772@2800:484:1d7f:5d36::2)
2023-06-01 19:34:39 +0200acidjnk(~acidjnk@p200300d6e7072f91bd07055d1bf35105.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-06-01 19:37:34 +0200 <oo_miguel> how do I manually set/override compilation flags for libraries used within my stack project?
2023-06-01 19:38:44 +0200 <oo_miguel> ah ok, found it
2023-06-01 19:39:04 +0200 <sm> https://docs.haskellstack.org/en/stable/GUIDE/#cabal-flag-management sort of thing ?
2023-06-01 19:39:29 +0200 <oo_miguel> seems I can put a flags: directive in stack.yaml
2023-06-01 19:39:41 +0200 <sm> yup
2023-06-01 19:39:44 +0200 <oo_miguel> e.g. flags: cryptonite : support_aesni: false...
2023-06-01 19:40:09 +0200 <oo_miguel> that's what I was looking for, thanks
2023-06-01 19:40:41 +0200accord(uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-06-01 19:44:08 +0200zincy(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
2023-06-01 19:44:18 +0200tom_(~tom@host81-151-255-71.range81-151.btcentralplus.com) (Remote host closed the connection)
2023-06-01 19:46:38 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-01 19:50:01 +0200ouroboros(~ouroboros@user/ouroboros)
2023-06-01 19:50:31 +0200acro(~acro@user/acro)
2023-06-01 19:52:17 +0200ubert(~Thunderbi@2a02:8109:abc0:6434:83e3:5602:732:d8ea) (Quit: ubert)
2023-06-01 19:52:17 +0200ububert
2023-06-01 19:53:53 +0200cheater_(~Username@user/cheater)
2023-06-01 19:56:37 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-06-01 19:56:38 +0200cheater_cheater
2023-06-01 19:56:51 +0200acidjnk(~acidjnk@p200300d6e7072f9160194c065beb1fb8.dip0.t-ipconnect.de)
2023-06-01 19:59:38 +0200barcisz(~barcisz@83.6.194.51.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-06-01 20:05:01 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-06-01 20:10:57 +0200 <jean-paul[m]> is there a program I can run with two versions of my library and have it tell me which version number to bump in my PVP version?
2023-06-01 20:11:49 +0200 <jean-paul[m]> (if one is the older and one is the newer)
2023-06-01 20:14:08 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
2023-06-01 20:17:08 +0200mcglk(~mcglk@131.191.19.145)
2023-06-01 20:26:15 +0200ouroboros(~ouroboros@user/ouroboros) (Quit: Bye.)
2023-06-01 20:26:15 +0200acro(~acro@user/acro) (Quit: Bye.)
2023-06-01 20:30:53 +0200jero98772(~jero98772@2800:484:1d7f:5d36::2) (Ping timeout: 250 seconds)
2023-06-01 20:42:44 +0200machinedgod(~machinedg@93-136-157-56.adsl.net.t-com.hr) (Ping timeout: 265 seconds)
2023-06-01 20:42:51 +0200jero98772(~jero98772@2800:484:1d7f:5d36::2)
2023-06-01 20:47:37 +0200thegeekinside(~thegeekin@189.180.15.129) (Ping timeout: 240 seconds)
2023-06-01 20:48:24 +0200thegeekinside(~thegeekin@189.180.15.129)
2023-06-01 20:49:42 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-06-01 20:49:58 +0200mei(~mei@user/mei) (Remote host closed the connection)
2023-06-01 20:52:23 +0200mei(~mei@user/mei)
2023-06-01 20:56:24 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 20:56:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
2023-06-01 20:57:32 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-ecff-1d00-7536-50f0.rev.sfr.net)
2023-06-01 20:59:15 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
2023-06-01 21:06:56 +0200gensyst(~gensyst@user/gensyst) (Quit: Leaving)
2023-06-01 21:09:53 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
2023-06-01 21:14:42 +0200michalz(~michalz@185.246.204.73) (Remote host closed the connection)
2023-06-01 21:15:25 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
2023-06-01 21:20:40 +0200nate2(~nate@98.45.169.16)
2023-06-01 21:21:02 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-06-01 21:21:17 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 21:25:45 +0200nate2(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2023-06-01 21:28:07 +0200CalculusCatCalculusCats
2023-06-01 21:28:10 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
2023-06-01 21:28:34 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 21:38:08 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds)
2023-06-01 21:40:00 +0200machinedgod(~machinedg@93-136-157-56.adsl.net.t-com.hr)
2023-06-01 21:48:28 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de)
2023-06-01 21:51:07 +0200barcisz(~barcisz@83.6.194.51.ipv4.supernova.orange.pl)
2023-06-01 21:51:49 +0200titibandit(~titibandi@user/titibandit)
2023-06-01 21:51:55 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-06-01 21:55:37 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
2023-06-01 21:58:25 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2023-06-01 22:06:07 +0200vandita(~vandit@188-143-101-95.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-06-01 22:06:28 +0200Zmzi(~rscastilh@user/Zmzi)
2023-06-01 22:07:48 +0200Zmzi(~rscastilh@user/Zmzi) (Remote host closed the connection)
2023-06-01 22:07:58 +0200vandita(~vandit@77-234-80-251.pool.digikabel.hu)
2023-06-01 22:10:16 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-01 22:15:55 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
2023-06-01 22:20:32 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Ping timeout: 250 seconds)
2023-06-01 22:24:23 +0200boukenshaou(~Boukensha@223.178.84.62) (Quit: Leaving)
2023-06-01 22:24:37 +0200boukenshaou(~Boukensha@223.178.84.62)
2023-06-01 22:25:15 +0200boukenshaou(~Boukensha@223.178.84.62) (Remote host closed the connection)
2023-06-01 22:26:07 +0200myxos(~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection)
2023-06-01 22:26:07 +0200myxokeph(~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection)
2023-06-01 22:27:30 +0200chomwitt(~chomwitt@ppp-94-67-203-168.home.otenet.gr) (Remote host closed the connection)
2023-06-01 22:28:03 +0200gmg(~user@user/gehmehgeh)
2023-06-01 22:30:56 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
2023-06-01 22:34:37 +0200malte(~malte@mal.tc) (Ping timeout: 240 seconds)
2023-06-01 22:34:43 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Remote host closed the connection)
2023-06-01 22:35:09 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-01 22:36:24 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-06-01 22:36:46 +0200nschoe(~q@2a01:e0a:8e:a190:cdde:1915:5897:15a1) (Quit: Switching off)
2023-06-01 22:38:07 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-06-01 22:41:28 +0200michalz(~michalz@185.246.204.89)
2023-06-01 22:42:03 +0200barcisz(~barcisz@83.6.194.51.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-06-01 22:42:11 +0200myxos(~myxos@cpe-65-28-251-121.cinci.res.rr.com)
2023-06-01 22:46:32 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
2023-06-01 22:49:02 +0200malte(~malte@mal.tc)
2023-06-01 22:54:18 +0200trev(~trev@user/trev) (Quit: trev)
2023-06-01 22:54:57 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-06-01 22:58:13 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 250 seconds)
2023-06-01 22:58:20 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-06-01 22:58:28 +0200jargon(~jargon@184.101.77.79)
2023-06-01 23:06:10 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-ecff-1d00-7536-50f0.rev.sfr.net) (Remote host closed the connection)
2023-06-01 23:07:12 +0200Pickchea(~private@user/pickchea)
2023-06-01 23:08:03 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-a5ba-1479-0efa-11e0.rev.sfr.net) (Quit: WeeChat 3.8)
2023-06-01 23:09:59 +0200reach(~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 256 seconds)
2023-06-01 23:12:19 +0200acro(~acro@user/acro)
2023-06-01 23:12:50 +0200ouroboros(~ouroboros@user/ouroboros)
2023-06-01 23:16:27 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-06-01 23:20:37 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-06-01 23:23:34 +0200 <sm> can our printf elide the decimal places of a Float when they are 0 ?
2023-06-01 23:23:56 +0200 <sm> ie, not show a trailing .0 ?
2023-06-01 23:25:45 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-06-01 23:26:24 +0200michalz(~michalz@185.246.204.89) (Remote host closed the connection)
2023-06-01 23:28:22 +0200 <geekosaur> > printf "%g" 0.2 :: String
2023-06-01 23:28:24 +0200 <lambdabot> "0.2"
2023-06-01 23:28:50 +0200 <geekosaur> note that if you specify a precision you are explicitly saying to print trailing zeroes
2023-06-01 23:28:58 +0200 <geekosaur> > printf "%.5g" 0.2 :: String
2023-06-01 23:29:00 +0200 <lambdabot> "0.20000"
2023-06-01 23:29:07 +0200pavonia(~user@user/siracusa)
2023-06-01 23:29:28 +0200 <geekosaur> but I think you always get .0
2023-06-01 23:29:41 +0200 <geekosaur> > printf "%g" 2.0 :: String
2023-06-01 23:29:43 +0200 <lambdabot> "2.0"
2023-06-01 23:37:39 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
2023-06-01 23:42:02 +0200 <EvanR> calling bullshit
2023-06-01 23:42:23 +0200 <EvanR> > printf "%.40g" 0.2
2023-06-01 23:42:24 +0200 <lambdabot> error:
2023-06-01 23:42:24 +0200 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M644110186260...
2023-06-01 23:42:24 +0200 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2023-06-01 23:42:28 +0200 <EvanR> > printf "%.40g" 0.2 :: String
2023-06-01 23:42:29 +0200 <lambdabot> "0.2000000000000000000000000000000000000000"
2023-06-01 23:42:34 +0200 <EvanR> > printf "%.80g" 0.2 :: String
2023-06-01 23:42:35 +0200 <lambdabot> "0.2000000000000000000000000000000000000000000000000000000000000000000000000...
2023-06-01 23:42:44 +0200 <EvanR> rageface
2023-06-01 23:43:20 +0200 <geekosaur> it's exact in binary 🙂
2023-06-01 23:44:32 +0200 <EvanR> printf is ruby for that gives 0.20000000000000001110223024625156540423631668090820312 for some reason
2023-06-01 23:44:35 +0200 <EvanR> in ruby
2023-06-01 23:45:06 +0200acro(~acro@user/acro) (Quit: Bye.)
2023-06-01 23:45:07 +0200ouroboros(~ouroboros@user/ouroboros) (Quit: Bye.)
2023-06-01 23:45:19 +0200 <geekosaur> I don't think those digits are even in the range of a Double's mantissa
2023-06-01 23:45:35 +0200 <EvanR> >1/5 in binary notation is 0.001100110011… repeating 0011 ad infinity
2023-06-01 23:45:59 +0200 <EvanR> no but when you convert the exact value of a Double to decimal you can a lot of additional digits
2023-06-01 23:46:20 +0200 <geekosaur> but the mantissa is 1.0 in base 2
2023-06-01 23:46:29 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-710f-b3ed-443f-ba6d.rev.sfr.net)
2023-06-01 23:46:41 +0200 <geekosaur> hm
2023-06-01 23:46:56 +0200 <EvanR> a fifth in base two
2023-06-01 23:47:00 +0200 <geekosaur> keep in mind that the mantissa floats (hence floating point)
2023-06-01 23:48:40 +0200 <EvanR> > printf "%.80g" 0.1 :: String
2023-06-01 23:48:42 +0200 <lambdabot> "0.1000000000000000000000000000000000000000000000000000000000000000000000000...
2023-06-01 23:48:58 +0200 <EvanR> instead of
2023-06-01 23:49:01 +0200 <EvanR> 0.1000000000000000055511151231257827021181583404541015625
2023-06-01 23:49:03 +0200 <dolio> Presumably printf uses the same algorithm that Show uses, which finds the shortest string that will read back into the same number, and fills in with 0s if you demand precision.
2023-06-01 23:49:23 +0200 <geekosaur> oh, bitten by decimal vs. binary, sigh
2023-06-01 23:49:29 +0200 <geekosaur> > decodeFloat 0.2
2023-06-01 23:49:30 +0200 <lambdabot> (7205759403792794,-55)
2023-06-01 23:49:46 +0200 <EvanR> > decodeFloat 0.5
2023-06-01 23:49:48 +0200 <lambdabot> (4503599627370496,-53)
2023-06-01 23:49:57 +0200 <EvanR> hard to tell what's exact or not from that xD
2023-06-01 23:50:00 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-01 23:50:21 +0200acro(~acro@user/acro)
2023-06-01 23:50:52 +0200ouroboros(~ouroboros@user/ouroboros)
2023-06-01 23:51:16 +0200 <EvanR> I'll ignore the facts and show the haskell behavior to a python person who will conclude haskell is more accurate with the floats
2023-06-01 23:51:21 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-710f-b3ed-443f-ba6d.rev.sfr.net)
2023-06-01 23:51:24 +0200 <EvanR> to get more followers
2023-06-01 23:54:27 +0200 <dolio> I think this might be the paper: https://dl.acm.org/doi/pdf/10.1145/249069.231397
2023-06-01 23:54:49 +0200 <jean-paul[m]> stare too deeply into the abyss and risk the abyss staring back into you
2023-06-01 23:55:25 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
2023-06-01 23:55:28 +0200machinedgod(~machinedg@93-136-157-56.adsl.net.t-com.hr) (Ping timeout: 268 seconds)
2023-06-01 23:56:57 +0200 <EvanR> in godot the default AND printf "%.80g" behavior for floats can display the same string even if the floats are different values. The strategy in that paper would not do that right
2023-06-01 23:57:17 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-710f-b3ed-443f-ba6d.rev.sfr.net) (Remote host closed the connection)
2023-06-01 23:57:22 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-01 23:57:34 +0200 <EvanR> i.e. 0.1 and 0.1 plus 1 ULP would display as 0.1
2023-06-01 23:57:52 +0200 <geekosaur> > logBase 2 4503599627370496
2023-06-01 23:57:53 +0200 <lambdabot> 52.0
2023-06-01 23:58:25 +0200 <dolio> Well, yes, if you want printing to remove precision, then using an algorithm that ensures precision is not going to do it.
2023-06-01 23:58:26 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-710f-b3ed-443f-ba6d.rev.sfr.net)
2023-06-01 23:58:36 +0200 <EvanR> good