Home liberachat/#haskell: Logs Calendar

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

00:00:30 × mauke quits (~mauke@user/mauke) (Ping timeout: 260 seconds)
00:00:31 mauke_ is now known as mauke
00:07:06 × Nosrep quits (~Nosrep@user/nosrep) (Remote host closed the connection)
00:11:17 Nosrep joins (~Nosrep@user/nosrep)
00:15:34 hisa388 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
00:17:21 × hisa38 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 258 seconds)
00:17:21 hisa388 is now known as hisa38
00:20:21 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:22:04 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
00:26:45 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
00:34:09 oneeyedalien joins (~oneeyedal@120.18.159.41)
00:37:34 × oneeyedalien quits (~oneeyedal@120.18.159.41) (Changing host)
00:37:34 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
00:44:49 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
00:49:56 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 258 seconds)
00:51:51 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 258 seconds)
00:56:01 Sciencentistguy4 joins (~sciencent@hacksoc/ordinary-member)
00:57:32 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 240 seconds)
00:57:32 Sciencentistguy4 is now known as Sciencentistguy
01:08:45 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
01:08:45 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
01:08:45 wroathe joins (~wroathe@user/wroathe)
01:11:02 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:17:09 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:38:43 oneeyedalien_ joins (~oneeyedal@120.18.83.110)
01:41:18 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Ping timeout: 258 seconds)
01:59:45 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
02:04:58 deglazewithcheet joins (~deglazewi@209-188-121-236.taosnet.com)
02:05:36 deglazewithcheet is now known as shef
02:11:09 × oneeyedalien_ quits (~oneeyedal@120.18.83.110) (Quit: Leaving)
02:13:20 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
02:13:30 cheater_ joins (~Username@user/cheater)
02:15:26 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
02:15:48 × cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds)
02:15:56 cheater_ is now known as cheater
02:16:06 razetime joins (~quassel@117.193.6.167)
02:16:57 × xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 258 seconds)
02:17:49 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:17:49 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:17:49 finn_elija is now known as FinnElija
02:18:28 cheater_ joins (~Username@user/cheater)
02:20:20 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
02:20:23 cheater_ is now known as cheater
02:33:49 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
02:36:06 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f)
02:36:13 thegeekinside joins (~thegeekin@189.217.90.138)
02:36:15 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
02:39:15 thegeekinside joins (~thegeekin@189.217.90.138)
02:39:18 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
02:39:35 thegeekinside joins (~thegeekin@189.217.90.138)
02:39:55 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
02:40:44 × td_ quits (~td@i53870914.versanet.de) (Ping timeout: 240 seconds)
02:42:45 td_ joins (~td@i5387090D.versanet.de)
02:45:36 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
02:48:31 thegeekinside joins (~thegeekin@189.217.90.138)
02:48:31 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
02:55:28 thegeekinside joins (~thegeekin@189.217.90.138)
02:55:28 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
02:57:12 thegeekinside joins (~thegeekin@189.217.90.138)
02:57:12 × jgtf quits (~jgtf@38.49.161.250) (Ping timeout: 258 seconds)
02:58:51 smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com)
03:00:23 × thegeekinside quits (~thegeekin@189.217.90.138) (Remote host closed the connection)
03:00:25 × mei quits (~mei@user/mei) (Remote host closed the connection)
03:00:40 thegeekinside joins (~thegeekin@189.217.90.138)
03:01:43 xff0x_ joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:02:26 × mustafa__ quits (sid502723@2a03:5180:f:4::7:abc3) (Server closed connection)
03:02:41 mustafa__ joins (sid502723@id-502723.hampstead.irccloud.com)
03:06:04 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Remote host closed the connection)
03:06:27 mei joins (~mei@user/mei)
03:09:56 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
03:11:20 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
03:12:05 thegeekinside joins (~thegeekin@189.217.90.138)
03:12:05 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
03:15:47 thegeekinside joins (~thegeekin@189.217.90.138)
03:15:47 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
03:18:44 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
03:18:48 × califax quits (~califax@user/califx) (Remote host closed the connection)
03:19:14 califax joins (~califax@user/califx)
03:19:45 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
03:21:11 × shef quits (~deglazewi@209-188-121-236.taosnet.com) (Quit: WeeChat 3.0)
03:23:39 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 258 seconds)
03:31:44 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
03:33:43 cafkafk joins (~cafkafk@fsf/member/cafkafk)
03:38:56 chexum joins (~quassel@gateway/tor-sasl/chexum)
03:39:46 × bilegeek quits (~bilegeek@2600:1008:b0a7:aec6:fca5:112f:bd05:7537) (Quit: Leaving)
03:47:18 hisa387 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
03:47:46 × nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Server closed connection)
03:48:00 nek0 joins (~nek0@2a01:4f8:222:2b41::12)
03:49:00 × hisa38 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 240 seconds)
03:49:00 hisa387 is now known as hisa38
04:00:36 rando25892 joins (~andor2985@user/rando25892)
04:01:19 × sajith quits (~sajith@user/sajith) (Server closed connection)
04:01:41 sajith_ joins (~sajith@user/sajith)
04:04:35 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:05:08 × razetime quits (~quassel@117.193.6.167) (Ping timeout: 240 seconds)
04:09:59 × krjst quits (~krjst@2604:a880:800:c1::16b:8001) (Server closed connection)
04:11:12 krjst joins (~krjst@2604:a880:800:c1::16b:8001)
04:18:37 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
04:19:00 cafkafk joins (~cafkafk@fsf/member/cafkafk)
04:20:13 razetime joins (~quassel@117.193.6.167)
04:22:48 × erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 268 seconds)
04:23:52 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
04:27:43 lilata joins (~lilata@137.184.4.49)
04:31:54 × tdammers quits (~tdammers@219-131-178-143.ftth.glasoperator.nl) (Server closed connection)
04:32:18 tdammers joins (~tdammers@219-131-178-143.ftth.glasoperator.nl)
04:43:28 erisco joins (~erisco@d24-141-66-165.home.cgocable.net)
04:50:06 × mjacob quits (~mjacob@185.26.156.139) (Server closed connection)
04:50:18 mjacob joins (~mjacob@adrastea.uberspace.de)
04:55:12 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
05:15:26 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
05:16:30 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
05:18:13 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
05:19:59 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
05:20:11 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
05:21:06 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
05:21:30 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:22:22 trev joins (~trev@user/trev)
05:24:51 × mei quits (~mei@user/mei) (Ping timeout: 260 seconds)
05:26:55 cafkafk joins (~cafkafk@fsf/member/cafkafk)
05:37:51 mncheck joins (~mncheck@193.224.205.254)
05:40:12 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
05:48:34 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
05:50:05 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 258 seconds)
05:55:07 acidjnk joins (~acidjnk@p200300d6e7072f393cd824ddc905386c.dip0.t-ipconnect.de)
06:03:19 mei joins (~mei@user/mei)
06:05:05 × mauke quits (~mauke@user/mauke) (Ping timeout: 260 seconds)
06:21:30 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:36:46 × robobub_ quits (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
06:38:20 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
06:40:01 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:43:31 dvu joins (~dvu@206.253.143.145)
06:44:11 Co0kie joins (~Jura@145.224.73.17)
06:45:20 × shapr quits (~user@2600:1700:c640:3100:fffb:4059:917:b753) (Ping timeout: 260 seconds)
06:46:51 cfricke joins (~cfricke@user/cfricke)
06:49:26 fendor joins (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a)
06:59:24 lortabac joins (~lortabac@2a01:e0a:541:b8f0:a53f:2e0c:56a9:8152)
07:00:26 × madnight quits (~madnight@195.201.103.59) (Server closed connection)
07:00:40 madnight joins (~madnight@static.59.103.201.195.clients.your-server.de)
07:02:45 nickname joins (~identity@2a02-a420-48-5833-432e-2195-7ecb-2ffd.mobile6.kpn.net)
07:03:04 michalz joins (~michalz@185.246.207.200)
07:07:24 × euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection)
07:08:45 euandreh joins (~Thunderbi@189.6.18.7)
07:15:08 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
07:16:30 × sgarcia_ quits (sgarcia@swarm.znchost.com) (Server closed connection)
07:16:42 sgarcia joins (sgarcia@swarm.znchost.com)
07:17:47 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
07:18:43 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
07:19:23 zazaeil joins (~user@91.234.25.217)
07:19:51 nickname is now known as nickname_
07:20:02 nickname_ is now known as NotAServ_
07:24:48 × NotAServ_ quits (~identity@2a02-a420-48-5833-432e-2195-7ecb-2ffd.mobile6.kpn.net) ()
07:26:19 nickname joins (~identity@2a02-a420-48-5833-432e-2195-7ecb-2ffd.mobile6.kpn.net)
07:27:23 × nickname quits (~identity@2a02-a420-48-5833-432e-2195-7ecb-2ffd.mobile6.kpn.net) (Client Quit)
07:28:26 nickname joins (~identity@2a02-a420-48-5833-432e-2195-7ecb-2ffd.mobile6.kpn.net)
07:28:46 × forell quits (~forell@user/forell) (Server closed connection)
07:30:34 forell joins (~forell@user/forell)
07:32:53 kuribas joins (~user@ptr-17d51emp2e95l0xzud9.18120a2.ip6.access.telenet.be)
07:34:13 <zazaeil> I am debugging a webserver with help of gchi (stack gchi to be precise, but it shouldn't matter); as it is, after the `:main foo bar baz` gets executed, the webservers starts to dump lots of logs directly to the `ghci`'s `stdout` and it makes me unable to submit further commands into it. does `ghci` offer something to overcome the problem like `gdb` does?
07:35:10 nickname is now known as NotAServ_
07:36:14 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
07:38:12 boxscape_ joins (~boxscape_@213.52.37.155)
07:40:11 × NotAServ_ quits (~identity@2a02-a420-48-5833-432e-2195-7ecb-2ffd.mobile6.kpn.net) ()
07:41:44 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f) (Remote host closed the connection)
07:42:42 hisa384 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
07:42:53 vpan joins (~0@mail.elitnet.lt)
07:43:37 <Axman6> zazaeil: using :main means: run the main that is in scope until it returns, it's a simple way to avoid needing to open up another terminal, it's not really designed to provide interactive cebugging.
07:43:59 × hisa38 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 240 seconds)
07:44:00 hisa384 is now known as hisa38
07:44:38 <Axman6> GHCi does have a built in debugger, but it's unlikely it would make sense to use on your whole application, instead you would more likely find running individual handlers or even the functions that they call easier to deal with
07:44:54 <Axman6> is there something in particular you're tyring to observe?
07:48:54 chele joins (~chele@user/chele)
07:51:21 zxrom joins (~zxrom@mm-136-12-212-37.vitebsk.dynamic.pppoe.byfly.by)
07:51:59 × zxrom_ quits (~zxrom@mm-136-12-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 258 seconds)
07:52:22 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 258 seconds)
07:57:28 × ft quits (~ft@p508dbdef.dip0.t-ipconnect.de) (Quit: leaving)
07:58:29 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
08:00:33 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:03:24 gurkenglas joins (~user@dynamic-046-114-182-215.46.114.pool.telefonica.de)
08:07:35 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
08:08:11 Pickchea joins (~private@user/pickchea)
08:16:32 <zazaeil> Axman6: does not seem I am able to cut off a particular bit of code and even if I could, still it would log to the `stdout` lots of information which would make my further keyboard input to the `ghci` impossible. as per the target: I have a concurrency issue at the Postgres level and I am trying to case the workflow (Haskell codebase) that makes it happen. so I kinda need to step over the whole workflow (ideally) and be able on what's
08:16:32 <zazaeil> going on "right now".
08:17:23 gehmehgeh joins (~user@user/gehmehgeh)
08:18:20 dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
08:21:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
08:22:17 ec_ joins (~ec@gateway/tor-sasl/ec)
08:23:14 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
08:24:02 danse-nr3 joins (~francesco@151.46.174.27)
08:25:08 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds)
08:28:30 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 252 seconds)
08:33:16 × razetime quits (~quassel@117.193.6.167) (Ping timeout: 260 seconds)
08:34:32 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:37:57 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
08:38:43 zeenk joins (~zeenk@2a02:2f04:a106:3c00::7fe)
08:42:15 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f)
08:44:09 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
08:44:55 gehmehgeh joins (~user@user/gehmehgeh)
08:46:29 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f) (Ping timeout: 240 seconds)
08:49:47 razetime joins (~quassel@117.193.6.167)
08:49:58 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
08:51:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
08:53:46 × ggranberry quits (sid267884@2a03:5180:f:5::4:166c) (Server closed connection)
08:53:54 ggranberry joins (sid267884@id-267884.uxbridge.irccloud.com)
08:55:05 ec_ joins (~ec@gateway/tor-sasl/ec)
08:58:50 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
09:01:22 cheater joins (~Username@user/cheater)
09:06:24 cheater_ joins (~Username@user/cheater)
09:08:25 × Alex_test quits (~al_test@178.34.163.88) (Read error: Connection reset by peer)
09:08:34 × AlexZenon quits (~alzenon@178.34.163.88) (Read error: Connection reset by peer)
09:08:37 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
09:08:38 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
09:10:59 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
09:11:31 Lord_of_Life_ is now known as Lord_of_Life
09:12:30 × cheater_ quits (~Username@user/cheater) (Ping timeout: 252 seconds)
09:13:14 × razetime quits (~quassel@117.193.6.167) (Ping timeout: 252 seconds)
09:13:53 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
09:14:33 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:14:53 <sm> zazaeil: if the app doesn't have a --quiet flag, you could comment out the logging parts
09:14:53 AlexZenon joins (~alzenon@178.34.163.88)
09:16:01 <zazaeil> yeah, I could modify the source code, but that is sort of insanity; I hoped there'd be a simplier option.
09:16:57 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
09:20:04 × AlexZenon quits (~alzenon@178.34.163.88) (Quit: ;-)
09:20:09 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
09:21:41 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
09:21:46 AlexZenon joins (~alzenon@178.34.163.88)
09:22:41 cheater_ joins (~Username@user/cheater)
09:22:41 cheater_ is now known as cheater
09:24:22 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 258 seconds)
09:27:13 razetime joins (~quassel@117.193.6.182)
09:28:04 <Axman6> zazaeil: if the app is using some kind of logging framework, you should be able to suppress logs, or direct them to a file. it's hard to help you if we don't know any details of the specific app though
09:32:14 titibandit joins (~titibandi@user/titibandit)
09:37:41 × vulpine quits (xfnw@tilde.team) (Ping timeout: 246 seconds)
09:38:11 × Momentum quits (momentum@tilde.team) (Ping timeout: 265 seconds)
09:38:23 × nullsh quits (nullsh@user/nullsh) (Ping timeout: 260 seconds)
09:38:29 × remsen quits (ianremsen@tilde.team) (Ping timeout: 240 seconds)
09:41:28 × boxscape_ quits (~boxscape_@213.52.37.155) (Quit: Client closed)
09:43:46 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
09:44:29 × raym quits (~ray@user/raym) (Ping timeout: 240 seconds)
09:46:55 × razetime quits (~quassel@117.193.6.182) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
09:47:59 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
09:50:21 zazaeil` joins (~user@199.203.122.185)
09:51:35 × zazaeil quits (~user@91.234.25.217) (Ping timeout: 258 seconds)
09:52:15 <zazaeil`> is the `ghci` de-facto standard Haskell debugger nowadays? are there alternatives worthy to give a try in a real world?
09:53:27 <merijn> zazaeil`: The de facto standard is probably Debug.Trace, tbh :p
09:53:32 shailangsa joins (~shailangs@host86-186-142-69.range86-186.btcentralplus.com)
09:53:41 <merijn> zazaeil`: It depends on the kinda debugging you're doing too
09:59:54 × img_ quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
10:00:53 ubert joins (~Thunderbi@2a02:8109:abc0:6434:e11c:bb81:f9a6:4c71)
10:01:44 <int-e> `ghci` is great for testing small, pure, building blocks. I've never used the debugger (beyond a tiny bit of fooling around).
10:03:21 img joins (~img@user/img)
10:04:15 × xff0x_ quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
10:05:00 <jade[m]1> trace is great
10:05:17 <sm> ghci is the only working haskell debugger AFAIK. It has it's own REPL-style UI, but there's also a VS Code extension that lets you use it from VS Code, that kind of works
10:05:42 <jade[m]1> this is one of the reasons why not having state and purity is great
10:05:58 <jade[m]1> debugging becomes much much easier, because you can test small isolated blocks
10:06:09 <int-e> Debug.Trace is quite powerful. (there's traceEvent too if stderr gets too crowded)
10:06:52 × img quits (~img@user/img) (Client Quit)
10:09:20 <sm> in the real world, adding trace statements and reloading in ghci is usually quickest. Laziness makes interactive debugging hard (though very instructive)
10:09:48 img joins (~img@user/img)
10:10:10 <int-e> Yeah I imagine it's great for learning how lazy evaluation works.
10:10:21 <sm> still, we probably underuse the GHCI debugger
10:10:29 <sm> jscript has been doing that a lot lately
10:10:35 × driib quits (~driib@176.57.184.141) (Quit: The Lounge - https://thelounge.chat)
10:10:59 driib joins (~driib@vmi931078.contaboserver.net)
10:11:18 <int-e> But I did that without the debugger because it didn't exist... instead, I instrumented all functions of interest with Debug.Trace.trace. Well, on top of doing manual reductions on paper (and in text editors)
10:11:56 sm is also a big fan of Debug.Trace (obligatory wave at the extra trace helpers in Hledger.Utils.Debug)
10:11:58 <int-e> now if the ghci debugger could step back in time.......
10:12:00 laxmik joins (~user@cfeld-pcx40162.desy.de)
10:12:03 <int-e> (sorry, too many dots)
10:12:20 <sm> it has the trace feature, where you can review the last N steps
10:12:42 <sm> (I think its called trace.. but not related to Debug.Trace)
10:13:57 <int-e> It's not like Debug.Trace is an outlier; I believe that `printf` debugging is still going strong too.
10:16:39 mauke joins (~mauke@user/mauke)
10:17:09 <zazaeil`> really eager to know how you gonna Debug.Trace a multithreaded app. a show one does not miss.
10:17:29 <sm> you just do it, it's great
10:17:41 <merijn> zazaeil`: I mean, I've done quite some debugging C and C++ multi-threaded runtimes with printf too :p
10:17:51 <sm> helps you understand when things get evaluated
10:20:04 <zazaeil`> then you have to take care that your `print`s are atomic too.
10:20:39 <sm> they generally are if terminated with a newline, but even if not they're still useful
10:20:51 <zazaeil`> agree
10:21:28 <zazaeil`> but I wouldn't buy it as a primary mechanism, nah nah nah.
10:21:30 <int-e> iinntteerrlleeaavveedd ddeebbuugg oouuttppuuttss aarree ffuunn!!
10:22:18 chomwitt joins (~chomwitt@2a02:587:7a0e:cf00:1ac0:4dff:fedb:a3f1)
10:23:15 × driib quits (~driib@vmi931078.contaboserver.net) (Remote host closed the connection)
10:23:33 <sm> there is also https://hackage.haskell.org/package/debug that's like trace + breakpoints
10:23:36 driib joins (~driib@vmi931078.contaboserver.net)
10:24:51 <int-e> oh, elaborate
10:26:14 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
10:26:19 <sm> I don't remember all the details but I think it traces and also gives you the option to have a quick look around interactively
10:26:20 <sm> https://github.com/ndmitchell/debug#readme
10:26:45 <sm> oh.. web ui, I don't remember that
10:27:32 <sm> and support for https://github.com/MaartenFaddegon/Hoed
10:28:28 <sm> https://hackage.haskell.org/package/Hoed .. seems to be a postmortem debugger
10:31:43 <sm> and so is debug. Maybe I'm mixing it up with another
10:32:49 <sm> ha yes, I was thinking of https://hackage.haskell.org/package/breakpoint . Sorry
10:35:39 × kronicma1 quits (user13639@neotame.csclub.uwaterloo.ca) (Server closed connection)
10:35:56 kronicma1 joins (user40967@neotame.csclub.uwaterloo.ca)
10:36:46 × driib quits (~driib@vmi931078.contaboserver.net) (Remote host closed the connection)
10:37:08 driib joins (~driib@vmi931078.contaboserver.net)
10:43:59 dcoutts_ is now known as dcoutts
10:46:51 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 260 seconds)
10:49:39 Guest63 joins (~Guest63@87-58-19-6-dynamic.dk.customer.tdc.net)
10:50:39 × Guest63 quits (~Guest63@87-58-19-6-dynamic.dk.customer.tdc.net) (Client Quit)
10:52:26 × driib quits (~driib@vmi931078.contaboserver.net) (Remote host closed the connection)
10:52:46 driib joins (~driib@vmi931078.contaboserver.net)
10:56:57 __monty__ joins (~toonn@user/toonn)
10:57:21 × danse-nr3 quits (~francesco@151.46.174.27) (Ping timeout: 260 seconds)
10:58:25 × Co0kie quits (~Jura@145.224.73.17) (Ping timeout: 240 seconds)
10:59:51 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
11:06:43 × cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds)
11:08:21 × driib quits (~driib@vmi931078.contaboserver.net) (Remote host closed the connection)
11:08:41 driib joins (~driib@vmi931078.contaboserver.net)
11:09:46 × xelxebar quits (~xelxebar@104.199.203.42) (Server closed connection)
11:10:06 xelxebar joins (~xelxebar@wilsonb.com)
11:14:20 × smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
11:16:27 × zazaeil` quits (~user@199.203.122.185) (Remote host closed the connection)
11:16:28 Alex_test joins (~al_test@178.34.163.88)
11:19:44 remsen joins (ianremsen@tilde.team)
11:21:04 smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com)
11:21:35 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
11:22:14 × driib quits (~driib@vmi931078.contaboserver.net) (Remote host closed the connection)
11:22:35 driib joins (~driib@vmi931078.contaboserver.net)
11:23:32 Momentum joins (momentum@tilde.team)
11:24:20 vulpine joins (xfnw@tilde.team)
11:24:21 zmt01 joins (~zmt00@user/zmt00)
11:24:46 nullsh joins (nullsh@user/nexeq)
11:25:24 zxrom_ joins (~zxrom@mm-185-0-212-37.vitebsk.dynamic.pppoe.byfly.by)
11:25:29 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
11:26:45 × zxrom quits (~zxrom@mm-136-12-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 240 seconds)
11:30:20 <kuribas> int-e: did you mean, interdebleavug ed outare fputs fun?
11:35:05 <int-e> kuribas: unless the 'fputs' is a joke, I think you have one 'f' too many.
11:35:27 <kuribas> right :)
11:35:33 <int-e> kuribas: I thought about interleaving things in a more interesting way but I thought it would become impossible to read
11:36:15 × driib quits (~driib@vmi931078.contaboserver.net) (Remote host closed the connection)
11:36:37 driib joins (~driib@vmi931078.contaboserver.net)
11:42:45 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
11:45:24 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f)
11:47:43 ddrone joins (~ddrone@cpc160341-hari23-2-0-cust955.20-2.cable.virginm.net)
11:49:29 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f) (Ping timeout: 240 seconds)
11:52:36 × driib quits (~driib@vmi931078.contaboserver.net) (Remote host closed the connection)
11:52:58 driib joins (~driib@vmi931078.contaboserver.net)
11:53:50 × auri quits (~auri@fsf/member/auri) (Server closed connection)
11:54:00 auri joins (~auri@fsf/member/auri)
11:55:25 danse-nr3 joins (~francesco@151.46.174.133)
11:55:46 × danse-nr3 quits (~francesco@151.46.174.133) (Remote host closed the connection)
11:58:13 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
12:00:00 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
12:00:17 × kuribas quits (~user@ptr-17d51emp2e95l0xzud9.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 27.1))
12:02:33 cheater joins (~Username@user/cheater)
12:03:51 elain4 joins (~textual@2601:5c0:8200:990:74bf:d62b:128c:c613)
12:04:32 × elain4 quits (~textual@2601:5c0:8200:990:74bf:d62b:128c:c613) (Client Quit)
12:05:47 azimut joins (~azimut@gateway/tor-sasl/azimut)
12:07:50 × driib quits (~driib@vmi931078.contaboserver.net) (Remote host closed the connection)
12:08:11 driib joins (~driib@vmi931078.contaboserver.net)
12:08:52 xff0x_ joins (~xff0x@2405:6580:b080:900:c2fb:2920:de74:78c6)
12:13:17 ijqq_ joins (uid603979@id-603979.helmsley.irccloud.com)
12:16:43 <ijqq_> Hi, I am trying to get haskell language server setup for vim using this plugin https://github.com/yegappan/lsp. As soon as a launch a haskell file, my editor gives me the message 'LSP Server (hls) exited with status 0'.
12:17:29 × SrPx_ quits (sid108780@id-108780.uxbridge.irccloud.com) ()
12:18:22 SrPx joins (sid108780@id-108780.uxbridge.irccloud.com)
12:22:37 × acidjnk quits (~acidjnk@p200300d6e7072f393cd824ddc905386c.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
12:22:53 <ijqq_> Anyone who uses vim and haskell language server care to share their suggestions? I saw some links on reddit but both vim and haskell subreddits seem to be private.
12:24:03 × driib quits (~driib@vmi931078.contaboserver.net) (Read error: Connection reset by peer)
12:24:23 driib joins (~driib@vmi931078.contaboserver.net)
12:28:34 × natto quits (~natto@140.238.225.67) (Server closed connection)
12:28:42 <jade[m]1> I use neovim which has an inbuilt LSP client
12:28:56 <jade[m]1> when using the lsp-quickstart thingy which is the reccomended way, I have no issues
12:30:19 <yushyin> i too use nvim (built-in lsp client) + nvim-cmp + cmp-nvim-lsp
12:30:57 natto joins (~natto@140.238.225.67)
12:34:29 <ijqq_> Hmm I tried running haskell language server with log and the error seems to be `2023-06-16T12:29:43.778941Z | Error | Failed to parse message header:
12:34:29 <ijqq_> : string
12:34:29 <ijqq_> `
12:34:39 <ijqq_> Maybe I should switch to neovim thne
12:34:39 dorin joins (~dorin@84.232.171.55)
12:35:55 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds)
12:37:10 × dextaa quits (~DV@user/dextaa) (Server closed connection)
12:37:36 dextaa joins (~DV@user/dextaa)
12:42:39 random-jellyfish joins (~random-je@user/random-jellyfish)
12:43:53 × remedan quits (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Quit: Bye!)
12:47:36 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:48:43 hugo joins (znc@verdigris.lysator.liu.se)
12:49:53 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
12:52:05 × m1dnight_ quits (~christoph@78-22-4-67.access.telenet.be) (Ping timeout: 240 seconds)
12:54:31 m1dnight_ joins (~christoph@78-22-4-67.access.telenet.be)
12:55:16 takuan joins (~takuan@178-116-218-225.access.telenet.be)
13:00:42 × vpan quits (~0@mail.elitnet.lt) (Quit: Leaving.)
13:03:07 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 265 seconds)
13:04:31 titibandit joins (~titibandi@user/titibandit)
13:10:19 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
13:16:17 danse-nr3 joins (~francesco@151.44.209.30)
13:16:24 Feuermagier joins (~Feuermagi@user/feuermagier)
13:17:24 acidjnk joins (~acidjnk@p200300d6e7072f393cd824ddc905386c.dip0.t-ipconnect.de)
13:17:26 × random-jellyfish quits (~random-je@user/random-jellyfish) (Quit: Client closed)
13:18:27 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
13:23:11 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
13:31:05 remedan joins (~remedan@ip-94-112-0-18.bb.vodafone.cz)
13:33:39 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:38:11 monoidal joins (~monoidal@2a01cb0801ce4b00078248f58ae5cdb2.ipv6.abo.wanadoo.fr)
13:38:53 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:45:47 wroathe joins (~wroathe@user/wroathe)
13:47:01 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f)
13:47:54 × monoidal quits (~monoidal@2a01cb0801ce4b00078248f58ae5cdb2.ipv6.abo.wanadoo.fr) (Quit: Client closed)
13:48:47 × dorin quits (~dorin@84.232.171.55) (Ping timeout: 246 seconds)
13:50:12 kritty joins (~crumb@c-76-155-235-153.hsd1.co.comcast.net)
13:50:42 × ddellaco1 quits (~ddellacos@143.244.47.89) (Quit: WeeChat 3.8)
13:51:08 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
13:51:45 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f) (Ping timeout: 260 seconds)
13:53:04 titibandit joins (~titibandi@user/titibandit)
13:53:28 × danse-nr3 quits (~francesco@151.44.209.30) (Ping timeout: 258 seconds)
13:54:37 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 258 seconds)
13:55:17 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
13:56:50 L29Ah joins (~L29Ah@wikipedia/L29Ah)
13:57:14 × titibandit quits (~titibandi@user/titibandit) (Read error: Connection reset by peer)
14:02:32 danse-nr3 joins (~francesco@151.44.209.30)
14:05:11 jero98772 joins (~jero98772@2800:484:1d7f:5d36::2)
14:05:26 × CalculusCats quits (NyaaTheKit@user/calculuscat) (Server closed connection)
14:06:33 CalculusCats joins (NyaaTheKit@user/calculuscat)
14:06:36 elain4 joins (~textual@static-71-251-226-194.rcmdva.fios.verizon.net)
14:07:31 × chiselfuse quits (~chiselfus@user/chiselfuse) (Quit: leaving)
14:08:14 × jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 246 seconds)
14:10:15 jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com)
14:10:17 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
14:10:29 chiselfuse joins (~chiselfus@user/chiselfuse)
14:13:01 × elain4 quits (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Ping timeout: 258 seconds)
14:13:21 geekosaur joins (~geekosaur@xmonad/geekosaur)
14:17:34 Pickchea joins (~private@user/pickchea)
14:20:08 × gurkenglas quits (~user@dynamic-046-114-182-215.46.114.pool.telefonica.de) (Ping timeout: 252 seconds)
14:23:12 thegeekinside joins (~thegeekin@189.217.90.138)
14:41:08 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
14:43:57 ddellacosta joins (~ddellacos@146.70.185.10)
14:49:19 × chiselfuse quits (~chiselfus@user/chiselfuse) (Quit: leaving)
14:50:26 chiselfuse joins (~chiselfus@user/chiselfuse)
14:54:36 shriekingnoise joins (~shrieking@186.137.175.87)
14:57:32 × xff0x_ quits (~xff0x@2405:6580:b080:900:c2fb:2920:de74:78c6) (Ping timeout: 240 seconds)
14:57:56 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection)
14:58:13 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
14:58:27 xff0x_ joins (~xff0x@2405:6580:b080:900:c2fb:2920:de74:78c6)
14:58:38 × zxrom_ quits (~zxrom@mm-185-0-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 258 seconds)
15:04:22 × DDR quits (~DDR@2604:3d08:4c7f:8250:4f2c:b738:d82e:1bc4) (Remote host closed the connection)
15:05:29 cawfee_ is now known as cawfee
15:15:02 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:a53f:2e0c:56a9:8152) (Quit: WeeChat 2.8)
15:16:31 × laxmik quits (~user@cfeld-pcx40162.desy.de) (Quit: ERC (IRC client for Emacs 26.3))
15:16:37 bontaq parts (~user@ool-45779b84.dyn.optonline.net) (ERC 5.4 (IRC client for GNU Emacs 28.2))
15:16:42 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
15:23:12 takuan joins (~takuan@178-116-218-225.access.telenet.be)
15:23:44 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:26:14 × aristid quits (sid1599@id-1599.uxbridge.irccloud.com) (Server closed connection)
15:26:23 aristid joins (sid1599@id-1599.uxbridge.irccloud.com)
15:27:09 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
15:27:30 <Axman6> ijqq_: have you seen https://haskell-language-server.readthedocs.io/en/latest/configuration.html#vim?
15:33:14 zxrom_ joins (~zxrom@mm-144-32-212-37.vitebsk.dynamic.pppoe.byfly.by)
15:35:50 Sgeo joins (~Sgeo@user/sgeo)
15:39:18 <somerandomnick[m> the text editor should be a the text editor and run by the mail client to write mail
15:40:04 × danse-nr3 quits (~francesco@151.44.209.30) (Ping timeout: 252 seconds)
15:40:56 <EvanR> any sufficiently advanced program gains the ability to read your email
15:41:53 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
15:41:54 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
15:45:18 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f)
15:46:47 gurkenglas joins (~user@dynamic-046-114-182-215.46.114.pool.telefonica.de)
15:47:54 × sclv quits (sid39734@haskell/developer/sclv) (Server closed connection)
15:48:04 sclv joins (sid39734@haskell/developer/sclv)
15:50:06 thegeekinside joins (~thegeekin@189.217.90.138)
15:51:17 ft joins (~ft@p508dbdef.dip0.t-ipconnect.de)
15:51:19 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
15:53:06 × reverse quits (~inversed@188.220.172.130) (Server closed connection)
15:58:20 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 260 seconds)
15:58:53 × jneira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Ping timeout: 246 seconds)
15:59:08 jneira[m] joins (~jneiramat@2001:470:69fc:105::d729)
16:03:06 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f) (Remote host closed the connection)
16:06:12 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
16:09:34 × pepeiborra quits (sid443799@id-443799.ilkley.irccloud.com) (Server closed connection)
16:09:43 pepeiborra joins (sid443799@id-443799.ilkley.irccloud.com)
16:10:43 end- is now known as end\
16:11:18 chromoblob joins (~user@37.113.180.121)
16:14:56 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
16:17:18 cafkafk joins (~cafkafk@fsf/member/cafkafk)
16:17:59 × hexagoxel quits (~hexagoxel@2a01:4f8:c0c:e::2) (Server closed connection)
16:18:09 hexagoxel joins (~hexagoxel@2a01:4f8:c0c:e::2)
16:19:52 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:21:22 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f)
16:27:01 × end\ quits (~end^@user/end/x-0094621) (Remote host closed the connection)
16:30:26 raym joins (~ray@user/raym)
16:31:34 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f) (Remote host closed the connection)
16:35:48 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds)
16:37:33 takuan joins (~takuan@178-116-218-225.access.telenet.be)
16:37:55 end\ joins (~end^@user/end/x-0094621)
16:40:44 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
16:42:15 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:e11c:bb81:f9a6:4c71) (Remote host closed the connection)
16:42:30 laxmik joins (~laxmik@dynamic-077-003-220-189.77.3.pool.telefonica.de)
16:44:59 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
16:50:06 × laxmik quits (~laxmik@dynamic-077-003-220-189.77.3.pool.telefonica.de) (Quit: Client closed)
16:54:07 × loonycyborg quits (loonycybor@wesnoth/developer/loonycyborg) (Quit: ZNC - http://znc.sourceforge.net)
16:57:14 × mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Server closed connection)
16:58:44 barcisz joins (~barcisz@79.191.31.13.ipv4.supernova.orange.pl)
16:58:56 mhatta joins (~mhatta@www21123ui.sakura.ne.jp)
16:59:26 <ijqq_> okay I've got it working - sort of
16:59:32 <ijqq_> what is a hie.yaml file?
16:59:42 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
17:00:05 <ijqq_> i tried looking online but I couldn't figuire out out to generate or write one? i think its a sort of config file use for haskell lanugae server?
17:00:11 <geekosaur> yes
17:00:43 <ijqq_> geekosaur, would you happen to have an example of one? or know how I could genearte one?
17:00:50 <geekosaur> https://paste.tomsmeding.com/WiyuLhf4
17:01:01 × zeenk quits (~zeenk@2a02:2f04:a106:3c00::7fe) (Quit: Konversation terminated!)
17:01:10 Umeaboy joins (~Umeaboy@94-255-145-133.cust.bredband2.com)
17:01:21 <geekosaur> normally you don't need one and I think it's considered a bug these days if HLS can't work out a cradle without one
17:01:35 <ijqq_> ah
17:01:43 <geekosaur> I have one in that case so I can exclude some WIP things I don't want it to look at
17:02:05 <geekosaur> and because HLS seems to get a little confused if I edit things in multiple projects at the same time
17:02:15 <geekosaur> but that last might be fixed by now
17:03:07 × ft quits (~ft@p508dbdef.dip0.t-ipconnect.de) (Remote host closed the connection)
17:03:08 <Umeaboy> What can I do to get rpmbuild to recognize the installed version of ghc if I have set the right PATH in $USER/.bashrc?
17:03:21 <ijqq_> i am currently writing code in a Main.hs without any cabal or other stuff or dependencies, and I just want to use hls. In my editor plugin there is an option for single_file_mode but it only seems to work about half the time (i know, it's probably user error in setting it up).
17:03:21 <ijqq_> But i was wondering if I can write a hie.yaml file to tell hls that I'm just working on my Main.hs
17:03:25 <Umeaboy> I have double checked using echo $PATH and it's there.
17:04:37 <Umeaboy> I'm trying to build an rpm package for alex in order to build the rpm's for ghc.
17:04:44 <Umeaboy> I installed ghc using ghcup.
17:04:52 <geekosaur> Umeaboy, don't OS builders want to use OS packages?
17:05:20 <Umeaboy> geekosaur: Yes. What's your point? :)
17:05:21 <geekosaur> they usually go to great lengths to *exclude* anything not installed via an OS package
17:05:43 <geekosaur> my point is you'll lose that fight
17:05:44 <Umeaboy> I could use some help if someone's willing to guide me.
17:06:00 <Umeaboy> I have read the documentation.
17:06:16 <geekosaur> rpmbuild is designed to prevent what you want to do
17:06:18 <Umeaboy> I feel like I need to build Hadrian first. Right?
17:07:17 × kritty quits (~crumb@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Leaving)
17:07:42 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
17:09:32 ft joins (~ft@p508dbdef.dip0.t-ipconnect.de)
17:09:52 <Umeaboy> geekosaur: As I suspected then.
17:10:42 <Umeaboy> That won't stop me from building it though. :)
17:10:58 <Umeaboy> Obstacles are meant to be conquered. :)
17:11:13 <Umeaboy> And I've got all the time in the world.
17:12:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
17:13:26 ec_ joins (~ec@gateway/tor-sasl/ec)
17:14:19 × phaazon quits (~phaazon@2001:41d0:a:fe76::1) (Server closed connection)
17:14:35 phaazon joins (~phaazon@2001:41d0:a:fe76::1)
17:17:44 × chomwitt quits (~chomwitt@2a02:587:7a0e:cf00:1ac0:4dff:fedb:a3f1) (Read error: Connection reset by peer)
17:18:54 <EvanR> while you're at it can you figure out how to build hexchat from source
17:19:12 <EvanR> for windows
17:19:20 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:19:40 <EvanR> please conquer it
17:19:57 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
17:20:06 <ijqq_> okay nevermind, i fixed it
17:22:32 erisco_ joins (~erisco@d24-141-66-165.home.cgocable.net)
17:22:44 × euandreh quits (~Thunderbi@189.6.18.7) (Quit: euandreh)
17:22:46 × erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 258 seconds)
17:22:57 erisco_ is now known as erisco
17:24:41 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
17:26:55 txaas joins (~txaas@user/jarlg)
17:30:30 × raym quits (~ray@user/raym) (Ping timeout: 260 seconds)
17:33:25 shapr joins (~user@2600:1700:c640:3100:11cd:d5ec:6209:48bd)
17:38:29 × AlexZenon quits (~alzenon@178.34.163.88) (Ping timeout: 258 seconds)
17:39:06 × Alex_test quits (~al_test@178.34.163.88) (Ping timeout: 265 seconds)
17:42:19 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 258 seconds)
17:42:39 Alex_test joins (~al_test@178.34.163.88)
17:44:23 AlexZenon joins (~alzenon@178.34.163.88)
17:45:20 enthropy joins (~enthropy@207.167.90.161)
17:53:00 justsomeguy joins (~justsomeg@user/justsomeguy)
17:53:30 × codedmart quits (~codedmart@li335-49.members.linode.com) (Server closed connection)
17:53:48 codedmart joins (codedmart@2600:3c01::f03c:92ff:fefe:8511)
17:54:56 × myme quits (~myme@2a01:799:d60:e400:8cc9:2abe:579d:d46f) (Server closed connection)
17:54:57 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
17:55:20 myme joins (~myme@2a01:799:d60:e400:ee8f:45fa:6dfe:1e10)
17:56:37 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
17:57:02 <Nosrep> is there an easy way to return a Nothing/some other default value from a mutable vector if the element is uninitializsed?
17:58:03 <Nosrep> i guess i could just use catch but i'm not sure of the performance implications of it because it's gonna be accessing a LOT of uninitialized elements
17:58:12 <EvanR> you could keep a parallel vector of Bools regarding it's initialization status and keep that updated
17:58:40 <EvanR> you can't (really shouldn't?) be catching crashes due to bottom
17:58:48 <geekosaur> or just explicitly initialize the whole thing to Nothing
17:59:06 <EvanR> yes that is the simplest
17:59:39 <Nosrep> yeah that's what im doing right now, but prof output (-hy) shows a significant part of the programs memory usage is just "Maybe"
18:00:20 <EvanR> maybe a big vector of uninitialized data isn't the right data structure
18:00:25 <pie_> Hi folks, I'm trying to figure out how to write a "simple" quick ui with brick
18:00:35 <EvanR> what about IntMap
18:00:38 <pie_> well its not simple or quick so far, given that I still dont understand a lot of "basics"
18:00:40 <Nosrep> much too slow
18:00:52 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
18:00:55 <EvanR> really
18:01:03 <pie_> my current problem is that im having trouble implementing the event handler function for key presses
18:01:28 <Nosrep> yes i switched *from* intmap, and later i'm gonna have the vector be accessed from multiple threads anyway
18:01:29 × xff0x_ quits (~xff0x@2405:6580:b080:900:c2fb:2920:de74:78c6) (Ping timeout: 258 seconds)
18:01:32 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Ping timeout: 240 seconds)
18:01:40 <pie_> the function is supposed to be of type appHandleEvent :: BrickEvent n e -> EventM n s (),
18:01:44 <EvanR> if you are using an unboxed vector, may you can sacrifice 1 value of your datatype to stand for "uninitialized", like -1
18:01:52 × barcisz quits (~barcisz@79.191.31.13.ipv4.supernova.orange.pl) (Quit: Connection closed)
18:02:06 <pie_> i take the brickevent in based on some examples, but I cant figure out from any examples how to access and return the state of the application
18:02:34 <Nosrep> right now it's not unboxed, i was going to do that later though so i guess ill look into that when i get to it
18:02:35 <Nosrep> thansk
18:02:49 <ncf> pie_: MonadState s (EventM n s)
18:03:06 <pie_> GHC says the type is:
18:03:06 <pie_> newtype EventM n s a = brick-1.4:Brick.Types.EventM.EventM {brick-1.4:Brick.Types.EventM.runEventM :: ReaderT (brick-1.4:Brick.Types.Internal.EventRO n) (Control.Monad.Trans.State.Strict.StateT s (Control.Monad.Trans.State.Strict.StateT (brick-1.4:Brick.Types.Internal.EventState n) IO)) a}
18:03:15 xff0x_ joins (~xff0x@ai098135.d.east.v6connect.net)
18:03:19 <geekosaur> a lot of people seem to run into this… seems to me they need better examples
18:03:46 <pie_> after thinking moderately hard how this could work, especially given that this is a "private" type or something, got as far as possibly figuring out that ok maybe i need to map a function into the record
18:03:59 × enthropy quits (~enthropy@207.167.90.161) (Quit: Client closed)
18:04:10 <pie_> is that correct?
18:04:35 <ncf> brick kind of expects you to be familiar with mtl and lens already
18:04:41 hackyhacker joins (~hackyhack@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3)
18:04:55 <ncf> :t (%=)
18:04:56 <lambdabot> MonadState s m => ASetter s s a b -> (a -> b) -> m ()
18:05:52 × rando25892 quits (~andor2985@user/rando25892) (Excess Flood)
18:06:07 rando25892 joins (~andor2985@172.58.85.62)
18:06:30 × Unode quits (~Unode@fg-ext-220.embl.de) (Server closed connection)
18:07:07 <pie_> yeah I kind of wat to just half-ass this so it works :/ for ow
18:07:08 <pie_> ow
18:07:12 Unode joins (~Unode@fg-ext-220.embl.de)
18:07:25 <pie_> sorry, cliet issues, woe is me
18:07:33 enthropy joins (~enthropy@207.167.90.161)
18:07:41 <pie_> ok my keys are back
18:08:06 <pie_> my understanding seems to be that mtl and lenses are needed if you ever actually want to get anything done with haskell involving io :p
18:08:07 <chromoblob> say "invented" without "n"s /s
18:08:26 <pie_> and brick seems to be the recommended tui library so sigh
18:08:32 <EvanR> the IO type is great
18:08:35 <EvanR> by itself
18:08:43 <pie_> i just want to navigate my crappy mandelbrot :p
18:08:44 <pie_> anyway
18:08:54 <EvanR> but many libraries create a bureaucratic universe around it
18:09:02 <pie_> (haskell requires a good amount of machinery to Just anything)
18:09:39 <pie_> anyway, assuming i want to do this myself and not involve mtl and lenses, does that require a large amount of boilerplate for this type?
18:10:11 <pie_> and re: I dont understand how code uses this type if it cant access the runEventM function if its hidden?
18:10:39 <pie_> or re: is it doing some kind of map / does that not require importing stuff?
18:10:40 <ncf> you don't need to runEventM, brick does that for you
18:10:46 <ncf> you only need to produce EventM computations
18:10:53 <pie_> right
18:11:09 <pie_> but I dont get any parameters that I can produce an EventM from?
18:11:30 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds)
18:11:33 <ncf> i'd recommend spending the time to learn at least the basics of mtl and lens state operators, it will make your programs a lot nicer
18:11:34 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
18:11:48 <pie_> I _will_ do it later
18:11:54 EvanR joins (~EvanR@user/evanr)
18:12:02 <ncf> pie_: it implements MonadState so that's one source
18:12:27 <ncf> you can basically treat it as State YourState
18:12:37 <pie_> ok so I can construct a monadstate myself?
18:12:44 <ncf> :t modify
18:12:45 <lambdabot> MonadState s m => (s -> s) -> m ()
18:13:16 jero98772 joins (~jero98772@2800:484:1d7f:5d36::2)
18:13:19 <pie_> how does this end up compatible with the top level ReaderT in the newtype?
18:14:01 <geekosaur> that's part of what mtl is doing for you
18:14:03 <ncf> i don't think that's exposed at all
18:14:26 <ncf> there's no MonadReader, that ReaderT is internal
18:14:48 <sm> pie_: does none of the https://github.com/jtdaugherty/brick/tree/master/programs demos do what you want ?
18:14:52 <ncf> anyway, another source of EventM's is https://hackage.haskell.org/package/brick-1.9/docs/Brick-Main.html#g:1
18:15:28 <pie_> actually, newtypes are opaque arent they?
18:15:58 <ncf> meaning?
18:16:14 <pie_> I shouldnt expect something to match something inside the newtype?
18:16:26 <pie_> because its wrapped?
18:16:32 <pie_> and Im not using the wraper?
18:17:02 <EvanR> modify works with any MonadState type
18:17:08 <ncf> right, the constructor is not exposed
18:17:45 <pie_> ok, some conceptual progress is happening :p
18:18:11 <ncf> (i mean this particular constructor is not exposed, not all newtypes)
18:18:38 <pie_> yeah I see that
18:18:53 <pie_> i mean, even more specifically, these arent aliases, they are wrappers
18:19:06 <pie_> I was treating it as an alias earlier and wondering why nothing helped
18:20:13 <pie_> ok so I see in the havkage doc that monadstate is an instance of eventm, what does this mean?
18:20:20 <pie_> isnt eventm a type and not a constraitn?
18:20:27 <pie_> *hackate, constraint
18:20:30 <pie_> yeesh
18:20:32 <pie_> lern2spel
18:20:36 <ncf> no, EventM s n is an instance of MonadState s
18:20:43 <pie_> aha
18:21:31 <pie_> i guess that magically makes everything work
18:21:47 <pie_> so I dont think about what eventm is doing, it just has these get put and state ops on them and I can use them
18:22:00 <ncf> yes
18:22:12 <pie_> well ok but the problem is still that I need to construct an eventm, only afterwards can i use these
18:22:34 <ncf> what do you want it to do?
18:22:36 <pie_> I have specifically bound halt to the q key, but thats pretty limited :p<ncf> anyway, another source of EventM's is https://hackage.haskell.org/package/brick-1.9/docs/Brick-Main.html#g:1
18:22:48 <pie_> I want to bind the arrow keys to changing some coordinates
18:23:29 <pie_> so I want to fill this out for example: handleEvent (VtyEvent (V.EvKey V.KLeft [])) = undefined
18:24:10 <pie_> some examples I looked at had the definition be something like runIdentity . execState ... or something like that, another one used some continue function that I couldnt find the definition of
18:24:32 <ncf> continue is from an earlier version of brick, i think
18:24:55 <pie_> ah.
18:25:01 <ncf> anyway, you modify your application state using modify, and then probably call a brick function to refresh your display or whatever
18:25:52 <pie_> i think i just use the state in the drawing function and it will call it itself
18:25:59 <pie_> i just need to modify the state
18:26:53 <pie_> wait
18:26:59 <pie_> do i just...this?: get :: EventM n s s
18:27:09 <EvanR> underappreciated pattern I think is to pass what to draw into the drawing function, whether it's "the state" or a piece of the state or something else
18:27:14 raym joins (~ray@user/raym)
18:27:18 <pie_> oh hm
18:27:31 <pie_> ok i think i might be realizing what i need to do with monadstate
18:27:33 <EvanR> but get is how you get "the state" if you don't have it already
18:27:54 <EvanR> also gets is handy
18:27:56 <pie_> i need to pass the manipulation function to this state :: (s -> (a, s)) -> EventM n s a
18:27:57 <EvanR> :t gets
18:27:58 <lambdabot> MonadState s m => (s -> a) -> m a
18:28:18 <pie_> i think i may have seen an example use state but i had no idea what was going on
18:28:27 <EvanR> state is like a combination of get and put
18:28:48 <ncf> and if a is () you can just use modify
18:28:59 mastarija joins (~mastarija@2a05:4f46:e03:6000:3e0d:288e:9ff8:9688)
18:29:30 <mastarija> So, I have this type:
18:29:32 <mastarija>   newtype A = A { aNumber :: Int } deriving (Show)
18:29:40 <mastarija>   _aNumber :: Lens A A (Maybe Int) Int
18:29:44 <mastarija>   _aNumber = lens (Just . aNumber) (\(A _) i -> A i)
18:30:11 <mastarija> Why can't I do e.g. `A 42 ^. _aNumber`?
18:31:00 <pie_> ok I think modify will work
18:31:06 <mastarija> I have a lens that can maybe get a int and also set the int.
18:31:18 <mastarija> Hm.. I'll try it out.
18:31:46 × incertia quits (~incertia@209.122.71.127) (Server closed connection)
18:32:32 <mastarija> pie_ what do you mean by modify? I want to view something :)
18:32:50 <EvanR> parallel conversations
18:32:51 <ncf> not talking to you
18:32:56 <mastarija> Ah... sorry.
18:34:07 <pie_> its initially a little confusion that EventM is an object hiding a function inside it somewhere
18:34:10 <pie_> *confusing
18:34:26 <pie_> but I realize this is normal
18:34:38 incertia joins (~incertia@209.122.71.127)
18:35:19 <dolio> mastarija: (^.) takes a `Getting a s a`, which only matches `Lens s s a a`, I believe.
18:35:25 thegeekinside joins (~thegeekin@189.217.90.138)
18:35:39 × mastarija quits (~mastarija@2a05:4f46:e03:6000:3e0d:288e:9ff8:9688) (Quit: Client closed)
18:35:54 mastarija joins (~mastarija@2a05:4f46:e03:6000:3e0d:288e:9ff8:9688)
18:35:59 <pie_> ok sweet it works :)
18:36:05 <mastarija> Yeah. That seems to be the case. But does this means my lens is invalid? dolio
18:36:30 <mastarija> I've been looking at the laws and it seems like it satisfies them.
18:36:32 <dolio> It does look suspicious.
18:36:57 <pie_> https://bpa.st/SEWR2 shows my state being modified properly
18:37:55 <pie_> good ol folk knowledge stuff in haskell everywhere...
18:38:12 × phma quits (~phma@host-67-44-208-54.hnremote.net) (Read error: Connection reset by peer)
18:38:13 <mastarija> Hm... how can I then use the "getter" for my lens?
18:38:14 <pie_> wouldnt notice modify reexported from brick
18:38:39 phma joins (~phma@2001:5b0:211c:2af8:fd91:2419:befa:6d99)
18:38:53 <mastarija> Like, it seems logical to want to have something that may get a value from `A` and then set it.
18:38:58 <EvanR> yes don't overlook the haddocks listing type class instances under each type
18:39:07 <EvanR> that is where a lot of functionality ends up being
18:39:32 <dolio> Usually, the `s t a b` in a lens is not intended to be arbitrary. Rather, `s` and `t` are supposed to come from a common family, and so are `a` and `b`. So it is more like `Lens (whole i) (whole j) (part i) (part j)`.
18:39:33 <EvanR> for instance how the hell from convert NominalDiffTime to a number, fromIntegral
18:39:45 <EvanR> er, realToFrac
18:39:50 <dolio> But that is much more annoying to actually write down and use in Haskell.
18:40:07 <ncf> pie_: with lenses your code could just be `x -= 1`, `y += 1`, etc.
18:40:18 <ncf> :t (+=)
18:40:19 <lambdabot> (MonadState s m, Num a) => ASetter' s a -> a -> m ()
18:41:22 <mastarija> I guess so.
18:42:09 × mastarija quits (~mastarija@2a05:4f46:e03:6000:3e0d:288e:9ff8:9688) (Quit: Client closed)
18:43:24 <ncf> i'm not sure why ^. is monomorphic, tbh
18:44:00 <ncf> view' l s = getConst (l Const s)
18:44:02 <dolio> Why do you 'get' a `Maybe Int` but can only put an `Int`? The Maybe doesn't appear to be actually involved in the lens, since you always get a Just.
18:44:09 <ncf> view' :: ((a1 -> Const a1 b1) -> t -> Const a2 b2) -> t -> a2
18:44:21 <ncf> view' _aNumber (A 42) ==> Just 42
18:46:29 × thegeekinside quits (~thegeekin@189.217.90.138) (Remote host closed the connection)
18:46:59 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
18:47:36 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
18:50:55 pavonia joins (~user@user/siracusa)
18:52:27 <pie_> any idea how Im supposed to do more than a single line with this? I guess an array of HorizLines? https://hackage.haskell.org/package/vty-4.4.0.0/docs/src/Graphics-Vty-Image.html
18:54:59 <pie_> sorry, additional context: https://stackoverflow.com/questions/63662243/rgb-terminal-colors-with-haskell-and-brick#comment112602003_63675718
18:55:04 <jade[m]1> `<->` or `vertCat` where the latter is simply a fold using `<->`
18:59:14 × Umeaboy quits (~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving)
19:00:07 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-65cd-a4e6-e5ae-9615.rev.sfr.net)
19:01:59 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-d145-30ad-2d63-7b2d.rev.sfr.net) (Ping timeout: 240 seconds)
19:05:20 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
19:08:29 × mikko quits (~mikko@user/mikko) (Quit: WeeChat 3.8)
19:12:01 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Ping timeout: 258 seconds)
19:13:10 loonycyborg joins (loonycybor@wesnoth/developer/loonycyborg)
19:14:34 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
19:14:49 <pie_> thanks
19:18:33 <pie_> *** Exception: row 4 now exceeds region width
19:18:34 <pie_> yay xp
19:19:41 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 258 seconds)
19:21:39 <pie_> hm, and I cant even trace it, i assume its outputting to the alternate terminal that vty happens to be drawing on
19:21:44 <pie_> (or idk)
19:22:57 <pie_> (this thing https://en.wikipedia.org/wiki/ANSI_escape_code "Enable alternative screen buffer, from xterm ")
19:24:36 <pie_> ok cool, yeah, dealt with that by switching in and out of the alternate buffer inline
19:24:37 <pie_> (trace ("\x1b[?1049l" ++ (show str) ++ "\x1b[?1049h") str))
19:24:45 jero98772 joins (~jero98772@2800:484:1d7f:5d36::2)
19:27:32 × glguy quits (~glguy@libera/staff-emeritus/glguy) (Quit: Quit)
19:29:01 <sm> I have a logging version of trace, but sometimes you can see enough of stdout to debug anyway
19:33:55 <EvanR> haskell can't be debugged. Luckily if it compiles it has no bugs
19:34:52 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:39:10 <pie_> ;)
19:39:38 <pie_> EvanR: haskell has no io so debugging isnt necessary anyway
19:40:27 <sm> cardano enters the chat...
19:40:49 <pie_> cant have bugs if you dont see them
19:41:32 <pie_> ....if a computes in a forest but there is no IO does it have any bugs? o.0
19:41:33 <EvanR> Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell
19:41:36 <EvanR> is great
19:41:54 <EvanR> unfortunately "debugging" missed that meeting of the awkward squad
19:41:57 <pie_> now do this joke but actually funny <pie_> ....if a computes in a forest but there is no IO does it have any bugs? o.0
19:42:44 <pie_> does it have any bugs / was anything computed?
19:43:39 <pie_> if only RealFloat Rational existed, I could have swapped my mandelbrot code to arbitrary precision without any fiddling
19:43:47 <EvanR> pie_, if you take two causal stream transducers and form them into a ring, and somehow get them to start eating each other's tails, no externally visible I/O but it may crash nonetheless, indicating 'something'
19:44:10 <EvanR> that rationals don't have what it takes to be real is kind of the point of that
19:44:24 <EvanR> maybe you could try CReal
19:44:53 <EvanR> > sin 1 :: CReal
19:44:54 <lambdabot> 0.8414709848078965066525023216302989996226
19:45:58 × fendor quits (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) (Remote host closed the connection)
19:46:26 <EvanR> I expect a funny situation where by using an arbitrarily precise software real you might not be able to see as far as Double would let you see because of computation time
19:46:59 <dolio> It'd probably take like a year to process a single point of the mandelbrot set with CReal. :þ
19:47:29 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
19:48:49 <dolio> Or, I guess it's the points outside the set that are the problem.
19:49:03 <pie_> ugh, people think hiding internal stuf fis good but actually its not xp
19:49:19 <pie_> EvanR: re
19:49:34 <pie_> dolio: well..thats why you set an iteration limit or..?
19:49:41 <EvanR> waiting a minute, isn't the formula to iterate for mandlebrot set z^2 + c
19:50:02 <EvanR> if you always start with "rational complex" you stay rational?
19:51:22 <dolio> Usually you test magnitudes to detect divergence, though. But you can probably test square magnitudes instead.
19:52:13 <EvanR> so yeah CReal would be overkill
19:52:39 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 258 seconds)
19:52:41 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4849:878d:c616:458f)
20:00:22 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
20:08:06 × dsrt^ quits (~dsrt@71.204.38.59) (Server closed connection)
20:08:25 dsrt^ joins (~dsrt@c-71-204-38-59.hsd1.ga.comcast.net)
20:11:42 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
20:16:34 × Profpatsch quits (~Profpatsc@static.88-198-193-255.clients.your-server.de) (Server closed connection)
20:17:00 Profpatsch joins (~Profpatsc@static.88-198-193-255.clients.your-server.de)
20:18:49 × trev quits (~trev@user/trev) (Quit: trev)
20:19:14 <pie_> I get stuck on such mundane things
20:19:25 <pie_> cant fix my own problems in this language...
20:19:33 <pie_> though this is a library issue...
20:23:08 × remedan quits (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Ping timeout: 252 seconds)
20:23:22 <EvanR> when you're writing an app and you create an App monad containing all the actions your app will need, it's pretty straightforward
20:23:32 <pie_> rendering problems
20:23:56 <EvanR> when you get a library that has it's own monad that needs to be integrated into your app, then it gets technical
20:24:21 <EvanR> or combining multiple "library app monads"
20:24:50 <EvanR> making that possible is part of why you have all these machinery
20:24:56 <pie_> ghci> interactive
20:24:56 <pie_> 525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252*** Exception: row 9 now exceeds region width
20:24:56 <pie_> CallStack (from HasCallStack):
20:24:56 <pie_> error, called at src/Graphics/Vty/PictureToSpans.hs:347:16 in vty-5.37-DdQWc79tNXWJpSkxmXck6C:Graphics.Vty.PictureToSpans
20:25:01 <pie_> those 52-s are the line lengths
20:25:10 <pie_> so no idea what it's problem is, because that should fit
20:25:11 <EvanR> 25? xD
20:25:51 <EvanR> it's almost like you need a 2nd terminal to see debug output
20:26:20 fweht joins (uid404746@id-404746.lymington.irccloud.com)
20:26:49 remedan joins (~remedan@ip-94-112-0-18.bb.vodafone.cz)
20:27:16 <pie_> well that part i managed to work around
20:28:13 <fweht> sorry if offtopic but whats the best way to install a recent version of agda? using cabal i get "Agda-2.6.3-IzS9AozOsqRLb4ddJdrEuI failed during the configure step. The exception was: ExitFailure 1" im on github codespaces with ubuntu 20.04.6...
20:29:02 <dolio> I use cabal to install it.
20:29:30 × stefan-_ quits (~cri@42dots.de) (Server closed connection)
20:29:32 <dolio> That error message isn't enough information to know what's wrong, though.
20:29:45 stefan-_ joins (~cri@42dots.de)
20:30:23 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
20:31:53 <hpc> surely there's more to the error than just "ExitFailure 1"
20:32:14 <fweht> this is what it printed out but ill try again!
20:32:30 <hpc> is that the only thing it printed?
20:32:51 × ijqq_ quits (uid603979@id-603979.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
20:33:10 <fweht> as far as i remember but ill try again!
20:34:01 zxrom__ joins (~zxrom@mm-144-32-212-37.vitebsk.dynamic.pppoe.byfly.by)
20:34:31 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
20:35:26 zxrom__ is now known as zxrom
20:35:45 <EvanR> "nothing but ExitFailure 1" is a thing
20:35:52 <EvanR> in general
20:36:00 × zxrom_ quits (~zxrom@mm-144-32-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 260 seconds)
20:36:13 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:36:15 <hpc> sure, but i have never seen that with cabal
20:36:56 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
20:38:59 × mei quits (~mei@user/mei) (Ping timeout: 240 seconds)
20:39:20 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
20:40:14 <fweht> maybe it ran out of memory because the codespaces virtual machine is not well equipped
20:41:56 <dolio> Oh, I suppose that's possible.
20:42:09 <dolio> I do think compiling Agda might take a lot of memory.
20:42:25 <dolio> Also running it takes a lot of memory, typically.
20:42:57 <fweht> thanks! i didnt know that!
20:43:19 <pie_> here is my non minimal reproducing example https://github.com/jtdaugherty/brick/issues/471
20:44:17 <fweht> this is the error message... https://www.irccloud.com/pastebin/OEfYadAY/
20:45:58 gmg joins (~user@user/gehmehgeh)
20:46:32 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
20:46:33 mei joins (~mei@user/mei)
20:55:34 × sa quits (sid1055@id-1055.tinside.irccloud.com) (Server closed connection)
20:55:42 <hpc> you need to install alex
20:56:00 sa joins (sid1055@id-1055.tinside.irccloud.com)
20:56:41 <hpc> to build agda, it needs to be able to execute alex
20:57:17 <hpc> and if you read https://hackage.haskell.org/package/Agda-2.6.3/Agda.cabal (search for build-tools), you'll need to do the same for happy
20:58:43 <hpc> happy/alex are a parser generator tool - you define the language you want to parse using their DSL
20:59:26 <hpc> and then it outputs a working parser - in this case almost certainly so the Agda package can parse agda code
20:59:45 × remedan quits (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Quit: Bye!)
20:59:47 <hpc> (and maybe some other random stuff? either way, it's essential)
20:59:48 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
21:00:31 gmg joins (~user@user/gehmehgeh)
21:01:04 remedan joins (~remedan@ip-94-112-0-18.bb.vodafone.cz)
21:01:06 <fweht> hpc: thanks!!!!!
21:05:42 × remedan quits (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Client Quit)
21:05:48 cheater_ joins (~Username@user/cheater)
21:05:58 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-65cd-a4e6-e5ae-9615.rev.sfr.net) (Quit: WeeChat 3.8)
21:06:40 <EvanR> alex is also use in GHC (aiui). So to compile GHC you need alex, to get alex you need to compile it with GHC, ...
21:06:57 falafel joins (~falafel@2607:fb91:86c:d890:704f:c69b:12cd:87f5)
21:07:35 remedan joins (~remedan@ip-94-112-0-18.bb.vodafone.cz)
21:08:00 <geekosaur> but to compile ghc you need ghc anyway 🙂
21:08:10 × cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds)
21:08:13 cheater_ is now known as cheater
21:08:48 <EvanR> the feeling of standing on a tower a mile high, which has no base
21:10:14 <fweht> i didnt compile ghc, i installed it via apt
21:10:16 <Nosrep> if you keep building fast enough you won't fall
21:10:35 <fweht> but the agda version in the apt repository is not the current one :(
21:10:56 <geekosaur> iirc there really is no base
21:12:03 <pie_> ok even if it used to work i think what im trying to do just might not work in the current brick
21:12:10 <EvanR> GHC versions are like tetris
21:12:21 <pie_> i got it to work by throwing bigger numbers at the length values but theres rendering bugs and idk why
21:12:26 <EvanR> at some point the bottom level is cleared xD
21:12:28 <pie_> (shees, rendering bugs, in terminals :P)
21:13:07 <pie_> use nix <fweht> but the agda version in the apt repository is not the current one :(
21:13:25 <geekosaur> but then you have to learn nix
21:13:29 <pie_> not exactly
21:13:36 <pie_> not until you need to touch something
21:13:36 <Clint> use an OS that isn't from 2020
21:13:41 <pie_> which might come sooner than you expect but
21:13:49 <pie_> nix-shell -p ghc
21:13:50 <fweht> arch also has the current one but i wanted to work in github codespaces with minimal friction
21:13:56 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
21:14:00 <monochrom> "fail early, fail often, fail every time" >:)
21:14:08 <pie_> never stop failing
21:14:18 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
21:14:30 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
21:14:35 <fweht> https://repology.org/project/agda/versions actually surprisingly many repos are up to date :)
21:14:58 <pie_> haskell is like, first, learn how to scale a cliff
21:15:06 <pie_> something something everything everywhere all at once movie
21:15:16 <hpc> still easier than baking an apple pie from scratch
21:15:32 <monochrom> I thought that was concurrent programming.
21:15:44 <pie_> getting sand to think is easier than inventing the apple universe
21:16:09 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
21:16:12 <monochrom> I thought we got sand to think.
21:16:44 <Clint> no, we just got sand to outsmart a bunch of people
21:16:56 <monochrom> Unpopular opinion: ChatGPT is silcon-based life form. Or at least, Bing is. :)
21:17:29 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
21:17:31 <EvanR> not until it can replicate
21:17:34 <EvanR> itself
21:17:40 <segfaultfizzbuzz> i asked bard to write a haskell compiler in rust and it made this: https://paste.rs/auOqV.rs lol
21:17:56 <monochrom> So this is why Bing is trying to ask its users out for dinner!
21:18:02 <EvanR> chatGPT + virus
21:18:44 <segfaultfizzbuzz> instead of GHC you folks should use haskell::compiler::Compiler ! duhh
21:19:00 <EvanR> what is that
21:19:05 <segfaultfizzbuzz> it doesn't exist lol
21:20:55 × mcglk quits (~mcglk@131.191.19.145) (Ping timeout: 268 seconds)
21:20:55 <sm> in other news, Microsoft is working with Mercedes-Benz to add chatgpt to cars
21:21:17 <Rembane> "Follow that car!"
21:21:20 <segfaultfizzbuzz> so you can write code while driving to work
21:21:22 <jade[m]1> oh box
21:21:26 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
21:21:31 <jade[m]1> we're living in a dystopia
21:21:36 <jade[m]1> s/x/y
21:21:43 <EvanR> notorious for not having spatial awareness, put in a car
21:21:45 <segfaultfizzbuzz> "you are a world-class programmer. here are my assigned bugs. fix bugs and push commits."
21:22:06 × phma quits (~phma@2001:5b0:211c:2af8:fd91:2419:befa:6d99) (Quit: Konversation terminated!)
21:22:12 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
21:22:15 <pie_> well, my program works now but it would be so much more satisfying if it wasnt a giant walking rendering bug :(
21:22:55 <sm> you are a F1 car. A red bull F1 car. Now get me to work on time and in one piece.
21:23:00 phma joins (~phma@2001:5b0:211c:2af8:fd91:2419:befa:6d99)
21:23:22 <EvanR> a 1996 giant walking rendering bug known as pokemon made a zillion dollars
21:24:48 mcglk joins (~mcglk@131.191.19.145)
21:25:23 <darkling> Bugs don't matter. How good is your marketing? Would you lke ChatGPT to help with your marketing? [Y/N]
21:26:45 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
21:26:58 <segfaultfizzbuzz> wow bard is like a student trying to trick you into getting credit for nonsense
21:27:38 <darkling> That's been my impression of all of them from the outset.
21:28:20 <segfaultfizzbuzz> ...well, when i asked chatgpt to write tictactoe in python and in rust, those actually compiled (i had to fix a couple of syntax errors)
21:28:28 <darkling> We already have enough students that don't understand things and are just trying to fill space.
21:28:35 <segfaultfizzbuzz> not only did it compile but it was feature complete and worked
21:28:54 <segfaultfizzbuzz> bard on the other hand,... it compiled with a couple of fixes but then there was only one player
21:28:57 <dolio> This channel isn't about you talking to neural networks.
21:29:02 <segfaultfizzbuzz> ya sorry lol
21:30:05 <EvanR> unless they equip the thing with an IRC client and then joins here
21:30:24 <EvanR> and sticks to the topic
21:30:36 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds)
21:31:10 <lambdabot> Welcome to ChatGPTHaskell, your extremely confident source of all errors.
21:31:27 <EvanR> @botsnack
21:31:27 <lambdabot> :)
21:31:49 <pie_> its kind of a pain that brick deliberately might be avoiding giving raw ansi sequence support
21:32:04 Pickchea joins (~private@user/pickchea)
21:34:41 <int-e> It's based on vty, which uses terminfo? Raw ansi sequences may simply not work on the terminal you're using.
21:34:49 <pie_> no they work
21:34:59 <ddrone> Any chance there's something like a GHC parse tree explorer?
21:35:05 <pie_> its just not supported and i have graphical glitches i dont know how to fix
21:35:21 <pie_> int-e: going off of this dialog https://github.com/jtdaugherty/brick/issues/181
21:35:24 <ddrone> Basically I want some web UI to chuck in Haskell source and see its parse tree
21:35:35 <sm> pie_: why do you have glitches ?
21:36:35 <pie_> let me see if i can screenshot it
21:36:56 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
21:37:34 × mcglk quits (~mcglk@131.191.19.145) (Ping timeout: 252 seconds)
21:39:55 <pie_> here's my code http://ix.io/4yrj
21:43:07 gmg joins (~user@user/gehmehgeh)
21:44:33 <pie_> roughly what is should look like https://files.catbox.moe/vk3t59.png
21:44:47 <pie_> what it looks like when you move around https://files.catbox.moe/g1ebgk.PNG
21:45:10 <pie_> the repetition is the glitching, the interval is the size of the steps
21:45:14 <EvanR> ansibrot
21:45:25 <sm> nifty!
21:45:33 <pie_> well it would feel good if it actually worked
21:46:02 <pie_> i had to add a space to the beginning of each line because for some reason the \x1b in the color codes was getting cut off or something
21:46:12 <sm> there's some reason for the glitches, but I don't think changes to brick will be needed to fix it
21:46:32 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
21:46:41 <sm> oh yes.. ANSI codes will horribly confuse it I expect
21:46:48 sm takes it back
21:47:06 ec_ joins (~ec@gateway/tor-sasl/ec)
21:47:12 <pie_> :P :(
21:47:21 <pie_> i mean, the widget takes two size parameters
21:47:33 <pie_> so idk what its even trying to do internall
21:47:50 <pie_> though i guess blitting routines need to work with the real string size if its doing something like that :/
21:48:09 <sm> don't use raw ANSI for colors, use https://hackage.haskell.org/package/vty-5.38/docs/Graphics-Vty-Attributes-Color.html ?
21:48:19 <pie_> ok blitting is not the correct term
21:48:28 <pie_> that doesnt support rgb colors though
21:48:52 <pie_> i dont want to implement color maping
21:48:56 <sm> does
21:49:09 <pie_> oh well there is this rgb240 thing
21:49:13 <pie_> meh, hm.
21:49:29 <sm> right
21:49:54 <pie_> i hope this doesnt mean i now have to create an attribute set with every color i want to use
21:50:18 mcglk joins (~mcglk@131.191.19.145)
21:50:56 <sm> I'm not sure what that is, but this is a pretty solid well thought out API to the madness of doing layout with colour in terminals I think
21:51:35 <pie_> i exect i cant just use brick for the event loop and do all the drawing myself? :/
21:52:30 <jade[m]1> what do you mean
21:53:00 <jade[m]1> you can define a custom widget and use the RenderM monad transformer
21:53:34 <sm> vty seems to support full 24 bit color since 5.35, https://hackage.haskell.org/package/vty-5.38/changelog
21:54:16 <pie_> jade[m]1: that seems like a start
21:54:35 <pie_> jade[m]1: it just like to print strings with ansi codes, do you know how to do that?
21:54:38 <pie_> *id just
21:54:50 <pie_> i dont have to do any fancy layout, just that and clearing the screen
21:54:53 <pie_> and redrawing
21:54:54 <jade[m]1> I reccomend you use attributes instead
21:54:56 <sm> at that point, it seems simpler to avoid brick
21:55:08 <jade[m]1> sm: also yes, this ^
21:55:14 <geekosaur> isn't this more like ansi-terminal?
21:55:26 <sm> ansi-terminal-game might also be of interest
21:57:06 <sm> it's lower-level and much simpler than brick
21:57:31 <sm> and, works on windows
21:57:48 × foul_owl quits (~kerry@71.212.137.212) (Ping timeout: 255 seconds)
21:58:07 <EvanR> i recall clearing the screen and changing the cursor position and recognizing arrow keys being accomplishable with a few awful looking lines of code. Not sure how portable it was though
21:59:00 <EvanR> by just using control codes directly
21:59:17 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Quit: segfaultfizzbuzz)
22:00:30 × markasoftware quits (~quassel@107.161.26.124) (Server closed connection)
22:00:46 markasoftware joins (~quassel@107.161.26.124)
22:01:07 <jade[m]1> repeat '\\b'
22:01:07 × enthropy quits (~enthropy@207.167.90.161) (Quit: Client closed)
22:01:24 <jade[m]1> s/\\\\/\\
22:01:31 <jade[m]1> oh fuck off
22:01:42 <jade[m]1> s/.*//
22:01:59 × falafel quits (~falafel@2607:fb91:86c:d890:704f:c69b:12cd:87f5) (Ping timeout: 240 seconds)
22:02:15 <dolio> Is something escaping your backslashes?
22:02:36 × mcglk quits (~mcglk@131.191.19.145) (Ping timeout: 258 seconds)
22:03:10 <jade[m]1> I tried escaping them which it wanted me not to apparently, because it send with the escapes
22:03:16 <jade[m]1> but just uh, nvm
22:03:21 <dolio> Heh.
22:04:38 <pie_> i assum my problem is that its not actually redrawing the entire lines
22:05:32 <sm> yes, it optimises redrawing. ansi-terminal-game does too.
22:06:22 <pie_> can it...not?
22:06:36 <sm> so if you use them, you need to use their built in colour support.
22:08:02 × michalz quits (~michalz@185.246.207.200) (Remote host closed the connection)
22:11:12 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:11:40 foul_owl joins (~kerry@212.102.47.117)
22:11:44 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
22:14:13 cafkafk joins (~cafkafk@fsf/member/cafkafk)
22:15:01 k`` joins (~user@136.56.140.2)
22:15:41 <k``> Is there a way to signal overflowed literal warnings for custom types?
22:17:04 <geekosaur> @hackage validated-literals
22:17:04 <lambdabot> https://hackage.haskell.org/package/validated-literals
22:17:06 <geekosaur> ?
22:23:30 <k``> geekosaur: Thanks, that's close but too far away. It says it reports invalid values as errors that lead to compilation failure, but I want behavior like `-1 :: Word`. It (by default) warns that there was overflow but compiles and executes just fine.
22:27:31 × acidjnk quits (~acidjnk@p200300d6e7072f393cd824ddc905386c.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
22:27:45 <jade[m]1> feels like it should be fairly easy to implement based on the package above
22:27:59 <jade[m]1> you have all the components and TH also has a reportWarning
22:28:32 mcglk joins (~mcglk@131.191.19.145)
22:28:47 <Nosrep> reading these slides and it says "let = allocation and ONLY place allocation occurs (not true in Core)" when comparing stg to core
22:28:52 <Nosrep> where else is allocation? function calls?
22:29:06 <pie_> hm actually even the first frame is drawn wrong so maybe its not a redrawing issue
22:29:14 <k``> jade[m]1: Thanks, I did not know that. I'm not very good with template haskell but seems worth a try.
22:29:51 <jade[m]1> k``: yeah, me neither, just looked at the package and did some hoogling ;)
22:30:40 <jade[m]1> I believe you can just copy valid but replace the call to error with one to warning
22:31:13 <jade[m]1> it actually might require some rework now that I think about it, as you want both a message and a value
22:31:22 <pie_> sm: the annoying thing is i wrote the basic mandelbrot in about 30 minutes maybe :p
22:31:38 <pie_> been fighting with the rest of this stuff all day
22:32:01 <jade[m]1> yeah brick can be hard to start off with
22:32:03 <jade[m]1> I relate
22:32:03 <EvanR> Nosrep, why would a function call allocate
22:32:09 <sm> it's reasonable.. brick is a sophisticated framework not well suited to this, and you're poking a stick in its eye :)
22:32:26 <sm> ansi-terminal-game is a good fit
22:32:32 <Nosrep> EvanR: specifically arguments to a function call, i vaguely remember seeing it in a spj talk somewhere
22:33:22 <Nosrep> oh no i think its gone from youtube
22:33:43 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:34:01 <EvanR> arguments go on a stack sometimes
22:34:44 <EvanR> look at Core and see what stuff expands to something with let in it
22:36:56 ddrone[m] joins (~ddronemat@2001:470:69fc:105::3:70d5)
22:38:03 <Nosrep> found it! https://youtube.com/watch?v=u9bY0Bc_lXw&t=2186
22:38:24 ddrone parts (~ddrone@cpc160341-hari23-2-0-cust955.20-2.cable.virginm.net) ()
22:42:47 <pie_> somehow everything i do is poking sticks in program eyes
22:42:47 <dolio> Yeah, that last line wouldn't be legal STG.
22:43:00 <pie_> oh noooo<Nosrep> oh no i think its gone from youtube
22:43:13 <pie_> oh ok <Nosrep> found it! https://youtube.com/watch?v=u9bY0Bc_lXw&t=2186
22:43:33 <dolio> You'd have to do essentially `let c = '*' ; m = Just c in MKT m`, or something along those lines.
22:43:34 <Nosrep> yeah apparently youtube doesn't understand spj is simon peyton jones
22:43:42 <EvanR> smh
22:49:54 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
22:55:27 reverse joins (~inversed@bcdcac82.skybroadband.com)
22:57:33 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:58:56 <pie_> heh
22:58:59 <pie_> " -- ↑↓→← do not work on Windows (are handled by the app,-- not passed to the program) both on cmd.exe and-- PowerShell." https://hackage.haskell.org/package/ansi-terminal-game-1.9.1.3/docs/src/Terminal.Game.Layer.Object.Primitive.html#Event
22:59:26 <pie_> what im actually trying to figure out is how this is supposed to take arrow keys
22:59:26 <cheater> anyone got pictures of spj at a blackboard
23:00:39 wroathe joins (~wroathe@user/wroathe)
23:01:44 <pie_> ok it apparently uses getchar
23:02:52 <pie_> bah do i need to internally start bufferinnnnng these geez https://stackoverflow.com/a/15306494
23:03:24 <pie_> wasd it is...
23:03:25 <pie_> ffs
23:04:54 <EvanR> arrow keys are sent by the terminal as particular control codes
23:06:30 <pie_> if its just a matter of looping and blocking on getchar i could probably write my own event loop
23:06:37 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 258 seconds)
23:07:31 <EvanR> bingo
23:09:05 <sm> One does not simply do cross platform full-window full-keyboard IO in terminals.
23:09:21 <geekosaur> s/in terminals//
23:09:51 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
23:09:57 ijqq_ joins (uid603979@id-603979.helmsley.irccloud.com)
23:10:14 <EvanR> make it work on a DOS box then bundle the program with DOS box
23:12:48 sm uploaded an image: (338KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/qGiyCdijeaCnDwPEWhFBRzUf/image.png >
23:17:21 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 258 seconds)
23:19:12 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
23:22:12 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
23:23:24 <sm> "Its black gates are guarded by more than just orcs. There is evil there that does not sleep. The great eye is ever watchful. It is a barren wasteland, riddled with fire, ash, and dust. The very air you breathe is a poisonous fume. Not with ten thousand men could you do this. It is folly."
23:25:02 × gurkenglas quits (~user@dynamic-046-114-182-215.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
23:26:56 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
23:27:35 <pie_> ok this is terrible and it...jitters? xd but it works
23:27:50 <pie_> i used unsafeperformio to hijack ansi-terminal-game's drawing function
23:27:58 <pie_> im really just going to have to write my own damn event loop
23:28:08 <EvanR> lol
23:28:15 <EvanR> you're right, that is terrible
23:28:45 <pie_> also ansi-terminal-game is slow
23:28:47 <EvanR> you probably could have performed IO normally
23:28:56 <jade[m]1> don't unsafePerformIO please
23:29:01 <pie_> well no, because the draw function isnnnnnnt in IO
23:29:17 <EvanR> it's probably in a MonadIO monad
23:30:11 <pie_> its not in io at all, it draws to some 2d array the framework uses
23:37:19 <sm> for inspiration, https://github.com/haskell-game/tiny-games-hs/tree/main/prelude/tiny-brot does it in 6 lines :)
23:38:16 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
23:39:12 <sm> is gloss (opengl-based gui) an option ?
23:39:31 <sm> or just OpenGLUT ?
23:41:03 <sm> https://mcfunley.com/haskell-mandelbrot-set does that (spoiler)
23:42:23 × dexter1 quits (dexter@2a01:7e00::f03c:91ff:fe86:59ec) (Server closed connection)
23:42:53 dexter1 joins (dexter@2a01:7e00::f03c:91ff:fe86:59ec)
23:44:19 cafkafk joins (~cafkafk@fsf/member/cafkafk)
23:44:26 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
23:46:47 × phma quits (~phma@2001:5b0:211c:2af8:fd91:2419:befa:6d99) (Read error: Connection reset by peer)
23:47:36 phma joins (phma@2001:5b0:211c:2af8:fd91:2419:befa:6d99)
23:47:36 <pie_> sm: but does it have keyboard controls? :p
23:47:42 <pie_> seems to only do enter to zoom
23:47:44 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
23:47:49 <pie_> i thought i did kind of ok... :P
23:48:37 <EvanR> unsafePerformIO is safe as long as it has no side effects xD
23:48:49 × immae quits (~immae@2a01:4f8:141:53e7::) (Server closed connection)
23:49:09 immae joins (~immae@2a01:4f8:141:53e7::)
23:49:15 <sm> yes indeed, yours is more deluxe
23:49:29 <sm> looking forward to seeing it
23:53:54 <pie_> how does ncurses stuff make the screen feel more responsive as opposed to the slow line by line printing?
23:54:20 <sm> optimised drawing, calculating and drawing only the changed regions
23:54:24 <EvanR> performance of terminal shenanigans can also vary wildly due to the terminal emulator itself
23:54:50 <pie_> sm: dangit
23:55:10 <pie_> i was hoping they just used some special full screen redraw thing or something
23:55:22 <sm> you can force that, sure
23:55:42 <sm> uh.. how.. by changing global colour every tick I guess
23:55:58 <geekosaur> full screen redraw? see clearok()
23:56:16 mauke_ joins (~mauke@user/mauke)
23:56:20 <sm> but that is defeating the whole purpose of... one does not simply... this is not...
23:56:32 <pie_> i think we might have desynced somewhere
23:56:57 pie_ mumbles he should do thing with state monad probably..
23:58:00 <sm> everything was fine until you brought raw ANSI codes into it I guess
23:58:00 × mauke quits (~mauke@user/mauke) (Ping timeout: 252 seconds)
23:58:00 mauke_ is now known as mauke
23:58:02 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
23:59:31 <sm> what is wrong with good old rgb color. r is red, g is green, b is blue.

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