Home liberachat/#haskell: Logs Calendar

Logs on 2023-06-01 (liberachat/#haskell)

00:05:37 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
00:09:22 byte` is now known as byte
00:16:08 <juri_> Axman6: haven't determined which dependency yet.
00:16:09 Deide joins (~deide@user/deide)
00:16:09 ormaaaj joins (~ormaaj@user/ormaaj)
00:18:39 emmanuelux joins (~emmanuelu@user/emmanuelux)
00:21:04 ners[m] joins (~nersnixos@2001:470:69fc:105::3:648b)
00:31:12 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
00:32:32 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:32:32 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:32:32 wroathe joins (~wroathe@user/wroathe)
00:40:07 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
00:55:50 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
00:57:17 zaquest joins (~notzaques@5.130.79.72)
01:01:18 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
01:10:27 × thegeekinside quits (~thegeekin@189.180.38.64) (Ping timeout: 250 seconds)
01:10:32 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:10:46 jjanzen joins (~jjanzen@user/jjanzen)
01:10:53 thegeekinside joins (~thegeekin@189.180.15.129)
01:16:38 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:19:13 × troydm quits (~troydm@user/troydm) (Ping timeout: 265 seconds)
01:23:37 nate2 joins (~nate@98.45.169.16)
01:24:25 × jjanzen quits (~jjanzen@user/jjanzen) (Remote host closed the connection)
01:28:07 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
01:32:41 troydm joins (~troydm@user/troydm)
01:39:58 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc)
01:44:21 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc) (Ping timeout: 256 seconds)
01:55:34 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
02:02:13 × vandita quits (~vandit@92-249-193-48.pool.digikabel.hu) (Ping timeout: 268 seconds)
02:03:42 vandita joins (~vandit@80-95-82-30.pool.digikabel.hu)
02:03:43 Guest72 joins (~Guest72@177.129.229.127)
02:04:16 × Guest72 quits (~Guest72@177.129.229.127) (Client Quit)
02:07:37 × xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds)
02:10:06 reach joins (~reach@cpe30b7d4bc76e3-cm30b7d4bc76e0.cpe.net.cable.rogers.com)
02:11:37 foul_owl joins (~kerry@71.212.137.212)
02:16:07 nate2 joins (~nate@98.45.169.16)
02:16:34 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc)
02:23:07 × reach quits (~reach@cpe30b7d4bc76e3-cm30b7d4bc76e0.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
02:30:45 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
02:43:12 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds)
02:44:12 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:44:12 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:44:12 finn_elija is now known as FinnElija
02:52:29 oak- joins (~oak-@2001:470:69fc:105::fcd)
02:53:21 Batzy joins (~quassel@user/batzy)
02:55:23 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc) (Remote host closed the connection)
02:55:37 xff0x_ joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:57:29 × td_ quits (~td@i53870935.versanet.de) (Ping timeout: 250 seconds)
02:58:30 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc)
02:59:31 td_ joins (~td@i5387091E.versanet.de)
03:01:29 motherfsck joins (~motherfsc@user/motherfsck)
03:03:15 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Remote host closed the connection)
03:19:05 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
03:22:05 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
03:24:54 Fischmiep joins (~Fischmiep@user/Fischmiep)
03:25:08 img joins (~img@user/img)
03:45:59 haasn` joins (~nand@haasn.dev)
04:00:04 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
04:00:26 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
04:08:08 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 240 seconds)
04:13:14 × [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
04:16:48 ub joins (~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
04:17:59 × phma quits (~phma@2001:5b0:2143:ed58:27b1:77ae:44a6:25c1) (Read error: Connection reset by peer)
04:18:29 × ubert quits (~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
04:18:29 ub is now known as ubert
04:18:55 phma joins (~phma@2001:5b0:210b:91a8:aa36:cb59:278d:999d)
04:21:21 [Leary] joins (~Leary]@user/Leary/x-0910699)
04:28:55 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 250 seconds)
04:30:50 × rembo10 quits (~rembo10@main.remulis.com) (Ping timeout: 268 seconds)
04:30:50 × Everything quits (~Everythin@static.208.206.21.65.clients.your-server.de) (Ping timeout: 268 seconds)
04:31:01 Everything joins (~Everythin@static.208.206.21.65.clients.your-server.de)
04:31:07 rembo10 joins (~rembo10@main.remulis.com)
04:33:45 × jargon quits (~jargon@184.101.77.79) (Remote host closed the connection)
04:37:38 notzmv joins (~zmv@user/notzmv)
04:45:30 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:46:56 trev joins (~trev@user/trev)
04:50:09 × vandita quits (~vandit@80-95-82-30.pool.digikabel.hu) (Ping timeout: 250 seconds)
04:51:52 vandita joins (~vandit@92-249-182-120.pool.digikabel.hu)
04:57:41 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
04:59:33 × turlando quits (~turlando@user/turlando) (Read error: Connection reset by peer)
05:04:00 turlando joins (~turlando@user/turlando)
05:07:21 × hisa38 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 265 seconds)
05:07:44 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
05:09:47 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
05:11:23 motherfsck joins (~motherfsc@user/motherfsck)
05:23:16 chomwitt joins (~chomwitt@2a02:587:7a16:6700:1ac0:4dff:fedb:a3f1)
05:26:17 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
05:31:32 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
05:33:45 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
05:35:51 Maeda joins (~Maeda@91-161-10-149.subs.proxad.net)
05:45:42 radioredwagon joins (radioredwa@user/radioredwagon)
05:47:37 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
06:00:02 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
06:00:18 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
06:01:49 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:01:57 × _xor quits (~xor@nw-esr1-72-49-97-201.fuse.net) (Quit: brb/bbiab)
06:11:29 mncheck joins (~mncheck@193.224.205.254)
06:12:24 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
06:17:09 × radioredwagon quits (radioredwa@user/radioredwagon) (Quit: Client closed)
06:28:41 phma_ joins (~phma@host-67-44-208-61.hnremote.net)
06:31:14 phma__ joins (phma@2001:5b0:210b:91a8:aa36:cb59:278d:999d)
06:31:31 × phma quits (~phma@2001:5b0:210b:91a8:aa36:cb59:278d:999d) (Ping timeout: 240 seconds)
06:33:06 acidjnk joins (~acidjnk@p200300d6e7072f91d93d35c03e1f2ae2.dip0.t-ipconnect.de)
06:34:31 × phma_ quits (~phma@host-67-44-208-61.hnremote.net) (Ping timeout: 240 seconds)
06:40:03 michalz joins (~michalz@185.246.204.73)
06:40:30 chele joins (~chele@user/chele)
06:42:10 × hsw quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection)
06:42:22 hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
06:44:26 <dy> Urgh
06:44:33 <dy> Wait wrong channkx
06:45:07 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
06:50:12 lortabac joins (~lortabac@2a01:e0a:541:b8f0:182f:d616:6e75:8cf6)
06:50:15 <Hecate> no no, do complain
06:55:49 gensyst joins (~gensyst@user/gensyst)
06:57:24 <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.
06:57:33 <gensyst> Is there no blocking version of this function?
06:57:38 <gensyst> "Wait until GC complete"
07:00:55 <probie> call it three times in a row (and possibly sacrifice a goat)
07:02:29 <c_wraith> are you using the concurrent gc?
07:03:31 <gensyst> c_wraith, how to find out? is that the default in 9.2.7 which I'm on?
07:03:48 <c_wraith> it's not the default. You would have had to enable it
07:06:35 <gensyst> i didn't do that.
07:06:41 <gensyst> so what could this be then hmm
07:10:09 <gensyst> ah never mind...
07:10:30 jonathan_ joins (~jonathan@193.234.101.122)
07:14:32 <gensyst> c_wraith, probie found a possible culprit: https://groups.google.com/g/fa.haskell/c/AvH4Vci6M6U
07:14:44 <gensyst> search there for "At the moment performGC doesn't actually run any finalizers"
07:14:52 <gensyst> however this is from 2004
07:14:55 <gensyst> any changes since then?
07:15:11 <gensyst> "I've been wondering whether having a more synchronous kind of finalizer would be a good thing."
07:16:11 nate2 joins (~nate@98.45.169.16)
07:20:57 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
07:26:01 user____2 joins (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
07:27:10 dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net)
07:28:26 <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)`?
07:30:29 × puke quits (~puke@user/puke) (Ping timeout: 250 seconds)
07:34:21 <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
07:36:05 mc47 joins (~mc47@xmonad/TheMC47)
07:40:45 × Maeda quits (~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving)
07:44:36 machinedgod joins (~machinedg@93-136-157-56.adsl.net.t-com.hr)
07:59:43 merijn joins (~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl)
08:02:33 <probie> Possibly? The objects I'm actually talking about aren't monads though, just functors
08:07:07 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
08:12:22 mmhat joins (~mmh@p200300f1c7066893ee086bfffe095315.dip0.t-ipconnect.de)
08:12:24 × mmhat quits (~mmh@p200300f1c7066893ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
08:12:48 cfricke joins (~cfricke@user/cfricke)
08:17:04 hugo joins (znc@verdigris.lysator.liu.se)
08:20:52 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:27:23 ubert1 joins (~Thunderbi@2a02:8109:abc0:6434:83e3:5602:732:d8ea)
08:28:13 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:29:33 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3dda:98a9:2443:29bc) (Remote host closed the connection)
08:29:53 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:30:22 nschoe joins (~q@2a01:e0a:8e:a190:e52c:d7b9:b485:eb5f)
08:37:00 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
08:42:30 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:adf5:88c1:b508:38b3)
08:44:29 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Read error: Connection reset by peer)
08:49:22 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
08:51:31 × m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 240 seconds)
08:51:58 m5zs7k joins (aquares@web10.mydevil.net)
08:53:25 × machinedgod quits (~machinedg@93-136-157-56.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
08:57:47 × kitzman quits (~kitzman@user/dekenevs) (Quit: C-x C-c)
08:58:14 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
08:58:42 kitzman joins (~kitzman@user/dekenevs)
08:58:51 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
09:04:27 <ncf> probie: sounds like MonadTrans, except it doesn't have map
09:04:37 <ncf> but most lawful instances do have it, i think?
09:08:09 <ncf> i guess categorically what you're describing is a pointed endofunctor in a category of endofunctors
09:08:52 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
09:10:00 <ncf> or a pointed object in Endo(Endo(Hask))
09:11:12 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
09:11:32 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:182f:d616:6e75:8cf6) (Ping timeout: 246 seconds)
09:13:04 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Ping timeout: 248 seconds)
09:17:08 × zer0bitz quits (~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
09:17:12 titibandit joins (~titibandi@user/titibandit)
09:19:41 lortabac joins (~lortabac@2a01:e0a:541:b8f0:4aaa:c418:150d:dcc4)
09:20:25 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
09:44:37 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
09:46:11 × Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
09:47:34 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
09:48:52 <tom_> Should we default to deriving typeclasses or will this strategy lead to undesirable compile times?
09:49:36 <dminuoso> tom_: What for?
09:49:37 × chomwitt quits (~chomwitt@2a02:587:7a16:6700:1ac0:4dff:fedb:a3f1) (Ping timeout: 265 seconds)
09:49:44 <dminuoso> And are you talking about Generic instances or not?
09:50:35 Katarushisu joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
09:50:44 <tom_> Not generic
09:50:52 <tom_> Lets just say Show and Read
10:09:11 × ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
10:10:24 × ubert quits (~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
10:10:24 ubert1 is now known as ubert
10:10:27 ub joins (~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
10:14:37 Albina_Pavlovna joins (~Albina_Pa@2603-7000-76f0-76e0-0ca5-d447-752c-ff89.res6.spectrum.com)
10:15:07 × xff0x_ quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds)
10:17:42 Pickchea joins (~private@user/pickchea)
10:19:53 × user____2 quits (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
10:20:48 × gensyst quits (~gensyst@user/gensyst) (Ping timeout: 250 seconds)
10:21:10 zer0bitz joins (~zer0bitz@user/zer0bitz)
10:23:25 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
10:32:49 × Albina_Pavlovna quits (~Albina_Pa@2603-7000-76f0-76e0-0ca5-d447-752c-ff89.res6.spectrum.com) (Quit: ZZZzzz…)
10:36:36 <juri_> ok, bisect and test.. la la la...
10:42:07 user____2 joins (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
10:43:45 × zer0bitz quits (~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
10:49:16 zer0bitz joins (~zer0bitz@user/zer0bitz)
11:01:32 × user____2 quits (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
11:03:58 puke joins (~puke@user/puke)
11:05:55 user____2 joins (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
11:07:20 × user____2 quits (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Client Quit)
11:08:17 user____2 joins (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
11:09:31 <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
11:11:19 <dminuoso> tom_: deriving Show/Read is very quick.
11:11:40 <dminuoso> I would consider it negligable in most conceivable scenarios
11:14:02 xff0x_ joins (~xff0x@ai098135.d.east.v6connect.net)
11:14:17 <tomsmeding> dminuoso: https://downloads.haskell.org/ghc/latest/docs/users_guide/hints.html?highlight=sooner#sooner-producing-a-program-more-quickly does say "don't derive Read if you don't need it"
11:14:40 <tomsmeding> there is 0 reason not to derive Show if you can though
11:15:30 user____2 is now known as gurkenglas
11:17:40 nate2 joins (~nate@98.45.169.16)
11:18:32 <dminuoso> Fair, for Read I can perhaps see why.
11:18:43 <dminuoso> Though in my experience, Read is not a major factor.
11:18:54 <dminuoso> Unless you generally write trivial code, dont involve in type heavy stuff, and dont use generics.
11:19:19 Zmzi joins (~rscastilh@189-82-108-215.user3p.veloxzone.com.br)
11:19:20 <dminuoso> If compilation time is a concern in the first place, chances are you're meddling with tyfams or generics.
11:20:07 <dminuoso> However, the main argument for `Read` is that its a really unnecessary and almost useless typeclass.
11:20:31 <tomsmeding> yeah probably Read is "slow" only if you don't use the _actually_ slow things
11:21:16 jero98772 joins (~jero98772@2800:484:1d7f:5d36::2)
11:21:27 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds)
11:22:19 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
11:23:17 <dminuoso> My main annoyance with compilation time has been Generic really.
11:23:37 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
11:23:44 <dminuoso> I think its an interface that is so heavily overused, TH is generally much better but breaks cross compilation.
11:25:54 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
11:29:42 <tomsmeding> will the TH cross-compilation story get better when ghc at some point (soon (tm)) gets better multi-architecture support?
11:29:56 <tomsmeding> hm I guess that's a tautology
11:30:23 titibandit joins (~titibandi@user/titibandit)
11:33:45 × Zmzi quits (~rscastilh@189-82-108-215.user3p.veloxzone.com.br) (Remote host closed the connection)
11:38:49 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
11:40:57 __monty__ joins (~toonn@user/toonn)
11:43:31 andscape joins (~andscape@2a02:2121:61a:783a:8720:8ec3:90b:fab6)
11:54:08 × andscape quits (~andscape@2a02:2121:61a:783a:8720:8ec3:90b:fab6) (Read error: Connection reset by peer)
12:02:28 × myme quits (~myme@2a01:799:d60:e400:a249:9a08:ca20:7690) (Ping timeout: 240 seconds)
12:03:39 myme joins (~myme@2a01:799:d60:e400:7281:f661:241c:ec7)
12:04:42 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:4aaa:c418:150d:dcc4) (Quit: WeeChat 2.8)
12:07:01 × jonathan_ quits (~jonathan@193.234.101.122) (Remote host closed the connection)
12:07:22 jonathan_ joins (~jonathan@193.234.101.122)
12:08:12 lortabac joins (~lortabac@2a01:e0a:541:b8f0:3f8f:2686:3440:2158)
12:15:34 × mcglk quits (~mcglk@131.191.19.145) (Remote host closed the connection)
12:28:38 dcleonarski joins (~user@2804:d51:4793:c800:b0e2:a2e8:89a0:4c46)
12:30:57 <juri_> yay, quickcheck seems to generate better randomness, making trash of my property tests.
12:31:18 <juri_> BOO, quickcheck seems to now generate better randomness, making trash of my property tests.
12:31:30 <juri_> there goes my week.
12:31:31 <Hecate> juri_: haha yeah I feel you
12:34:53 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:35:59 <juri_> Hecate: my pain involves floating point, and geometry. let me show you my pain. :)
12:36:01 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:36:41 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
12:37:15 <geekosaur> I think the invites will be for the new time, which starts next week?
12:37:50 × hussam quits (~hussam@user/hussam) (Remote host closed the connection)
12:38:11 <Hecate> juri_: show me your 🥖 !
12:40:50 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
12:44:55 titibandit joins (~titibandi@user/titibandit)
13:01:17 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
13:01:21 accord joins (uid568320@id-568320.hampstead.irccloud.com)
13:01:40 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
13:06:12 L29Ah joins (~L29Ah@wikipedia/L29Ah)
13:08:42 chomwitt joins (~chomwitt@ppp-94-67-203-168.home.otenet.gr)
13:13:08 × gurkenglas quits (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Quit: Lost terminal)
13:13:37 user____2 joins (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de)
13:14:20 user____2 is now known as gurkenglas
13:16:01 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 240 seconds)
13:18:23 notzmv joins (~zmv@user/notzmv)
13:23:48 × gurkenglas quits (~user@dynamic-046-114-181-093.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
13:28:32 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
13:32:42 n0den1te joins (~~.~@42.111.161.231)
13:42:24 × n0den1te quits (~~.~@42.111.161.231) (Ping timeout: 248 seconds)
13:43:58 <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.
13:44:34 Guest27 joins (~Guest71@87-89-191-59.abo.bbox.fr)
13:45:50 <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.
13:46:14 <maralorn> s/<$>/<&>/
13:47:50 <monochrom> Control.Category.Category has >>> which covers flip(.) and other cases.
13:49:09 <monochrom> The aim should not be consistency with $ &.
13:49:40 <monochrom> Function composition should not be conflated with function application.
13:49:41 <maralorn> True, but otoh >>> is a lot to type and two the more general type might lead to confusion.
13:50:12 <monochrom> >>> incurs less hand movement than <$>.
13:50:59 <monochrom> Experience with hard disks shows that seek time is 1000 times higher than hammer time.
13:51:42 <maralorn> Okay, fair.
13:52:34 <maralorn> Sadly: I want to write code like `stream & aTransformation >>> anotherTransformation` which doesn’t work because they have the same fixity …
13:52:47 <maralorn> * Sadly: I want to write code like `stream & aTransformation >>> anotherTransformation` which doesn’t work because they have the same binding strength …
13:53:17 × jonathan_ quits (~jonathan@193.234.101.122) (Ping timeout: 246 seconds)
13:53:27 <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 -
13:53:27 <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 :/...
13:53:50 <monochrom> Does that mean (stream & aTransformation) >>> anotherTransformation? Or is it stream & (aTransformation >>> anotherTransformation)?
13:54:14 <maralorn> monochrom: I would want the later.
13:54:18 <monochrom> See, even if they had fixity, who could remember which way it is?
13:54:26 <monochrom> I certainly can't.
13:54:44 <monochrom> s/had fixity/had different fixity/
13:55:19 <maralorn> It should behave exactly like $ and . but inverted.
13:56:37 <monochrom> I can't remember fixity of $ and . either. I just always write (a . b . c) f
13:56:55 <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.
13:57:07 <monochrom> I would write (a . b . c) $ f if $ were compulsory.
13:57:18 <maralorn> monochrom: Well, $ always binds weaker than everything.
13:57:50 <ncf> Guest27: reading backwards, you get ALLYAALLLYAL
13:58:15 <ncf> so nothing unexpected, given that you used foldr and one of your branches keeps k:restOfKey, so you have duplication
13:58:57 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
13:59:38 <monochrom> I can't remember the fixities of <*> and <|> either so I always write like (a <*> f) <|> (a' <*> f').
13:59:49 <monochrom> Precendence levels are like endianness.
14:00:41 <Guest27> Oooohhh! Right! It's reversed because of the foldr. Thanks!
14:00:43 <maralorn> Yeah, at that point I would also opt-out of relying on precedence.^^
14:00:47 <monochrom> Actually today in the unix & C course I will reveal to my students that x86 is small endian.
14:01:06 <monochrom> I'm pretty sure many of them will ask "why would anyone on earth do this?!"
14:01:46 <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?
14:01:56 <monochrom> And then "there is your answer".
14:02:01 <Rembane> I'm cracking my eggs in the middle.
14:02:11 Rembane stares accusingly at US dates
14:02:13 ystael_ is now known as ystael
14:02:21 <geekosaur> US dates are psycho endian
14:03:10 <Rembane> http://www.catb.org/jargon/html/M/middle-endian.html
14:03:18 <Rembane> Indeed
14:03:40 <Hecate> geekosaur: hahaha
14:03:59 jonathan_ joins (~jonathan@193.234.101.122)
14:05:16 <monochrom> Hey thanks for the idea, I'll bring up d-m-y vs m-d-y vs y-m-d too!
14:06:21 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
14:07:27 <Rembane> Sweet! :D
14:08:30 <merijn> I still want to one day have the time to work on my maximally malicious C compiler
14:09:04 <merijn> i.e. standard compliant, but making the evillest possible choice where possible
14:09:44 <maralorn> by the way: <&> also specializes to flip (.), but that’s also super confusing …
14:09:51 <Rembane> merijn: So no undefined behaviour, only evil behaviour?
14:09:52 <monochrom> First you need to work on any compliant compiler at all. >:)
14:12:14 shriekingnoise joins (~shrieking@186.137.175.87)
14:17:54 × Guest27 quits (~Guest71@87-89-191-59.abo.bbox.fr) (Quit: Client closed)
14:18:48 × acidjnk quits (~acidjnk@p200300d6e7072f91d93d35c03e1f2ae2.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
14:19:37 <merijn> monochrom: ssh
14:22:18 acidjnk joins (~acidjnk@p200300d6e7072f91bd07055d1bf35105.dip0.t-ipconnect.de)
14:25:10 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
14:32:05 CalculusCats is now known as CalculusCat
14:35:03 oo_miguel joins (~Thunderbi@77.252.47.84)
14:42:02 boukenshaou joins (~Boukensha@223.178.84.62)
14:44:16 motherfsck joins (~motherfsc@user/motherfsck)
14:44:56 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 265 seconds)
14:50:58 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.8)
14:51:49 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:3f8f:2686:3440:2158) (Quit: WeeChat 2.8)
14:54:03 gensyst joins (~gensyst@user/gensyst)
14:57:59 × vandita quits (~vandit@92-249-182-120.pool.digikabel.hu) (Ping timeout: 265 seconds)
14:58:28 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 265 seconds)
14:59:14 vandita joins (~vandit@84-236-3-86.pool.digikabel.hu)
15:00:02 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
15:00:29 stiell joins (~stiell@gateway/tor-sasl/stiell)
15:01:04 <gensyst> Simon Marlow writes here: https://groups.google.com/g/fa.haskell/c/AvH4Vci6M6U
15:01:04 <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."
15:01:04 <gensyst> This was in 2004. Apparently this is still true (as shown by threadDelay 10000 after performGC making a difference).
15:01:06 <gensyst> Is there still really no way of reliably *waiting* until performGC finishes fully?
15:01:18 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
15:01:36 Pickchea joins (~private@user/pickchea)
15:04:16 × biberu quits (~biberu@user/biberu) (Ping timeout: 265 seconds)
15:04:37 × jonathan_ quits (~jonathan@193.234.101.122) (Ping timeout: 250 seconds)
15:06:45 Sgeo joins (~Sgeo@user/sgeo)
15:08:50 <merijn> Define "performGC finishes"
15:11:02 biberu joins (~biberu@user/biberu)
15:12:07 × kilolympus quits (~kilolympu@213.144.144.24) (Ping timeout: 240 seconds)
15:13:48 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
15:13:51 <kuribas> Is there something like a conditional monoid?
15:14:00 <kuribas> m -> m -> Maybe m?
15:15:23 <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.
15:17:26 <merijn> gensyst: I don't understand what you mean, by that
15:18:03 <merijn> GC is done as soon as performGC finishes
15:18:33 <gensyst> merijn, hmm.. but not according to this i got on #ghc
15:18:35 <gensyst> <adamse> .net has a funtion run all pending finalizers. i think ghc should and could have this too. but there is nothing currently
15:18:39 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Ping timeout: 256 seconds)
15:18:44 <merijn> gensyst: Finalizers are *not* part of GC
15:18:58 <merijn> gensyst: That was sorta my point
15:19:10 nate2 joins (~nate@98.45.169.16)
15:19:35 <merijn> "is there a way to wait for finalizers to finish?" and is a seperate question from "wait until GC is finished"
15:19:43 <merijn> s/and is/is
15:20:04 <dolio> Partial monoids are categories.
15:20:06 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
15:20:20 <gensyst> ok thanks for clarifying
15:21:27 <merijn> gensyst: Probably a "perform GC *and* finalizers" function would nice, but I don't think we should modify the meaning of performGC
15:21:52 <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
15:23:37 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
15:26:58 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
15:34:07 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
15:38:57 <yin> is there a widely used `interactIO :: (String -> IO String) -> IO ()` or did i dream it?
15:39:16 <kuribas> dolio: how so?
15:41:06 <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.
15:41:35 <dolio> Saying it's a partial binary operation instead is an objectless way of specifying the same thing.
15:42:36 <dolio> It does have some well-behavedness rules. Like, composing with the unit always succeeds, and reassociating doesn't change well-definedness.
15:43:03 <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...
15:44:06 ub1 joins (~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
15:44:07 × ub quits (~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
15:45:07 × merijn quits (~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
15:46:23 ub1 is now known as ub
15:48:40 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
15:49:22 phma__ is now known as phma
15:50:16 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
15:52:04 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
15:54:14 kilolympus joins (~kilolympu@213.144.144.24)
15:55:28 Zmzi joins (~rscastilh@189-82-108-215.user3p.veloxzone.com.br)
15:56:15 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
16:01:57 × Adran quits (adran@botters/adran) (Ping timeout: 256 seconds)
16:04:40 <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
16:05:22 <EvanR> done vs done
16:05:26 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
16:06:23 × Zmzi quits (~rscastilh@189-82-108-215.user3p.veloxzone.com.br) (Remote host closed the connection)
16:08:24 Zmzi joins (~rscastilh@189-82-108-215.user3p.veloxzone.com.br)
16:14:26 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:20:38 × nschoe quits (~q@2a01:e0a:8e:a190:e52c:d7b9:b485:eb5f) (Ping timeout: 265 seconds)
16:28:04 × acro quits (~acro@user/acro) (Quit: Bye.)
16:28:04 × ouroboros quits (~ouroboros@user/ouroboros) (Quit: Bye.)
16:28:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:28:35 merijn joins (~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl)
16:28:59 ec joins (~ec@gateway/tor-sasl/ec)
16:29:58 acro joins (~acro@user/acro)
16:31:38 Adran joins (~adran@botters/adran)
16:31:47 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
16:32:43 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
16:33:00 ouroboros joins (~ouroboros@user/ouroboros)
16:41:16 × Zmzi quits (~rscastilh@189-82-108-215.user3p.veloxzone.com.br) (Remote host closed the connection)
16:43:33 × ddellacosta quits (~ddellacos@143.244.47.85) (Quit: WeeChat 3.8)
16:47:23 <ncf> dolio: so the unit of the monoid serves as a polymorphic id?
16:47:46 <ncf> that seems at odds with how you'd think of a category as a partial monoid, by forgetting objects
16:47:48 <dolio> Yeah. That's another sort of discrepancy.
16:47:55 × ouroboros quits (~ouroboros@user/ouroboros) (Quit: Bye.)
16:47:55 × acro quits (~acro@user/acro) (Quit: Bye.)
16:48:04 jmdaemon joins (~jmdaemon@user/jmdaemon)
16:48:20 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
16:48:34 acro joins (~acro@user/acro)
16:49:05 ouroboros joins (~ouroboros@user/ouroboros)
16:49:19 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 256 seconds)
16:50:04 <EvanR> category = a bunch of magic lego
16:53:05 <dolio> Partial monoid might be a little more restrictive than categories, if you can't make sense of a universal identity like thing.
16:54:57 <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'.
16:55:09 × acro quits (~acro@user/acro) (Quit: Bye.)
16:55:09 × ouroboros quits (~ouroboros@user/ouroboros) (Quit: Bye.)
16:56:43 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
16:57:12 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
16:59:10 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
16:59:52 <ncf> not sure i see how that would work
16:59:59 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
17:02:32 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
17:04:13 <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?
17:04:32 econo joins (uid147250@user/econo)
17:06:28 <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₁.
17:08:14 <ncf> right
17:08:26 <ncf> using identities as representatives for objects
17:08:48 <dolio> Yeah, that's how you get the object version back out. The objects correspond to identity arrows.
17:14:46 <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.
17:15:19 barcisz joins (~barcisz@83.6.194.51.ipv4.supernova.orange.pl)
17:15:34 <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.
17:16:27 nschoe joins (~q@2a01:e0a:8e:a190:cdde:1915:5897:15a1)
17:16:40 titibandit joins (~titibandi@user/titibandit)
17:18:01 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:19:07 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
17:20:07 × merijn quits (~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
17:21:03 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Ping timeout: 256 seconds)
17:21:05 machinedgod joins (~machinedg@93-136-157-56.adsl.net.t-com.hr)
17:24:35 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
17:27:50 × vandita quits (~vandit@84-236-3-86.pool.digikabel.hu) (Ping timeout: 268 seconds)
17:29:02 vandita joins (~vandit@188-143-101-95.pool.digikabel.hu)
17:34:21 jero98772 joins (~jero98772@2800:484:1d7f:5d36::2)
17:34:39 × acidjnk quits (~acidjnk@p200300d6e7072f91bd07055d1bf35105.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
17:37:34 <oo_miguel> how do I manually set/override compilation flags for libraries used within my stack project?
17:38:44 <oo_miguel> ah ok, found it
17:39:04 <sm> https://docs.haskellstack.org/en/stable/GUIDE/#cabal-flag-management sort of thing ?
17:39:29 <oo_miguel> seems I can put a flags: directive in stack.yaml
17:39:41 <sm> yup
17:39:44 <oo_miguel> e.g. flags: cryptonite : support_aesni: false...
17:40:09 <oo_miguel> that's what I was looking for, thanks
17:40:41 × accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
17:44:08 zincy joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
17:44:18 × tom_ quits (~tom@host81-151-255-71.range81-151.btcentralplus.com) (Remote host closed the connection)
17:46:38 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
17:50:01 ouroboros joins (~ouroboros@user/ouroboros)
17:50:31 acro joins (~acro@user/acro)
17:52:17 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:83e3:5602:732:d8ea) (Quit: ubert)
17:52:17 ub is now known as ubert
17:53:53 cheater_ joins (~Username@user/cheater)
17:56:37 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
17:56:38 cheater_ is now known as cheater
17:56:51 acidjnk joins (~acidjnk@p200300d6e7072f9160194c065beb1fb8.dip0.t-ipconnect.de)
17:59:38 × barcisz quits (~barcisz@83.6.194.51.ipv4.supernova.orange.pl) (Quit: Connection closed)
18:05:01 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
18:10:57 <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?
18:11:49 <jean-paul[m]> (if one is the older and one is the newer)
18:14:08 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
18:17:08 mcglk joins (~mcglk@131.191.19.145)
18:26:15 × ouroboros quits (~ouroboros@user/ouroboros) (Quit: Bye.)
18:26:15 × acro quits (~acro@user/acro) (Quit: Bye.)
18:30:53 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Ping timeout: 250 seconds)
18:42:44 × machinedgod quits (~machinedg@93-136-157-56.adsl.net.t-com.hr) (Ping timeout: 265 seconds)
18:42:51 jero98772 joins (~jero98772@2800:484:1d7f:5d36::2)
18:47:37 × thegeekinside quits (~thegeekin@189.180.15.129) (Ping timeout: 240 seconds)
18:48:24 thegeekinside joins (~thegeekin@189.180.15.129)
18:49:42 jmdaemon joins (~jmdaemon@user/jmdaemon)
18:49:58 × mei quits (~mei@user/mei) (Remote host closed the connection)
18:52:23 mei joins (~mei@user/mei)
18:56:24 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
18:56:59 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
18:57:32 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-ecff-1d00-7536-50f0.rev.sfr.net)
18:59:15 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
19:06:56 × gensyst quits (~gensyst@user/gensyst) (Quit: Leaving)
19:09:53 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
19:14:42 × michalz quits (~michalz@185.246.204.73) (Remote host closed the connection)
19:15:25 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Remote host closed the connection)
19:20:40 nate2 joins (~nate@98.45.169.16)
19:21:02 L29Ah joins (~L29Ah@wikipedia/L29Ah)
19:21:17 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
19:25:45 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
19:28:07 CalculusCat is now known as CalculusCats
19:28:10 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Remote host closed the connection)
19:28:34 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
19:38:08 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds)
19:40:00 machinedgod joins (~machinedg@93-136-157-56.adsl.net.t-com.hr)
19:48:28 ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de)
19:51:07 barcisz joins (~barcisz@83.6.194.51.ipv4.supernova.orange.pl)
19:51:49 titibandit joins (~titibandi@user/titibandit)
19:51:55 wootehfoot joins (~wootehfoo@user/wootehfoot)
19:55:37 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
19:58:25 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 250 seconds)
20:06:07 × vandita quits (~vandit@188-143-101-95.pool.digikabel.hu) (Ping timeout: 240 seconds)
20:06:28 Zmzi joins (~rscastilh@user/Zmzi)
20:07:48 × Zmzi quits (~rscastilh@user/Zmzi) (Remote host closed the connection)
20:07:58 vandita joins (~vandit@77-234-80-251.pool.digikabel.hu)
20:10:16 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
20:15:55 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8)
20:20:32 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:ac1f:c72a:d1cd:9ce8) (Ping timeout: 250 seconds)
20:24:23 × boukenshaou quits (~Boukensha@223.178.84.62) (Quit: Leaving)
20:24:37 boukenshaou joins (~Boukensha@223.178.84.62)
20:25:15 × boukenshaou quits (~Boukensha@223.178.84.62) (Remote host closed the connection)
20:26:07 × myxos quits (~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection)
20:26:07 × myxokeph quits (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection)
20:27:30 × chomwitt quits (~chomwitt@ppp-94-67-203-168.home.otenet.gr) (Remote host closed the connection)
20:28:03 gmg joins (~user@user/gehmehgeh)
20:30:56 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 250 seconds)
20:34:37 × malte quits (~malte@mal.tc) (Ping timeout: 240 seconds)
20:34:43 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Remote host closed the connection)
20:35:09 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
20:36:24 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
20:36:46 × nschoe quits (~q@2a01:e0a:8e:a190:cdde:1915:5897:15a1) (Quit: Switching off)
20:38:07 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:41:28 michalz joins (~michalz@185.246.204.89)
20:42:03 × barcisz quits (~barcisz@83.6.194.51.ipv4.supernova.orange.pl) (Quit: Connection closed)
20:42:11 myxos joins (~myxos@cpe-65-28-251-121.cinci.res.rr.com)
20:46:32 reach joins (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b)
20:49:02 malte joins (~malte@mal.tc)
20:54:18 × trev quits (~trev@user/trev) (Quit: trev)
20:54:57 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
20:58:13 × dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 250 seconds)
20:58:20 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:58:28 jargon joins (~jargon@184.101.77.79)
21:06:10 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-ecff-1d00-7536-50f0.rev.sfr.net) (Remote host closed the connection)
21:07:12 Pickchea joins (~private@user/pickchea)
21:08:03 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-a5ba-1479-0efa-11e0.rev.sfr.net) (Quit: WeeChat 3.8)
21:09:59 × reach quits (~reach@2607:fea8:4c0:990:f891:b512:3659:bf1b) (Ping timeout: 256 seconds)
21:12:19 acro joins (~acro@user/acro)
21:12:50 ouroboros joins (~ouroboros@user/ouroboros)
21:16:27 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
21:20:37 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
21:23:34 <sm> can our printf elide the decimal places of a Float when they are 0 ?
21:23:56 <sm> ie, not show a trailing .0 ?
21:25:45 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
21:26:24 × michalz quits (~michalz@185.246.204.89) (Remote host closed the connection)
21:28:22 <geekosaur> > printf "%g" 0.2 :: String
21:28:24 <lambdabot> "0.2"
21:28:50 <geekosaur> note that if you specify a precision you are explicitly saying to print trailing zeroes
21:28:58 <geekosaur> > printf "%.5g" 0.2 :: String
21:29:00 <lambdabot> "0.20000"
21:29:07 pavonia joins (~user@user/siracusa)
21:29:28 <geekosaur> but I think you always get .0
21:29:41 <geekosaur> > printf "%g" 2.0 :: String
21:29:43 <lambdabot> "2.0"
21:37:39 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
21:42:02 <EvanR> calling bullshit
21:42:23 <EvanR> > printf "%.40g" 0.2
21:42:24 <lambdabot> error:
21:42:24 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M644110186260...
21:42:24 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
21:42:28 <EvanR> > printf "%.40g" 0.2 :: String
21:42:29 <lambdabot> "0.2000000000000000000000000000000000000000"
21:42:34 <EvanR> > printf "%.80g" 0.2 :: String
21:42:35 <lambdabot> "0.2000000000000000000000000000000000000000000000000000000000000000000000000...
21:42:44 <EvanR> rageface
21:43:20 <geekosaur> it's exact in binary 🙂
21:44:32 <EvanR> printf is ruby for that gives 0.20000000000000001110223024625156540423631668090820312 for some reason
21:44:35 <EvanR> in ruby
21:45:06 × acro quits (~acro@user/acro) (Quit: Bye.)
21:45:07 × ouroboros quits (~ouroboros@user/ouroboros) (Quit: Bye.)
21:45:19 <geekosaur> I don't think those digits are even in the range of a Double's mantissa
21:45:35 <EvanR> >1/5 in binary notation is 0.001100110011… repeating 0011 ad infinity
21:45:59 <EvanR> no but when you convert the exact value of a Double to decimal you can a lot of additional digits
21:46:20 <geekosaur> but the mantissa is 1.0 in base 2
21:46:29 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-710f-b3ed-443f-ba6d.rev.sfr.net)
21:46:41 <geekosaur> hm
21:46:56 <EvanR> a fifth in base two
21:47:00 <geekosaur> keep in mind that the mantissa floats (hence floating point)
21:48:40 <EvanR> > printf "%.80g" 0.1 :: String
21:48:42 <lambdabot> "0.1000000000000000000000000000000000000000000000000000000000000000000000000...
21:48:58 <EvanR> instead of
21:49:01 <EvanR> 0.1000000000000000055511151231257827021181583404541015625
21:49:03 <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.
21:49:23 <geekosaur> oh, bitten by decimal vs. binary, sigh
21:49:29 <geekosaur> > decodeFloat 0.2
21:49:30 <lambdabot> (7205759403792794,-55)
21:49:46 <EvanR> > decodeFloat 0.5
21:49:48 <lambdabot> (4503599627370496,-53)
21:49:57 <EvanR> hard to tell what's exact or not from that xD
21:50:00 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
21:50:21 acro joins (~acro@user/acro)
21:50:52 ouroboros joins (~ouroboros@user/ouroboros)
21:51:16 <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
21:51:21 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-710f-b3ed-443f-ba6d.rev.sfr.net)
21:51:24 <EvanR> to get more followers
21:54:27 <dolio> I think this might be the paper: https://dl.acm.org/doi/pdf/10.1145/249069.231397
21:54:49 <jean-paul[m]> stare too deeply into the abyss and risk the abyss staring back into you
21:55:25 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
21:55:28 × machinedgod quits (~machinedg@93-136-157-56.adsl.net.t-com.hr) (Ping timeout: 268 seconds)
21:56:57 <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
21:57:17 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-710f-b3ed-443f-ba6d.rev.sfr.net) (Remote host closed the connection)
21:57:22 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
21:57:34 <EvanR> i.e. 0.1 and 0.1 plus 1 ULP would display as 0.1
21:57:52 <geekosaur> > logBase 2 4503599627370496
21:57:53 <lambdabot> 52.0
21:58:25 <dolio> Well, yes, if you want printing to remove precision, then using an algorithm that ensures precision is not going to do it.
21:58:26 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-710f-b3ed-443f-ba6d.rev.sfr.net)
21:58:36 <EvanR> good
22:06:31 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:15:45 × dcleonarski quits (~user@2804:d51:4793:c800:b0e2:a2e8:89a0:4c46) (Remote host closed the connection)
22:28:53 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
22:29:08 Albina_Pavlovna joins (~Albina_Pa@047-230-050-118.res.spectrum.com)
22:30:57 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
22:34:07 × oo_miguel quits (~Thunderbi@77.252.47.84) (Ping timeout: 240 seconds)
22:38:56 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
22:39:20 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
22:40:08 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:41:19 ec joins (~ec@gateway/tor-sasl/ec)
22:54:56 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
22:57:54 ec joins (~ec@gateway/tor-sasl/ec)
23:00:21 × myme quits (~myme@2a01:799:d60:e400:7281:f661:241c:ec7) (Ping timeout: 265 seconds)
23:00:57 myme joins (~myme@2a01:799:d60:e400:53de:30f9:a686:811f)
23:01:07 × xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds)
23:03:20 xff0x_ joins (~xff0x@178.255.149.135)
23:03:35 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
23:05:01 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 256 seconds)
23:08:01 × myme quits (~myme@2a01:799:d60:e400:53de:30f9:a686:811f) (Quit: WeeChat 3.8)
23:11:16 jtbx joins (~jtbx@user/jtbx)
23:12:20 iteratee_ joins (~kyle@162.218.222.207)
23:13:20 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:13:26 × gawen quits (~gawen@user/gawen) (Ping timeout: 250 seconds)
23:13:36 russruss8 joins (~russruss@my.russellmcc.com)
23:14:17 CalculusCats4 joins (NyaaTheKit@user/calculuscat)
23:14:18 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
23:14:18 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 250 seconds)
23:14:18 × haskl quits (~haskl@user/haskl) (Ping timeout: 250 seconds)
23:14:18 × mcfrdy quits (~mcfrdy@user/mcfrdy) (Ping timeout: 250 seconds)
23:14:24 haskl[error] joins (~haskl@user/haskl)
23:14:27 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
23:14:29 mcfrd joins (~mcfrdy@user/mcfrdy)
23:14:32 × chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 240 seconds)
23:14:37 GoldsteinQ joins (~goldstein@goldstein.rs)
23:14:44 × NinjaTrappeur quits (~ninja@user/ninjatrappeur) (Ping timeout: 250 seconds)
23:14:44 × Helle quits (~helle@user/Helle) (Ping timeout: 250 seconds)
23:14:44 × goldstein quits (~goldstein@goldstein.rs) (Ping timeout: 250 seconds)
23:14:58 gawen joins (~gawen@user/gawen)
23:15:05 kitzman_ joins (~kitzman@user/dekenevs)
23:15:10 × kitzman quits (~kitzman@user/dekenevs) (Ping timeout: 250 seconds)
23:15:10 × CalculusCats quits (NyaaTheKit@user/calculuscat) (Ping timeout: 250 seconds)
23:15:10 × hiredman quits (~hiredman@frontier1.downey.family) (Ping timeout: 250 seconds)
23:15:10 CalculusCats4 is now known as CalculusCats
23:15:10 × iteratee quits (~kyle@162.218.222.207) (Ping timeout: 250 seconds)
23:15:10 × mikko quits (~mikko@user/mikko) (Ping timeout: 250 seconds)
23:15:10 × gnyeki quits (~gnyeki@user/gnyeki) (Ping timeout: 250 seconds)
23:15:10 × carbolymer quits (~carbolyme@dropacid.net) (Ping timeout: 250 seconds)
23:15:10 × shachaf quits (~shachaf@user/shachaf) (Ping timeout: 250 seconds)
23:15:10 × cross quits (~cross@spitfire.i.gajendra.net) (Ping timeout: 250 seconds)
23:15:20 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
23:15:31 carbolymer joins (~carbolyme@dropacid.net)
23:15:35 jmdaemon joins (~jmdaemon@user/jmdaemon)
23:15:36 × russruss quits (~russruss@my.russellmcc.com) (Ping timeout: 250 seconds)
23:15:36 russruss8 is now known as russruss
23:15:36 × hnOsmium0001 quits (~hnOsmium0@user/hnOsmium0001) (Ping timeout: 250 seconds)
23:15:36 × sm[i] quits (~user@plaintextaccounting/sm) (Ping timeout: 250 seconds)
23:15:46 Lord_of_Life_ is now known as Lord_of_Life
23:16:16 mauke_ joins (~mauke@user/mauke)
23:16:31 Helle joins (~helle@45.83.235.185)
23:16:58 gnyeki joins (~gnyeki@li578-216.members.linode.com)
23:16:58 × gnyeki quits (~gnyeki@li578-216.members.linode.com) (Changing host)
23:16:58 gnyeki joins (~gnyeki@user/gnyeki)
23:17:05 shachaf joins (~shachaf@user/shachaf)
23:17:07 chiselfuse joins (~chiselfus@user/chiselfuse)
23:17:21 cross joins (~cross@spitfire.i.gajendra.net)
23:17:27 hnOsmium0001 joins (~hnosm@user/hnOsmium0001)
23:17:33 mcfrd is now known as mcfrdy
23:17:38 jpds joins (~jpds@gateway/tor-sasl/jpds)
23:17:52 × mauke quits (~mauke@user/mauke) (Ping timeout: 248 seconds)
23:17:52 mauke_ is now known as mauke
23:19:01 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
23:20:01 × acidjnk quits (~acidjnk@p200300d6e7072f9160194c065beb1fb8.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
23:21:13 sm[i] joins (~user@plaintextaccounting/sm)
23:22:06 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
23:22:12 nate2 joins (~nate@98.45.169.16)
23:23:07 × Albina_Pavlovna quits (~Albina_Pa@047-230-050-118.res.spectrum.com) (Quit: ZZZzzz…)
23:23:27 × emergence quits (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc) (Remote host closed the connection)
23:24:34 emergence joins (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc)
23:25:35 hiredman joins (~hiredman@frontier1.downey.family)
23:25:37 × xff0x_ quits (~xff0x@178.255.149.135) (Ping timeout: 240 seconds)
23:26:40 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:26:51 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
23:27:48 xff0x_ joins (~xff0x@ai098135.d.east.v6connect.net)
23:28:43 NinjaTrappeur joins (~ninja@user/ninjatrappeur)
23:29:15 mikko joins (~mikko@dsl-trebng22-58c1a8-185.dhcp.inet.fi)
23:29:15 × mikko quits (~mikko@dsl-trebng22-58c1a8-185.dhcp.inet.fi) (Changing host)
23:29:15 mikko joins (~mikko@user/mikko)
23:35:57 × vandita quits (~vandit@77-234-80-251.pool.digikabel.hu) (Ping timeout: 250 seconds)
23:35:58 × nyc quits (~nyc@user/nyc) (Ping timeout: 250 seconds)
23:37:03 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
23:37:03 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
23:37:03 wroathe joins (~wroathe@user/wroathe)
23:37:46 vandita joins (~vandit@87-97-2-205.pool.digikabel.hu)
23:40:23 euandreh joins (~Thunderbi@189.6.18.7)
23:41:23 Albina_Pavlovna joins (~Albina_Pa@047-230-050-118.res.spectrum.com)
23:42:05 hiredman1 joins (~hiredman@frontier1.downey.family)
23:42:28 × Albina_Pavlovna quits (~Albina_Pa@047-230-050-118.res.spectrum.com) (Client Quit)
23:48:08 × raym quits (~ray@user/raym) (Ping timeout: 240 seconds)
23:48:39 raym joins (~ray@user/raym)

All times are in UTC on 2023-06-01.