Home liberachat/#haskell: Logs Calendar

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

00:00:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:02:02 ec joins (~ec@gateway/tor-sasl/ec)
00:04:09 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
00:07:13 × CalculusCats quits (NyaaTheKit@user/calculuscat) (Quit: Meow Meow Meow Meow Meow Meow Meow Meow)
00:08:53 CalculusCats joins (NyaaTheKit@user/calculuscat)
00:13:44 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:16:47 ec joins (~ec@gateway/tor-sasl/ec)
00:22:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:25:18 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
00:25:32 ec joins (~ec@gateway/tor-sasl/ec)
00:34:37 emmanuelux joins (~emmanuelu@user/emmanuelux)
00:35:07 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 265 seconds)
00:35:28 freeside joins (~mengwong@103.252.202.189)
00:37:24 euandreh joins (~Thunderbi@189.6.18.7)
00:40:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:41:52 ec joins (~ec@gateway/tor-sasl/ec)
00:42:10 × freeside quits (~mengwong@103.252.202.189) (Ping timeout: 250 seconds)
00:43:49 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d512:b207:c888:476e)
00:47:16 nate2 joins (~nate@98.45.169.16)
00:52:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:53:08 ec joins (~ec@gateway/tor-sasl/ec)
00:57:20 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:58:18 ec joins (~ec@gateway/tor-sasl/ec)
00:58:46 × vandita quits (~vandit@87-97-12-202.pool.digikabel.hu) (Ping timeout: 265 seconds)
01:00:08 vandita joins (~vandit@178-164-235-198.pool.digikabel.hu)
01:02:14 ddellacosta joins (~ddellacos@146.70.171.100)
01:02:36 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
01:05:53 falafel joins (~falafel@cpe-70-93-29-179.natsow.res.rr.com)
01:06:01 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
01:06:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
01:07:27 zaquest joins (~notzaques@5.130.79.72)
01:08:40 ec joins (~ec@gateway/tor-sasl/ec)
01:09:03 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
01:09:31 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
01:11:39 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:14:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
01:15:00 ec joins (~ec@gateway/tor-sasl/ec)
01:17:46 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:19:07 wroathe joins (~wroathe@user/wroathe)
01:20:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
01:21:11 × wroathe quits (~wroathe@user/wroathe) (Client Quit)
01:21:24 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
01:21:24 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
01:21:24 wroathe joins (~wroathe@user/wroathe)
01:26:05 qhong_ is now known as qhong
01:31:26 ec joins (~ec@gateway/tor-sasl/ec)
01:32:10 fun-safe-math joins (~fun-safe-@c-24-22-79-16.hsd1.wa.comcast.net)
01:32:45 motherfsck joins (~motherfsc@user/motherfsck)
01:35:52 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d512:b207:c888:476e) (Remote host closed the connection)
01:36:56 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
01:37:57 ec joins (~ec@gateway/tor-sasl/ec)
01:40:33 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 256 seconds)
01:44:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
01:45:15 ec joins (~ec@gateway/tor-sasl/ec)
01:48:42 × nitrix quits (~nitrix@user/nitrix) (Quit: ZNC 1.8.2 - https://znc.in)
01:49:02 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
01:50:38 × alphabeta quits (~kilolympu@vpn-fn-226.net.ed.ac.uk) (Ping timeout: 250 seconds)
01:54:12 kilolympus joins (~kilolympu@213.144.144.24)
02:00:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
02:02:18 × Feuermagier quits (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer)
02:04:18 ec joins (~ec@gateway/tor-sasl/ec)
02:04:30 nitrix joins (~nitrix@user/nitrix)
02:06:04 jargon joins (~jargon@184.101.71.62)
02:09:07 × falafel quits (~falafel@cpe-70-93-29-179.natsow.res.rr.com) (Ping timeout: 240 seconds)
02:11:20 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
02:17:39 freeside joins (~mengwong@103.252.202.189)
02:21:46 ec joins (~ec@gateway/tor-sasl/ec)
02:22:57 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:22:57 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:22:57 finn_elija is now known as FinnElija
02:23:21 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 265 seconds)
02:28:20 × xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 250 seconds)
02:29:58 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
02:30:56 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
02:32:05 ec joins (~ec@gateway/tor-sasl/ec)
02:33:35 arrowhead joins (~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com)
02:34:21 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
02:35:37 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 240 seconds)
02:35:37 × arrowhead quits (~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com) (Read error: Connection reset by peer)
02:37:20 tessier joins (~treed@98.97.63.104)
02:38:56 arrowhead joins (~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com)
02:40:27 × jero98772 quits (~jero98772@190.158.28.80) (Ping timeout: 250 seconds)
02:41:07 × terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
02:42:08 terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::)
02:44:26 blackpill0w joins (~blackpill@user/blackpill0w)
02:48:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
02:50:35 ec joins (~ec@gateway/tor-sasl/ec)
02:53:37 × td_ quits (~td@i5387091D.versanet.de) (Ping timeout: 240 seconds)
02:54:23 jero98772 joins (~jero98772@2800:484:1d7f:5d36::1)
02:55:33 td_ joins (~td@i53870929.versanet.de)
02:56:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
02:56:08 × arrowhead quits (~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com) (Read error: Connection reset by peer)
02:59:22 ec joins (~ec@gateway/tor-sasl/ec)
03:00:24 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::1) (Remote host closed the connection)
03:02:21 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:04:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
03:05:05 ec joins (~ec@gateway/tor-sasl/ec)
03:10:23 hiredman joins (~hiredman@frontier1.downey.family)
03:10:32 xff0x_ joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:11:20 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
03:13:10 ec joins (~ec@gateway/tor-sasl/ec)
03:18:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
03:18:21 systemhalted joins (~systemhal@122.161.92.64)
03:19:02 ec joins (~ec@gateway/tor-sasl/ec)
03:19:33 thegeekinside joins (~thegeekin@189.217.90.138)
03:25:03 blackpill0w parts (~blackpill@user/blackpill0w) (Leaving)
03:25:20 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
03:28:07 × systemhalted quits (~systemhal@122.161.92.64) (Ping timeout: 250 seconds)
03:32:07 × vandita quits (~vandit@178-164-235-198.pool.digikabel.hu) (Ping timeout: 240 seconds)
03:34:07 vandita joins (~vandit@77-234-80-243.pool.digikabel.hu)
03:35:30 ec joins (~ec@gateway/tor-sasl/ec)
03:36:07 × tessier quits (~treed@98.97.63.104) (Ping timeout: 240 seconds)
03:38:13 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
03:38:44 falafel joins (~falafel@cpe-70-93-29-179.natsow.res.rr.com)
03:42:00 × EvanR quits (~EvanR@user/evanr) (Ping timeout: 250 seconds)
03:52:46 × CiaoSen quits (~Jura@145.224.74.19) (Ping timeout: 265 seconds)
04:02:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
04:03:38 <hammond> does ghc have a debugger?
04:03:54 ec joins (~ec@gateway/tor-sasl/ec)
04:05:48 <sm> yes, there's one built in to ghci, and chapter on it in the user guide. Few people use it because laziness makes it hard
04:06:39 <sm> there's also a VS Code extension for it and this fun TUI in progress: https://equestria.social/@CrystalLord/110489203440700086
04:07:34 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:07:46 <hammond> cool.
04:08:29 <hammond> sm how does laziness make it hard, you wont know the true value of a variable until it's executed?
04:09:10 <sm> it jumps around as things are evaluated lazily. Gives you whiplash.
04:09:20 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
04:09:33 <hammond> i see
04:09:51 <sm> and what you said, yes, though you can force evaluation of anything
04:11:26 <sm> I tried the VSC extension recently, it's quite flaky but still useful for understanding. But most of the time Debug.Trace is quicker
04:18:42 ec joins (~ec@gateway/tor-sasl/ec)
04:19:51 chromoblob joins (~user@37.113.158.8)
04:20:45 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
04:21:02 <monochrom> I have a Debug.Trace guide at http://www.vex.net/~trebla/haskell/tracing.html
04:24:57 × chromoblob quits (~user@37.113.158.8) (Ping timeout: 268 seconds)
04:29:33 mbuf joins (~Shakthi@49.207.178.186)
04:31:44 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
04:34:51 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 250 seconds)
04:49:35 ec joins (~ec@gateway/tor-sasl/ec)
04:50:38 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:55:44 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
04:59:18 ec joins (~ec@gateway/tor-sasl/ec)
05:03:15 shriekingnoise_ joins (~shrieking@186.137.175.87)
05:04:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
05:05:37 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
05:05:40 ec joins (~ec@gateway/tor-sasl/ec)
05:07:00 coot_ joins (~coot@89-69-206-216.dynamic.chello.pl)
05:08:37 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
05:09:37 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 240 seconds)
05:09:37 coot_ is now known as coot
05:11:34 arrowhead joins (~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com)
05:13:44 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
05:15:07 ec joins (~ec@gateway/tor-sasl/ec)
05:15:40 trev joins (~trev@user/trev)
05:15:44 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
05:22:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
05:25:34 × falafel quits (~falafel@cpe-70-93-29-179.natsow.res.rr.com) (Ping timeout: 265 seconds)
05:29:01 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
05:30:08 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
05:32:33 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
05:32:50 ec joins (~ec@gateway/tor-sasl/ec)
05:41:44 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
05:42:01 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds)
05:44:02 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
05:45:21 ec joins (~ec@gateway/tor-sasl/ec)
05:46:12 nate2 joins (~nate@98.45.169.16)
05:50:44 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
05:50:48 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
05:52:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
05:53:20 ec joins (~ec@gateway/tor-sasl/ec)
05:54:51 × monochrom quits (trebla@216.138.220.146) (Quit: NO CARRIER)
05:59:58 monochrom joins (trebla@216.138.220.146)
06:07:18 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
06:09:20 gurkenglas joins (~user@dynamic-046-114-181-157.46.114.pool.telefonica.de)
06:14:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
06:15:50 phma_ joins (~phma@host-67-44-208-15.hnremote.net)
06:17:06 phma__ joins (phma@2001:5b0:211c:f708:3f49:e7f9:713f:22f)
06:17:17 thegeekinside joins (~thegeekin@189.217.90.138)
06:17:53 × phma quits (~phma@host-67-44-208-65.hnremote.net) (Ping timeout: 246 seconds)
06:18:08 phma__ is now known as phma
06:20:23 × thegeekinside quits (~thegeekin@189.217.90.138) (Remote host closed the connection)
06:20:32 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
06:20:36 thegeekinside joins (~thegeekin@189.217.90.138)
06:20:41 × phma_ quits (~phma@host-67-44-208-15.hnremote.net) (Ping timeout: 246 seconds)
06:21:40 mncheck joins (~mncheck@193.224.205.254)
06:25:15 machinedgod joins (~machinedg@93-136-226-84.adsl.net.t-com.hr)
06:25:18 ec_ joins (~ec@gateway/tor-sasl/ec)
06:25:30 × phma quits (phma@2001:5b0:211c:f708:3f49:e7f9:713f:22f) (Read error: Connection reset by peer)
06:26:25 phma joins (phma@2001:5b0:2144:22d8:cadc:c651:310f:c9a8)
06:28:50 × vandita quits (~vandit@77-234-80-243.pool.digikabel.hu) (Ping timeout: 250 seconds)
06:30:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
06:30:27 vandita joins (~vandit@94-21-48-54.pool.digikabel.hu)
06:30:30 oo_miguel joins (~Thunderbi@77.252.47.84)
06:31:45 michalz joins (~michalz@185.246.207.201)
06:32:01 ec_ joins (~ec@gateway/tor-sasl/ec)
06:32:39 × gurkenglas quits (~user@dynamic-046-114-181-157.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
06:32:40 × arrowhead quits (~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com) (Read error: Connection reset by peer)
06:33:42 stiell joins (~stiell@gateway/tor-sasl/stiell)
06:39:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
06:40:07 ec_ joins (~ec@gateway/tor-sasl/ec)
06:49:04 arrowhead joins (~arrowhead@cpe-74-66-76-151.nyc.res.rr.com)
06:49:50 acidjnk joins (~acidjnk@p200300d6e7072f49f87e9b16d0682c76.dip0.t-ipconnect.de)
06:53:34 × shriekingnoise_ quits (~shrieking@186.137.175.87) (Ping timeout: 265 seconds)
06:57:17 × boukenshaou quits (~Boukensha@223.178.84.62) (Remote host closed the connection)
06:58:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
07:02:06 ec_ joins (~ec@gateway/tor-sasl/ec)
07:11:31 dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net)
07:13:30 titibandit joins (~titibandi@user/titibandit)
07:15:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
07:16:17 × thegeekinside quits (~thegeekin@189.217.90.138) (Ping timeout: 265 seconds)
07:16:42 thegeekinside joins (~thegeekin@189.217.90.138)
07:17:34 × thegeekinside quits (~thegeekin@189.217.90.138) (Remote host closed the connection)
07:20:53 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
07:21:37 <yin> how do i ignore user input while on a getLine / putStrLn loop?
07:22:27 thegeekinside joins (~thegeekin@189.217.90.138)
07:22:57 ec_ joins (~ec@gateway/tor-sasl/ec)
07:23:41 <jackdk> yin: Is this the sort of thing you mean? https://www.irccloud.com/pastebin/wR1ELEA0/Fnord.hs
07:29:22 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
07:30:17 <yin> jackdk: sort of. imagine that you putStr was something that took a while to run, printing paragraphs word by word, slowly. i want to know how to ignore user input during that operation
07:30:33 <arrowhead> I get this in VSCode: "Could not find module ‘Data.List.Split’ It is not a module in the current program, or in any known package." But I've already cabal install split and added split to my build-depends in my cabal yaml file. Now what?
07:31:30 <yin> arrowhead: are you sure you spelt the import correctly?
07:31:46 <arrowhead> @yin import Data.List.Split
07:31:46 <lambdabot> Maybe you meant: yow wn run ping kind join id bid
07:32:10 <yin> that looks right
07:32:53 <arrowhead> It's so hard to set up an IDE for Haskell
07:33:03 <arrowhead> I've reinstalled everything millions of times
07:33:18 <arrowhead> I would pay for a nice docker with all packages preinstalled
07:33:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
07:34:38 <arrowhead> I really miss FPComplete's online Haskell IDE
07:35:56 × zxrom quits (~zxrom@mm-214-30-212-37.vitebsk.dynamic.pppoe.byfly.by) (Quit: Leaving)
07:36:55 ec_ joins (~ec@gateway/tor-sasl/ec)
07:38:40 <arrowhead> y'all need to rent your properly configured Haskell IDEs to us mere mortals, that would be a win-win
07:39:21 <[Leary]> yin: Something like `bracket (forkIO (forever getChar)) killThread . const`?
07:40:03 chromoblob joins (~user@37.113.158.8)
07:42:57 hisa382 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
07:44:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
07:44:45 × hisa38 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 268 seconds)
07:44:45 hisa382 is now known as hisa38
07:45:01 ec_ joins (~ec@gateway/tor-sasl/ec)
07:46:33 gmg joins (~user@user/gehmehgeh)
07:48:08 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:49:05 chele joins (~chele@user/chele)
07:54:29 <arrowhead> it's back to Haskell for Mac for me. ghcup + vscode seems impossible.
07:56:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
07:58:43 <Helle> time for some cursed code, I wonder if I can use HsQML to achieve the GUI for what I am working on
07:59:20 <chromoblob> what's the utility of Opaque?
08:00:30 <sm> arrowhead: sounds like your problem is with HLS ?
08:01:08 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 250 seconds)
08:02:36 <arrowhead> I had the recommended one selected in ghcup... but also tried all the other ones
08:02:39 <[exa]> chromoblob: if you mean the one from GHC.Base, I'd suspect the utility is similar to `absurd` and `vacuous`
08:03:47 <Helle> oh, oooof, HsQML has not had releases in 5 years
08:03:56 <[exa]> chromoblob: technically it holds something (possibly smart/complex) and you probably can't do anything with it unless you go `unsafeCoerce` or so
08:04:18 <sm> Try to divide an conquer to find out what's going wrong. Eg leaving vs code out of it, can you cabal build this project at the command line ?
08:05:07 <chromoblob> why IO is implemented as magic as opposed to free monads which are just interpreted by runtime?
08:05:50 <[exa]> Helle: what's the target use-case btw? for UI nowadays you might be better off with either reactive tools (brick? elm?) or immediate-mode stuff (gloss/imgui)
08:06:57 ec_ joins (~ec@gateway/tor-sasl/ec)
08:07:40 <Helle> [exa]: well, I am familiar with QtQuick and wanted to use a bunch of ready made elements, like honestly it is such that I could just call the haskell as an external binary even, but it would be slightly more efficient to have it be a library the UI calls to
08:08:14 <sm> arrowhead: got to go.. if your build works normally at command line then a good next place to study might be the VSC Output > Haskell pane.
08:08:50 <Helle> [exa]: also performance of QtQuick well exceeds anything built for the browser
08:09:10 <arrowhead> sm: thank you, I appreciate your help... I have inspected that output pane but could not figure out anything
08:09:23 <arrowhead> chromoblob: history
08:10:05 jinsun joins (~jinsun@user/jinsun)
08:10:08 <arrowhead> sm: yes I can cabal build... this is a cabal init project. there are abandoned github issues with my same issue
08:11:39 <[exa]> Helle: imo depends a lot, Qt occupies a kindof c++-styled niche and I never thought it would port well to haskell
08:11:49 <probie> chromoblob: what's the gain here? Where do FFI calls sit?
08:12:18 <[exa]> Helle: if you're happy with Qt in c++, I'd say just go for it. If not try gtk, I like it because it's waaaaaaaaaay less magic
08:12:32 <Helle> [exa]: so QtQuick and bindings from it to other languages tend to actually work quite well, as opposed to Qt Widgets
08:12:50 <Helle> and no, Qt Quick involves barely a line of C++ ideally
08:13:24 <arrowhead> sm: https://github.com/haskell/haskell-ide-engine/issues/1093
08:14:14 <arrowhead> probie: the gain would be the programmer being able to more easily run an IO value over a different free monad
08:14:51 <[exa]> Helle: I never played with that one tbh but yeah that would make sense (actually looks very cute)
08:15:59 <[exa]> Helle: on the bright side, quite often on hackage some 5 years without a commit may simply mean that the project didn't find any bugs
08:16:43 <[exa]> (you might need to bump some version bounds manually but usually nothing too bad)
08:17:09 <Helle> [exa]: yeah, I am mildly worried as Qt Quick has developed quite a bit, but don't know if these sort of "reverse" bindings are actually impacted
08:17:35 <Helle> (that the Qt Quick code calls the Haskell code is the big trick to begin with in keeping it easy to wrangle)
08:18:06 <[exa]> I'm completely stumped upon how that even calls C code, looks too much like javascript
08:18:32 <[exa]> tbh simply try a small proof of concept, if it fails you'll be sure. :]
08:18:42 <probie> arrowhead: can you quantify "more easily"? You want a free monad that encapsulates all of IO. What does that look like?
08:19:12 <Helle> [exa]: It uses Javascript yeah, uh, the normal way, you can define types in C++ code and include them in your Qt Quick, but that is not a C++ exclusive feature, PyOtherSide does it for Python, HsQML seems to for Haskell
08:20:58 <arrowhead> probie: Currently you have to yourself do "data MyFreeIO = PutStrLn ... | GetLine ..." in order to work with IO as a free monad. If it were how chromoblob said, this would be already that way from the Prelude.
08:21:02 <arrowhead> or from the core.
08:22:16 <chromoblob> probie: FFI is certainly more magical than IO. IO is unescapable. unless you assert unsafePerformIO, which is more magical than the rest of IO too
08:22:55 <c_wraith> fwiw, unsafePerformIO's origins are closely related to FFI, too
08:22:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
08:22:59 <Helle> HsQML seems to take a slightly different angle from PyOtherSide, but not by much, so I think it is worth for me to poke at atleast to see if it works with newer Qt versions and if I can make it play nice with C++ code mixed in (I have some components I want to reuse)
08:23:26 <chromoblob> in my implementation, though, impure foreign functions will be forbidden at link time...
08:23:54 <probie> how does concurrency look?
08:23:59 <Helle> Else I can always drive the Haskell way more indirectly, but that would be suboptimal
08:24:27 <arrowhead> chromoblob: won't that make some imports impossible?
08:24:57 ec_ joins (~ec@gateway/tor-sasl/ec)
08:24:59 <[exa]> Helle: like, it looks to me a lot like they already FFI the C code from javascript, so no idea if the haskell there wouldn't be another wrapper layer
08:25:52 <[exa]> chromoblob: purity is not a property of code or functions
08:26:22 <arrowhead> [exa]: what is purity a property of?
08:27:37 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 240 seconds)
08:28:38 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:29:23 ripspin joins (~chatzilla@1.145.171.138)
08:30:01 <chromoblob> [exa]: I mean the case when the foreign function cannot be virtualized into pure code which never inputs or outputs anything to/from real world
08:30:11 <Helle> [exa]: yeah, I am surprised the code initialises from Haskell though, that is actually less then ideal because it means it implicitly calls a bunch of Qt Quick setup (C++ stuff that you can replace with custom code normally and I often do because of crash handlers, etc), PyOtherSide initialises once the Qt Quick runtime is already up, but I suspect this is not a hard requirement
08:30:27 <Helle> and I know I am making cursed hybrid code
08:31:15 <probie> If this means giving up unsafePerformIO and FFI, it likely means giving up using GMP for Integer
08:31:30 <Helle> yeah, this seems to be avoidable
08:31:55 <Helle> time to see if I can get a hello world
08:32:02 <chromoblob> and doesn't keep observable state "between calls"
08:32:15 <chromoblob> i.e. pure with respect to Haskell
08:32:53 Inst joins (~Inst@c-98-208-218-119.hsd1.fl.comcast.net)
08:35:37 <chromoblob> ok, i think that "code doesn't have observable state between calls" is unprovable for a lot of cases
08:37:00 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
08:37:09 <chromoblob> i'm thinking about functions that memoize, i.e. on first call they compute the result and store it, on second call they just return it
08:38:08 <chromoblob> because the function may compute something more on the second call, and more on third, etc. and there's no way to see whether it always will return the same value
08:39:30 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
08:39:57 <chromoblob> the best we can do is repeatedly call function with same input until we see that its trace doesn't change
08:40:24 <[exa]> [kurt_godel_giggles.gif]
08:41:08 <chromoblob> or repeats one of previous traces
08:41:14 <chromoblob> which is even more expensive to do...
08:41:34 <chromoblob> yeah, scrap it
08:44:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
08:45:06 ec_ joins (~ec@gateway/tor-sasl/ec)
08:46:26 CiaoSen joins (~Jura@145.224.74.19)
08:46:58 <chromoblob> the reason I'm so fanatic is that unsafePerformIO necessarily depends on specific semantics of Haskell
08:47:09 × mei quits (~mei@user/mei) (Remote host closed the connection)
08:47:15 <chromoblob> I dislike seq too, it should have a (derivable) typeclass
08:47:42 <dminuoso> What do you mean by "unsafePerformIO [...] depends on specific semantics"?
08:48:15 <chromoblob> i probbaly mean not semantics, but specific implementation technique
08:48:20 <dminuoso> Right.
08:48:24 <chromoblob> sorry
08:48:34 <jade[m]> I know what you mean
08:49:00 <jade[m]> but haskell still is the language with the least "in-built" stuff I've experienced
08:49:34 mei joins (~mei@user/mei)
08:51:45 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
08:52:38 <Helle> meh, may rewrite HsQML as a plugin.....
08:54:36 <chromoblob> i meant something like "specific realization of semantics"
08:54:46 <jade[m]> ah
08:54:47 <dminuoso> jade[m]: Oh I dont know about that. Lisp is strangely minimalistic.
08:54:54 <dminuoso> Or at least many of its dialects are.
08:55:00 <jade[m]> ohhh yeah that's fair
08:55:14 <jade[m]> haven't worked much with lisp but that'd make sense
08:55:33 <[exa]> turns out that "minimal" is pretty big if you want your language to be general purpose.
08:55:48 <dminuoso> And at the end, I can think of only two things that are usually not builtin
08:55:55 <dminuoso> Which is [] and Bool.
08:56:18 <dminuoso> Most other stuff isnt too different from other languages in the sense of how wired in it is.
08:56:56 <dminuoso> And in fact, Idris takes it even further
08:57:12 <dminuoso> Given how even numeric types like Nat are inductive and widely used.
08:57:20 <jade[m]> mhm
08:57:35 <dminuoso> I mean you can do it in Haskell too, but idris knows how to optimize it away
09:00:38 <chromoblob> does Idris store natural numbers internally as lists of binary digits?
09:01:14 <probie> GHC is pretty good at optimising away lists. With optimisations turned on, the only heap allocation that occurs in the following is boxing the final result `product . map (+1) . filter even . map (+1) . enumFromTo (0 :: Int)`
09:01:34 <dminuoso> probie: Mmm, Id say GHC is actually not very good.
09:01:37 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
09:01:52 <dminuoso> It's mostly library function authors that are very careful to put the right RULES in the right spots.
09:02:27 × mei quits (~mei@user/mei) (Ping timeout: 268 seconds)
09:02:27 <dminuoso> Very little is done by GHC, other than following RULES.
09:02:59 <dminuoso> If you want list fusion to kick in, use `build`.
09:03:09 <dminuoso> It generally doesnt happen magically.
09:03:23 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
09:03:57 <probie> So if instead of having the rules users defined, but magically inbuilt, you'd say that GHC was better?
09:04:10 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
09:04:17 <dminuoso> I dont know whether it was better because I wouldnt know the characteristics of a hypothetical GHC.
09:04:56 <dminuoso> I just know that GHC isnt really good at optimizing lists away. List fusion is an extremely manual process, only functions that are specially treated will avoid intermediate lists.
09:05:23 <dminuoso> However, and thats the thing, even if intermediate lists arent elided, the price tag is generally irrelevant
09:05:42 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
09:05:48 mei joins (~mei@user/mei)
09:06:18 <probie> As someone playing around with their own fusion framework, even though I'm the one specifying the rules, I'm still often impressed by GHC
09:10:54 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
09:15:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
09:16:44 × mei quits (~mei@user/mei) (Ping timeout: 246 seconds)
09:19:12 ec_ joins (~ec@gateway/tor-sasl/ec)
09:21:03 mei joins (~mei@user/mei)
09:24:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
09:25:08 ec_ joins (~ec@gateway/tor-sasl/ec)
09:29:04 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
09:31:44 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:32:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
09:32:48 × ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
09:33:26 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Ping timeout: 250 seconds)
09:36:28 × paddymahoney quits (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
09:39:10 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
09:40:43 paddymahoney joins (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
09:44:32 × kilolympus quits (~kilolympu@213.144.144.24) (Ping timeout: 248 seconds)
09:44:48 kilolympus joins (~kilolympu@vpn-fn-229.net.ed.ac.uk)
09:44:55 × mei quits (~mei@user/mei) (Remote host closed the connection)
09:47:21 mei joins (~mei@user/mei)
09:47:32 × troydm quits (~troydm@user/troydm) (Ping timeout: 265 seconds)
09:47:45 nate2 joins (~nate@98.45.169.16)
09:50:45 × ripspin quits (~chatzilla@1.145.171.138) (Read error: Connection reset by peer)
09:52:29 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
09:56:43 × paddymahoney quits (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds)
09:57:41 × machinedgod quits (~machinedg@93-136-226-84.adsl.net.t-com.hr) (Ping timeout: 250 seconds)
10:01:04 ec_ joins (~ec@gateway/tor-sasl/ec)
10:07:39 × xff0x_ quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 250 seconds)
10:09:51 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
10:19:48 troydm joins (~troydm@user/troydm)
10:20:48 × vandita quits (~vandit@94-21-48-54.pool.digikabel.hu) (Ping timeout: 240 seconds)
10:22:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
10:22:46 vandita joins (~vandit@178-164-206-64.pool.digikabel.hu)
10:26:02 ec_ joins (~ec@gateway/tor-sasl/ec)
10:34:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
10:34:20 × CiaoSen quits (~Jura@145.224.74.19) (Ping timeout: 268 seconds)
10:35:50 ec_ joins (~ec@gateway/tor-sasl/ec)
10:38:10 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
10:38:53 <kuribas> Is there any work done on mapping between similar structures? For example two database schemas which represent the same information (or a subset).
10:38:56 <kuribas> In a declarative way.
10:40:11 <kuribas> But also mapping individual fields, so I could take an error on one structure, and translate it to the other.
10:40:11 __monty__ joins (~toonn@user/toonn)
10:42:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
10:43:21 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
10:43:25 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
10:44:00 ec_ joins (~ec@gateway/tor-sasl/ec)
10:50:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
10:51:31 ec_ joins (~ec@gateway/tor-sasl/ec)
10:53:00 <dminuoso> You mean isomorphisms?
10:53:08 CiaoSen joins (~Jura@145.224.74.19)
10:53:24 <dminuoso> Or homomorphisms.
10:53:37 <dminuoso> (Which are more general than isomorphisms)
10:53:45 × chromoblob quits (~user@37.113.158.8) (Ping timeout: 265 seconds)
10:54:33 <dminuoso> kuribas: As for a technical side, the most common abstraction is HasX pattern (be it with accessors or lens/prisms)
10:55:11 <dminuoso> I sometimes unsafely adjoin traversals into a lens for a similar effect
10:55:48 <dminuoso> (or into a traversal)
10:56:01 <dminuoso> e.g. lagInterfaces = devMLAGs % traversed % mlagInt `adjoin` devLAGs % traversed
10:58:49 <jackdk> there's a chapter in seven sketches in compositionality which represents database schemata as categories where the objects are tables and arrows are foreign key relationships. migrations then become functors, and you might be able to write enough of this in haskell to be useful
11:00:53 <dminuoso> jackdk: interesting, so something like a migration that drops a column is then a forgetful functor?
11:01:00 <dminuoso> quite literally. :-)
11:02:42 <jackdk> something like that. I've only skimmed it, and I don't recall how CREATE TABLE works; what's being mapped form the source category? Populated instances of the DB are functors from the schema to Set, I remember that much
11:02:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
11:04:15 <kuribas> dminuoso: yeah, an isomorphism, but also over parts.
11:04:38 <kuribas> jackdk: cool, that was something I considered.
11:05:04 chromoblob joins (~user@37.113.158.8)
11:05:38 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-9cbe-3a69-612d-747d.rev.sfr.net) (Remote host closed the connection)
11:05:57 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-f001-e2ce-6e99-4f91.rev.sfr.net)
11:06:27 <kuribas> jackdk: but what if some objects are spread out in the second schema?
11:06:46 mmhat joins (~mmh@p200300f1c706681cee086bfffe095315.dip0.t-ipconnect.de)
11:07:05 <jackdk> kuribas: sorry, I haven't read the chapter in enough detail to answer your question
11:07:21 gurkenglas joins (~user@dynamic-046-114-181-157.46.114.pool.telefonica.de)
11:08:37 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
11:09:33 boukenshaou joins (~Boukensha@115.248.21.178)
11:10:57 ec_ joins (~ec@gateway/tor-sasl/ec)
11:11:31 xff0x_ joins (~xff0x@ai098135.d.east.v6connect.net)
11:12:39 hyvoid joins (~hyenavoid@222-0-178-69.static.gci.net)
11:13:57 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
11:14:19 abrantesasf joins (~abrantesa@177.137.232.92)
11:14:42 × mmhat quits (~mmh@p200300f1c706681cee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
11:15:38 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
11:18:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
11:18:29 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
11:20:53 ec_ joins (~ec@gateway/tor-sasl/ec)
11:23:20 <kuribas> jackdk: no problem, I'll look at that paper.
11:25:49 × boukenshaou quits (~Boukensha@115.248.21.178) (Remote host closed the connection)
11:28:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
11:29:45 ec_ joins (~ec@gateway/tor-sasl/ec)
11:36:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
11:40:02 ec_ joins (~ec@gateway/tor-sasl/ec)
11:40:48 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
11:42:42 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
11:48:11 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-f001-e2ce-6e99-4f91.rev.sfr.net) (Remote host closed the connection)
11:48:31 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-f001-e2ce-6e99-4f91.rev.sfr.net)
11:50:42 taupiqueur1 joins (~taupiqueu@2a02-842a-8180-4601-c090-5725-b02b-48b7.rev.sfr.net)
11:51:50 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection)
11:52:08 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
11:53:08 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-f001-e2ce-6e99-4f91.rev.sfr.net) (Ping timeout: 245 seconds)
11:53:24 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-9cbe-3a69-612d-747d.rev.sfr.net) (Ping timeout: 250 seconds)
11:56:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
12:00:52 ec_ joins (~ec@gateway/tor-sasl/ec)
12:05:06 {-d0t-} joins (~{-d0t-}@user/-d0t-/x-7915216)
12:05:08 {-d0t-} is now known as _d0t
12:06:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
12:09:26 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
12:10:40 ec_ joins (~ec@gateway/tor-sasl/ec)
12:10:45 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
12:13:48 × xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds)
12:14:48 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
12:15:58 xff0x_ joins (~xff0x@178.255.149.135)
12:17:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
12:17:46 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Write error: Broken pipe)
12:17:46 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
12:17:58 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
12:18:02 chexum joins (~quassel@gateway/tor-sasl/chexum)
12:18:17 stiell joins (~stiell@gateway/tor-sasl/stiell)
12:20:52 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
12:23:05 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:23:41 <_d0t> ohai. How can I make this piece of code (https://bpa.st/QOX7E) work? It seems that Type Families and RankNTypes are mutually incompatible.
12:25:04 <Axman6> "NB: ‘F’ is a non-injective type family" feels relevant
12:25:49 <_d0t> Axman6: it truly does. I know I could just cast this to Any, but seems like an even uglier hack.
12:26:51 <Axman6> out of curiosity, if you give the newtyp argumeent a field name, what types does the accessor get?
12:27:11 <_d0t> It throws a similar error :-)
12:27:45 <Axman6> so, you can define T without the name, but not with one?
12:28:58 <_d0t> No, I can't do either of those.
12:29:21 × xff0x_ quits (~xff0x@178.255.149.135) (Ping timeout: 250 seconds)
12:31:26 xff0x_ joins (~xff0x@ai098135.d.east.v6connect.net)
12:33:19 <kuribas> _d0t: you have an existential 'a'.
12:33:25 <kuribas> You cannot extract that.
12:34:43 <_d0t> kuribas: i figured that from the compiler error. How can I rewrite this to make it work?
12:35:18 ec_ joins (~ec@gateway/tor-sasl/ec)
12:36:38 <_d0t> data T = forall a. C a => T (F a)
12:36:43 <kuribas> oh wait, it's not an existential.
12:36:43 <_d0t> Something like this doesn't work either.
12:37:08 <_d0t> But here it doesn't pass the ambiguity check.
12:37:31 <_d0t> works with AllowAmbiguousTypes but I would really like to avoid this extension.
12:37:47 <kuribas> oh, that one is fairly harmless.
12:38:00 <_d0t> it also requires unsafeCoerce.
12:38:07 <kuribas> that one is pretty harmful :)
12:39:00 <_d0t> Haha figures.
12:39:45 monoidal joins (~monoidal@2a01cb0801ce4b009c4c2b3639727234.ipv6.abo.wanadoo.fr)
12:41:49 zxrom joins (~zxrom@mm-26-33-212-37.vitebsk.dynamic.pppoe.byfly.by)
12:43:27 × monoidal quits (~monoidal@2a01cb0801ce4b009c4c2b3639727234.ipv6.abo.wanadoo.fr) (Client Quit)
12:43:35 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-c090-5725-b02b-48b7.rev.sfr.net)
12:44:25 monoidal joins (~monoidal@2a01cb0801ce4b009c4c2b3639727234.ipv6.abo.wanadoo.fr)
12:44:37 ripspin joins (~chatzilla@1.145.165.189)
12:45:53 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
12:46:24 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
12:46:36 chiselfuse joins (~chiselfus@user/chiselfuse)
12:48:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
12:48:55 <kuribas> _d0t: it works with a type application: https://gist.github.com/kuribas/30a2539a1a00f3e3759c1d2107df9fa5
12:49:08 <kuribas> also renamed all the 'a's to unique types.
12:49:10 jero98772 joins (~jero98772@2800:484:1d7f:5d36::1)
12:49:17 <_d0t> oh wow..
12:49:26 <_d0t> This is magic. Thank you!
12:49:30 <kuribas> np :)
12:49:49 <_d0t> Meanwhile, I managed to rewrite this with some Typeable casts.
12:51:02 <kuribas> it makes sense, T is basically a function from a, if you don't pass the right type ghc is lost.
12:51:16 ec_ joins (~ec@gateway/tor-sasl/ec)
12:51:28 <kuribas> You assume that it could find 'a', because it knows 'F a' == 'F b', but that's not true in general.
12:51:33 <kuribas> only if F is injective.
12:51:50 <_d0t> Figures.
12:52:01 <_d0t> I'm going to stick to Typeable for now.
12:52:16 <_d0t> Thank you anyway!
12:52:28 <kuribas> I am sure you don't need Typeable.
12:52:45 <_d0t> F is not injective in my case.
12:53:09 <_d0t> Typeable is there only to provide some safety in the form of a readable error message.
12:53:24 <kuribas> ok
12:54:03 × jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 250 seconds)
12:54:55 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 250 seconds)
12:56:32 jle` joins (~jle`@23.240.75.236)
12:57:25 cheater joins (~Username@user/cheater)
12:57:50 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
13:00:17 × ripspin quits (~chatzilla@1.145.165.189) (Read error: Connection reset by peer)
13:01:16 <Inst> probie: I guess this is offensive, but is Haskell, barring library and ecosystem issues, suited to replacing entirely C# and Java?
13:02:27 <int-e> it's not meant to
13:02:51 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
13:03:05 <kuribas> Inst: replacing in what sense?
13:03:13 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
13:03:14 <kuribas> Build up a business on top of only haskell, sure you can do that.
13:03:41 <kuribas> Migrating massive C# codebases to haskell, probably not.
13:04:04 <kuribas> And even if possible, it probably wouldn't be a good strategy.
13:04:19 <Axman6> without a good reasson at least
13:04:39 <kuribas> right. If you are already doing a rewrite, you might as well pick haskell.
13:05:21 <Inst> kuribas: in the sense of being a better general-purpose language for enterprise
13:05:33 <_d0t> Inst: it isn't
13:05:54 × oo_miguel quits (~Thunderbi@77.252.47.84) (Quit: oo_miguel)
13:05:56 <Inst> in the sense that the libraries / ecosystem isn't there, and dearth of qualified haskellers
13:06:04 <_d0t> Inst: or at least, it's only as good as your programmers. And I've seen too much awful code in Haskell in my life.
13:06:43 <kuribas> Inst: probably not
13:06:45 <dminuoso> Inst: The comparison is deeply flawed.
13:06:53 <dminuoso> The success of C# is centered around .NET.
13:07:19 <dminuoso> And similarly much of Java success can be attributed to an incredibly portable JRE that fits very well into polyglot scenarios too
13:08:10 <dminuoso> (And similarly is also why Java is so portable)
13:10:22 <Inst> whereas here windows and arm support isn't wholly there
13:10:58 <Inst> _d0t: would you say, there's no standard Haskell production idiom that doesn't suck?
13:11:20 irfan joins (~irfan@user/irfan)
13:11:21 <dminuoso> All software sucks, depending on who you ask.
13:11:43 <_d0t> Inst: no. I would say that Haskell won't save you from a mess that unqualified people are going to create.
13:12:06 <Inst> i see, just guessing, what kind of mess?
13:12:14 <Inst> the only mess i know of is the eric normand mess, i.e, everything was in IO
13:12:44 <_d0t> Inst: enormous amounts of unreadable code with no documentation whatsoever, half of it using lens
13:13:21 <geekosaur> there's also the messes that no code or technology can fix, such as mis-specified or underspecified requirements
13:13:39 <Inst> point-free abuse?
13:14:14 <_d0t> Inst: look, you seem to be having it backwards. Haskell is a tool. If you have a tight team that works together nicely and they all know Haskell, then go for it.
13:14:24 <_d0t> But this applies to any programming language out there.
13:14:34 <dminuoso> Haskell guarantees reliable software roughly the same way a quality toolkit guarantees a reliable house.
13:14:53 <dminuoso> Not at all, but with skilled workers you get better assurances.
13:15:09 <Axman6> claiming lens is unreadable is a bit disingenuous, it's not like it's a hard DSL to use or learn
13:15:17 <dminuoso> Axman6: Oh thats brave.
13:15:20 <Inst> the assumption i'm making is that haskell isn't fully production ready, partially in the library sense, partially in the social sense; i.e, best practices aren't well-known
13:15:37 <Inst> any language can be abused
13:15:40 <_d0t> Inst: it just so happens that some people who are good at programming also prefer Haskell, which seems to be caused by the fact that Haskell has a higher entry barrier.
13:16:02 <Axman6> the majority of what people actually use in lens is very reasable once you know a few operators
13:16:15 <Axman6> readable*
13:16:19 <_d0t> Axman6: no, but lens provoke "typechecking code into existence". Aka hammering in various operators until it typechecks and seemingly works.
13:16:38 <Inst> "type tetris"
13:16:38 <Axman6> I strongly disagree
13:16:46 <_d0t> Axman6: I mean, I've seen this happen :)
13:16:46 <dminuoso> "best practices" is a strange notion that usually arises amongst very inexperienced developers that hope by just following some set of rigid guidelines will increase the value of their code.
13:17:00 <_d0t> You can disagree, but this won't change my personal experience with people writing code this way.
13:17:00 <dminuoso> The longer I do software development, the less I believe in it.
13:17:05 <Axman6> sure, but that's not the norm for lens, particularly used in production
13:17:18 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
13:17:21 <Axman6> dminuoso: amen
13:18:25 <irfan> dminuoso: agreed on the "best practices" bit.
13:18:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
13:19:00 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:19:11 <_d0t> My personal grudge with lens is that lens increase compile times dramatically, mostly due to the underlying use of Generic.
13:19:16 <Inst> i mean it's a very developer-oriented attitude when language choice is usually that of management's
13:19:55 <_d0t> Inst: it's not
13:19:57 <dminuoso> For me what counts for "production ready" is: a) stability of API. b) documentation of usage. c) maintanenace. d) availability of libraries for my problem domain.
13:20:11 <Axman6> knowing "worst practices" is probably more useful, know the things which will lead to poor code, and then have the knowledge to apply what left to the situation at hand
13:20:17 <dminuoso> And all of that is specific to a transitive dependency closure.
13:20:30 <dminuoso> The problems I solve with Haskell has libraries that check all those boxes.
13:20:43 <dminuoso> For others it may be different
13:20:46 <Axman6> _d0t: what underlying use of Generic? some exists, but it's not like you need to use Generic for anything
13:20:56 ec_ joins (~ec@gateway/tor-sasl/ec)
13:21:02 <dminuoso> And none of these things have to do with language itself really.
13:21:26 <_d0t> Axman6: you need Generic for generic-lens :)
13:21:29 <Inst> "will this choice lead to acceptable business outcomes?"
13:21:45 <Axman6> we weren't talking about generic-lens were we?
13:21:57 <Inst> also, i guess, and I'm not sure because my source is someone who deserves to be a notorious known Haskell hater and Clojure fanboy
13:22:18 <Inst> but apparently Hasura proved the point, they supposedly were looking for randoms from Indian IITs or whoever they could pick up to train in Haskell
13:22:18 <_d0t> Axman6: so many projects use the two libraries together
13:22:30 <Inst> that failed, now they hire senior engineer types, but only if you trust that source
13:22:57 <Axman6> why are you so obsessed with popularity and fanboyism Inst? It;s reallt tedious - just get shit done and don't worry too much about what people think is popular and cool
13:23:15 <irfan> i think best/worst practices make sense but only when beginners understand the reasons behind them. what is questionable is "following/avoiding" best/worst practices based only on random advice with zero conceptual backing.
13:24:24 <irfan> which is regrettably pretty widespread.
13:24:38 <dminuoso> irfan: It's at best only guidance for the inexperienced. But there rapidly should come a point where you understand a library, a set of idioms or an ecosystem and decide for yourself.
13:24:38 <Axman6> _d0t: none that I've worked with in production, using template haskell is much more common
13:24:51 <irfan> dminuoso: sure.
13:24:59 <_d0t> Axman6: the opposite here
13:25:01 ripspin joins (~chatzilla@1.145.181.21)
13:25:04 <dminuoso> Axman6: Is cross compilation is not needed, TH is clearly superior to Generic.
13:25:13 <dminuoso> For everybody.
13:25:22 <_d0t> dminuoso: not when GHCJS is involved
13:25:28 <_d0t> but this is another huge can of worms
13:25:42 <kuribas> Inst: haskell is production ready, and haskell should replace all C# programs, are two wildly differing statements.
13:25:51 <dminuoso> _d0t: Ive been longing for something like TH but without linkage.
13:26:02 <_d0t> dminuoso: so have we all
13:26:14 <dminuoso> Or some separate linkage model.. mmm
13:26:29 <_d0t> with GHCJS, every TH splice launches a separate node process which takes something on the order of up to 10 seconds to finish.
13:26:40 <_d0t> So, every splice adds up to 10 second to your compile time.
13:26:43 <Inst> kuribas: i mean in a social role, i.e, that at some point in time, it'd be suitable as a standard enterprise language
13:26:50 <dminuoso> _d0t: Hah, that can still be faster than Generic!
13:26:53 <Axman6> Eh, I quite like the generic-lens approach, but haven't used it much. I do wish there was a more efficient way to compile it
13:27:20 <_d0t> sometimes I wish I could go back to writing C
13:27:23 <dminuoso> I've had examples of cutting down compilation time from several minutes to <2s by just switching some ~30ish Generic instances with JSON.
13:27:45 <Axman6> _d0t: you actually can (:
13:27:52 <_d0t> dminuoso: JSON in Haskell is in a such sorry state, it's not even funny
13:27:56 <_d0t> Axman6: Haskell pays better
13:28:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
13:28:09 <dminuoso> _d0t: well `json` is fine. `aeson` is not.
13:28:16 <dminuoso> Its an ecosystem problem
13:28:25 <Axman6> looked at waargonaut?
13:28:27 <_d0t> dminuoso: right, and since there are no other json libraries. You kinda see my point.
13:28:29 <dminuoso> And in part the problems have to do with orphan instances, cabal flags, and so on
13:28:38 <Axman6> _d0t: waargonaut
13:28:46 <dminuoso> Axman6: thats just as complex and heavy in terms of dependencies.
13:28:49 <kuribas> Inst: doubtfully, considering the weird directions enterprise software take.
13:28:59 <_d0t> dminuoso: no, this isn't what I mean. Aeson's performance is just atrocious.
13:29:02 <dminuoso> My issues with aeson is not that I dont agree with some ergonomic choices, its that imposes 17% of hackage onto me.
13:29:03 ec_ joins (~ec@gateway/tor-sasl/ec)
13:29:16 <Axman6> why are dependencies an issue?
13:29:29 <dminuoso> Compilation time, and frequent build plan breakge.
13:29:32 <kuribas> Like either no-code java xml BS, or dumbed down "everything is javascript".
13:29:45 <dminuoso> And it poses auditing problems.
13:29:47 <Axman6> the former should be a one off cost
13:30:00 <dminuoso> Unlike probably 99,99% of haskellers, I do audit transitive closure changes.
13:30:09 <dminuoso> The larger the transitive closuer, the more work I have to do after bumping dependencies.
13:30:23 <Axman6> and I've rarely found that for apps (as opposed to libraries), those breakages are usually minor and easily fixed
13:30:54 <_d0t> Axman6: dependency creep is real. My employer's main project takes almost half an hour to build from scratch on my Threadripper
13:31:06 <_d0t> Axman6: mostly because aeson, lens, and a few other things
13:31:35 shriekingnoise joins (~shrieking@186.137.175.87)
13:31:40 <dminuoso> Yup, similar story here.
13:32:11 <_d0t> Haskell's compile times are already atrocious, and the sheer amount of code to build doesn't help exactly.
13:32:30 <_d0t> I'm actually thinking about making a much simpler almost no dependencies JSON library at this point.
13:32:43 <dminuoso> _d0t: https://hackage.haskell.org/package/json
13:32:46 <dminuoso> Already exists.
13:32:55 <dminuoso> Performance is okayish if thats fine.
13:33:06 <_d0t> dminuoso: splendid!
13:33:39 <_d0t> i'd replace String with ByteString and Text there and it would be good to go.
13:34:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
13:34:20 <dminuoso> Since text-2.0 it's a good idea. Before, dunno.
13:34:35 <_d0t> Also, a huge portion of aeson's performance penalties come from the fact that they build KeyMap.
13:34:45 <_d0t> And Map isn't exactly the most efficient data structure in Haskell.
13:35:07 <_d0t> newtype JSObject e = JSONObject { fromJSObject :: [(String, e)] }
13:35:10 ec_ joins (~ec@gateway/tor-sasl/ec)
13:35:12 cheater_ joins (~Username@user/cheater)
13:35:15 <_d0t> ah welp.. this is somewhat worse
13:35:31 <dminuoso> _d0t: mmm the performance characterstics really depends on what kind of objects you hold.
13:35:59 <_d0t> dminuoso: I have a nicely named repo here :)
13:36:01 <_d0t> https://github.com/greydot/aeson-shits-its-pants
13:36:03 <_d0t> Pardon my french
13:36:05 × cheater quits (~Username@user/cheater) (Ping timeout: 250 seconds)
13:36:07 cheater_ is now known as cheater
13:36:08 <dminuoso> _d0t: I dont quite know about that. Formally that type is faithful to the JSON format.
13:36:15 <dminuoso> *much* more than Map or hashMap
13:36:26 <dminuoso> { "foo": 1, "foo": 2 } is legit json
13:36:40 <_d0t> TL;DR parsing a 14 megabyte JSON causes aeson to munch on 560 megabytes of RAM
13:36:51 machinedgod joins (~machinedg@93-136-226-84.adsl.net.t-com.hr)
13:37:01 <dminuoso> We should unpack `mason` and `flatparse`
13:37:19 Lycurgus joins (~juan@user/Lycurgus)
13:37:21 <Axman6> I actually wrote a flat parse json parser...
13:37:23 <dminuoso> And make something sleek, small, and fast.
13:37:27 <dminuoso> Axman6: Go share!
13:37:35 <Axman6> and my last name's mason (:
13:37:38 <dminuoso> Haha.
13:37:38 <_d0t> i was thinking about writing that...
13:37:42 titibandit joins (~titibandi@user/titibandit)
13:37:49 <dminuoso> flatparse is by far my favourite parsing library. :)
13:38:03 <dminuoso> Who cares about streaming interfaces or custom monad transformers.
13:39:09 <Axman6> parsing speed was basically identical to aeson. it parses into aeson's Value but just because it did what I needed
13:39:25 <Inst> Axman: when I bring up my source, I'm just saying he'd be unreliable and jaundiced, he more or less admitted to me he had a bone to pick with Haskell for years, so I guess implicitly I was looking for corroboration of what happened with Hasura
13:39:30 <_d0t> aeson's Value is the main source of memory use actually
13:40:08 <dminuoso> What representation would you prefer?
13:40:36 <Axman6> dminuoso: _d0t: very much a WIP https://github.com/axman6/aeson-flatparse
13:41:11 <Axman6> what happened with Hasura?
13:41:15 <_d0t> dminuoso: I was thinking about using small integer shifts for keys to extract them and functions for values to provide on-demand parsing
13:41:20 <Inst> As far as popularity goes; I guess the issue for the Haskell community is more that the ratio of jobs to developers is unfavorable, so additional popularity would be unwelcome, especially if it leads to more terrible Haskell codebases
13:41:23 <dminuoso> Axman6: You should make it ParserT polymorphic! :)
13:42:11 <_d0t> dminuoso: basically, a parsed value would be represented by a small array of integers plus the original JSON.
13:42:17 <_d0t> I probably should throw a prototype some time.
13:42:28 × vandita quits (~vandit@178-164-206-64.pool.digikabel.hu) (Ping timeout: 240 seconds)
13:42:30 <Axman6> also, sounds like Jon HArrop back in in the day, who had a vendetta against Haskell, writing amazingly disingenuous blog posts showing how bad Haskell is if you write bad haskell, compared to writing good F#
13:43:05 <Axman6> _d0t: you want https://github.com/haskell-works/hw-json
13:43:08 <Inst> Axman6: that they started by hiring random Indian developers for their software, training them, then found out that it didn't work out and switched to looking for senior Haskell devs.
13:43:20 <_d0t> Axman6: i saw it and it's not exactly what I want
13:43:33 <_d0t> but close, yeah
13:43:38 <Axman6> _d0t: it is _very_ fast though =)
13:43:57 <Inst> As for bad Haskell, I'm told when Juspay, currently a Monad-tier sponsor of HF, adopted Purescript, their devs were just looking up cheatsheets and it's probable that they have some bad Purescript / Haskell code as a consequence
13:44:06 <dminuoso> _d0t: Mm I dont quite understand what you meant by "small integer shifts"
13:44:28 vandita joins (~vandit@78-131-74-110.pool.digikabel.hu)
13:45:07 <_d0t> dminuoso: shift from the start of json. There is no need to store keys separately when you can just point to the place in the JSON, except Haskell pointers are enormous (8 bytes) and you can actually save a lot of space by using some smaller integer.
13:45:17 <_d0t> s/shift/offset/
13:45:18 <Axman6> hw-json is basically an encoding of that idea, it uses succinct data structures to store the byte offsets to each type of json value
13:46:06 <dminuoso> _d0t: Oh, so you mean just offsets into the original (or some normalized) json buffer.
13:46:14 <_d0t> Axman6: i know. I mean, I'm entertaining about the same idea, but with a slightly different approach to it.
13:46:16 <_d0t> dminuoso: yeah
13:47:08 <_d0t> tbh succinct structures in haskell need more love
13:47:19 <dminuoso> _d0t: So for object you would have `data Value = Object [(Key, Int)] | ...` or some such?
13:47:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
13:47:31 <dminuoso> Oh well, plus a ByteString reference
13:47:33 <Axman6> John's got it all sitting there for you :)
13:48:04 <_d0t> dminuoso: basically
13:48:36 <Axman6> dminuoso: more likely (Int,Int) (or data ObjectVal = OV !Word32 !Word32)
13:49:01 <dminuoso> What would that first integer represent?
13:49:07 ec_ joins (~ec@gateway/tor-sasl/ec)
13:49:09 <dminuoso> An offset into a dictionary?
13:49:16 <Axman6> offset to the key in the original bytestring
13:49:17 nate2 joins (~nate@98.45.169.16)
13:49:24 <dminuoso> Ah sure.
13:50:05 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
13:50:05 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
13:50:05 wroathe joins (~wroathe@user/wroathe)
13:50:07 <dminuoso> So list would be `| List Word32 Word32` with an offset and a length?
13:50:13 <dminuoso> (assuming the json is normalized here)
13:50:13 <Axman6> CBOR has a cool notion of storing a cache of previously seen strings, which is fantastic for json like data with heaps of repeated keys
13:51:09 <Axman6> I would've said Vector Word32
13:51:24 <dminuoso> That seems excessive.
13:51:41 <dminuoso> Unless you dont want to normalize
13:51:49 <Axman6> mens you have constant time access to any element of the list though
13:51:50 <dminuoso> And it should ne an unboxed vector at minimum
13:52:02 <Axman6> yeah, that was iplied
13:52:07 <Axman6> m*
13:52:22 <dminuoso> Though I think normalizing first and `List Word32 Word32` will be way more efficient.
13:53:20 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
13:53:25 <Axman6> one of the reasons why cborg's parser has a ST like type is because I wanted to be able to build up unknown length arrays effeciently
13:53:27 <dminuoso> But I guess this gets deeper into whether you may want to stream or not
13:53:42 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
13:53:52 <dminuoso> Axman6: You can do that with flatparse too.
13:53:57 <Axman6> yeah - there are a million different choices you can go with
13:54:13 <dminuoso> flatparse since a while ago is able to run in a pure mode, or over IO or ST
13:54:17 <_d0t> like getting rid of json entirely and using s-exp :3
13:54:25 <_d0t> or at least i often think of this
13:54:31 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
13:54:33 <_d0t> sorry, but s-exp is just a superior format
13:55:01 <dminuoso> YAML is a superior format.
13:55:04 × abrantesasf quits (~abrantesa@177.137.232.92) (Remote host closed the connection)
13:55:17 <_d0t> welp...
13:55:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
13:55:20 <dminuoso> The complexity YAML parser is close to a fully compliant XML parser! :)
13:55:22 <_d0t> parsing it would be hell
13:55:30 <dminuoso> YAML is so absurdly complicated.
13:56:21 <Axman6> dminuoso: why wouldn't you want 64 different ways to format a string?
13:56:40 <dminuoso> So I can figure out whether YAML is turing complete or not.
13:57:16 <dminuoso> At least YAML even has a specification. As far as markup languages go, it could be much worse.
13:57:18 × shriekingnoise quits (~shrieking@186.137.175.87) (Quit: Quit)
13:57:36 <dminuoso> You could be looking at markdown and end up with... hundreds of flavours, none of them standardized in terms of production rules or semantics.
13:57:37 <_d0t> yaml is banned in Norway
13:57:44 <dminuoso> Legally? Sounds sensible.
13:57:47 <_d0t> can't use it
13:57:59 shriekingnoise joins (~shrieking@186.137.175.87)
13:58:06 <Axman6> Referencing an ex-colleague of mine https://stackoverflow.com/questions/3790454/how-do-i-break-a-string-in-yaml-over-multiple-lines/21699210#21699210 which lead to the creation of https://yaml-multiline.info
13:58:33 <dminuoso> _d0t: You could also petition to change the name of your country.
13:58:41 <_d0t> dminuoso: it's not my country :D
13:58:52 <Axman6> there is a standard for markdown, called Commonmark, and it's enormous (brought to you by the author of pandoc IIRC)
13:58:54 ec_ joins (~ec@gateway/tor-sasl/ec)
13:59:14 <dminuoso> Axman6: Haha!
13:59:16 <dminuoso> I love it.
13:59:24 <dminuoso> https://commonmark.org/ `Learn Markdown in 60 Seconds`
13:59:26 <Axman6> "Yaml? There's norway I'm usin' that!"
13:59:43 <dminuoso> https://spec.commonmark.org/0.30/ -> 125 pages
13:59:44 titiband1t joins (~titibandi@user/titibandit)
14:00:06 <dminuoso> Axman6: Though just skimming it, its a very informal specification.
14:00:10 <Axman6> MArkdown is like C++
14:00:19 <dminuoso> C++ at least is fully specified!
14:00:27 <Axman6> is it though?
14:00:31 <dminuoso> ITs problem is that sometimes not even the committee quite knows what the specification means
14:00:39 <_d0t> this is why my repos contain README.org and not README.md
14:00:47 <dminuoso> Its how non-constant constexpr happened.
14:00:59 <Axman6> u wot m8?
14:01:03 <Axman6> excuse me?
14:01:17 <dminuoso> Axman6: https://b.atch.se/posts/non-constant-constant-expressions/
14:01:37 <dminuoso> It's pure evil interplay of the semantics of C++.
14:01:43 <_d0t> dminuoso: i bet there's UB somewhere
14:01:46 <dminuoso> _d0t: Nope!
14:01:48 <dminuoso> Thats the best part of it.
14:01:56 <dminuoso> It's fully standard well defined
14:02:07 <_d0t> dminuoso: you can't possibly know that. The list of UB cases for C alone is 13 pages long, and C++ greatly expands on that!
14:02:27 <dminuoso> _d0t: The entire trick is well documented and references specific rules.
14:02:37 <dminuoso> But
14:02:39 <_d0t> fine, fine
14:02:40 <dminuoso> To be fair, who knows.
14:02:47 <Axman6> I need to go to bed, I can't be reading this nightmare fuel
14:02:51 <dminuoso> There might be some weird interplay of UB rules that makes this UB
14:03:25 <dminuoso> Axman6: Ill give you a teaser: int main () { constexpr int a = f (); constexpr int b = f (); static_assert (a != b, "fail"); }
14:03:35 <dminuoso> How to make that static assertion fail! In a conforming manner.
14:03:36 <Axman6> Someone shared this one with me recently, it feels like it has to be fake, but... https://thedailywtf.com/articles/the-inner-json-effect
14:04:31 × titiband1t quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
14:05:25 <probie> I saw this a few days ago. Are you sure it wasn't here? (I guess it might have been one of the sr.ht channels)
14:06:18 <Axman6> It may have come form a common friend of ours probie
14:06:40 titiband1t joins (~titibandi@user/titibandit)
14:06:43 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:06:48 <Axman6> from*
14:08:50 wroathe_ joins (~wroathe@207-153-38-140.fttp.usinternet.com)
14:08:55 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
14:08:58 × wroathe_ quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Client Quit)
14:09:17 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
14:09:17 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
14:09:17 wroathe joins (~wroathe@user/wroathe)
14:11:13 × arrowhead quits (~arrowhead@cpe-74-66-76-151.nyc.res.rr.com) (Remote host closed the connection)
14:12:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
14:15:01 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
14:16:03 ec_ joins (~ec@gateway/tor-sasl/ec)
14:16:38 <jade[m]> <Axman6> "Someone shared this one with..." <- this is so fake, but hillarious
14:19:59 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
14:22:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
14:22:48 <Inst> I'm thinking about making a GUI app that compiles C code in Haskell
14:23:10 <Inst> would it be easier to call gcc / clang or to write your own compiler?
14:23:38 <dminuoso> Depends on your goals, really.
14:23:46 <_d0t> Inst: depends on whether you want to suffer
14:23:59 <dminuoso> In principle a C compiler is relatively easy to write *if* you target something like llvm.
14:24:00 <_d0t> C isn't the easiest language to write a compiler for
14:24:06 <geekosaur> or maybe help merijn make others suffer 🙂
14:24:31 thegeekinside joins (~thegeekin@189.217.90.138)
14:24:33 <geekosaur> (cf. maximally malevolent compiler)
14:25:56 ec_ joins (~ec@gateway/tor-sasl/ec)
14:26:02 <Inst> i'm doing K&R in inline C with Haskell translations
14:26:33 <dminuoso> Without knowing the requirements here, its hard to give advice
14:26:34 <Inst> I think it'd be fun to make it so that the C exercises are actually visible in a GUI and can be edited
14:26:48 <_d0t> Inst: so.. a text editor?
14:26:55 <Inst> yeah
14:27:01 <Inst> tbh i have a dream of building a Haskell IDE
14:27:28 <_d0t> Inst: you're not the first guy to have it. We've had Yi and Leksah already.
14:27:56 <dminuoso> My dream of a Haskell has been fulfilled since 1976.
14:28:01 <dminuoso> s/Haskell/Haskell IDE/
14:28:27 <_d0t> Speaking of. Does anyone actually use Intellij for Haskell?
14:29:24 <Inst> _d0t: but make it a visual haskell editor pinned to some easy to use GUI framework
14:29:44 <_d0t> Inst: there is no such thing as an easy to use GUI framework :(
14:29:57 oo_miguel joins (~Thunderbi@77.252.47.84)
14:30:29 <_d0t> fwiw gui programming is cursed
14:30:49 <Inst> what about electron / tauri?
14:31:08 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
14:31:18 <_d0t> it's abominable. Many electron apps are almost impossible to build reproducibly.
14:31:42 <_d0t> if you take a peek at nixpkgs, they don't even bother building electron apps, instead repackaging existing upstream builds.
14:31:54 <_d0t> yes, even when source code is available.
14:32:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
14:33:23 <_d0t> not to mention that every electron app is a chrome process and thus a huge memory hog. Or that electron apps don't integrate with the rest of the system well. Say goodbye to proper font scaling, screen readers, theming, etc.
14:33:31 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
14:34:11 <_d0t> if I had a choice between writing electron apps or moving to Nepal to tend to mountain goats and never touch computers again, well... goats it is
14:34:40 × euandreh quits (~Thunderbi@189.6.18.7) (Quit: euandreh)
14:34:57 euandreh joins (~Thunderbi@189.6.18.7)
14:36:54 ec_ joins (~ec@gateway/tor-sasl/ec)
14:37:48 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Ping timeout: 240 seconds)
14:40:35 boukenshaou joins (~Boukensha@223.178.84.62)
14:40:55 motherfsck joins (~motherfsc@user/motherfsck)
14:41:30 <Inst> k, Haskell's monomer is WIP, but it's relatively easy to use, and even can compile on Windows (without SDL) with a mild bit of msys config
14:41:41 Sgeo joins (~Sgeo@user/sgeo)
14:44:28 × mncheck quits (~mncheck@193.224.205.254) (Remote host closed the connection)
14:44:44 <Inst> lol, and beats tauri for memory consumption
14:45:21 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
14:47:39 <chromoblob> Inst: "Type tetris" is very funny
14:47:55 <Inst> i thought that was standard slang for people just goofing off and trying to make the types match
14:48:12 <Inst> also for newbies who are busy trying to unfold multiple monadic layers
14:48:15 <_d0t> first time i'm seeing the term, but i like it
14:48:29 user____4 joins (~user@dynamic-046-114-181-157.46.114.pool.telefonica.de)
14:48:44 × gurkenglas quits (~user@dynamic-046-114-181-157.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
14:49:01 <Inst> https://www.google.com/search?q=%22type+tetris%22+haskell&ei=1PV9ZN7FGdTekvQP6fGHmAI&ved=0ahUKEwje_8GCsKz_AhVUr4QIHen4ASMQ4dUDCBA&uact=5&oq=%22type+tetris%22+haskell&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIECAAQHjIICAAQigUQhgMyCAgAEIoFEIYDMggIABCKBRCGAzoHCAAQHhCwAzoLCAAQigUQhgMQsANKBAhBGAFQhQtYwRRgnBdoAXAAeACAAUOIAXySAQEymAEAoAEBwAEByAEE&sclient=gws-wiz-serp
14:50:04 <Inst> surprised sm et al haven't made a Haskell game named type tetris that's a weird mix of tetris and haskell
14:50:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
14:51:20 <Inst> and this is relevant to the gist of what you guys have been pushing: https://ozataman.medium.com/choosing-haskell-isnt-a-stand-in-for-good-software-design-7d893882f963
14:52:01 ec_ joins (~ec@gateway/tor-sasl/ec)
14:52:31 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
14:52:31 × CiaoSen quits (~Jura@145.224.74.19) (Ping timeout: 240 seconds)
14:53:20 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds)
15:00:00 × zxrom quits (~zxrom@mm-26-33-212-37.vitebsk.dynamic.pppoe.byfly.by) (Remote host closed the connection)
15:00:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
15:00:24 zxrom joins (~zxrom@mm-26-33-212-37.vitebsk.dynamic.pppoe.byfly.by)
15:01:25 ec_ joins (~ec@gateway/tor-sasl/ec)
15:02:45 <jade[m]> <_d0t> "Speaking of. Does anyone..." <- did when learning it, wouldn't reccomend
15:07:12 × tomku quits (~tomku@user/tomku) (Ping timeout: 248 seconds)
15:09:01 tomku joins (~tomku@user/tomku)
15:09:12 cheater_ joins (~Username@user/cheater)
15:11:08 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
15:11:17 cheater_ is now known as cheater
15:14:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
15:15:44 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
15:16:54 ec_ joins (~ec@gateway/tor-sasl/ec)
15:23:45 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
15:24:08 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
15:26:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
15:26:31 shriekingnoise_ joins (~shrieking@186.137.175.87)
15:27:37 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
15:29:05 ec_ joins (~ec@gateway/tor-sasl/ec)
15:29:11 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 250 seconds)
15:29:11 × dtman34 quits (~dtman34@76.156.89.180) (Ping timeout: 250 seconds)
15:29:27 dtman34 joins (~dtman34@76.156.89.180)
15:33:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
15:34:15 ec_ joins (~ec@gateway/tor-sasl/ec)
15:35:03 × acidjnk quits (~acidjnk@p200300d6e7072f49f87e9b16d0682c76.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
15:36:41 cheater_ joins (~Username@user/cheater)
15:37:15 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
15:37:37 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
15:38:41 <_d0t> jade[m]: care to elaborate?
15:39:14 gmg joins (~user@user/gehmehgeh)
15:39:35 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
15:39:36 cheater_ is now known as cheater
15:42:30 <jade[m]> VSCode or Vim seem like much better ways to me. The IntelliJ plugin was buggy and also didn't teach me properly how to set up a project or use a build tool because "green button -> code runs"
15:42:41 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
15:42:58 <_d0t> ah.. i use emacs. I'm just curious about intellij to try it every once in a while.
15:43:50 jonathan joins (~jonathan@c83-177-239-48.bredband.tele2.se)
15:44:50 acidjnk joins (~acidjnk@p200300d6e7072f49f87e9b16d0682c76.dip0.t-ipconnect.de)
15:45:10 __monty__ joins (~toonn@user/toonn)
15:45:36 × machinedgod quits (~machinedg@93-136-226-84.adsl.net.t-com.hr) (Ping timeout: 248 seconds)
15:46:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
15:46:42 alphabeta joins (~kilolympu@213.144.144.24)
15:47:18 <jade[m]> IntelliJ is amazing for java and jvm languages, but even though it has a bunch of plugins for other languages, none of them have convinced me yet
15:47:37 × kilolympus quits (~kilolympu@vpn-fn-229.net.ed.ac.uk) (Ping timeout: 265 seconds)
15:48:03 <_d0t> err... i'm mostly hopeful i can dump emacs eventually for something better. Unfortunately, haven't found anything worthwhile yet.
15:48:23 <jade[m]> v i m
15:48:39 <jade[m]> I use n e o v i m personally
15:48:48 <_d0t> i use evil mode in emacs :)
15:49:35 ec_ joins (~ec@gateway/tor-sasl/ec)
15:49:47 × chromoblob quits (~user@37.113.158.8) (Ping timeout: 246 seconds)
15:51:19 blueonyx joins (~blueonyx@user/blueonyx)
15:52:10 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 250 seconds)
15:53:08 × blueonyx quits (~blueonyx@user/blueonyx) (Client Quit)
15:56:19 × vandita quits (~vandit@78-131-74-110.pool.digikabel.hu) (Ping timeout: 265 seconds)
15:58:00 vandita joins (~vandit@94-21-48-39.pool.digikabel.hu)
16:02:25 × titiband1t quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
16:05:39 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
16:06:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:06:37 cheater_ joins (~Username@user/cheater)
16:07:29 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
16:08:41 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 246 seconds)
16:09:25 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
16:09:32 cheater_ is now known as cheater
16:10:08 ec_ joins (~ec@gateway/tor-sasl/ec)
16:16:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:16:52 gensyst joins (~gensyst@user/gensyst)
16:17:26 × irfan quits (~irfan@user/irfan) (Quit: leaving)
16:18:14 <gensyst> Can someone tell me why my very simple channel is so dead-slow?
16:18:27 <gensyst> That's Main.hs: https://dpaste.com/2FXMAZVA8
16:18:55 <gensyst> The key is line 23. It becomes crazy slow
16:19:05 <gensyst> Here is my Channel.hs: https://dpaste.com/7GC7YEHS5
16:19:23 <gensyst> These are just some simple MVar operations. I don't see why it should slow it down so much
16:19:35 <gensyst> It's a trivial thing; sum numbers from 1 to 300,000.
16:19:58 ec_ joins (~ec@gateway/tor-sasl/ec)
16:20:12 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
16:20:15 motherfsck joins (~motherfsc@user/motherfsck)
16:20:28 <ncf> not strict enough?
16:20:36 chromoblob joins (~user@37.113.158.8)
16:22:17 <ncf> or maybe that's expected
16:24:39 mixfix41 joins (~sdeny9ee@user/mixfix41)
16:26:01 <gensyst> Let's say it's 10 seconds slower (it's actually 15 seconds slower). Even then, that's a massive 33 microsecond overhead for each of the 300,000 numbers
16:26:14 <gensyst> but mvar operations are supposed to be in the tens of nanoseconds at most
16:26:22 <gensyst> so it's imo unexpected :S
16:29:38 × ripspin quits (~chatzilla@1.145.181.21) (Remote host closed the connection)
16:29:40 <sm> maybe profiling can tell something ?
16:30:08 × mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving)
16:34:29 shriekingnoise joins (~shrieking@186.137.175.87)
16:36:19 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 268 seconds)
16:36:26 × shriekingnoise_ quits (~shrieking@186.137.175.87) (Ping timeout: 265 seconds)
16:36:34 dibblego joins (~dibblego@122-199-1-30.ip4.superloop.au)
16:36:34 × dibblego quits (~dibblego@122-199-1-30.ip4.superloop.au) (Changing host)
16:36:34 dibblego joins (~dibblego@haskell/developer/dibblego)
16:41:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:43:12 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 265 seconds)
16:43:14 ec_ joins (~ec@gateway/tor-sasl/ec)
16:48:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:48:59 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
16:51:08 babysnakes joins (~babysnake@94.159.128.69)
16:51:29 ec_ joins (~ec@gateway/tor-sasl/ec)
16:55:01 × babysnakes quits (~babysnake@94.159.128.69) (Client Quit)
16:58:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:59:37 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
17:00:21 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
17:01:37 ec_ joins (~ec@gateway/tor-sasl/ec)
17:02:37 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:02:48 × CAT_S quits (apic@brezn3.muc.ccc.de) (Ping timeout: 250 seconds)
17:03:17 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 246 seconds)
17:05:55 × vandita quits (~vandit@94-21-48-39.pool.digikabel.hu) (Ping timeout: 268 seconds)
17:07:31 vandita joins (~vandit@85-238-77-59.pool.digikabel.hu)
17:08:36 shriekingnoise_ joins (~shrieking@186.137.175.87)
17:09:29 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Remote host closed the connection)
17:09:43 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 250 seconds)
17:11:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
17:13:11 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:15:23 ec_ joins (~ec@gateway/tor-sasl/ec)
17:16:23 CAT_S joins (apic@brezn3.muc.ccc.de)
17:17:51 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
17:27:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
17:31:18 ec_ joins (~ec@gateway/tor-sasl/ec)
17:32:47 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:33:40 × monoidal quits (~monoidal@2a01cb0801ce4b009c4c2b3639727234.ipv6.abo.wanadoo.fr) (Quit: Client closed)
17:35:48 econo joins (uid147250@user/econo)
17:36:48 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
17:37:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
17:45:31 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
17:48:29 ec_ joins (~ec@gateway/tor-sasl/ec)
17:48:40 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
17:50:47 nate2 joins (~nate@98.45.169.16)
17:53:59 arkeet` joins (arkeet@moriya.ca)
17:54:01 × jludwig quits (~justin@li657-110.members.linode.com) (Ping timeout: 240 seconds)
17:54:08 × tokie quits (~tokie@tokie.net) (Ping timeout: 240 seconds)
17:54:09 kosmikus[m] joins (~andresloe@2001:470:69fc:105::95d)
17:54:17 × shachaf quits (~shachaf@user/shachaf) (Ping timeout: 265 seconds)
17:54:17 × tolt quits (~weechat-h@li219-154.members.linode.com) (Ping timeout: 265 seconds)
17:54:25 × arkeet quits (~arkeet@moriya.ca) (Ping timeout: 240 seconds)
17:54:25 arkeet` is now known as arkeet
17:54:43 tolt joins (~weechat-h@li219-154.members.linode.com)
17:55:14 jludwig joins (~justin@li657-110.members.linode.com)
17:55:28 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
17:55:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
17:55:53 shachaf joins (~shachaf@user/shachaf)
17:56:49 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Remote host closed the connection)
17:56:55 CiaoSen joins (~Jura@145.224.74.19)
17:57:59 <yin> why is (Either a) Foldable and why is `null (Left _) = True ; null (Right _) = False` ?
17:58:20 ec_ joins (~ec@gateway/tor-sasl/ec)
18:00:13 <ncf> Foldable instances are determined by their toList, so it might help to look at that
18:00:25 <ncf> toList (Left _) = []; toList (Right b) = [b]
18:03:04 <yin> > toList (0,'z')
18:03:05 <lambdabot> "z"
18:03:18 <yin> > toList (0,[])
18:03:19 <lambdabot> [[]]
18:03:23 <yin> > toList (0,Nothing)
18:03:24 <lambdabot> [Nothing]
18:03:41 <yin> null (0,'z')
18:03:45 <yin> > null (0,'z')
18:03:47 <lambdabot> False
18:03:50 <yin> ok
18:04:16 × vandita quits (~vandit@85-238-77-59.pool.digikabel.hu) (Ping timeout: 248 seconds)
18:04:43 <yin> not a fan of these instances
18:05:53 vandita joins (~vandit@80-95-69-203.pool.digikabel.hu)
18:06:22 <geekosaur> > length (0,'z') -- another instance many aren't fond of
18:06:23 <lambdabot> 1
18:06:52 <c_wraith> those instances are really helpful. I'd argue the problem is having all those functions be in terms of Foldable
18:07:17 <c_wraith> Or maybe the problem is that Foldable is a requirement for Traversable
18:07:25 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
18:07:46 <c_wraith> But I'm not sure who's going to complain about traverse working on the last element of a tuple
18:08:27 tokie joins (~tokie@tokie.net)
18:08:43 machinedgod joins (~machinedg@93-136-226-84.adsl.net.t-com.hr)
18:10:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
18:10:53 L29Ah joins (~L29Ah@wikipedia/L29Ah)
18:13:36 ec_ joins (~ec@gateway/tor-sasl/ec)
18:13:46 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
18:14:09 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
18:14:41 × machinedgod quits (~machinedg@93-136-226-84.adsl.net.t-com.hr) (Ping timeout: 246 seconds)
18:17:16 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
18:17:46 × vandita quits (~vandit@80-95-69-203.pool.digikabel.hu) (Ping timeout: 250 seconds)
18:19:27 vandita joins (~vandit@94-21-131-79.pool.digikabel.hu)
18:19:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
18:23:24 ec_ joins (~ec@gateway/tor-sasl/ec)
18:24:04 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
18:24:26 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
18:26:14 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 246 seconds)
18:30:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
18:30:55 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
18:31:34 ec_ joins (~ec@gateway/tor-sasl/ec)
18:32:43 paddymahoney joins (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
18:33:01 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
18:34:23 scrungus joins (~scrungus@bras-base-aurron9127w-grc-46-70-31-27-241.dsl.bell.ca)
18:35:48 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
18:37:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
18:40:46 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
18:40:53 × CiaoSen quits (~Jura@145.224.74.19) (Ping timeout: 268 seconds)
18:41:30 ec_ joins (~ec@gateway/tor-sasl/ec)
18:43:38 L29Ah joins (~L29Ah@wikipedia/L29Ah)
18:45:25 × user____4 quits (~user@dynamic-046-114-181-157.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
18:46:18 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-d889-32cf-7779-fb04.rev.sfr.net)
18:47:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
18:47:48 × taupiqueur1 quits (~taupiqueu@2a02-842a-8180-4601-c090-5725-b02b-48b7.rev.sfr.net) (Ping timeout: 240 seconds)
18:47:54 × mixfix41 quits (~sdeny9ee@user/mixfix41) (Ping timeout: 265 seconds)
18:48:08 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-c090-5725-b02b-48b7.rev.sfr.net) (Ping timeout: 245 seconds)
18:51:12 ec_ joins (~ec@gateway/tor-sasl/ec)
18:51:49 × scrungus quits (~scrungus@bras-base-aurron9127w-grc-46-70-31-27-241.dsl.bell.ca) (Quit: WeeChat 3.8)
18:55:45 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:58:25 × raym quits (~ray@user/raym) (Ping timeout: 240 seconds)
18:59:49 × vandita quits (~vandit@94-21-131-79.pool.digikabel.hu) (Ping timeout: 256 seconds)
19:01:28 vandita joins (~vandit@87-97-88-195.pool.digikabel.hu)
19:01:33 CiaoSen joins (~Jura@145.224.74.19)
19:02:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
19:03:30 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
19:05:41 <gensyst> Profpatsch, what bounded channels were you referring to? aren't they too just mvars under the hood anyway?
19:06:04 ec_ joins (~ec@gateway/tor-sasl/ec)
19:06:15 <gensyst> Profpatsch, note my 2nd CHannel example was already merely mvars and still slow: https://dpaste.com/GCJ3KUSVP
19:10:34 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Remote host closed the connection)
19:10:38 user____3 joins (~user@dynamic-046-114-181-157.46.114.pool.telefonica.de)
19:12:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
19:15:22 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-d889-32cf-7779-fb04.rev.sfr.net)
19:15:54 ec_ joins (~ec@gateway/tor-sasl/ec)
19:19:34 Pickchea joins (~private@user/pickchea)
19:19:59 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
19:22:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
19:25:22 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
19:26:20 ec_ joins (~ec@gateway/tor-sasl/ec)
19:31:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
19:35:02 ec_ joins (~ec@gateway/tor-sasl/ec)
19:38:43 ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de)
19:39:29 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:39:57 EvanR joins (~EvanR@user/evanr)
19:40:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
19:40:49 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
19:41:50 ec_ joins (~ec@gateway/tor-sasl/ec)
19:43:03 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
19:44:30 × elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Remote host closed the connection)
19:45:11 elkcl joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru)
19:47:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
19:48:16 ec_ joins (~ec@gateway/tor-sasl/ec)
19:54:07 × CiaoSen quits (~Jura@145.224.74.19) (Ping timeout: 265 seconds)
19:55:19 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
19:55:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
19:55:42 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
19:58:25 pavonia joins (~user@user/siracusa)
19:59:05 ec_ joins (~ec@gateway/tor-sasl/ec)
20:00:45 × chromoblob quits (~user@37.113.158.8) (Ping timeout: 240 seconds)
20:04:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
20:06:14 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:06:57 × dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 250 seconds)
20:12:08 chromoblob joins (~user@37.113.158.8)
20:20:17 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 256 seconds)
20:20:51 <bionade24> How can I find out which error type got thrown?
20:21:10 ec_ joins (~ec@gateway/tor-sasl/ec)
20:25:29 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
20:25:39 × elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Remote host closed the connection)
20:28:02 elkcl joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru)
20:28:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
20:29:53 ec_ joins (~ec@gateway/tor-sasl/ec)
20:31:00 <EvanR> in what context
20:31:48 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
20:34:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
20:35:11 ec_ joins (~ec@gateway/tor-sasl/ec)
20:36:05 machinedgod joins (~machinedg@93-136-226-84.adsl.net.t-com.hr)
20:36:21 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
20:36:23 arthurvl is now known as earthy
20:39:02 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
20:39:49 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
20:39:59 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
20:40:43 thegeekinside joins (~thegeekin@189.217.90.138)
20:41:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
20:41:23 Feuermagier joins (~Feuermagi@user/feuermagier)
20:44:08 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Ping timeout: 246 seconds)
20:44:47 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
20:44:54 ec_ joins (~ec@gateway/tor-sasl/ec)
20:45:21 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
20:46:41 motherfsck joins (~motherfsc@user/motherfsck)
20:50:11 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 265 seconds)
20:50:18 ss4 joins (~wootehfoo@user/wootehfoot)
20:59:15 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:01:05 × trev quits (~trev@user/trev) (Quit: trev)
21:03:17 × gensyst quits (~gensyst@user/gensyst) (Quit: Leaving)
21:04:00 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 248 seconds)
21:05:16 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
21:06:48 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Ping timeout: 240 seconds)
21:09:38 titibandit joins (~titibandi@user/titibandit)
21:10:53 × mcglk quits (~mcglk@131.191.19.145) (Remote host closed the connection)
21:11:39 × Inst quits (~Inst@c-98-208-218-119.hsd1.fl.comcast.net) (Remote host closed the connection)
21:11:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
21:12:03 Inst joins (~Inst@2601:6c4:4081:2fc0:c1fa:d834:4b7c:236d)
21:12:05 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
21:12:49 × jonathan quits (~jonathan@c83-177-239-48.bredband.tele2.se) (Ping timeout: 250 seconds)
21:12:54 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:e468:41ec:9170:31b2)
21:13:25 ec_ joins (~ec@gateway/tor-sasl/ec)
21:13:28 mcglk joins (~mcglk@131.191.19.145)
21:16:13 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Quit: Ping timeout (120 seconds))
21:20:50 Fischmiep joins (~Fischmiep@user/Fischmiep)
21:22:22 falafel joins (~falafel@cpe-70-93-29-179.natsow.res.rr.com)
21:22:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
21:25:23 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Ping timeout: 250 seconds)
21:26:17 × michalz quits (~michalz@185.246.207.201) (Remote host closed the connection)
21:26:45 ec_ joins (~ec@gateway/tor-sasl/ec)
21:28:51 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:e468:41ec:9170:31b2) (Ping timeout: 250 seconds)
21:32:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
21:36:08 × thegeekinside quits (~thegeekin@189.217.90.138) (Ping timeout: 265 seconds)
21:36:35 ec_ joins (~ec@gateway/tor-sasl/ec)
21:36:46 thegeekinside joins (~thegeekin@189.217.90.138)
21:37:08 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
21:37:39 thegeekinside joins (~thegeekin@189.217.90.138)
21:38:57 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
21:45:33 barzo joins (~hd@31.223.56.56)
21:45:35 L29Ah joins (~L29Ah@wikipedia/L29Ah)
21:46:08 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 248 seconds)
21:48:30 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:49:30 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
21:50:25 × ss4 quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
21:50:47 <monochrom> I have wondered for years whether there are more continuous functions than computable functions. Today I realize that I should just try the usual "perhaps there are simply uncountably many continusous functions" and "perhaps vanilla diagonalization just works". It works for Integer->Bool, on the simple technicality that Integer is a pretty flat partial order so "continuous" is almost no restriction at all. :)
21:51:53 barzo_ joins (~hd@31.223.56.153)
21:52:39 nate2 joins (~nate@98.45.169.16)
21:52:41 × barzo quits (~hd@31.223.56.56) (Ping timeout: 250 seconds)
21:54:01 × chromoblob quits (~user@37.113.158.8) (Ping timeout: 265 seconds)
21:54:08 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:54:46 chromoblob joins (~user@37.113.158.8)
21:57:01 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
21:58:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
21:58:54 <ncf> just work in the effective topos, then everything is continuous and computable :)
21:59:02 ec_ joins (~ec@gateway/tor-sasl/ec)
21:59:18 <monochrom> Noooo waaayyy!!!
21:59:31 monochrom hugs set theory and classical logic
22:00:05 <EvanR> not all reals that square to zero equal zero!
22:00:38 <EvanR> is tattooed all over my face
22:00:52 × barzo_ quits (~hd@31.223.56.153) (Quit: Leaving)
22:01:34 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-d889-32cf-7779-fb04.rev.sfr.net) (Remote host closed the connection)
22:04:27 <EvanR> there's a countable number of fourier series, so a countable number of functions that matter. At least for writing WinAMP visualizations
22:05:40 <ncf> EvanR: doesn't x² = 0 → x = 0 hold constructively? i feel like it should
22:06:37 × falafel quits (~falafel@cpe-70-93-29-179.natsow.res.rr.com) (Ping timeout: 240 seconds)
22:07:27 <ncf> maybe it doesn't hold in things that aren't quite the Dedekind reals though
22:08:55 <monochrom> Oh! With infinitestimals like "dx" you have "dx^2 = 0 but dx ≠ 0"
22:09:27 <hpc> are they reals though?
22:09:32 <monochrom> No.
22:09:45 <monochrom> Ah, right, "real" was mentioned, heh.
22:09:56 <EvanR> the nilpotent infinitesimals from SDG are subsets of the real line
22:10:44 <EvanR> a subset
22:11:44 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:12:26 <ncf> for some slightly different definition of the real line, possibly
22:12:39 <ncf> > In E, the axiom of microaffinity and related axioms hold for the ring y(R1). [Technical comment: This ring will usually not be the ring of Dedekind real numbers in E.]
22:12:40 <lambdabot> <hint>:1:5: error: parse error on input ‘,’
22:12:44 <ncf> (from https://rawgit.com/iblech/internal-methods/master/slides-leipzig2018.pdf)
22:12:54 <EvanR> no definition needed, just say "in a suitable closed cartesian category" or some such
22:13:22 <ncf> well the reals aren't exactly part of the structure of a ccc :p
22:13:33 <EvanR> "suitable"
22:13:45 × user____3 quits (~user@dynamic-046-114-181-157.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
22:13:51 <ncf> that's where the definition is then
22:14:57 <EvanR> foundations just get in the way, get the good stuff
22:15:02 <EvanR> get to the*
22:15:35 blackpill0w joins (~blackpill@user/blackpill0w)
22:16:01 <EvanR> pay no attention to the money I spent to have the one true definition of real numbers crammed down my throat, no one has a monopoly on maths
22:18:09 <EvanR> kock-lawvere axiom can be used to prove not all reals that square to zero equal zero. It also violates the law of excluded middle, which is what makes it constructive
22:20:09 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:23:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
22:24:02 <hpc> doesn't constructive just mean independent of LEM?
22:26:13 <ncf> yeah, i guess some would use 'intuitionistic' instead. not that it matters a lot, but 'constructive axiom' sounds a bit like an antinomy
22:31:07 emmanuelux joins (~emmanuelu@user/emmanuelux)
22:31:46 ec_ joins (~ec@gateway/tor-sasl/ec)
22:32:05 × blackpill0w quits (~blackpill@user/blackpill0w) (Quit: Leaving)
22:34:20 <EvanR> to be allowed in constructive fight club you have to prove yourself by beating a LEM piñata or similar rite of passage
22:35:07 <EvanR> but yeah that axiom is not independent
22:35:18 × euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection)
22:35:35 euandreh joins (~Thunderbi@189.6.18.7)
22:37:18 <EvanR> "Either the one or the other has to leave the scene" --kock
22:37:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
22:38:59 ec_ joins (~ec@gateway/tor-sasl/ec)
22:43:08 × euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection)
22:43:27 euandreh joins (~Thunderbi@189.6.18.7)
22:47:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
22:50:06 ec_ joins (~ec@gateway/tor-sasl/ec)
23:00:39 reach joins (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
23:02:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:05:52 ec_ joins (~ec@gateway/tor-sasl/ec)
23:06:57 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
23:09:45 × paddymahoney quits (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
23:11:47 mauke_ joins (~mauke@user/mauke)
23:12:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:12:59 ec_ joins (~ec@gateway/tor-sasl/ec)
23:13:08 × mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds)
23:13:08 mauke_ is now known as mauke
23:13:41 × machinedgod quits (~machinedg@93-136-226-84.adsl.net.t-com.hr) (Ping timeout: 256 seconds)
23:15:23 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 256 seconds)
23:15:49 euandreh joins (~Thunderbi@189.6.18.7)
23:18:05 paddymahoney joins (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
23:18:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:21:34 ec_ joins (~ec@gateway/tor-sasl/ec)
23:27:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:28:17 × acidjnk quits (~acidjnk@p200300d6e7072f49f87e9b16d0682c76.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
23:28:58 ec_ joins (~ec@gateway/tor-sasl/ec)
23:35:29 × reach quits (~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 265 seconds)
23:42:46 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
23:45:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:46:32 ec_ joins (~ec@gateway/tor-sasl/ec)
23:47:03 segfaultfizzbuzz joins (~segfaultf@23.93.74.212)
23:47:36 <segfaultfizzbuzz> "Widely used math libraries (e.g., libm in glibc or Intel’s math library) do not produce correctly rounded results for all inputs." <-- fascinating
23:48:08 <segfaultfizzbuzz> from: https://dl.acm.org/doi/pdf/10.1145/3434310
23:49:00 <EvanR> table maker's dilemma?
23:50:05 ham joins (~ham@user/ham)
23:52:08 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:55:12 ec_ joins (~ec@gateway/tor-sasl/ec)
23:56:13 <segfaultfizzbuzz> EvanR: what's that?
23:56:23 <segfaultfizzbuzz> which wrong value to use in a mathematical table?

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