Home liberachat/#haskell: Logs Calendar

Logs on 2022-05-13 (liberachat/#haskell)

00:00:00 <texasmynsted> Isn't that when the code gets written, when you are _supposed_ to be doing something else?
00:00:25 <sm> yeah!
00:00:55 <texasmynsted> Like "grr. this is the bazillionth time I have done XYZ. I have had it. I am writing something to do this"
00:01:02 <dibblego> I had an exam coming up, or something, can't remember, I've just kept using since
00:01:25 <dibblego> and the pandoc syntax tree is not quite right
00:01:25 <texasmynsted> :-) Nice!
00:01:40 × Hash quits (~Hash@hey.howstoned.ru) (Quit: ZNC - https://znc.in)
00:01:43 <dibblego> "one day I will do it all properly... but I've had exams since"
00:01:47 <geekosaur> https://cabal.readthedocs.io/en/3.6/cabal-commands.html#cabal-v2-run about halfway through talks about cabal scripts
00:02:10 <geekosaur> sadly there's not a lot of documentation; stack scripts are better documented
00:03:27 <geekosaur> otoh it looks like it's just a cabal file in a comment
00:03:46 <texasmynsted> cabal script is an interesting idea.
00:05:52 <texasmynsted> It would have latency for interpreting the code... Might be fine. I wonder if it keeps some intermediate build products around so that future runs are quicker.
00:06:14 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 252 seconds)
00:06:57 <texasmynsted> dibblego: It has been a while since you had any exams right?
00:07:17 <texasmynsted> Or are these for flying or something?
00:07:17 <EvanR> actually interpreting the code, somehow, would be better for latency
00:07:21 <yushyin> texasmynsted: it is missing caching of the executable and will compile the 'script' and links with the deps every time you execute the 'script'
00:07:32 <dibblego> I did a flight test a few days ago, actually. No written exams for that though. https://www.youtube.com/watch?v=cYY66RUkI38
00:07:43 <dibblego> yes for flying
00:07:47 <EvanR> whatever happened to "runhaskell" xD
00:07:57 <dibblego> I completed Commercial Pilot Licence in February (7x exams)
00:08:04 <texasmynsted> NICE :-D
00:08:48 <dibblego> USA only has one exam for CPL, somehow
00:10:22 Hash joins (~Hash@hey.howstoned.ru)
00:11:07 <geekosaur> iirc it compiles, and caching the executable is supposed to be in the next cabal-install release
00:11:33 <geekosaur> ("iirc" = don't quote me)
00:12:08 <EvanR> that would be awesome
00:12:16 <yushyin> geekosaur: oh! that's exciting news
00:12:29 <EvanR> i got to admit it's getting better all the time
00:12:58 jinsun joins (~jinsun@user/jinsun)
00:13:09 <texasmynsted> Is that one practical in-flight exam?
00:13:17 <texasmynsted> and you have to do 7?
00:13:37 <dibblego> texasmynsted: yes, for an endorsement. CPL was a different flight test (plus 7x written exams). No recording of that.
00:14:31 <dibblego> endorsements get added to licences but require a flight test
00:15:10 × mud quits (~mud@user/kadoban) (Remote host closed the connection)
00:16:13 <texasmynsted> Wow very nice. I have respect for pilots but not sure I would want to fly IRL.
00:16:15 × Hash quits (~Hash@hey.howstoned.ru) (Ping timeout: 260 seconds)
00:16:39 × Henson quits (~kvirc@107-179-133-201.cpe.teksavvy.com) (Ping timeout: 256 seconds)
00:17:02 <dibblego> it's my escape from programming: "you better have social skills, or you will die"
00:17:19 <EvanR> socialize or die
00:19:52 <yushyin> geekosaur: https://github.com/haskell/cabal/pull/7851 i think that's the relevant PR?
00:20:49 Hash joins (~Hash@hey.howstoned.ru)
00:21:49 × Hash quits (~Hash@hey.howstoned.ru) (Read error: Connection reset by peer)
00:24:01 vysn joins (~vysn@user/vysn)
00:26:30 Hash joins (~Hash@hey.howstoned.ru)
00:27:26 slack1256 joins (~slack1256@186.11.59.78)
00:28:04 <geekosaur> looks like it. glad I remembered correctly
00:29:43 × slack1256 quits (~slack1256@186.11.59.78) (Remote host closed the connection)
00:30:00 <Axman6> dibblego: what's beeing assessed in that flight? Also, good to hear your voice again, haha
00:30:53 <dibblego> Axman6: aerodynamic stall, pro-spin input, correct recovery from spin
00:31:05 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
00:31:11 <dibblego> the stall warning system is electronic in that aircraft, so comes through on the audio
00:31:31 <Axman6> yeah just got to the spins - looks fun!
00:31:39 mud joins (~mud@user/kadoban)
00:33:30 × xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 240 seconds)
00:33:36 <dibblego> it's fun, except when the student does it and refuses to let go of the control, in a non-spin-rated aircraft, ask me how I know
00:33:49 <Axman6> :||
00:34:26 Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com)
00:34:36 <dibblego> the "initial intuitive response" is to put it further into the spin, it's very common from initial students, but sometimes they are also very strong and need a kick in the ear
00:35:20 <dibblego> I don't like yelling at students, but you know...
00:36:57 <Axman6> was not expecting you to land next to the runway
00:37:08 <dibblego> I have tricks
00:37:42 <geekosaur> this might be better suited to -offtopic
00:37:49 <dibblego> agree, sorry
00:38:10 <Axman6> Pretty sure some of the data in that video comes from haskell
00:38:34 <dibblego> lol, I joined offtopic, back to regular programming
00:39:34 <EvanR> is your plane spin 1/2 or integer spin
00:40:01 <geekosaur> heh
00:42:43 × Henson quits (~kvirc@107-179-133-201.cpe.teksavvy.com) (Ping timeout: 256 seconds)
00:48:55 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
00:49:02 <sm> hell I would like to hear more piloting action. I'm sure we can find metaphors for haskell stuff
00:49:10 <sm> congrats dibblego!
00:50:02 <sm> what is the haskeller's equivalent of a spin ?
00:50:34 × even4void quits (even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com)
00:50:53 <sm> runaway memory leaks in production ?
00:51:56 <dibblego> I do use haskell a lot for flying, FWIW
00:52:21 <sm> no maybe that's a crash.. compile errors ?
00:52:28 <dibblego> https://hackage.haskell.org/packages/#cat:Aviation
00:52:29 <sm> do tell dibblego
00:52:37 <dibblego> plus a whole lot more not on hackage
00:52:56 <dibblego> please excuse my quick hacks, the code was not the priority
00:53:30 × andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Ping timeout: 252 seconds)
00:53:35 × alp_ quits (~alp@user/alp) (Ping timeout: 260 seconds)
00:53:48 × xacktm quits (xacktm@user/xacktm) (Ping timeout: 240 seconds)
00:53:54 <sm> 👍🏻 will check it
01:02:09 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
01:04:07 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
01:04:32 × Benzi-Junior quits (~BenziJuni@88-149-64-179.du.xdsl.is) (Ping timeout: 252 seconds)
01:06:44 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
01:15:06 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:16:13 × agrosant quits (~agrosant@79.103.56.172.dsl.dyn.forthnet.gr) (Quit: Leaving)
01:16:50 xff0x joins (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp)
01:18:48 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
01:18:54 ubert1 joins (~Thunderbi@p200300ecdf1588cdb8e4e87d9f1e053d.dip0.t-ipconnect.de)
01:19:43 × ubert quits (~Thunderbi@p200300ecdf15880b196df7e3ef276b09.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
01:19:44 ubert1 is now known as ubert
01:19:44 ubert is now known as 074AADZ4O
01:19:44 ub is now known as 011AAHV78
01:28:03 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
01:29:08 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
01:34:44 even4void joins (even4void@came.here.for-some.fun)
01:36:10 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
01:43:36 xacktm joins (xacktm@user/xacktm)
01:44:46 andreas303 joins (andreas303@ip227.orange.bnc4free.com)
01:45:33 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
01:47:10 × shailangsa quits (~shailangs@host86-186-127-233.range86-186.btcentralplus.com) (Ping timeout: 240 seconds)
01:49:57 × mshiraeeshi quits (~shiraeesh@109.166.56.211) (Ping timeout: 276 seconds)
01:50:20 <sm> dibblego: lots of tools! nice!
01:50:57 andrey_ joins (~andrey@p508d5b33.dip0.t-ipconnect.de)
01:51:01 <sm> also, your hackage email address amazes me
01:53:41 × zebrag quits (~chris@user/zebrag) (Ping timeout: 252 seconds)
01:53:47 × andrey quits (~andrey@p200300dbcf003200efdd83e940d7d35b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
01:53:58 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
01:59:08 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
01:59:38 × stackdroid18 quits (14094@user/stackdroid) (Quit: hasta la vista... tchau!)
02:05:53 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
02:10:34 img joins (~img@user/img)
02:11:47 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.5)
02:12:01 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
02:12:22 dtman34 joins (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net)
02:12:54 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
02:12:56 vicfred joins (~vicfred@user/vicfred)
02:13:37 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
02:19:02 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
02:23:47 gpncarl joins (~gpncarl@210.12.195.5)
02:30:24 shailangsa joins (~shailangs@host109-152-9-235.range109-152.btcentralplus.com)
02:38:58 dzdcnfzd joins (~dzdcnfzd@pool-108-54-250-165.nycmny.fios.verizon.net)
02:44:17 mbuf joins (~Shakthi@223.184.114.149)
02:46:22 × Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer)
03:00:01 × haasn quits (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
03:01:23 haasn joins (~nand@haasn.dev)
03:02:08 dsrt^ joins (~dsrt@128-092-160-234.biz.spectrum.com)
03:03:50 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
03:08:10 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
03:26:12 Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com)
03:26:17 × Henson quits (~kvirc@107-179-133-201.cpe.teksavvy.com) (Client Quit)
03:36:01 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
03:40:47 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
03:40:47 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
03:40:47 wroathe joins (~wroathe@user/wroathe)
03:46:19 × Kaipei quits (~Kaiepi@156.34.47.253) (Ping timeout: 256 seconds)
03:47:43 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Remote host closed the connection)
03:50:32 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
03:50:36 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
03:50:50 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
03:50:50 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
03:50:50 wroathe joins (~wroathe@user/wroathe)
03:51:06 Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
03:55:30 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
04:08:25 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
04:09:57 dukester joins (~dnormandi@node-1w7jr9ydr91zeo4u27hpcbapw.ipv6.telus.net)
04:10:16 dukester parts (~dnormandi@node-1w7jr9ydr91zeo4u27hpcbapw.ipv6.telus.net) ()
04:11:04 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
04:12:26 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:13:23 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
04:18:10 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
04:20:13 Guest27 joins (~Guest27@210006143163.ctinets.com)
04:22:39 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
04:23:04 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
04:25:16 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:26:50 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
04:39:56 coot joins (~coot@213.134.190.95)
04:54:06 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
04:58:23 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
04:58:33 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
04:59:17 Vajb joins (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56)
05:07:04 Kaipei joins (~Kaiepi@156.34.47.253)
05:10:40 × Guest27 quits (~Guest27@210006143163.ctinets.com) (Ping timeout: 252 seconds)
05:14:58 christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
05:17:57 mikoto-chan joins (~mikoto-ch@213.177.151.239)
05:19:40 × dzdcnfzd quits (~dzdcnfzd@pool-108-54-250-165.nycmny.fios.verizon.net) (Quit: Client closed)
05:24:52 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
05:27:01 × Kaipei quits (~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
05:27:26 Kaipei joins (~Kaiepi@156.34.47.253)
05:34:11 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
05:34:26 dschrempf joins (~dominik@mobiledyn-62-240-134-183.mrsn.at)
05:36:52 <dschrempf> Hi! Has search on Hackage also been broken for you for some weeks now?
05:37:02 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
05:37:14 <dschrempf> Or is this a problem on my side?
05:38:46 <jackdk> I don't think I ever search on hackage. https://hackage.haskell.org/packages/search?terms=lens seemed to work for me; are you blocking JS?
05:38:58 <jackdk> (I wish more people blocked JS)
05:39:39 <dschrempf> I do sometimes, but I do not block it at the moment. So it must be some weird configuratin problem. Maybe I should delete cookies and stuff...
05:40:17 <dschrempf> No, it still does not work. Weird.
05:42:05 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
05:45:47 <dschrempf> It works with Chromium, but it does not with Qutebrowser.
05:46:17 zaquest joins (~notzaques@5.130.79.72)
05:46:27 laalyn joins (~laalyn@c-73-189-182-49.hsd1.ca.comcast.net)
05:46:51 <jackdk> I am using Firefox on GNU/Linux
05:46:51 acidjnk_new joins (~acidjnk@p200300d0c7068b9798ac43fcda880548.dip0.t-ipconnect.de)
05:47:05 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:47:53 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
05:48:09 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 248 seconds)
05:48:43 × sagax quits (~sagax_nb@user/sagax) (Ping timeout: 256 seconds)
05:49:20 <sm> dschrempf: I looked at it recently and it was at least a bit odd. I guess it's intended to not show results until you start typing
05:50:10 <dschrempf> Hm. I realized I can also not open the "Advanced options" tab.
05:50:16 <dschrempf> So it is some Java related problem.
05:52:22 inversed joins (~inversed@176.248.27.211)
05:52:37 × laalyn quits (~laalyn@c-73-189-182-49.hsd1.ca.comcast.net) (Quit: Client closed)
05:54:30 × inversed_ quits (~inversed@176.248.27.211) (Ping timeout: 240 seconds)
05:55:00 Guest27 joins (~Guest27@210006143163.ctinets.com)
05:56:35 × [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
05:57:02 × superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 265 seconds)
05:58:31 superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net)
06:02:28 <dschrempf> Also on Firefox, I have to wait about 10 seconds until the search and the options start to work... But at least they do work then.
06:05:29 michalz joins (~michalz@185.246.204.104)
06:06:09 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
06:06:28 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Remote host closed the connection)
06:07:06 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
06:12:30 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
06:12:33 <dschrempf> I filed a Github issue, in case you want to comment: https://github.com/haskell/hackage-server/issues/1072
06:17:53 × dschrempf quits (~dominik@mobiledyn-62-240-134-183.mrsn.at) (Ping timeout: 260 seconds)
06:24:59 × hiredman quits (~hiredman@frontier1.downey.family) (Ping timeout: 246 seconds)
06:30:30 mikoto-chan joins (~mikoto-ch@84.199.144.234)
06:35:53 lortabac joins (~lortabac@2a01:e0a:541:b8f0:dfe2:64a:2f7b:12cc)
06:38:48 jakalx parts (~jakalx@base.jakalx.net) ()
06:41:32 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
06:42:46 jakalx joins (~jakalx@base.jakalx.net)
06:44:52 sagax joins (~sagax_nb@user/sagax)
06:45:30 × mikoto-chan quits (~mikoto-ch@84.199.144.234) (Ping timeout: 240 seconds)
06:46:52 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
06:48:06 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
06:49:20 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
06:51:18 hiredman joins (~hiredman@frontier1.downey.family)
06:51:47 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
06:52:36 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:57:42 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
06:59:54 dschrempf joins (~dominik@mobiledyn-62-240-134-183.mrsn.at)
07:00:05 alp_ joins (~alp@user/alp)
07:02:33 × mbuf quits (~Shakthi@223.184.114.149) (Quit: Leaving)
07:12:06 briandaed joins (~briandaed@109.95.142.93.r.toneticgroup.pl)
07:13:05 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
07:13:25 nschoe joins (~quassel@2a01:e0a:8e:a190:45bb:1ed8:f2cb:544)
07:15:48 chele joins (~chele@user/chele)
07:16:11 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
07:22:42 gehmehgeh joins (~user@user/gehmehgeh)
07:26:38 <[exa]> dminuoso: oh nice to hear. imagemagick might just be over-optimizing the bmp or so
07:28:12 kuribas joins (~user@ptr-17d51eo38esxcyx0dri.18120a2.ip6.access.telenet.be)
07:32:40 ccntrq joins (~Thunderbi@2a01:c22:8cfd:500:1fcc:c85f:966e:ad0b)
07:38:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
07:38:45 <merijn> Hecate: Ping
07:39:53 <merijn> Hecate: I have a suspicion I may have a 1s fix for you if I'm right :p
07:39:55 cfricke joins (~cfricke@user/cfricke)
07:44:10 chomwitt joins (~chomwitt@2a02:587:dc21:9e00:6dfd:37a:2bc3:ca7e)
07:46:16 <Hecate> merijn: o/
07:46:17 <Hecate> hohai
07:46:41 <Hecate> merijn: I'm listening :)
07:46:51 <merijn> Hecate: Lemme guess, you're *also* using -N with a significant amount of parallelism?
07:48:28 <merijn> Hecate: Because in your profile I see a spinlock at the top and "waitForGcThreads" somewhere close to the top. Which all sounds like parallel GC which is notoriously bad in most usecases
07:48:58 <merijn> I've had some double orders of magnitude slowdown from it in the past, and it'd also explain why nothing in profile, because your haskell code is profiled, not the GC
07:49:15 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
07:49:30 <Hecate> I don't know if I'm using massive amounts of parallelism
07:49:35 machinedgod joins (~machinedg@24.105.81.50)
07:49:36 <Hecate> ghc-options: -rtsopts -threaded -with-rtsopts "-N -T" <- these are my options
07:49:38 <merijn> Fortunately, if that's the case, you should see massive improvement from, well, simply disable parallel GC
07:49:48 <merijn> Hecate: -N is equivalent to specifyng all cores :p
07:49:52 <Hecate> I see
07:49:59 <Hecate> so I should remove -N?
07:50:10 <merijn> Hecate: -N + -threaded is bad enough that the GHC conclusion was to disable parallel GC when -threaded becomes standar
07:50:13 <merijn> Hecate: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/benchmark-analysis.cabal#L65
07:50:24 <merijn> Hecate: You want -qg to disable parallel GC in the threaded runtime
07:50:33 <Hecate> thanks
07:50:34 <Hecate> let me try
07:51:04 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
07:51:06 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
07:51:46 <merijn> Hecate: Basically, the locking/synchronisisation of parallel GC ends spending *ages* on the synchronisation (hence why the spinlock and waitForGc in profile look super suspicious)
07:53:30 × christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 260 seconds)
07:54:50 <Hecate> merijn: nope, now the same problem happens with one core :D :D
07:55:00 <Hecate> merijn: I can share my screen if you want :P
07:55:47 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
07:56:44 <merijn> It's progress! At least you're not turning the *entire* CPU into a toaster now :p
07:57:19 <merijn> Hecate: Does the code actually terminate eventually?
07:57:26 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
07:57:41 <merijn> (because I think profiles only get written at execution end, so that might explain empty profiles0
07:58:18 odnes joins (~odnes@5-203-160-39.pat.nym.cosmote.net)
07:58:26 × sudden quits (~cat@user/sudden) (Ping timeout: 246 seconds)
07:58:44 <Hecate> merijn: no I don't think it will.
07:58:46 <Hecate> I mean
07:58:53 <Hecate> I can start it and go do the groceries
07:59:00 jollygood2 joins (~bc8147f2@cerf.good1.com)
07:59:05 <Hecate> if it's still not done by then I can safely assume that it's not going to finish everf
07:59:10 <Hecate> *ever
07:59:27 <Hecate> merijn: the weirdest thing is that on my last ubuntu server, it perfectly works :< :< :<
07:59:42 <Hecate> merijn: actually, could you try it?
07:59:45 <merijn> that's interesting
07:59:49 <Hecate> git clone https://github.com/flora-pm/flora-server
07:59:52 <Hecate> make build
07:59:55 <Hecate> make start
08:00:32 <merijn> I'm on a mac right now, but can give it a shot :p
08:01:22 <Hecate> hehe
08:02:12 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
08:03:19 <merijn> ok, might take awhile, since I apparently need to stop being lazy and update from 8.10.2 to 8.10.7 :p
08:11:15 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
08:12:26 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds)
08:12:51 waleee joins (~waleee@h-155-4-221-82.NA.cust.bahnhof.se)
08:13:00 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
08:15:35 MoC joins (~moc@user/moc)
08:16:06 <merijn> At least I know what it sounds like to have a helicopter on your desk now :D
08:17:14 <tomsmeding> merijn: haven't you run any cpu-intensive stuff recently :p
08:17:29 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
08:18:00 × dschrempf quits (~dominik@mobiledyn-62-240-134-183.mrsn.at) (Quit: WeeChat 3.5)
08:18:16 × MoC quits (~moc@user/moc) (Client Quit)
08:18:25 MoC_ joins (~moc@user/moc)
08:18:33 × nschoe quits (~quassel@2a01:e0a:8e:a190:45bb:1ed8:f2cb:544) (Ping timeout: 248 seconds)
08:18:46 mattil joins (~mattil@helsinki.portalify.com)
08:19:18 <merijn> tomsmeding: Not locally :p
08:19:22 frost joins (~frost@user/frost)
08:19:43 <merijn> What's the point of having access to a cluster if you're gonnna use your laptop :p
08:21:27 <tomsmeding> merijn: if you have _free_ access to a cluster, yes :p
08:21:55 <tomsmeding> though running stuff on a non-local machine is sometimes somewhat more involved than running it locally, if you want to attach something like nvidia's visual profiler to it for example
08:22:01 <tomsmeding> it sort of works over ssh but annoying
08:23:53 <Hecate> merijn: found the problem
08:24:04 <Hecate> ghc can't tell me that one of my functions reduces to "foo = foo"
08:24:06 <Hecate> ;_;
08:24:18 <tomsmeding> rip
08:31:01 × MoC_ quits (~moc@user/moc) (Read error: Connection reset by peer)
08:31:19 MoC_ joins (~moc@user/moc)
08:31:30 MoC_ is now known as MoC
08:33:50 <merijn> Good, because the compile just barfed on the lack of postgres here :p
08:39:20 × vysn quits (~vysn@user/vysn) (Ping timeout: 248 seconds)
08:39:48 × toluene quits (~toluene@user/toulene) (Ping timeout: 260 seconds)
08:40:22 <Hecate> merijn: ;-D
08:41:43 isovector1 joins (~isovector@94.117.16.98)
08:41:59 toluene joins (~toluene@user/toulene)
08:47:24 <jollygood2> what can I use to draw and display some very simple graphics (squares with letters in them in multiple colors)? ideally it should work on linux and windows. I could use gtk, but maybe something nicer exists for this specific task?
08:50:00 × isovector1 quits (~isovector@94.117.16.98) (Quit: Leaving)
08:50:22 <Taneb> Hecate: so why was it working on your server?
08:50:44 <Hecate> Taneb: it's a dev feature
08:51:16 <Taneb> Ah, makes sense
08:51:29 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
08:52:22 sudden joins (~cat@user/sudden)
08:53:06 akegalj joins (~akegalj@cpe-94-253-204-94.zg2.cable.xnet.hr)
08:53:45 akegalj parts (~akegalj@cpe-94-253-204-94.zg2.cable.xnet.hr) ()
08:54:06 akegalj joins (~akegalj@cpe-94-253-204-94.zg2.cable.xnet.hr)
08:54:31 vpan joins (~0@212.117.1.172)
08:56:32 christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
08:56:42 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:57:50 × Kaipei quits (~Kaiepi@156.34.47.253) (Remote host closed the connection)
08:58:14 Kaipei joins (~Kaiepi@156.34.47.253)
09:00:24 titibandit joins (~thibaut@2a00:8a60:c000:1:8a13:bf74:b2:8d47)
09:01:13 × ccntrq quits (~Thunderbi@2a01:c22:8cfd:500:1fcc:c85f:966e:ad0b) (Ping timeout: 248 seconds)
09:01:30 ccntrq joins (~Thunderbi@2a01:c23:912e:5900:b62:8a1a:5a90:4443)
09:02:43 xaotuk joins (~sasha@net39-38-245-109.mbb.telenor.rs)
09:04:14 × titibandit quits (~thibaut@2a00:8a60:c000:1:8a13:bf74:b2:8d47) (Quit: Leaving.)
09:04:23 titibandit joins (~thibaut@2a00:8a60:c000:1:8a13:bf74:b2:8d47)
09:05:36 __monty__ joins (~toonn@user/toonn)
09:05:46 × akegalj quits (~akegalj@cpe-94-253-204-94.zg2.cable.xnet.hr) (Remote host closed the connection)
09:07:13 <briandaed> jollygood2 letters means fonts (or some textures with fonts), handling true types or some other formats is not so trivial, look at hackage libraries tagged with 'graphics' https://hackage.haskell.org/packages/tag/graphics sort by upload date and rating and you may find something interesting
09:08:12 <briandaed> jollygood2: i would probably go with OpenGL or Vulkan even when 3d is not necessary
09:11:14 × coot quits (~coot@213.134.190.95) (Quit: coot)
09:11:53 <sm> I'd probably try gloss, diagrams,
09:11:54 <sm> threepenny-gui, monomer, fltk-hs in that order
09:12:32 <tomsmeding> I've seen students successfully use gloss, so +1 on that
09:12:41 <sm> as you said very simple, and I see some letters in gloss examples
09:12:49 <tomsmeding> though the letters are damn ugly lol
09:13:36 <sm> I will also mention FunGEn !
09:17:03 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
09:19:23 coot joins (~coot@213.134.190.95)
09:21:15 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Remote host closed the connection)
09:21:55 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
09:25:02 <jollygood2> briandaed I found gloss package after asking the question. pretty amazing how little code it takes to do rather complex animations. it works on linux and on windows
09:25:31 <jollygood2> https://hackage.haskell.org/package/gloss-examples
09:25:56 <jollygood2> (it uses opengl under the hood)
09:26:21 <sm> +1
09:26:30 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
09:26:33 <jollygood2> sm, oh you mentioned it above :). thanks
09:26:59 × coot quits (~coot@213.134.190.95) (Quit: coot)
09:27:19 king_gs joins (~Thunderbi@2806:103e:29:da71:ba86:4e28:3521:b634)
09:27:53 Benzi-Junior joins (~BenziJuni@88-149-64-179.du.xdsl.is)
09:32:28 mc47 joins (~mc47@xmonad/TheMC47)
09:40:29 × dcoutts__ quits (~duncan@host86-153-135-80.range86-153.btcentralplus.com) (Ping timeout: 256 seconds)
09:44:04 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
09:46:58 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Remote host closed the connection)
09:53:09 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
09:54:43 cosimone joins (~user@2001:b07:ae5:db26:45fd:643e:a6e7:ffc8)
09:56:07 nschoe joins (~quassel@2a01:e0a:8e:a190:7a73:dbab:7121:fc5e)
09:57:11 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
09:57:25 × nschoe quits (~quassel@2a01:e0a:8e:a190:7a73:dbab:7121:fc5e) (Client Quit)
09:58:17 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
09:58:53 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
10:01:50 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
10:05:17 odnes_ joins (~odnes@5-203-160-39.pat.nym.cosmote.net)
10:05:23 × odnes quits (~odnes@5-203-160-39.pat.nym.cosmote.net) (Read error: Connection reset by peer)
10:05:24 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Remote host closed the connection)
10:07:50 × cosimone quits (~user@2001:b07:ae5:db26:45fd:643e:a6e7:ffc8) (Remote host closed the connection)
10:09:09 bor0 joins (~bor0@user/bor0)
10:09:51 <bor0> If I have some evaluation function E s.t. E(E(i, p1), p2) = E(i, p1 ++ p2) holds, what would this property be called? is "composition over concatenation" valid?
10:11:39 vysn joins (~vysn@user/vysn)
10:12:10 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 240 seconds)
10:12:53 × xff0x quits (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
10:13:13 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
10:15:26 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Remote host closed the connection)
10:17:43 Guest|72 joins (~Guest|72@145.108.85.14)
10:18:19 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
10:18:21 <Guest|72> Hi , I followed the instructions on https://www.youtube.com/watch?v=bB4fmQiUYPw
10:19:10 <Guest|72> But it failed after I use gchi, I don't know what happen and hopefully looking for help
10:19:27 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
10:22:47 dhil joins (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
10:23:57 × king_gs quits (~Thunderbi@2806:103e:29:da71:ba86:4e28:3521:b634) (Remote host closed the connection)
10:24:38 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
10:25:16 king_gs joins (~Thunderbi@187.201.105.54)
10:25:25 jinsun__ joins (~jinsun@user/jinsun)
10:29:27 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 260 seconds)
10:30:48 <int-e> what did you try, and what was the result? (the command is `ghci`)
10:31:03 × acidjnk_new quits (~acidjnk@p200300d0c7068b9798ac43fcda880548.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
10:40:00 acidjnk joins (~acidjnk@p200300d0c7068b97d5ac4f822319aa3a.dip0.t-ipconnect.de)
10:41:26 mshiraeeshi joins (~shiraeesh@109.166.56.229)
10:41:47 jmdaemon joins (~jmdaemon@user/jmdaemon)
10:42:28 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:43:25 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
10:43:29 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Remote host closed the connection)
10:43:34 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
10:43:39 allbery_b joins (~geekosaur@xmonad/geekosaur)
10:43:42 allbery_b is now known as geekosaur
10:44:17 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
10:45:26 × Guest27 quits (~Guest27@210006143163.ctinets.com) (Ping timeout: 252 seconds)
10:45:57 × bor0 quits (~bor0@user/bor0) (Quit: This computer has gone to sleep)
10:47:04 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
10:49:43 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
10:53:02 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
10:53:25 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
10:54:12 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
10:55:29 × odnes_ quits (~odnes@5-203-160-39.pat.nym.cosmote.net) (Remote host closed the connection)
10:55:49 odnes_ joins (~odnes@5-203-160-39.pat.nym.cosmote.net)
10:55:57 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
10:56:07 × jollygood2 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC)
10:58:00 × odnes_ quits (~odnes@5-203-160-39.pat.nym.cosmote.net) (Read error: Connection reset by peer)
10:58:01 × king_gs quits (~Thunderbi@187.201.105.54) (Read error: Connection reset by peer)
10:58:12 odnes joins (~odnes@5-203-160-39.pat.nym.cosmote.net)
10:58:26 king_gs joins (~Thunderbi@2806:103e:29:da71:ba86:4e28:3521:b634)
10:59:42 coot joins (~coot@213.134.190.95)
10:59:55 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
10:59:59 × odnes quits (~odnes@5-203-160-39.pat.nym.cosmote.net) (Read error: Connection reset by peer)
11:00:21 odnes joins (~odnes@5-203-160-39.pat.nym.cosmote.net)
11:00:39 CiaoSen joins (~Jura@p5dcc134a.dip0.t-ipconnect.de)
11:04:33 odnes_ joins (~odnes@5-203-160-39.pat.nym.cosmote.net)
11:05:30 × odnes quits (~odnes@5-203-160-39.pat.nym.cosmote.net) (Ping timeout: 240 seconds)
11:06:03 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
11:06:38 × Guest|72 quits (~Guest|72@145.108.85.14) (Ping timeout: 260 seconds)
11:10:07 odnes__ joins (~odnes@5-203-160-39.pat.nym.cosmote.net)
11:11:30 × dsrt^ quits (~dsrt@128-092-160-234.biz.spectrum.com) (Remote host closed the connection)
11:12:04 xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp)
11:12:10 × odnes_ quits (~odnes@5-203-160-39.pat.nym.cosmote.net) (Ping timeout: 240 seconds)
11:14:34 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
11:14:46 x28girl joins (~x28girl@user/x28girl)
11:14:47 x28_girl joins (~x28girl@user/x28girl)
11:14:48 x28__girl joins (~x28girl@user/x28girl)
11:14:52 × xaotuk quits (~sasha@net39-38-245-109.mbb.telenor.rs) (Read error: Connection reset by peer)
11:15:10 × x28__girl quits (~x28girl@user/x28girl) (Remote host closed the connection)
11:15:14 × x28girl quits (~x28girl@user/x28girl) (Remote host closed the connection)
11:15:31 × x28_girl quits (~x28girl@user/x28girl) (Remote host closed the connection)
11:16:33 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
11:20:10 xaotuk joins (~sasha@net39-38-245-109.mbb.telenor.rs)
11:21:43 merijn joins (~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
11:25:50 × odnes__ quits (~odnes@5-203-160-39.pat.nym.cosmote.net) (Quit: Leaving)
11:26:35 × mshiraeeshi quits (~shiraeesh@109.166.56.229) (Quit: Leaving)
11:31:47 × king_gs quits (~Thunderbi@2806:103e:29:da71:ba86:4e28:3521:b634) (Ping timeout: 240 seconds)
11:32:22 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:33:45 × dhil quits (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 248 seconds)
11:34:50 × xaotuk quits (~sasha@net39-38-245-109.mbb.telenor.rs) (Ping timeout: 252 seconds)
11:38:08 xaotuk joins (~sasha@net39-38-245-109.mbb.telenor.rs)
11:42:23 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
11:43:04 king_gs joins (~Thunderbi@187.201.105.54)
11:44:10 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
11:46:58 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
11:49:48 × xaotuk quits (~sasha@net39-38-245-109.mbb.telenor.rs) (Ping timeout: 260 seconds)
11:52:44 MagPhi joins (~MagPhi@103.240.97.83)
11:53:09 <MagPhi> Well I am just about to start learning Haskell
11:53:49 <MagPhi> Is there any Discord Server for Haskell just wondering since I prefer it more
11:56:09 <yushyin> MagPhi: https://www.haskell.org/community/
11:57:44 <MagPhi> So there is none?
11:59:04 <yushyin> at least not linked there. isn't there some kind of search engine where you can just search for discord guilds?
11:59:29 <geekosaur> there's a functional programming discord that gets used for haskell a lot
11:59:43 × acidjnk quits (~acidjnk@p200300d0c7068b97d5ac4f822319aa3a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
11:59:46 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:01:58 <MagPhi> I joined it I am going to use that and this for my haskell related stuff
12:02:27 <yushyin> hi and welcome MagPhi :)
12:03:57 <geekosaur> also if you want a UI that's a bit more like discord, you can get this channel as #haskell:libera.chat on matrix using element.io
12:04:23 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
12:04:44 vicfred_ joins (~vicfred@user/vicfred)
12:06:22 <MagPhi> Lemme test it out
12:06:45 <yushyin> ah yes the matrix bridge. I keep forgetting we have that. https://libera.chat/guides/faq#can-i-connect-with-matrix
12:07:00 jean-paul[m] joins (~jean-paul@2001:470:69fc:105::d1ab)
12:07:30 × vicfred quits (~vicfred@user/vicfred) (Ping timeout: 240 seconds)
12:07:41 <exarkun> not to be confused with #haskell in the Haskell community on Matrix
12:08:05 <exarkun> or maybe I just mean Haskell in the Haskell community on Matrix
12:09:29 <geekosaur> there's a separate #haskell:matrix.org, yes
12:09:50 <geekosaur> with about a thousand more people in it than here :(
12:10:34 RudraveerMandal[ joins (~magphimat@2001:470:69fc:105::2:eb9)
12:10:39 <RudraveerMandal[> So I am here
12:10:45 <geekosaur> so you are
12:10:53 <MagPhi> I meant the bridge
12:11:16 <RudraveerMandal[> Ok so the #haskell on matrix has more users?
12:11:33 <geekosaur> yes
12:11:56 <geekosaur> every so often there's a discussion about bridging the two but neither group is really keen on it
12:12:19 × MagPhi quits (~MagPhi@103.240.97.83) (Quit: Client closed)
12:13:41 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
12:14:02 <kritzefitz> My experience from being in both #haskell:matrix.org and here, is that while Matrix has more users, IRC usually has more activity.
12:14:33 <geekosaur> my experience so far has been brief, but agrees with that
12:18:10 Guest27 joins (~Guest27@210006143163.ctinets.com)
12:19:31 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
12:20:05 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 260 seconds)
12:20:14 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5)
12:21:37 <RudraveerMandal[> Hmmm
12:23:21 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
12:23:22 × king_gs quits (~Thunderbi@187.201.105.54) (Read error: Connection reset by peer)
12:25:09 king_gs joins (~Thunderbi@2806:103e:29:da71:ba86:4e28:3521:b634)
12:25:50 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:27:05 <tomsmeding> geekosaur: didn't the freenode version of this channel have like 2x the users as well
12:27:28 bitonic joins (~bitonic@2001:470:69fc:105::1812)
12:27:30 <tomsmeding> both observations are consistent with channels like these just accumulating absent idling users over time
12:28:53 <geekosaur> yeh, we regularly brushed 1500 on freenode
12:28:57 <merijn> hmm
12:29:04 <geekosaur> lost most of them when the great meltdown happened
12:29:05 <tomsmeding> more than 2x :p
12:29:13 <merijn> cabal update is reporting "truncated tar archive"
12:29:18 <merijn> is that a local issue or remote?
12:29:24 × titibandit quits (~thibaut@2a00:8a60:c000:1:8a13:bf74:b2:8d47) (Ping timeout: 248 seconds)
12:29:36 <RudraveerMandal[> geekosaur: wdym
12:29:46 <tomsmeding> merijn: my 'cabal update' finishes successfully
12:29:58 <tomsmeding> RudraveerMandal[: this channel migrated from freenode to liberachat a while ago
12:30:15 <tomsmeding> in the midst of some consternation
12:30:17 acidjnk joins (~acidjnk@p200300d0c7068b97d5ac4f822319aa3a.dip0.t-ipconnect.de)
12:31:17 × xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Quit: xff0x)
12:31:29 <RudraveerMandal[> tomsmeding: oh so he calls that the great meltdown
12:31:29 <merijn> tomsmeding: I think I ctrl-c at an unlucky point during update in the past
12:31:42 <geekosaur> merijn, my guess is your locally cached 01-index.tar.gz is corrupt
12:31:53 <merijn> Tried just nuking it, but that didn't work
12:32:02 × ccntrq quits (~Thunderbi@2a01:c23:912e:5900:b62:8a1a:5a90:4443) (Remote host closed the connection)
12:32:19 <merijn> ok, manually unzipping seems to work
12:32:21 <geekosaur> freenode got taken over by someone really weird, and most of the people there bailed to libera with a few going to oftc or other servers instead
12:32:51 <merijn> well, the freenode *domain* got taken over by someone weird
12:33:01 <merijn> the servers and staff were independent and founded libera
12:33:16 × tlamer quits (~tlamer@ip-94-112-134-89.net.upcbroadband.cz) (Quit: WeeChat 3.4)
12:33:35 <RudraveerMandal[> so like freenode doesnt exist anymore?
12:33:49 <tomsmeding> there's different staff now
12:33:59 <merijn> RudraveerMandal[: Define "exist" :)
12:34:08 <merijn> There is a network named freenode
12:34:18 <merijn> It's run by different people on different infrastructure
12:35:15 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
12:35:36 xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp)
12:35:44 <RudraveerMandal[> Hmm
12:35:46 <RudraveerMandal[> so basically people handling it changed
12:36:29 <geekosaur> changed in multiple ways
12:36:50 <geekosaur> the new people were … let's just say not many people trusted them
12:37:02 <RudraveerMandal[> lol
12:37:08 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:38:25 × vicfred_ quits (~vicfred@user/vicfred) (Quit: Leaving)
12:38:47 <merijn> RudraveerMandal[: Summary with links to resignations from freenode staff: https://gist.github.com/joepie91/df80d8d36cd9d1bde46ba018af497409
12:40:30 <yushyin> after the takeover at some later date you couldn't use freenode without an irc.com account, then it was a strange reddit clone for a while. meanwhile freenode has changed again, back to a stronger focus on irc and the website is now a mediawiki instance :D
12:41:12 <RudraveerMandal[> Damn a guy just took over a wrbsite
12:43:52 titibandit joins (~thibaut@sunp.ient.rwth-aachen.de)
12:45:27 <yushyin> btw birthday of libera.chat is near :)
12:51:15 xaotuk joins (~sasha@net39-38-245-109.mbb.telenor.rs)
12:53:51 zmt00 joins (~zmt00@user/zmt00)
12:57:06 cfricke joins (~cfricke@user/cfricke)
12:57:26 × mattil quits (~mattil@helsinki.portalify.com) (Remote host closed the connection)
12:59:13 × king_gs quits (~Thunderbi@2806:103e:29:da71:ba86:4e28:3521:b634) (Ping timeout: 260 seconds)
13:00:13 dsrt^ joins (~dsrt@128-092-160-234.biz.spectrum.com)
13:00:38 × christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 252 seconds)
13:02:26 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Remote host closed the connection)
13:02:50 × gpncarl quits (~gpncarl@210.12.195.5) (Ping timeout: 240 seconds)
13:03:18 × vysn quits (~vysn@user/vysn) (Ping timeout: 260 seconds)
13:05:59 vysn joins (~vysn@user/vysn)
13:09:52 razetime joins (~quassel@117.254.34.165)
13:10:40 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
13:12:02 <tomsmeding> :o
13:12:57 <tomsmeding> my last ircbrowse freenode logs are from 2021-05-22, and the first libera logs rae from 2022-05-21
13:13:23 <tomsmeding> ah launch was the 19th apparently
13:13:56 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:14:20 <geekosaur> right, you had some overlap
13:15:16 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
13:18:46 moonsheep joins (~user@user/moonsheep)
13:22:40 × exarkun quits (~exarkun@user/exarkun) (Killed (ozone (No Spam)))
13:24:09 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
13:27:04 gpncarl joins (~gpncarl@120.244.220.69)
13:27:07 exarkun joins (~exarkun@user/exarkun)
13:27:50 × titibandit quits (~thibaut@sunp.ient.rwth-aachen.de) (Ping timeout: 240 seconds)
13:31:50 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 260 seconds)
13:42:24 titibandit joins (~thibaut@sunp.ient.rwth-aachen.de)
13:46:25 × acidjnk quits (~acidjnk@p200300d0c7068b97d5ac4f822319aa3a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
13:46:31 jollygood2 joins (~bc8147f2@cerf.good1.com)
13:48:48 × Vajb quits (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56) (Read error: Connection reset by peer)
13:49:00 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
13:49:37 <jollygood2> does anyone know how to fix this issue when using gloss on windows? I get this error message that crashes ghci when I close the gloss window: "freeglut (<interactive>): fgPlatformInitialize: CreateDC failed, Screen size info may be incorrect"
13:50:01 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
13:50:01 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
13:50:01 wroathe joins (~wroathe@user/wroathe)
13:50:25 <jollygood2> I did some googling, supposedly it is related to DISPLAY environment variable, but unsetting it, or setting it to some value that is expected, doesn't solve it
13:50:54 <jollygood2> when running compiled program o error message is displayed
13:51:11 Gambino joins (~Gambino@user/polo)
13:51:14 × Gambino quits (~Gambino@user/polo) (Excess Flood)
13:51:22 <tomsmeding> jollygood2: probably that's just ghci-related; graphics things are generally iffy in ghci
13:51:34 <geekosaur[m][m]> DISPLAY would only apply to unix
13:52:55 <jollygood2> this post claims setting environment variable fixed the same issue in python. https://stackoverflow.com/a/65350246
13:53:04 <jollygood2> unsetting*
13:53:08 <tomsmeding> geekosaur[m][m]: how did you get the double [m] lol
13:54:30 <yushyin> jelly? :)
13:54:42 <jollygood2> so I'm wondering why unsetEnv "DISPLAY" wouldn't have the same effect
13:55:52 <geekosaur[m][m]> Some weirdness in element on Android is all I can figure
13:57:10 <geekosaur[m][m]> I decided not to fight it, one for matrix and one for mobile
13:57:33 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
13:57:48 __monty__ joins (~toonn@user/toonn)
13:59:13 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
14:00:15 img joins (~img@user/img)
14:00:20 × img quits (~img@user/img) (Remote host closed the connection)
14:01:46 img joins (~img@user/img)
14:03:11 × aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 260 seconds)
14:11:32 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:15:37 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
14:17:35 ChanServ sets mode +o tomsmeding
14:18:08 razetime_ joins (~quassel@117.254.34.165)
14:18:15 razetime__ joins (~quassel@117.254.34.165)
14:18:20 × razetime_ quits (~quassel@117.254.34.165) (Client Quit)
14:18:24 × razetime quits (~quassel@117.254.34.165) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
14:18:31 × razetime__ quits (~quassel@117.254.34.165) (Client Quit)
14:18:41 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5)
14:18:46 razetime joins (~quassel@117.254.34.165)
14:22:13 <tomsmeding> :o
14:22:25 <tomsmeding> <3
14:23:32 _73 joins (~user@pool-108-49-252-36.bstnma.fios.verizon.net)
14:24:34 × Guest27 quits (~Guest27@210006143163.ctinets.com) (Remote host closed the connection)
14:24:39 × CiaoSen quits (~Jura@p5dcc134a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
14:27:29 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
14:29:39 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
14:32:43 <Bulby[m]> something tells me the fmap instance for either is going to be not what I expect then I will be mad when my code doesn't work
14:33:30 <texasmynsted> when I do a cabal script, such as "cabal v2-run example.hs". If I do this more than once, it is clear that the second run is faster than the first.
14:33:31 <Bulby[m]> ```
14:33:32 <Bulby[m]> fmap :: (a0 -> b) -> Either a a0 -> Either a b
14:33:32 <Bulby[m]> ```
14:33:32 <Bulby[m]> i was right - I want the bifoldable thing
14:33:47 × yauhsien quits (~yauhsien@61-231-24-3.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
14:33:58 <texasmynsted> I am guessing that modules and or compilation artifacts are being saved.
14:34:32 × xaotuk quits (~sasha@net39-38-245-109.mbb.telenor.rs) (Ping timeout: 248 seconds)
14:34:34 <[exa]> texasmynsted: yes, lots of stuff is cached (you might see the dist-newstyle directory, and some of it is in ~/.cabal)
14:35:47 × titibandit quits (~thibaut@sunp.ient.rwth-aachen.de) (Read error: Connection reset by peer)
14:36:04 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:dfe2:64a:2f7b:12cc) (Quit: WeeChat 2.8)
14:36:53 texasmynsted looks for dist-newstyle directory
14:37:38 <[exa]> texasmynsted: usually right in the project directory
14:37:58 <tomsmeding> [exa]: they were talking about cabal script
14:38:16 <texasmynsted> no project directory
14:38:27 <texasmynsted> see half way down https://cabal.readthedocs.io/en/3.6/cabal-commands.html#cabal-v2-run
14:38:34 <tomsmeding> cabal script doesn't create a project directory, and indeed it will recompile the script itself each time
14:38:44 <tomsmeding> it's just the dependencies that get cached (in ~/.cabal), if I'm not mistaken
14:38:48 <texasmynsted> so why second compile faster?
14:38:49 <geekosaur> unless you have a 3.8 prerelease
14:38:52 <[exa]> ah I didn't realize, cool
14:39:03 <geekosaur> deps already compiled?
14:39:15 <texasmynsted> oh hm. I did not see any updates in ~/.cabal (I looked)
14:39:25 <[exa]> texasmynsted: maybe disk cache effects?
14:39:29 <geekosaur> there's a difference between recompiling the script and compiling its dependencies
14:39:31 <texasmynsted> mayhbe
14:39:49 <[exa]> (echo 3 >/proc/sys/vm/drop_caches and retry :] )
14:39:51 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
14:40:07 <texasmynsted> 3.6.2.0
14:40:18 <texasmynsted> maybe I _need_ 3.8 :-)
14:40:34 <texasmynsted> okay. I will try that
14:41:23 Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com)
14:41:46 zebrag joins (~chris@user/zebrag)
14:41:48 Henson parts (~kvirc@107-179-133-201.cpe.teksavvy.com) ()
14:41:50 Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com)
14:43:36 <texasmynsted> heh no /proc filesystem in macos
14:43:56 <Henson> hi everyone, I'm experiencing an issue when writing to a file. My program is allocating lots of memory and doing lots of image processing, and there's a function that's supposed to save information to disk. If I strip everything out of the save function and just do a "putStrLn" in it, there is no memory problem. If I strip everything out and write "foo" to "/tmp/foo.txt", then the system....
14:44:41 <Henson> for some reason seems to start holding on to something that causes a huge memory bloat. Using retainer profiling indicates that the runs are pretty much identical with and without the memory bloat problem. Is there any reason that writing to a file would somehow trigger this behaviour?
14:45:27 <[exa]> texasmynsted: maybe macos doing macos things then :]
14:45:32 <texasmynsted> shrug. 12 to 7 seconds. Maybe it has nothing to do with cabal.
14:45:42 <texasmynsted> fair enugh
14:45:44 <texasmynsted> enough
14:46:24 <[exa]> Henson: that's a bit weird, can you pastebin the whole minimal program that triggers the problem, just to be sure?
14:47:32 <Henson> [exa]: I haven't boiled it down that much to a pastable program, just experimenting with what does and doesn't trigger the behaviour. I'll see if I can work towards cutting more things out and isolating it even more.
14:48:09 <[exa]> Henson: one thing that could be explainable is that when you don't write out anything, lazy evaluation kinda ensures that the problematic thing is not actually evaluated
14:48:27 × aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 240 seconds)
14:48:34 <[exa]> except that doesn't really explan why the "foo" would trigger it.
14:50:25 <[exa]> also, what kind of image processing? JuicyPixels-ish?
14:50:39 <texasmynsted> geekosaur: So joking about 3.8. I do not see a tag or branch for that.
14:52:35 <tusko> Anyone know of a better Haskell tutorial than the official one?
14:52:57 Sgeo joins (~Sgeo@user/sgeo)
14:53:08 <Henson> [exa]: yeah. I'm deepseqing all of the big data that could be problematic, and that doesn't cause any problems. The image processing is using OpenCV in C++ that has been wrapped in Haskell functions.
14:53:13 <geekosaur> not joking, I said prerelease. they apparently exiwst but I'm not sure how you get it as yet
14:53:26 <texasmynsted> oh
14:54:56 <RudraveerMandal[> Is emacs or nvim better for coding in Haskell?
14:55:16 <RudraveerMandal[> I will probably not be beginning with a distribution of Emacs since I am familiar with Emacs and could get away with GNU Vanilla Emacs
14:55:32 <texasmynsted> Looks like there is no way to preserve the build from a cabal v2-run, on 3.6.
14:55:55 <Bulby[m]> if it has an lsp it can code haskell 🙂
14:56:02 <[exa]> RudraveerMandal[: tbh I'm okay with the good old vim, with a hotkey for the formatter, no lsp
14:56:16 <geekosaur> you may have to build from git
14:56:27 <geekosaur> they're not ready for release yet apparently
14:57:12 <[exa]> Henson: can you do `strace` and see if there are any syscalls going on? (possibly also `ltrace` against opencv)
14:57:17 <geekosaur> (dug out the binaries area but latest there is 3.6.3, which I didn't know existed)
14:57:56 <RudraveerMandal[> I will continue using nvim but add a org mode plugin
14:59:32 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
15:00:04 shriekingnoise joins (~shrieking@201.231.16.156)
15:01:13 × merijn quits (~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
15:01:37 justsomeguy joins (~justsomeg@user/justsomeguy)
15:02:06 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:03:50 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:05:34 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:06:23 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
15:07:14 × vpan quits (~0@212.117.1.172) (Quit: Leaving.)
15:09:24 × razetime quits (~quassel@117.254.34.165) (Ping timeout: 248 seconds)
15:10:02 razetime joins (~quassel@117.254.34.98)
15:10:11 xaotuk joins (~sasha@net39-38-245-109.mbb.telenor.rs)
15:10:30 × phma quits (phma@2001:5b0:210d:5458:5d56:889b:9db6:9f82) (Read error: Connection reset by peer)
15:11:14 phma joins (~phma@host-67-44-208-89.hnremote.net)
15:11:25 × superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 265 seconds)
15:12:50 superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net)
15:15:45 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
15:16:33 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
15:17:18 × tomgus1 quits (~tomgus1@90.218.25.145) (Remote host closed the connection)
15:18:44 tomgus1 joins (~tomgus1@90.218.25.145)
15:19:02 stackdroid18 joins (14094@user/stackdroid)
15:24:48 seiryn joins (~seiryn@2a01:e0a:25a:9d30:a3bb:221c:46bc:a014)
15:25:30 <texasmynsted> I guess I will wait then. Hopefully not too long.
15:27:19 merijn joins (~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
15:28:10 mikoto-chan joins (~mikoto-ch@213.177.151.239)
15:31:36 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
15:31:53 × dsrt^ quits (~dsrt@128-092-160-234.biz.spectrum.com) (Remote host closed the connection)
15:34:09 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
15:34:43 <geekosaur> just checked #hackage, they're still debating how to do the prereleases. hopefully that means soon
15:34:47 × seiryn quits (~seiryn@2a01:e0a:25a:9d30:a3bb:221c:46bc:a014) (Ping timeout: 240 seconds)
15:36:19 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Quit: mikoto-chan)
15:37:11 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
15:37:37 × moonsheep quits (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
15:40:13 × razetime quits (~quassel@117.254.34.98) (Ping timeout: 260 seconds)
15:41:12 razetime joins (~quassel@117.254.35.103)
15:41:53 <texasmynsted> hehe. I meant actual release.
15:42:19 <texasmynsted> If they are _debating_ about prereleases it does not sound like 3.8 GA will be any time soon.
15:43:16 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:43:31 <texasmynsted> I guess I will just use cabal scripts where they work fine paying for the compile each run or make a project and compile. Then later when cabal scripts are richer, use them more.
15:44:55 <sm> ..or use a stack script ?
15:46:31 gpncarl joins (~gpncarl@120.244.220.69)
15:46:53 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:48:32 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
15:50:50 × Kaipei quits (~Kaiepi@156.34.47.253) (Ping timeout: 240 seconds)
15:51:00 × aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 248 seconds)
15:54:49 Kaipei joins (~Kaiepi@156.34.47.253)
15:55:48 × xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 248 seconds)
15:56:55 <texasmynsted> heh. I am sticking with cabal for now
15:58:46 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:59:17 <sm> absolutely your right, but I'm curious why, when a simple binary will solve your need ?
15:59:35 <sm> I'm not a zealot, I promise. I always have both installed.
16:00:34 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
16:02:30 hololeap joins (~hololeap@user/hololeap)
16:05:01 <sclv> we want a real 3.8 to coincide with the next ghc release if that helps with timetable
16:08:20 xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp)
16:08:39 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:08:51 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:13:00 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
16:16:08 yauhsien joins (~yauhsien@61-231-24-3.dynamic-ip.hinet.net)
16:18:54 <sm> int-e: are you around ? I'd like to pick your brain briefly about lambdabot
16:19:05 nehsou^ joins (~nehsou@128-092-160-234.biz.spectrum.com)
16:19:12 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:19:51 <int-e> mmm
16:21:03 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 260 seconds)
16:21:30 × aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 240 seconds)
16:21:47 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.4)
16:22:21 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:22:58 ec joins (~ec@gateway/tor-sasl/ec)
16:27:09 <sm> good day.. I don't know if you saw my previous chatter. I recently started https://haskell-links.org , with most of the content coming from lambdabot's @where currently.
16:27:14 <sm> I intend(ed) a new chatbot which could allow more custom integration, enabling things like web edits. That's possible with lambdabot too, but syncing conflicts will be more awkward / require changes to the @where plugin. I wonder if you have any strong opinion either way
16:27:27 slack1256 joins (~slack1256@191.126.227.86)
16:29:56 <slack1256> Not really a haskell question. Are new posts on r/haskell not shown until approved? I posted something, but seem only I can see it. When I sent a link to a friend, the body of the message was empty.
16:30:47 <RudraveerMandal[> if thats the case it should say to you that it is wating moderator approval
16:30:53 <RudraveerMandal[> except that that cant happen
16:31:13 <sm> (a related choice is whether to stick with CSV as the primary db, or use an actual DB)
16:31:26 <slack1256> Then I did something wrong.
16:31:34 <RudraveerMandal[> So should I start with the Haskell WikiBooks or Learn You a Haskell for Greater Good
16:31:36 <sm> (int-e ^)
16:32:53 <sm> Rudraveer Mandal: a vote for the wikibook, have not read it from the start but it has always been good when I looked up something there
16:33:03 <int-e> Hmm, my first instinct is that I'd prefer to keep lambdabot as a "pure" IRC bot... without syncing to external edits.
16:33:19 <sm> also a vote for
16:33:20 <sm> @where HTAC
16:33:20 <sm> and
16:33:20 <sm> @where HFTVB
16:33:20 <lambdabot> "Haskell Tutorial and Cookbook" by Mark Watson in 2017-09-04 at <https://leanpub.com/haskell-cookbook>
16:33:20 <lambdabot> https://www.extrema.is/articles/haskell-books/haskell-from-the-very-beginning
16:33:51 <EvanR> @where a gentle introduction
16:33:51 <lambdabot> I know nothing about a.
16:34:00 <int-e> @where gentle
16:34:00 <lambdabot> http://www.haskell.org/tutorial/
16:34:07 <EvanR> an oldie but goodie
16:34:20 × raym quits (~raym@user/raym) (Ping timeout: 246 seconds)
16:34:41 tommd joins (~tommd@97-120-48-245.ptld.qwest.net)
16:35:01 <int-e> sm: so I guess the question is... how bad would the confusion of having two closely related link collection bots (one dedicated, the other being lambdabot) be...
16:35:21 <int-e> because that, I think, is the primary cost of keeping those separate
16:35:43 <sm> int-e, indeed.. If my thing continues I imagine my copy of the link db will rapidly get cleaned up and diverge from lambdabot's a lot
16:35:57 <sm> which needn't be a problem, except redundancy..
16:36:26 <int-e> and I guess my main worry is spam. some sort of edit wars are a remote possibility too I guess
16:37:47 <sm> that's a good worry. I am currently using github to control that, my db is a csv file on github. A web ui would have to implement some similar access control maybe
16:38:55 <sm> even if we put the web ui aside, I'd like to at least be able to edit the csv on github, and have that sync with irc somehow. Also, I'd like to add link voting in the web and chat uis
16:39:31 <sm> maybe there's some path that allows some of these things without writing new stuff, without too much fragility..
16:40:40 raym joins (~raym@user/raym)
16:41:36 <EvanR> it's times like these I wish I knew haskell web tech
16:42:04 <sm> EvanR: ha
16:42:11 <EvanR> all possible and uncontroversial features, but probably very easy in haskell. If you knew how
16:42:12 sm says no more
16:43:36 <int-e> Hmm. I guess an easy middle ground would be to extend @where to query a web service, either always (producing two answers when a key exists on both (and differs?)), or maybe just as a fallback if a key doesn't exist. That would sidestep all the complications from editing
16:45:25 <int-e> Not sure that's good... hmm. It's a pretty lazy approach.
16:46:13 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:46:18 <sm> yes (to the first comment :), and another option could be to provide a hook so I could make it load a new link, or reload the entire db from the master csv on github
16:46:49 <tomsmeding> can you update (@where+ iirc?) lambdabot's db entries in a private message
16:46:57 <sm> I could do that right now by scripting the @where+ command I guess
16:47:01 <tomsmeding> if so, a hack could be to make a bot that does that :p
16:47:01 <sm> yes
16:47:15 <tomsmeding> not saying it's a super good idea necessarily
16:47:26 <tomsmeding> makes me think of ircbrowse being batch-oriented
16:50:34 <sm> maintaining the db entirely through @where+ is one possibility, but probably best suited to one-link-at-a-time edits. Bulk edits to the csv (cleanups, or dumping in a new dataset) would be a pain
16:50:57 <sm> but it's an option
16:51:06 <tomsmeding> sm: what's the list currently sorted on :p
16:51:25 <sm> URL by default.. you can change it
16:51:34 <sm> but there isn't much else useful to sort on yet
16:51:35 <tomsmeding> oh /me dumb
16:52:56 <int-e> Yeah doing that in bulk is a bad idea... lambdabot's rate limits are very conservative :-/ (too conservative really but it's not at all easy to change, there's a fundamental misdesign in this area).
16:53:10 <hololeap> I made this Parsable class so that all my types with a Parsec parser will have a unified interface, but I later ran into a case where the parser needed a bit of outside context to run, so I added a type family to represent the input type: http://sprunge.us/YQoiv1
16:53:37 <RudraveerMandal[> <sm> "Rudraveer Mandal: a vote for the..." <- hmm well I am starting from the complete beginning of functional programming
16:54:12 mikoto-chan joins (~mikoto-ch@213.177.151.239)
16:54:16 <hololeap> I would like to make it so that all the old Parsable instances will still work without any modification, but I can override ParsableInput and use parser' if I need to. how can I do this?
16:55:05 <sm> Rudraveer Mandal: try the three I shared, see if you like any of them
16:55:27 <sm> (and let us know)
16:55:55 <sm> perhaps the last is good
16:56:00 <RudraveerMandal[> > <@simonmic:matrix.org> also a vote for... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/9a33522994dd89e50d3db83a90d291787a31b00b)
16:56:03 <lambdabot> <hint>:1:1: error: parse error on input ‘<@’
16:56:19 <sm> yes, the links that appeared right after that
16:56:24 <RudraveerMandal[> btw is this lambabot written in haskell
16:56:48 <int-e> @where source
16:56:48 <lambdabot> The fixed database for the `src' lambdabot command is at <https://github.com/lambdabot/lambdabot/blob/master/lambdabot/State/source>
16:56:51 <int-e> oh
16:56:54 <int-e> @version
16:56:54 <lambdabot> lambdabot 5.3.0.1
16:56:54 <lambdabot> git clone https://github.com/lambdabot/lambdabot
16:57:04 <int-e> anyway, yes, it is
16:57:27 <RudraveerMandal[> Haskell surprises me in the amount of areas it can be used
16:57:41 <sm> should probably be added to the "real world haskell apps list".. it's usually forgotten
16:57:42 <int-e> why? it is a general purpose programming language
16:57:45 <hololeap> ideally, I would like to set a default for parser' when (ParsableInput t ~ ()), but require that it be defined otherwise
16:57:57 <RudraveerMandal[> int-e: most languages cant be used in so many areas
16:58:04 <RudraveerMandal[> for example rust cant be used for scripting
16:58:11 <darkling> int-e: Yes, but it uses scary words and doesn't have many braces. :)
16:58:20 <RudraveerMandal[> python cant be used for fast stuff that needs compilation
16:58:27 <RudraveerMandal[> python cant be used also for low systems level programming
16:58:51 <int-e> To my mind Haskell isn't exactly a scripting language either. Yes, it has hacks to make #! work. That's about it.
16:59:44 <sm> int-e: as long as I'm still using @where, I'd also like to propose a preferred convention of "URL Description # tag1 tag2"
17:00:12 <sm> not as a hard convention, but it maps nicely
17:00:53 <sm> or do you think tags would be too much noise in @where
17:01:27 <int-e> they do look a bit out of place, don't they?
17:01:48 <int-e> for a key-value store
17:02:44 <hololeap> I figured it out, I had forgotten about DefaultSignatures
17:03:04 <sm> yes perhaps. I need to have them one way or another though, for richer searching like in tcard's https://www.extrema.is/articles/haskell-books
17:03:44 gpncarl joins (~gpncarl@120.244.220.69)
17:07:02 <sm> this chat is helpful, thanks. I'm slightly leaning towards experimenting with a separate db/bot and not propagating changes back to lambdabot. It's always possible to reconsider/resync later...
17:07:16 × tommd quits (~tommd@97-120-48-245.ptld.qwest.net) (Ping timeout: 248 seconds)
17:07:33 <tomsmeding> it's nice if there is a choice that doesn't preclude doing the alternatives later on
17:08:08 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 248 seconds)
17:08:43 <sm> it's just links, and not life-critical data, so what could possibly go wrong
17:08:58 <tomsmeding> int-e: haskell isn't a scripting language, but I find ghci quite useful as a powerful calculator
17:09:19 <int-e> tomsmeding: yeah, me too
17:10:31 <sm> I like haskell quite a bit for scripting, as long as you/they don't mind installing haskell..
17:10:38 <tomsmeding> sm: there's a bunch of non-working links and duplication (it seems) at https://haskell-links.org/?q=paste
17:11:10 <monochrom> I have a Calculator.hs that I load into ghci for binomial coefficients, x^y mod z, hex-oct-binary conversions, etc.
17:11:18 <sm> yes, that's the current content of @where, with all its historical cruft and charm
17:11:32 <tomsmeding> sm: I figured, was just saying :)
17:11:32 <int-e> sm: Yeah, I think that would be best for now. We should keep an eye on this; there's always the possibility to switch @where over to query your database instead of the internal one... or even have a new plugin that interacts with it fully (including edits).
17:12:28 <sm> +1
17:12:41 <sm> more experimentation needed (all help welcome)
17:14:54 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
17:20:40 × parsnip quits (~parsnip@user/parsnip) (Read error: Connection reset by peer)
17:21:15 jakalx joins (~jakalx@base.jakalx.net)
17:23:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
17:26:34 <maerwald> I want viewpatterns in record syntax
17:26:55 × razetime quits (~quassel@117.254.35.103) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
17:26:59 <maerwald> Foo { fromFoo -> bar } <- getFoo
17:27:44 × lechner quits (lechner@debian/lechner) (Quit: WeeChat 3.5)
17:28:11 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:29:15 <maerwald> but I can see how this is crazy
17:31:39 lechner joins (lechner@debian/lechner)
17:32:20 × merijn quits (~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
17:32:47 × alp_ quits (~alp@user/alp) (Ping timeout: 240 seconds)
17:33:29 <monochrom> I feel that view patterns is kind of a dead extension, "dead" as in no longer receiving improvements or updates for playing well with other extensions.
17:36:37 × 074AADZ4O quits (~Thunderbi@p200300ecdf1588cdb8e4e87d9f1e053d.dip0.t-ipconnect.de) (Remote host closed the connection)
17:38:27 <c_wraith> in isolation, that's true. But view patterns are kind of critical for pattern synonyms being useful
17:39:19 × 011AAHV78 quits (~Thunderbi@p548c8d44.dip0.t-ipconnect.de) (Quit: 011AAHV78)
17:39:34 econo joins (uid147250@user/econo)
17:40:51 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
17:40:55 alp_ joins (~alp@user/alp)
17:42:48 <maerwald> pattern synonyms are confusing
17:43:04 rekahsoft joins (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca)
17:43:24 Tuplanolla joins (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi)
17:43:33 <maerwald> when you start, you get type errors, then you add some obscure syntax (the special where) with viewpatterns and it compiles... then you forget until next time what that stuff was about
17:43:35 <c_wraith> they're complex as heck - mostly because they can function as GADT patterns, where matching on them introduces instances into scope.
17:44:26 <c_wraith> But they can make really pleasant interfaces, especially when they're complex.
17:45:08 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:45:36 <maerwald> I find them mostly interesting as uni-directonial, when you don't want to expose the entire constructor
17:45:43 <maerwald> but this could be fixed language-wise, imo
17:45:55 <maerwald> as in: allow pattern matching, but not constructing
17:51:25 <c_wraith> One of the primary motivating use cases was Data.Sequence. There's literally no way to do what the patterns do there by just matching on fixed constructor patterns. Mostly because Data.Sequence is an irregular data type.
17:52:40 <c_wraith> and it's definitely the easiest interface for working with the type when you want to do things that treat it as if it's just a bidirectional list.
17:57:21 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
17:57:27 × hiredman quits (~hiredman@frontier1.downey.family) (Ping timeout: 240 seconds)
17:57:52 <dolio> We have a ton of unidirectional pattern synonyms in our codebase and I find it a giant pain to have to remember which lowercase function to use to do the opposite of a pattern.
17:59:08 <dolio> The particular design leads to synonyms a lot more than you might have normally, though.
18:07:03 <c_wraith> Why not make them bidirectional?
18:07:27 <c_wraith> It's usually much easier to write the constructor direction than the match direction
18:08:33 <dolio> I have other stuff to do. :)
18:08:40 <tomsmeding> more pattern synonyms https://github.com/AccelerateHS/accelerate/blob/master/src/Data/Array/Accelerate/AST/Idx.hs#L65-L92
18:10:32 <c_wraith> I... don't quite buy that it's both a giant pain to remember the inverse pairs and not worth spending some time once to fix that. :P
18:11:16 <monochrom> heheh
18:13:12 merijn joins (~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
18:15:19 <dolio> It's a repetitive pain when I'm working with code that uses them, but I'd have to take a large bite out of whatever I'm doing at the time to fix like 40+ pattern aliases.
18:16:03 × hgolden quits (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Quit: Konversation terminated!)
18:21:03 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
18:21:18 × rekahsoft quits (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca) (Remote host closed the connection)
18:21:43 rekahsoft joins (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca)
18:23:04 acidjnk joins (~acidjnk@p200300d0c7068b9711170b58f5b9d22f.dip0.t-ipconnect.de)
18:28:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
18:29:14 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
18:30:48 hgolden joins (~hgolden2@cpe-172-251-233-141.socal.res.rr.com)
18:30:54 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:31:26 hololeap joins (~hololeap@user/hololeap)
18:31:35 × hololeap quits (~hololeap@user/hololeap) (Client Quit)
18:32:13 × hgolden quits (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
18:32:47 hgolden joins (~hgolden2@cpe-172-251-233-141.socal.res.rr.com)
18:39:18 × aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 260 seconds)
18:39:28 kannon joins (~NK@128.32.176.159)
18:40:09 <maerwald> https://github.com/nikita-volkov/isomorphism-class <- can I have a GHC extension with that, that automatically "casts" the types if there is an isomorphism?
18:40:44 xkuru joins (~xkuru@user/xkuru)
18:41:18 <EvanR> that's a special case of subtype relationship right
18:41:24 gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
18:41:35 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 260 seconds)
18:41:43 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
18:42:01 jmdaemon joins (~jmdaemon@user/jmdaemon)
18:43:22 <maerwald> I mean, this will render all my smart constructors useless, but hey
18:43:48 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
18:44:30 gehmehgeh joins (~user@user/gehmehgeh)
18:44:54 <c_wraith> It'd need to follow the same sorts of visibility rules as GND
18:45:58 dschrempf joins (~dominik@mobiledyn-62-240-134-183.mrsn.at)
18:46:01 <c_wraith> probably need to respect roles, too. Especially since GADTs exist.
18:46:40 <maerwald> the question really is what is "lossless"...
18:47:58 dcoutts__ joins (~duncan@host213-122-143-140.range213-122.btcentralplus.com)
18:48:24 <EvanR> first you will have to learn a bit of category theory
18:48:59 <EvanR> just kidding that doesn't answer that
18:49:34 <maerwald> I mean, if I tag a FilePath in my program with a newtype, because it has special semantics... but converting it back to FilePath preserves the "data". Is it lossless?
18:49:55 × lechner quits (lechner@debian/lechner) (Quit: WeeChat 3.5)
18:50:06 <EvanR> a forgetful functor from tagged filepath back to filepath
18:51:31 × dschrempf quits (~dominik@mobiledyn-62-240-134-183.mrsn.at) (Quit: WeeChat 3.5)
18:54:40 lechner joins (lechner@debian/lechner)
18:54:51 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
18:55:57 × aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Read error: Connection reset by peer)
18:56:06 <tomsmeding> isn't the whole point of how we program haskell to _not_ make these conversions implicit
18:56:46 <tomsmeding> the motivating example is apparently lazy text <-> text, which is significantly less bad than maerwald's tagged filepath <-> String
18:57:07 <tomsmeding> but still it's questionable whether one would want that to be automatic, because it has performance implications
18:57:43 <maerwald> I'll just pretend that gets optimized away :D
18:57:59 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
18:58:07 <tomsmeding> I feel like the motivating example of bytestring builder not exporting a function to convert to a strict bytestring immediately isn't a motivating example for this isomorphism class, it's an argument to add that function to Data.ByteString.Builder :p
18:58:39 <tomsmeding> and Text and String may be isomorphic, they are _not_ equivalent in performance, like at all
18:59:18 <tomsmeding> I feel like https://hackage.haskell.org/package/witch is more haskelly
19:00:25 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
19:00:38 gehmehgeh joins (~user@user/gehmehgeh)
19:01:16 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
19:01:52 × julian quits (~julian@20.83.116.49) (Remote host closed the connection)
19:02:36 <EvanR> some time in the next 700 programming languages, not only will there be an AI to insert your autoconversions, but it will generate philosophy to justify it for you
19:02:52 julian joins (~julian@20.83.116.49)
19:03:03 <EvanR> and hopefully that gets optimized away
19:03:16 × gehmehgeh quits (~user@user/gehmehgeh) (Client Quit)
19:04:10 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:04:35 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
19:04:57 gehmehgeh joins (~user@user/gehmehgeh)
19:06:01 × aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 248 seconds)
19:06:06 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
19:07:13 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
19:08:59 jakalx joins (~jakalx@base.jakalx.net)
19:09:56 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:10:08 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Client Quit)
19:11:16 × Hash quits (~Hash@hey.howstoned.ru) (Quit: ZNC - https://znc.in)
19:13:13 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
19:20:15 <texasmynsted> An AI does not sound positive. I remember Clippy.
19:20:16 <texasmynsted> Please do not make a talking Lambda AI with giant eyes. "Oh hello there. I see you are having some some trouble. Have you considered traverse?"
19:20:23 Hash joins (~Hash@hey.howstoned.ru)
19:20:48 <tusko> I remember my first time
19:21:00 <geekosaur> anyone remember VIgor?
19:21:02 × Hash quits (~Hash@hey.howstoned.ru) (Read error: Connection reset by peer)
19:22:25 <texasmynsted> Was that some Vi thing? I guess I do not remember.
19:22:51 <geekosaur> http://vigor.sourceforge.net/
19:23:02 <geekosaur> complete with link to the userfriendly that started it off
19:26:12 × jollygood2 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout))
19:26:28 × xaotuk quits (~sasha@net39-38-245-109.mbb.telenor.rs) (Ping timeout: 248 seconds)
19:27:59 <texasmynsted> geekosaur: LOLOL
19:28:33 <tomsmeding> https://web.archive.org/web/20190504043706/http://ars.userfriendly.org/cartoons/?id=20031101
19:29:13 <kannon> hi anyone know of a simple neural network written in haskell I can look at?
19:30:19 Hash joins (~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net)
19:31:33 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:32:28 <kannon> i.e. how to learn haskell without textbooks
19:34:34 <shapr> google suggests https://crypto.stanford.edu/~blynn/haskell/brain.html V
19:34:35 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
19:35:08 <shapr> does that help any?
19:35:14 <texasmynsted> How to learn haskell without textbooks?
19:35:15 <tomsmeding> maerwald: https://github.com/nikita-volkov/isomorphism-class/blob/master/library/IsomorphismClass/Prelude.hs talking about the kitchen sink
19:35:23 <maerwald> yep
19:35:39 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
19:36:22 <kannon> shapr: serious suggestion?
19:36:58 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:37:46 <texasmynsted> kannon: I am not sure what you are really wanting.
19:39:15 <[exa]> kannon: how simple can it be? :]
19:39:22 <texasmynsted> Graham Hutton has some videos but the book would be useful as well.
19:39:22 <kannon> texasmynsted: thanks, I've tried before. Just can't keep it all in my head.
19:39:41 <texasmynsted> There are courses online
19:40:31 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
19:42:45 <kannon> [exa]: I think you helped me a long time ago. I put a lot of time in; I suck at it. :)
19:42:50 <texasmynsted> look for data61 fp-course
19:43:07 × alp_ quits (~alp@user/alp) (Ping timeout: 240 seconds)
19:43:21 jakalx joins (~jakalx@base.jakalx.net)
19:43:30 <geekosaur> @where cis194
19:43:30 <lambdabot> https://www.seas.upenn.edu/~cis194/spring13/lectures.html
19:43:36 <geekosaur> @where fp-course
19:43:36 <lambdabot> I know nothing about fp-course.
19:43:45 <geekosaur> hm, it used to be in there somewhere
19:43:49 <geekosaur> @where data61
19:43:49 <lambdabot> Data61 Functional Programming Course <https://github.com/data61/fp-course>,<https://qfpl.io/links/2017-october-fp-course/> by Tony Morris,Mark Hibberd. Also see the channel #qfpl
19:44:11 <texasmynsted> There was a thing you could download that worked with git. You would be presented with a problem and once you solved it you would get feedback from real people. I can't recall the name.
19:44:51 <kannon> I never finished the Hutton book. I got to parsers.
19:45:06 abhixec_ joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
19:45:28 <texasmynsted> Is that pretty far in? (I do not have that book.)
19:45:33 × abhixec_ quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Client Quit)
19:46:00 <[exa]> kannon: you can literally take a random matrix from the `Linear` package, add some activation function (iirc tanh is in Prelude) and you can make networks by just chaining (fmap tanh).(!* matrix)
19:46:01 <texasmynsted> But Hutton is outstanding
19:46:20 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:46:46 Feuermagier joins (~Feuermagi@user/feuermagier)
19:47:07 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: Lost terminal)
19:48:31 <kannon> I understand some basics of monad; I went through https://www.schoolofhaskell.com/user/Lkey/kleisli
19:48:37 <texasmynsted> kannon: I think the only way to really learn something abstract like Haskell is by writing it, making mistakes, and trying again. So exercises, etc.
19:49:02 <kannon> that helped me understand monad
19:49:07 <texasmynsted> (I do not presume to be a haskell expert, just to be clear.)
19:49:50 <[exa]> kannon: btw anything specific taht causes problems?
19:50:09 <kannon> thanks texasmynsted . I'll look at some of these suggestion incl geekosaur 's etc
19:50:25 <texasmynsted> I think books are great for this actually. Find the exercises. Try them first. Do not look at the answers. Read the chapter, and then try them again when you encounter them again.
19:50:30 × aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 240 seconds)
19:50:51 <kannon> [exa]: just keeping it in my head. I understand principles if they are written out , but actually writing anything? no way
19:50:54 <texasmynsted> You will think this is poor use of your time but I do not agree.
19:51:13 <texasmynsted> Right.
19:52:20 <texasmynsted> It is easy to over estimate understanding when reading or hearing an explanation.
19:52:41 <[exa]> kannon: try a less principled language for some time, overthinking stuff is common in beginner haskell and it usually keeps people unhappy for too long
19:53:34 pavonia joins (~user@user/siracusa)
19:53:46 <kannon> I understand the state monad. also I get function composition by looking at some exercises by edwardk
19:54:01 <kannon> that's interesting [exa] thanks, yeah you're probably right
19:54:05 <texasmynsted> Try reading the book taking notes for how you will teach Haskell to somebody else. There are many explanation for these principles in cognitive psychology texts.
19:54:50 <texasmynsted> Learn lambda calculus first.
19:55:00 <[exa]> kannon: scheme is a great candidate, the whole language consists of like (, ), define, car, cdr and a few other quite expectable things, and the functional programming in there is very strong
19:55:05 <texasmynsted> I am not joking.
19:56:02 <texasmynsted> ooh yeah. Thumbs up for scheme actually
19:56:57 <kannon> Ilooked at lambda calculus in "first principles" book, but missed the last part and felt I didn't fully get it. I gave up on that book.
19:57:30 <texasmynsted> The first part of the First Principles book is good
19:57:54 <[exa]> I don't think that people who are into logic and enumerability will get much from really studying lambda calculus, except for "hey look the 2 language constructs can do ALL THIS"
19:58:05 <[exa]> *who are _not_ into ..
19:58:07 <kannon> I looked at ski-calculus also. that is interesting but how does that apply to understanding functors and monads?
19:58:11 <texasmynsted> You might check out Racket. https://racket-lang.org
19:58:28 <kannon> or how does lambda apply to monads etc?
19:59:04 <kannon> isn't lambda just anon function (\_ -> ... ) ?
19:59:25 <[exa]> kannon: it gives pieces of intuition. you're probably not going to make any hardcore programming mathematics anytime soon, so it's good to know how the stuff is called so that you may read the docs with less "wtf", and that's it
19:59:39 <[exa]> lambda is a randomly chosen letter btw. :D
20:00:14 <geekosaur> lambda isn't directly related to either but makes both much more flexible and useful
20:01:13 <texasmynsted> Well I think if you understand function composition, then parametric polymorphism, then the ad hoc polymorphism used with Monads (etc) will make more sense.
20:01:31 <texasmynsted> kind of see all the things separately?
20:01:33 texasmynsted shrug
20:01:58 <kannon> also sorry, is there a log for this channel?
20:02:16 <texasmynsted> I do not know.
20:02:26 <yushyin> kannon: see topic
20:03:12 × euandreh quits (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Quit: WeeChat 3.5)
20:03:47 gustik joins (~gustik@2a01:c844:2457:2220:475d:34f:d571:996f)
20:04:52 <[exa]> kannon: anyway, did you try gloss?
20:05:13 gpncarl joins (~gpncarl@120.244.220.69)
20:07:45 <kannon> [exa]: gloss?
20:09:28 <kannon> oh ok its a package thanks
20:09:40 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 248 seconds)
20:13:31 × kannon quits (~NK@128.32.176.159) (Quit: leaving)
20:13:38 euandreh joins (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
20:14:51 × briandaed quits (~briandaed@109.95.142.93.r.toneticgroup.pl) (Remote host closed the connection)
20:16:11 azimut joins (~azimut@gateway/tor-sasl/azimut)
20:21:58 jmd_ joins (~jmdaemon@user/jmdaemon)
20:21:59 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
20:40:19 alp_ joins (~alp@user/alp)
20:41:44 dostoevsky1 joins (~5c42c5384@user/dostoevsky)
20:43:30 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds)
20:43:30 dostoevsky1 is now known as dostoevsky
21:04:45 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:11:08 × coot quits (~coot@213.134.190.95) (Quit: coot)
21:12:48 × euandreh quits (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Quit: WeeChat 3.5)
21:22:24 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:22:46 × machinedgod quits (~machinedg@24.105.81.50) (Remote host closed the connection)
21:23:44 machinedgod joins (~machinedg@24.105.81.50)
21:25:27 <Henson> [exa]: I figured out the strange memory bloat problem that was related to file writing. By progressively chopping out bits of my program, it all comes down to the image capture. Image capture works beautifully if there's no image capture, and vice-versa. The reason seems to be that the image capture, which uses the C++ layer and OS threads, was spawned using "async" instead of "asyncBound"...
21:25:38 <Henson> [exa]: when switching from the former to the latter, the problem disappears.
21:26:03 <Henson> [exa]: this must be a problem with the GHC runtime or OS or something, which is why it doesn't show up in memory profiling, and why it's been so mysterious to track down.
21:26:48 <Henson> [exa]: the tipoff was running it with RTS option "-N1" to force everything to use a single thread, then the problem disappeared even when using "async"
21:27:27 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds)
21:27:59 <geekosaur> are you sure the C++ layer doesn't itself require a bound thread (look for "thread local storage")?
21:28:56 <Henson> [exa]: perhaps, when called with "async" the various C++ camera interaction functions would jump from one OS thread to another. Despite the C++ library being multi-threaded, maybe it requires all camera interactions functions to come from the same thread (I think geekosaur's comment in likely right)
21:29:01 <Henson> geekosaur: I think you're probably right
21:29:37 <[exa]> Henson: ok spawning random threads into another thread manager _is_ certainly a recipe for a problem. good catch I'd say. :D
21:29:44 <Henson> geekosaur: I don't think the camera library manual talks about this, but I don't imagine they anticipated the multithreading jumping from one OS thread to the next.
21:31:30 euandreh joins (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
21:31:49 <Henson> so when spawing threads that interact with multi-threaded functions in another language like C or C++, I should always use bound threads, then?
21:33:22 <Henson> should Haskell threads using async or fork only be used for Haskell functions or foreign function calls that don't use underlying threading?
21:34:28 <sclv> it depends on if the underlying libraries you're binding have thread local storage or not
21:35:59 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
21:36:06 <Henson> sclv: so it's probably the thread local storage that's really the problem?
21:36:51 <monochrom> asyncBound and withAsyncBound exist.
21:37:08 × michalz quits (~michalz@185.246.204.104) (Remote host closed the connection)
21:37:19 <Henson> monochrom: yes, using asyncBound seems to have fixed my problem
21:37:35 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:37:45 × acidjnk quits (~acidjnk@p200300d0c7068b9711170b58f5b9d22f.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:37:47 <monochrom> asyncWithUnmask is temporarily aliased to async due to COVID-19
21:38:02 <geekosaur> actually, I would be tempted to assume that if it's communicating woith an external device, all of that communication wants to be on a single thread
21:38:45 <geekosaur> one thread should in effect "own" the device
21:41:02 dostoevsky6 joins (~5c42c5384@user/dostoevsky)
21:42:10 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds)
21:42:11 dostoevsky6 is now known as dostoevsky
21:48:40 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:50:23 <Henson> monochrom: hahaha!
21:50:43 <Henson> geekosaur: ok
21:52:28 × Tuplanolla quits (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) (Quit: Leaving.)
21:53:39 dostoevsky2 joins (~5c42c5384@user/dostoevsky)
21:54:39 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds)
21:54:39 dostoevsky2 is now known as dostoevsky
21:57:52 dhil joins (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
21:59:59 <EvanR> thread local state
22:00:10 <EvanR> somehow even worse than global state
22:02:06 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
22:07:17 causal joins (~user@50.35.83.177)
22:09:40 <geekosaur> it's global state that sneaks up on you without warning
22:10:28 <hpc> just tell developers it's containerized state
22:10:40 <hpc> each thread is a state namespace
22:10:43 <hpc> they'll be all over it
22:11:07 <monochrom> I think they're already all over it.
22:11:45 <hpc> nah, sometimes they'll notice it's difficult to work with
22:11:52 <hpc> and this innoculates them against that knowledge :D
22:13:19 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:18:29 dostoevsky8 joins (~5c42c5384@user/dostoevsky)
22:18:30 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.5)
22:19:31 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Read error: Connection reset by peer)
22:19:31 dostoevsky8 is now known as dostoevsky
22:22:29 causal joins (~user@50.35.83.177)
22:26:01 × chomwitt quits (~chomwitt@2a02:587:dc21:9e00:6dfd:37a:2bc3:ca7e) (Remote host closed the connection)
22:26:20 chomwitt joins (~chomwitt@2a02:587:dc21:9e00:6dfd:37a:2bc3:ca7e)
22:27:51 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:28:25 <Henson> thanks again for the help, everyone, another mysterious bug squashed
22:31:22 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
22:35:56 dostoevsky2 joins (~5c42c5384@user/dostoevsky)
22:37:10 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Read error: Connection reset by peer)
22:37:10 dostoevsky2 is now known as dostoevsky
22:45:28 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
22:46:42 dostoevsky3 joins (~5c42c5384@user/dostoevsky)
22:48:10 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds)
22:48:10 dostoevsky3 is now known as dostoevsky
22:51:23 markasoftware joins (~quassel@107.161.26.124)
22:53:46 × dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
22:58:19 dolio joins (~dolio@130.44.130.54)
22:59:30 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
23:09:33 × tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection)
23:09:51 tcard joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
23:12:04 × alp_ quits (~alp@user/alp) (Ping timeout: 248 seconds)
23:14:12 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 248 seconds)
23:18:24 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
23:18:29 slac74270 joins (~slack1256@191.126.99.86)
23:21:00 × slack1256 quits (~slack1256@191.126.227.86) (Ping timeout: 260 seconds)
23:22:50 slac74270 is now known as slack1256
23:25:52 × slack1256 quits (~slack1256@191.126.99.86) (Remote host closed the connection)
23:29:12 laalyn joins (~laalyn@c-73-189-182-49.hsd1.ca.comcast.net)
23:32:08 gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
23:32:45 <laalyn> Hey can somebody help me figure out why haskell is slow?
23:34:17 × dhil quits (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 248 seconds)
23:34:49 × chomwitt quits (~chomwitt@2a02:587:dc21:9e00:6dfd:37a:2bc3:ca7e) (Ping timeout: 248 seconds)
23:34:56 <hpc> https://dontasktoask.com/ :P
23:35:19 king_gs joins (~Thunderbi@187.201.105.54)
23:35:22 <hpc> laalyn: can you paste the code you're having issues with?
23:35:27 <laalyn> oh my bad
23:36:00 <laalyn> I'm taking haskell for a test run and trying to solve a few programming problems that I'm familiar with previously
23:36:58 <laalyn> Read a M*N matrix of 0 and 1s and print the sizes of all the 'islands' of 1s
23:37:30 <hpc> are you using [[Bool]] or [[Int]] or something like that?
23:37:41 <laalyn> I tried three ways to solve it
23:37:55 <hpc> [] is a linked list type, that could be the issue
23:38:04 <laalyn> first was with fgl, then using maps to emulate adjencency and visited array, and then using vector to do the same
23:38:09 <hpc> ah
23:38:16 <laalyn> yeah i realize that linked list is slow for random access
23:38:42 <laalyn> and actually i implemented this in Elixir, which is another functional language with immutable data structures, and it runs faster
23:38:46 <laalyn> but Elixir runs on a vm
23:39:56 <laalyn> https://paste.tomsmeding.com/H9C6s0dT
23:40:07 <laalyn> heres the code for the one with maps, as it performs the best
23:40:26 <laalyn> oh wait I sent the one with vectors
23:40:41 <laalyn> https://paste.tomsmeding.com/DhAVp2FF
23:40:44 <laalyn> heres the one with maps
23:41:27 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
23:43:32 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
23:48:55 <sm> could be a good time to practice using the profiler
23:49:25 <sm> I'm no expert, but that's enough code to be hiding multiple performance issues
23:51:45 <sm> if you'd like to share a test file, I'd have a look
23:51:50 <sm> test input
23:52:00 <laalyn> sure
23:52:36 × dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
23:52:48 × ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Remote host closed the connection)
23:52:57 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
23:53:13 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
23:53:24 <laalyn> hm i think its too big to be pasted
23:53:45 <laalyn> https://paste.tomsmeding.com/keMQo88y
23:53:49 <laalyn> heres a 100x100 one
23:53:58 <laalyn> the slowdown isn't as bad
23:55:27 × king_gs quits (~Thunderbi@187.201.105.54) (Read error: Connection reset by peer)
23:58:17 king_gs joins (~Thunderbi@187.201.105.54)
23:59:27 <sm> ...cue the usual hilarious attempts to profile a haskell program...

All times are in UTC on 2022-05-13.