Home freenode/#haskell: Logs Calendar

Logs on 2020-09-25 (freenode/#haskell)

00:00:01 × chmac quits (~chmac@195.140.213.38) ()
00:01:15 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
00:01:21 mu__ joins (~mu@unaffiliated/mu)
00:02:57 hackage ttc 0.2.3.0 - Textual Type Classes https://hackage.haskell.org/package/ttc-0.2.3.0 (TravisCardwell)
00:04:45 × Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
00:04:58 × whiteline quits (~whiteline@unaffiliated/whiteline) (Ping timeout: 260 seconds)
00:11:08 × mu__ quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
00:11:19 mu joins (~mu@unaffiliated/mu)
00:11:33 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:12:03 whiteline joins (~whiteline@unaffiliated/whiteline)
00:16:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
00:19:21 adamwespiser joins (~adam_wesp@209.6.42.110)
00:21:15 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
00:21:21 mu__ joins (~mu@unaffiliated/mu)
00:23:20 fendor_ joins (~fendor@91.141.3.153.wireless.dyn.drei.com)
00:25:08 × adamwespiser quits (~adam_wesp@209.6.42.110) (Ping timeout: 272 seconds)
00:25:58 × fendor quits (~fendor@178.165.129.251.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
00:27:13 mud joins (~mud@unaffiliated/kadoban)
00:29:12 × ericsagnes quits (~ericsagne@2405:6580:0:5100:5ab:3807:9c89:ee30) (Ping timeout: 260 seconds)
00:30:50 × mu__ quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
00:31:20 mpereira joins (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64)
00:31:23 mu joins (~mu@unaffiliated/mu)
00:32:00 archaephyrryx parts (~archaephy@straasha.imrryr.org) ()
00:32:00 archaephyrryx joins (~archaephy@straasha.imrryr.org)
00:32:53 <koz_> I need to go from Data.Fixed.Pico to Data.Fixed.Milli, rounding down (i.e., hacking off all the digits I'm not interested in). How do I spell that?
00:34:11 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
00:34:45 <Axman6> coerce . (`div` 1000)
00:34:46 <Axman6> >_>
00:34:58 <koz_> Axman6: Wait seriously.
00:35:00 <Axman6> that's almost definitely wrong
00:35:07 crobbins_ joins (~crobbins@2601:2c1:380:ec40:314e:bdc5:b293:4089)
00:35:07 <koz_> Yeah, I thought so.
00:35:18 <koz_> Since I don't think Fixed coerces like that.
00:35:18 <Axman6> I think
00:35:52 × mpereira quits (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64) (Ping timeout: 260 seconds)
00:36:12 <Axman6> but, picoToMilli is probably something like picoToMilli (Fixed n) = Fixed (n `div` 1000000) -- I can't remember what the right factor is
00:37:04 lambda-11235 joins (~lambda-11@108-237-120-58.lightspeed.frokca.sbcglobal.net)
00:37:22 <koz_> Well, Pico is Fixed E12, while Milli is Fixed E3, so I guess nine zeroes?
00:38:13 <c_wraith> I'm surprised there isn't a conversion function that uses a class to get those right.
00:38:31 <koz_> c_wraith: Me neither.
00:38:32 × crobbins quits (~crobbins@2601:2c1:380:ec40:48c0:4650:53a9:7885) (Ping timeout: 260 seconds)
00:38:38 <koz_> s/neither/too/
00:38:41 <koz_> Argh.
00:38:46 <Axman6> would be nice if these days Fixed used Nat instead of unrelated data types
00:39:04 <Axman6> argh indeed, the queen would be ashamed commonwealth bro
00:39:05 <c_wraith> still, I think you should be able to use realToFrac ?
00:41:02 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
00:41:02 <koz_> c_wraith: Like, directly?
00:41:06 <koz_> :t 1e9
00:41:07 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:9deb:11e:5cda:a60a)
00:41:08 <lambdabot> Fractional p => p
00:41:12 <koz_> > 1e9
00:41:15 <lambdabot> 1.0e9
00:41:19 mu joins (~mu@unaffiliated/mu)
00:41:32 ericsagnes joins (~ericsagne@2405:6580:0:5100:bc6f:f4f1:b8da:13b1)
00:41:49 <c_wraith> yeah, Fixed has all the right instances
00:44:10 <koz_> Nice.
00:45:39 sand_dull joins (~theuser@62.182.99.37)
00:45:48 × asan quits (~yan4138@124.78.128.72) (Ping timeout: 260 seconds)
00:46:42 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 265 seconds)
00:47:09 macrover joins (~macrover@ip70-189-231-35.lv.lv.cox.net)
00:49:22 Amras joins (~Amras@unaffiliated/amras0000)
00:49:30 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:50:01 × Noldorin quits (~noldorin@unaffiliated/noldorin) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:50:42 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
00:51:01 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
00:51:06 asan joins (~yan4138@58.37.8.8)
00:51:25 × sand_dull quits (~theuser@62.182.99.37) (Ping timeout: 240 seconds)
00:51:28 mu joins (~mu@unaffiliated/mu)
00:52:00 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Max SendQ exceeded)
00:55:42 machty joins (~machty@89.47.234.28)
00:56:23 sand_dull joins (~theuser@62.182.99.37)
00:56:39 × crobbins_ quits (~crobbins@2601:2c1:380:ec40:314e:bdc5:b293:4089) (Remote host closed the connection)
00:57:22 crobbins joins (~crobbins@2601:2c1:380:ec40:314e:bdc5:b293:4089)
00:58:04 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 272 seconds)
00:58:56 × crobbins quits (~crobbins@2601:2c1:380:ec40:314e:bdc5:b293:4089) (Remote host closed the connection)
00:59:13 crobbins joins (~crobbins@2601:2c1:380:ec40:314e:bdc5:b293:4089)
00:59:23 × crobbins quits (~crobbins@2601:2c1:380:ec40:314e:bdc5:b293:4089) (Remote host closed the connection)
01:00:17 jedws joins (~jedws@2001:8003:337f:1b00:1449:7df0:4af3:7c20)
01:00:49 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
01:01:19 mu joins (~mu@unaffiliated/mu)
01:01:20 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:9deb:11e:5cda:a60a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:01:49 plutoniix joins (~q@175.176.222.7)
01:03:46 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:b03d:853a:ebea:53e3)
01:04:13 Rudd0 joins (~Rudd0@185.189.115.108)
01:05:13 snakemasterflex joins (~snakemast@213.100.206.23)
01:07:02 <wwwww> What is your toughts about realtime programs with haskell?
01:07:11 <koz_> wwwww: Define 'realtime'.
01:07:34 <wwwww> koz_: multiplayer game server
01:07:47 × poljar quits (~poljar@93-139-70-179.adsl.net.t-com.hr) (Read error: Connection reset by peer)
01:07:54 falafel joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
01:08:00 <koz_> wwwww: Like, for running a multiplayer FPS game?
01:08:01 × jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Read error: Connection reset by peer)
01:08:08 <koz_> (for instance)
01:08:09 poljar joins (~poljar@93-139-70-179.adsl.net.t-com.hr)
01:08:22 jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
01:08:43 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Ping timeout: 272 seconds)
01:09:05 × shailangsa quits (~shailangs@host86-186-191-89.range86-186.btcentralplus.com) (Ping timeout: 240 seconds)
01:09:31 <wwwww> Not the game itself but the server, koz_
01:09:43 shailangsa joins (~shailangs@host86-186-191-89.range86-186.btcentralplus.com)
01:09:45 × shailangsa quits (~shailangs@host86-186-191-89.range86-186.btcentralplus.com) (Excess Flood)
01:09:54 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 265 seconds)
01:10:08 shailangsa joins (~shailangs@host86-186-191-89.range86-186.btcentralplus.com)
01:10:10 × shailangsa quits (~shailangs@host86-186-191-89.range86-186.btcentralplus.com) (Excess Flood)
01:10:49 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
01:11:03 alexm_ joins (~alexm_@161.8.233.138)
01:11:28 mu joins (~mu@unaffiliated/mu)
01:12:31 × Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
01:13:07 <c_wraith> so very soft realtime
01:13:48 × sand_dull quits (~theuser@62.182.99.37) (Ping timeout: 260 seconds)
01:14:04 <c_wraith> you can do that fine with GHC-compiled Haskell, though it might require some additional discipline to keep GC latency lower than you'd care about in many applications.
01:14:14 totallynotnate joins (~nate@125.161.70.37)
01:14:15 <Axman6> ir probably depends on how complicated the server is going to get - if it's something simple enough that there won't be much garbase, garbage collection shouldn't be such an issue. the new GC should help with latency too
01:14:36 <koz_> Axman6: Is new GC already landed, or is it landing in 9?
01:15:12 <Axman6> pretty sure it's in 8.10? I could be wrong
01:15:39 <c_wraith> there are also things you can do technically like using compact regions to massively reduce pointer chasing on retained memory.
01:15:59 <Axman6> yeah large, infrequently changing state should be in a compact region
01:16:21 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
01:16:57 <c_wraith> those are things that often don't matter, but might be really important for a soft realtime application.
01:17:13 <c_wraith> So... the tools are available, but some of them require manual work.
01:17:21 × totallynotnate quits (~nate@125.161.70.37) (Client Quit)
01:17:44 totallynotnate joins (~nate@125.161.70.37)
01:19:58 <Axman6> As with most software, make it work, then make it fast
01:20:20 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 258 seconds)
01:20:25 <koz_> Or alternatively, make it work, check if fast enough, make fast if not.
01:20:56 <Axman6> nah, just always make it fast
01:20:56 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
01:21:07 <wwwww> That's what i'm trying to do these days, threadscope was useful tool
01:21:09 <Axman6> save some penguins by using fewer cycles
01:21:20 mu joins (~mu@unaffiliated/mu)
01:21:57 × acidjnk_new2 quits (~acidjnk@p200300d0c7237863349b0df7f7aa9c44.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
01:22:12 × catkiki quits (~kiki@m90-134-157-227.cust.tele2.hr) (Quit: Leaving)
01:22:35 DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
01:23:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
01:23:38 × oxide quits (~lambda@unaffiliated/mclaren) (Read error: Connection reset by peer)
01:28:49 × totallynotnate quits (~nate@125.161.70.37) (Quit: WeeChat 2.9)
01:29:02 <wwwww> I have 80% productivity according to profile but that 20% is GC
01:29:08 <sm[m]> my first time using optparse-applicative in years (via optparse-simple).. could someone explain what I'm doing wrong here ? why won't it parse "2" to Just 2 ? https://paste.tomsmeding.com/6tXUenQu
01:29:42 oxide joins (~lambda@unaffiliated/mclaren)
01:30:53 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
01:31:19 mu joins (~mu@unaffiliated/mu)
01:31:34 <sm[m]> incidentally https://github.com/tomsmeding/pastebin-haskell deserves more stars
01:32:20 × ryansmccoy quits (~ryansmcco@156.96.151.132) (Ping timeout: 256 seconds)
01:32:44 × alexm_ quits (~alexm_@161.8.233.138) (Remote host closed the connection)
01:33:14 ryansmccoy joins (~ryansmcco@156.96.151.132)
01:34:56 totallynotnate joins (~nate@125.161.70.37)
01:35:18 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
01:37:17 × mu quits (~mu@unaffiliated/mu) (Quit: mu)
01:37:27 hackage http-date 0.0.9 - HTTP Date parser/formatter https://hackage.haskell.org/package/http-date-0.0.9 (KazuYamamoto)
01:37:28 dyeplexer joins (~lol@unaffiliated/terpin)
01:38:38 <sm[m]> hmm, also why does optparse complain if I add +RTS ... or -- +RTS ... ? That doesn't happen with cmdargs
01:39:47 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
01:47:33 × archaephyrryx quits (~archaephy@straasha.imrryr.org) ()
01:47:42 crobbins joins (~crobbins@2601:2c1:380:ec40:edc8:4f69:4049:36c6)
01:52:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:53:59 <Axman6> sm[m]: I think you're actually asking for a Maybe (Maybe Int) by using option
01:54:55 <Axman6> I'm surprised you'd have problems with +RTS ... -RTS, those args should never get to your app. are you closing them with -RTS?
01:56:09 <Axman6> sm[m]: basicazlly, I think what you need to do to fix the Maybe thing is not use value Nothing, just remove that and wrap the parser for that arg in optional (there's probably a better way, looking now)
01:56:26 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
01:56:28 <sm[m]> Axman6: thanks, you are helping
01:56:35 <Axman6> using value means that parser will never fail
01:57:20 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
01:57:36 × ryansmccoy quits (~ryansmcco@156.96.151.132) (Ping timeout: 272 seconds)
01:57:49 <Axman6> uh, that isn't true, it'll ail is it can't parse the type you want
01:58:08 ryansmccoy joins (~ryansmcco@193.37.254.27)
01:58:27 × xff0x quits (~fox@2001:1a81:5294:e900:d5f1:7d15:a4ef:52f8) (Ping timeout: 260 seconds)
01:59:27 <Axman6> sm[m]: https://github.com/data61/Mirza/blob/07ac1dc96d158e316cde0d7195718599095bebc9/projects/trails/src/Mirza/Trails/Main.hs#L212 shows how to parse Maybe FilePAth
01:59:57 xff0x joins (~fox@2001:1a81:52cd:2700:30eb:9359:b5d6:26a0)
02:00:17 <Axman6> which is a FilePath with a Boston accent
02:00:27 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds)
02:00:53 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
02:03:25 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
02:03:41 <sm[m]> thanks! optional was the trick, https://paste.tomsmeding.com/OEBwVvKS#file-3
02:03:42 shatriff joins (~vitaliish@176.52.219.10)
02:04:12 <Axman6> there's still more going on there than needed, one sec
02:04:13 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
02:04:33 shatriff joins (~vitaliish@176.52.219.10)
02:04:40 <sm[m]> years later, optparse still makes me feel stupid
02:05:01 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
02:05:05 <sm[m]> could better docs help ? I'm not sure
02:05:07 <Axman6> https://github.com/data61/Mirza/blob/07ac1dc96d158e316cde0d7195718599095bebc9/projects/trails/src/Mirza/Trails/Main.hs#L186 parses an Int using Read, so I thinkyou want optional (option auto (...))
02:05:40 <sm[m]> ah much better
02:05:53 <Axman6> no need for the readMay stuff
02:06:40 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
02:07:16 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
02:08:01 alexm_ joins (~alexm_@161.8.233.138)
02:08:14 saiba_suika joins (~saiba_sui@cpe-72-231-228-139.buffalo.res.rr.com)
02:09:31 <sm[m]> and I see +RTS works fine when compiled, but GHCI messes up command line parsing causing optparse to see it
02:10:23 × alexm_ quits (~alexm_@161.8.233.138) (Remote host closed the connection)
02:10:37 alexm_ joins (~alexm_@161.8.233.138)
02:10:40 × totallynotnate quits (~nate@125.161.70.37) (Quit: WeeChat 2.9)
02:11:28 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
02:12:19 <Axman6> yeah you can't pass RTS args like that, since the RTS is already running, it's GHC's RTS
02:12:24 <Axman6> GHCi's*
02:12:54 xerox_ joins (~xerox@unaffiliated/xerox)
02:12:54 <Axman6> if you need specific RTS args, then you'll need to start GHCi using them (probably)
02:15:21 danso joins (~dan@107-190-41-58.cpe.teksavvy.com)
02:16:24 toorevitimirp joins (~tooreviti@117.182.182.201)
02:17:31 totallynotnate joins (~nate@125.161.70.37)
02:21:58 <sm[m]> oh, aha, is that it. Thanks again!
02:26:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:28:49 lagothrix is now known as Guest96911
02:28:49 × Guest96911 quits (~lagothrix@unaffiliated/lagothrix) (Killed (tepper.freenode.net (Nickname regained by services)))
02:28:55 lagothrix joins (~lagothrix@unaffiliated/lagothrix)
02:29:41 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:b03d:853a:ebea:53e3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:32:18 mpereira joins (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64)
02:33:16 wei2912 joins (~wei2912@unaffiliated/wei2912)
02:33:20 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
02:33:57 hackage aeson-schemas 1.3.0 - Easily consume JSON data on-demand with type-safety https://hackage.haskell.org/package/aeson-schemas-1.3.0 (leapyear)
02:34:14 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
02:36:01 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:d92:3fe8:d989:c32a)
02:37:21 drbean joins (~drbean@TC210-63-209-146.static.apol.com.tw)
02:37:47 sand_dull joins (~theuser@62.182.99.37)
02:38:11 × s00pcan quits (~chris@107.181.165.217) (Ping timeout: 240 seconds)
02:38:39 × mpereira quits (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64) (Ping timeout: 272 seconds)
02:39:17 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
02:40:19 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
02:42:15 Tops21 joins (~Tobias@dyndsl-095-033-089-153.ewe-ip-backbone.de)
02:42:16 × alexm_ quits (~alexm_@161.8.233.138) (Remote host closed the connection)
02:42:17 elliott__ joins (~elliott@pool-100-36-54-163.washdc.fios.verizon.net)
02:42:28 × Tops2 quits (~Tobias@dyndsl-095-033-092-020.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
02:44:25 × crobbins quits (~crobbins@2601:2c1:380:ec40:edc8:4f69:4049:36c6) (Remote host closed the connection)
02:44:46 shailangsa joins (~shailangs@host86-186-191-89.range86-186.btcentralplus.com)
02:45:04 crobbins joins (~crobbins@2601:2c1:380:ec40:80f3:e48e:7123:1353)
02:48:57 × andi- quits (~andi-@NixOS/user/andi-) (Ping timeout: 244 seconds)
02:49:37 adamwespiser joins (~adam_wesp@209.6.42.110)
02:49:41 × crobbins quits (~crobbins@2601:2c1:380:ec40:80f3:e48e:7123:1353) (Remote host closed the connection)
02:50:18 crobbins joins (~crobbins@2601:2c1:380:ec40:80f3:e48e:7123:1353)
02:50:54 Stanley00 joins (~stanley00@unaffiliated/stanley00)
02:50:57 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
02:51:33 Stanley00 joins (~stanley00@unaffiliated/stanley00)
02:52:06 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
02:53:18 × smitop quits (uid328768@gateway/web/irccloud.com/x-hrleshkhwzzeilqw) (Quit: Connection closed for inactivity)
02:53:22 × ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 256 seconds)
02:53:23 snakemasterflex joins (~snakemast@213.100.206.23)
02:55:02 × falafel quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds)
02:55:25 × theDon quits (~td@muedsl-82-207-238-238.citykom.de) (Ping timeout: 264 seconds)
02:55:44 × cosimone quits (~cosimone@5.171.26.126) (Quit: Quit.)
02:55:53 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
02:56:53 theDon joins (~td@94.134.91.145)
02:57:20 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds)
02:57:21 Lord_of_Life_ is now known as Lord_of_Life
02:58:24 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 272 seconds)
02:59:05 × asan quits (~yan4138@58.37.8.8) (Ping timeout: 240 seconds)
02:59:19 asan joins (~yan4138@180.164.96.158)
03:00:02 × machty quits (~machty@89.47.234.28) ()
03:00:16 thiross joins (~user@161.129.40.8)
03:00:18 × raehik quits (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
03:00:36 alexm_ joins (~alexm_@161.8.233.138)
03:01:36 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-cqejdnrmfbrsuxpt)
03:02:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
03:03:11 × danso quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
03:03:41 danso joins (~dan@107-190-41-58.cpe.teksavvy.com)
03:03:49 andi- joins (~andi-@NixOS/user/andi-)
03:03:49 × evanjs quits (~evanjs@075-129-188-019.res.spectrum.com) (Read error: Connection reset by peer)
03:04:59 evanjs joins (~evanjs@075-129-188-019.res.spectrum.com)
03:05:41 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
03:05:47 × totallynotnate quits (~nate@125.161.70.37) (Quit: WeeChat 2.9)
03:09:25 × machinedgod quits (~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 240 seconds)
03:10:10 × alexm_ quits (~alexm_@161.8.233.138) (Remote host closed the connection)
03:10:16 shafox joins (~shafox@106.51.234.111)
03:11:57 thiross parts (~user@161.129.40.8) ("ERC (IRC client for Emacs 27.1)")
03:12:09 mirrorbird joins (~psutcliff@m83-187-173-228.cust.tele2.se)
03:15:24 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
03:15:27 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
03:17:20 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
03:18:35 z1 joins (~z@static-198-54-129-86.cust.tzulo.com)
03:22:14 bpalmer1 joins (~bpalmer@185.204.1.185)
03:24:02 <z1> I'm trying to figure out why the runtime of this function is theta(km + n(m^2)). Is the (n(m^2)) term due to having to copy the (ws ++x) term each iteration?
03:24:04 <z1> f xss = g [] xss
03:24:06 <z1> g ws [] = ws
03:24:08 <z1> g ws (x:xs) = g (ws ++ x) xs
03:24:30 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
03:25:00 <dolio> Yes, `ws ++ x` has to rebuild `ws`.
03:25:31 × jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
03:25:32 adamwesp_ joins (~adam_wesp@209.6.42.110)
03:25:48 <z1> @dolio awesome thanks!
03:25:48 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
03:25:48 <lambdabot> Unknown command, try @list
03:25:49 jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
03:25:51 Sgeo_ joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
03:25:55 × z1 quits (~z@static-198-54-129-86.cust.tzulo.com) (Quit: WeeChat 2.9)
03:26:14 aplainzetakind is now known as aplainzet
03:26:15 × aplainzet quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
03:26:30 <ski> better use direct recursion version here, rather than an accumulator
03:26:38 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-vldvpjxmmaehkxbx) ()
03:27:23 × elliott__ quits (~elliott@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
03:27:47 × adamwespiser quits (~adam_wesp@209.6.42.110) (Ping timeout: 240 seconds)
03:28:03 × bspar_ quits (~bspar@2604:a880:0:1010::776:e001) (Remote host closed the connection)
03:28:11 × Hijiri_ quits (~Hijiri@104.236.61.10) (Ping timeout: 240 seconds)
03:28:18 Hijiri joins (~Hijiri@104.236.61.10)
03:28:33 <ski> in general, avoid left-nesting calls to `++', like `((([] ++ x0) ++ x1) ++ x2) ++ x3', which is what happens with the accumulator, in your definition
03:28:34 × Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Ping timeout: 256 seconds)
03:28:35 × mantovani_ quits (~mantovani@104.131.207.121) (Ping timeout: 240 seconds)
03:28:48 × mirrorbird quits (~psutcliff@m83-187-173-228.cust.tele2.se) (Quit: Leaving)
03:29:00 mantovani joins (~mantovani@104.131.207.121)
03:29:09 bspar joins (~bspar@2604:a880:0:1010::776:e001)
03:29:35 <ski> `x2' will there be traversed once, `x1' twice, `x0' thrice .. hence this ends up quadratic, rather than the expected linear
03:31:01 <ski> (also, if you'd like to, read about the "Schlemiel the Painter" algorithm, by Joel Spolsky, at <https://www.joelonsoftware.com/2001/12/11/back-to-basics/>)
03:31:19 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
03:32:01 _vaibhavingale_ joins (~Adium@203.188.228.27)
03:34:56 justan0theruser joins (~justanoth@unaffiliated/justanotheruser)
03:36:42 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
03:36:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:41:47 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
03:42:10 alexm_ joins (~alexm_@161.8.233.138)
03:42:47 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
03:47:44 shad0w_ joins (~shad0w_@160.202.37.157)
03:48:57 × alexm_ quits (~alexm_@161.8.233.138) (Ping timeout: 272 seconds)
03:51:29 × xff0x quits (~fox@2001:1a81:52cd:2700:30eb:9359:b5d6:26a0) (Ping timeout: 272 seconds)
03:52:08 xff0x joins (~fox@2001:1a81:52cd:2700:e58f:2a70:d271:af84)
03:56:01 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
03:56:22 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net)
04:00:27 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
04:01:23 crobbins_ joins (~crobbins@2601:2c1:380:ec40:d96c:72da:8879:7899)
04:01:37 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 272 seconds)
04:03:31 × ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 272 seconds)
04:03:50 × ahri quits (~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
04:03:55 ryansmccoy joins (~ryansmcco@193.37.254.27)
04:04:07 × crobbins quits (~crobbins@2601:2c1:380:ec40:80f3:e48e:7123:1353) (Ping timeout: 260 seconds)
04:04:27 ahri joins (~ahri@178.209.40.84)
04:05:14 zacts joins (~zacts@dragora/developer/zacts)
04:06:02 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
04:07:19 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
04:07:19 day_ joins (~Unknown@unaffiliated/day)
04:08:01 × asan quits (~yan4138@180.164.96.158) (Ping timeout: 264 seconds)
04:08:17 asan joins (~yan4138@124.78.5.33)
04:09:59 × jedws quits (~jedws@2001:8003:337f:1b00:1449:7df0:4af3:7c20) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:11:14 × day quits (~Unknown@unaffiliated/day) (Ping timeout: 272 seconds)
04:11:14 day_ is now known as day
04:13:11 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
04:13:36 jedws joins (~jedws@2001:8003:337f:1b00:1449:7df0:4af3:7c20)
04:14:56 Rudd0^ joins (~Rudd0@185.189.115.98)
04:16:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:17:29 mu joins (~mu@unaffiliated/mu)
04:18:36 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 260 seconds)
04:20:35 alexm_ joins (~alexm_@161.8.233.138)
04:23:33 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
04:24:57 × bloodstalker quits (~bloodstal@46.166.187.178) (Remote host closed the connection)
04:26:37 × alexm_ quits (~alexm_@161.8.233.138) (Ping timeout: 265 seconds)
04:26:37 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
04:26:41 falafel_ joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
04:28:34 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
04:29:06 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
04:29:09 alexm_ joins (~alexm_@161.8.233.138)
04:29:27 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net)
04:29:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:32:38 snakemasterflex joins (~snakemast@213.100.206.23)
04:34:30 mpereira joins (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64)
04:34:35 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
04:35:56 × shad0w_ quits (~shad0w_@160.202.37.157) (Ping timeout: 272 seconds)
04:36:57 hackage antlr-haskell 0.1.0.1 - A Haskell implementation of the ANTLR top-down parser generator https://hackage.haskell.org/package/antlr-haskell-0.1.0.1 (KarlCronburg)
04:37:25 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 246 seconds)
04:38:15 jneira_ joins (~jneira@194.red-176-83-80.dynamicip.rima-tde.net)
04:39:33 buckworst joins (~nate@125.161.70.37)
04:43:12 × mpereira quits (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64) (Ping timeout: 260 seconds)
04:48:08 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
04:48:32 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net)
04:48:49 × macrover quits (~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 264 seconds)
04:51:02 × buckworst quits (~nate@125.161.70.37) (Quit: WeeChat 2.9)
04:51:08 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
04:51:54 × oisdk quits (~oisdk@2001:bb6:3329:d100:fd58:7633:8b1d:97) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:54:18 nineonin_ joins (~nineonine@216-19-190-182.dyn.novuscom.net)
04:57:48 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
05:01:03 × interruptinuse quits (~interrupt@girl.mrtheplague.net) (Quit: ZNC - https://znc.in -- bye bye!)
05:01:37 × falafel_ quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds)
05:04:26 mmohammadi9812 joins (~mmohammad@188.210.98.27)
05:07:57 hackage graphql-client 1.1.0 - A client for Haskell programs to query a GraphQL API https://hackage.haskell.org/package/graphql-client-1.1.0 (leapyear)
05:08:51 johnw_ joins (~johnw@haskell/developer/johnw)
05:08:52 × johnw quits (~johnw@haskell/developer/johnw) (Ping timeout: 260 seconds)
05:09:56 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
05:10:05 interruptinuse joins (~interrupt@girl.mrtheplague.net)
05:10:16 bahamas joins (~lucian@unaffiliated/bahamas)
05:13:01 × jneira_ quits (~jneira@194.red-176-83-80.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
05:13:07 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) ()
05:13:31 Kaeipi joins (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net)
05:14:15 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:14:21 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
05:17:12 × jedws quits (~jedws@2001:8003:337f:1b00:1449:7df0:4af3:7c20) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:17:27 × bpalmer1 quits (~bpalmer@185.204.1.185) (Remote host closed the connection)
05:17:46 × alexm_ quits (~alexm_@161.8.233.138) (Remote host closed the connection)
05:19:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
05:19:31 alexm_ joins (~alexm_@161.8.233.138)
05:20:20 × xwvvvvwx quits (~xwvvvvwx@185.213.155.160) (Quit: ZNC 1.8.1 - https://znc.in)
05:20:29 xwvvvvwx joins (~xwvvvvwx@185.213.155.160)
05:21:58 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
05:22:07 irc_user joins (uid423822@gateway/web/irccloud.com/x-jnkonfduxhfcxiya)
05:22:46 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:22:48 × sand_dull quits (~theuser@62.182.99.37) (Ping timeout: 272 seconds)
05:23:45 × alexm_ quits (~alexm_@161.8.233.138) (Ping timeout: 240 seconds)
05:25:48 × zacts quits (~zacts@dragora/developer/zacts) (Ping timeout: 260 seconds)
05:26:14 alexm_ joins (~alexm_@161.8.233.138)
05:26:22 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
05:26:45 snakemasterflex joins (~snakemast@213.100.206.23)
05:28:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
05:31:15 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
05:32:40 × danso quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
05:33:28 danso joins (~dan@107-190-41-58.cpe.teksavvy.com)
05:34:22 × asan quits (~yan4138@124.78.5.33) (Ping timeout: 256 seconds)
05:34:42 asan joins (~yan4138@58.37.8.8)
05:36:05 × alexm_ quits (~alexm_@161.8.233.138) (Remote host closed the connection)
05:38:19 × darjeeling_ quits (~darjeelin@122.245.123.72) (Ping timeout: 246 seconds)
05:38:39 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Remote host closed the connection)
05:38:46 darjeeling_ joins (~darjeelin@122.245.123.72)
05:38:48 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
05:39:13 alexm_ joins (~alexm_@161.8.233.138)
05:42:58 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:46:08 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
05:46:09 bloodstalker joins (~bloodstal@46.166.187.178)
05:52:45 kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz)
05:52:51 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
05:53:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:55:32 × justan0theruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
05:57:30 × crobbins_ quits (~crobbins@2601:2c1:380:ec40:d96c:72da:8879:7899) (Remote host closed the connection)
05:58:27 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
05:58:40 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
06:01:22 shad0w_ joins (~shad0w_@160.202.37.157)
06:03:04 <MarcelineVQ> What would you call patterns like Just{} ?
06:03:26 danvet_ joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:04:01 × ahri quits (~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
06:04:10 <opqdonut> constructor-only patterns?
06:04:23 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
06:04:34 danvet joins (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453)
06:04:43 ahri joins (~ahri@178.209.40.84)
06:05:04 <MarcelineVQ> exactly, is that what you'd call them?
06:06:08 shatriff joins (~vitaliish@176.52.219.10)
06:07:43 × danso quits (~dan@107-190-41-58.cpe.teksavvy.com) (Quit: WeeChat 2.9)
06:08:28 <opqdonut> yeah
06:15:20 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
06:15:20 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
06:15:56 mpereira joins (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64)
06:20:28 saiba_suika2 joins (~saiba_sui@107.173.73.44)
06:20:37 × saiba_suika2 quits (~saiba_sui@107.173.73.44) (Remote host closed the connection)
06:23:56 × saiba_suika quits (~saiba_sui@cpe-72-231-228-139.buffalo.res.rr.com) (Ping timeout: 258 seconds)
06:26:17 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
06:29:23 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
06:30:07 × lambda-11235 quits (~lambda-11@108-237-120-58.lightspeed.frokca.sbcglobal.net) (Quit: Bye)
06:31:45 × asan quits (~yan4138@58.37.8.8) (Ping timeout: 240 seconds)
06:32:03 asan joins (~yan4138@58.37.8.8)
06:35:55 ggole joins (~ggole@2001:8003:8119:7200:4cc1:e316:a6d6:5aec)
06:37:47 coot joins (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl)
06:39:21 dhouthoo joins (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be)
06:39:24 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Remote host closed the connection)
06:40:17 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
06:41:02 × mounty quits (~mounty@2001:8000:2f59:0:4326:3e7a:dda9:8da8) (Ping timeout: 260 seconds)
06:41:10 knupfer joins (~Thunderbi@87.123.206.34)
06:45:27 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
06:46:28 hackage hablog 0.7.0 - A blog system https://hackage.haskell.org/package/hablog-0.7.0 (gilmi)
06:47:38 Zeb1 joins (3ed8d095@aftr-62-216-208-149.dynamic.mnet-online.de)
06:50:43 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:d92:3fe8:d989:c32a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:50:54 kermit1 joins (~kermit@178.162.209.171)
06:53:21 polyrain joins (~polyrain@203.51.166.163)
06:54:20 banner_ joins (~banner@116-255-17-140.ip4.superloop.com)
06:54:57 <dminuoso> MarcelineVQ: The Haskell report formally calls them labeled patterns in the general case.
06:55:21 × banner_ quits (~banner@116-255-17-140.ip4.superloop.com) (Client Quit)
06:56:36 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
06:57:53 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
07:01:02 <glguy> > isJust Just{}
07:01:04 <lambdabot> True
07:01:13 cfricke joins (~cfricke@unaffiliated/cfricke)
07:01:15 <glguy> > isJust Nothing {}
07:01:17 <lambdabot> False
07:01:56 <glguy> Not really pattern-specific. It's record notation
07:02:02 × ruffianeo quits (~ruffianeo@p200300e5271f093e83bdb6806dd36cfc.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
07:04:00 × ahri quits (~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
07:04:44 ahri joins (~ahri@178.209.40.84)
07:04:56 × balbirs quits (~balbirs__@ozlabs.org) (Quit: ZNC 1.7.5+deb1 - https://znc.in)
07:05:41 balbirs joins (~balbirs__@ozlabs.org)
07:05:49 <dminuoso> Mmm, this does seem a bit inconsistent. Usually a pattern matches values constructed in the same fashion
07:05:59 <dminuoso> But Just{} does *not* match values exactly constructed by Just{}
07:07:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:12:05 × sagax quits (~sagax_nb@213.138.71.146) (Read error: Connection reset by peer)
07:12:14 <solonarv> this is already not true for record patterns
07:12:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
07:12:43 <solonarv> @let data Two = Two { two1 :: Int, two2 :: Int } deriving (Show, Eq, Ord)
07:12:45 <lambdabot> Defined.
07:13:11 <solonarv> > case Two { two1 = 1, two2 = 2 } of Two {two1 = 1} -> "ok"
07:13:13 <lambdabot> "ok"
07:14:50 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
07:15:19 × alexm_ quits (~alexm_@161.8.233.138) (Remote host closed the connection)
07:15:41 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
07:17:11 × Turmfalke quits (~user@unaffiliated/siracusa) (Quit: Bye!)
07:17:39 oish joins (~charlie@228.25.169.217.in-addr.arpa)
07:17:48 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
07:19:13 × mpereira quits (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64) (Ping timeout: 272 seconds)
07:21:33 Sanchayan joins (~Sanchayan@171.76.101.244)
07:21:55 <Axman6> > let x = x { two1 = 1 } in case x of Two{two1 = 1} -> "ok"
07:21:58 <lambdabot> "*Exception: <<loop>>
07:22:12 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
07:23:27 Dablyon joins (~godel@173.171.157.121)
07:27:27 × danvet quits (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) (Quit: Leaving)
07:28:06 × mmohammadi9812 quits (~mmohammad@188.210.98.27) (Quit: I quit (╯°□°)╯︵ ┻━┻)
07:31:15 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
07:31:38 <solonarv> interesting, I sort of expected x = Two 1 _|_ here
07:34:03 raichoo joins (~raichoo@213.240.178.58)
07:36:52 alexm_ joins (~alexm_@161.8.233.138)
07:38:25 alexm__ joins (~alexm_@161.8.233.138)
07:38:28 GyroW_ is now known as GyroW
07:38:30 × GyroW quits (~GyroW@ptr-48ujrfb8c7gfd2lu92q.18120a2.ip6.access.telenet.be) (Changing host)
07:38:30 GyroW joins (~GyroW@unaffiliated/gyrow)
07:39:04 chaosmasttter joins (~chaosmast@p200300c4a7105f013091658b0e650c79.dip0.t-ipconnect.de)
07:39:35 TooDifficult joins (~TooDiffic@139.59.59.230)
07:39:43 × alexm_ quits (~alexm_@161.8.233.138) (Read error: Connection reset by peer)
07:39:44 × alexm__ quits (~alexm_@161.8.233.138) (Read error: Connection reset by peer)
07:40:14 alexm_ joins (~alexm_@161.8.233.138)
07:40:53 vicfred joins (~vicfred@unaffiliated/vicfred)
07:40:54 × alexm_ quits (~alexm_@161.8.233.138) (Read error: Connection reset by peer)
07:40:57 hackage sized 0.8.0.0 - Sized sequence data-types https://hackage.haskell.org/package/sized-0.8.0.0 (HiromiIshii)
07:41:21 GyroW is now known as GyroW_
07:41:56 GyroW_ is now known as GyroW__
07:42:17 GyroW__ is now known as GyroW
07:43:27 hackage mmsyn6ukr 0.8.1.0 - A musical instrument synthesizer or a tool for Ukrainian language listening https://hackage.haskell.org/package/mmsyn6ukr-0.8.1.0 (OleksandrZhabenko)
07:43:34 John20 joins (~John@82.46.59.122)
07:45:13 × Dablyon quits (~godel@173.171.157.121) (Ping timeout: 260 seconds)
07:45:58 mpereira joins (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64)
07:46:48 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:47:23 sagax joins (~sagax_nb@213.138.71.146)
07:48:28 chele joins (~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
07:50:42 × xerox_ quits (~xerox@unaffiliated/xerox) (Quit: leaving)
07:51:08 × irc_user quits (uid423822@gateway/web/irccloud.com/x-jnkonfduxhfcxiya) (Quit: Connection closed for inactivity)
07:52:00 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Quit: Leaving)
07:55:00 kritzefitz joins (~kritzefit@fw-front.credativ.com)
07:55:13 Tops2 joins (~Tobias@dyndsl-095-033-024-124.ewe-ip-backbone.de)
07:56:19 × polyrain quits (~polyrain@203.51.166.163) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:57:01 × berberman quits (~berberman@2408:8207:2565:18d0:584e:a9ff:fe9b:d3fe) (Quit: ZNC 1.7.5 - https://znc.in)
07:57:41 berberman joins (~berberman@2408:8207:2565:18d0::a44)
07:57:58 × Tops21 quits (~Tobias@dyndsl-095-033-089-153.ewe-ip-backbone.de) (Ping timeout: 272 seconds)
07:58:13 crobbins joins (~crobbins@2601:2c1:380:ec40:d96c:72da:8879:7899)
07:58:52 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
07:58:57 hackage phonetic-languages-ukrainian 0.2.1.0 - Prepares Ukrainian text to be used as a phonetic language text https://hackage.haskell.org/package/phonetic-languages-ukrainian-0.2.1.0 (OleksandrZhabenko)
08:02:55 × shad0w_ quits (~shad0w_@160.202.37.157) (Ping timeout: 272 seconds)
08:03:16 Dolly joins (585fd1fd@ti0203q160-5312.bb.online.no)
08:03:17 × crobbins quits (~crobbins@2601:2c1:380:ec40:d96c:72da:8879:7899) (Ping timeout: 260 seconds)
08:03:52 × tzh quits (~tzh@2601:448:c500:5300::82b3) (Quit: zzz)
08:08:49 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
08:11:45 × oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 240 seconds)
08:12:46 × atraii quits (~atraii@c-98-32-64-84.hsd1.ut.comcast.net) (Quit: ZNC 1.7.5 - https://znc.in)
08:12:47 × adamwesp_ quits (~adam_wesp@209.6.42.110) (Remote host closed the connection)
08:13:08 atraii joins (~atraii@c-98-32-64-84.hsd1.ut.comcast.net)
08:13:25 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:13:54 oish joins (~charlie@228.25.169.217.in-addr.arpa)
08:14:09 adamwespiser joins (~adam_wesp@209.6.42.110)
08:17:03 dhil joins (~dhil@11.29.39.217.dyn.plus.net)
08:21:44 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
08:23:21 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
08:25:27 hackage uniqueness-periods-vector-examples 0.6.0.0 - Examples of usage for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.6.0.0 (OleksandrZhabenko)
08:28:02 LKoen joins (~LKoen@81.255.219.130)
08:28:16 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
08:31:11 × Axman6 quits (~Axman6@pdpc/supporter/student/Axman6) (Remote host closed the connection)
08:31:30 Axman6 joins (~Axman6@pdpc/supporter/student/Axman6)
08:32:21 × asan quits (~yan4138@58.37.8.8) (Ping timeout: 258 seconds)
08:33:24 × Volt_ quits (~Volt_@c-73-145-164-70.hsd1.mi.comcast.net) (Quit: )
08:33:49 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
08:33:59 × ahri quits (~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
08:34:17 asan joins (~yan4138@124.78.124.81)
08:34:34 ahri joins (~ahri@178.209.40.84)
08:38:42 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
08:39:44 esp32_prog joins (yoann@gateway/vpn/protonvpn/esp32prog/x-46565127)
08:41:13 × Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 260 seconds)
08:42:17 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-cqejdnrmfbrsuxpt) (Quit: Connection closed for inactivity)
08:44:04 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
08:45:53 × sw1nn quits (~sw1nn@2a00:23c6:2385:3a00:6623:d71f:7a29:28d2) (Quit: WeeChat 2.9)
08:48:05 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
08:48:19 wonko7 joins (~wonko7@2a01:e35:2ffb:7040:8c5f:831a:4acc:45dd)
08:49:16 × drbean quits (~drbean@TC210-63-209-146.static.apol.com.tw) (Ping timeout: 272 seconds)
08:50:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:54:07 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
08:54:33 Saten-san joins (~Saten-san@ip-213-49-123-127.dsl.scarlet.be)
08:55:23 thc202 joins (~thc202@unaffiliated/thc202)
08:55:30 cosimone joins (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
08:55:32 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
08:57:19 × Sgeo_ quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
08:58:11 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
09:00:02 × kermit1 quits (~kermit@178.162.209.171) ()
09:03:21 Guest_73 joins (968f72e6@230.114.143.150.dyn.plus.net)
09:03:47 × aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 258 seconds)
09:04:11 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
09:04:33 × oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 260 seconds)
09:04:35 filwisher joins (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
09:06:08 oish joins (~charlie@228.25.169.217.in-addr.arpa)
09:06:19 mounty joins (~mounty@n49-198-160-249.mrk1.qld.optusnet.com.au)
09:07:32 × Zeb1 quits (3ed8d095@aftr-62-216-208-149.dynamic.mnet-online.de) (Remote host closed the connection)
09:07:37 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 246 seconds)
09:08:40 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
09:11:17 cpressey joins (~cpressey@79-72-202-6.dynamic.dsl.as9105.com)
09:13:28 carlomagno joins (~cararell@inet-hqmc02-o.oracle.com)
09:13:55 × asan quits (~yan4138@124.78.124.81) (Remote host closed the connection)
09:13:55 × mounty quits (~mounty@n49-198-160-249.mrk1.qld.optusnet.com.au) (Ping timeout: 246 seconds)
09:14:24 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
09:14:27 × Saten-san quits (~Saten-san@ip-213-49-123-127.dsl.scarlet.be) (Quit: WeeChat 2.8)
09:14:35 mounty joins (~mounty@mail.nextgenerationvoice.com.au)
09:15:14 DavidEichmann joins (~david@43.240.198.146.dyn.plus.net)
09:16:07 × cosimone quits (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Read error: Connection reset by peer)
09:16:48 × elliott_ quits (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
09:16:50 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
09:17:08 × carlomagno1 quits (~cararell@inet-hqmc01-o.oracle.com) (Ping timeout: 272 seconds)
09:19:02 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
09:19:35 snakemasterflex joins (~snakemast@213.100.206.23)
09:21:47 × TooDifficult quits (~TooDiffic@139.59.59.230) (Quit: TooDifficult)
09:21:55 sw1nn joins (~sw1nn@host86-157-211-183.range86-157.btcentralplus.com)
09:22:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:24:16 asan joins (~yan4138@58.37.8.8)
09:24:30 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
09:26:54 elliott_ joins (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
09:27:55 shad0w_ joins (~shad0w_@160.202.37.157)
09:28:45 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
09:29:28 acidjnk_new2 joins (~acidjnk@p200300d0c723780230ffb87e65cc7e0f.dip0.t-ipconnect.de)
09:30:45 × asan quits (~yan4138@58.37.8.8) (Ping timeout: 240 seconds)
09:32:43 asan joins (~yan4138@124.78.5.33)
09:33:45 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
09:34:08 <justsomeguy> Is there a function like (!!) that also works for negative indices?
09:37:24 <Rembane> justsomeguy: When you do let xs = [1,2,3,4] in xs !! (-2), what result do you expect?
09:37:34 <justsomeguy> 3
09:37:41 × Guest_73 quits (968f72e6@230.114.143.150.dyn.plus.net) (Remote host closed the connection)
09:38:17 <solonarv> ah, indexing from the other end like python does?
09:38:24 breezykermo joins (~breezyker@p200300ed5f114200c95d7bbe0250101c.dip0.t-ipconnect.de)
09:38:50 <Rembane> justsomeguy: You can do let f i xs = xs !! (length xs + i)
09:38:56 <Rembane> justsomeguy: But it's incredibly expensive.
09:38:58 <Jajik> then reverse it and use (!!) . abs, but the list is not the best structure for that
09:39:28 <justsomeguy> Should I be using Data.Array, instead? (...and does it support negative indices?)
09:39:56 <justsomeguy> solonarv: Exactly. I had pythons subscript notation in mind.
09:39:56 <solonarv> if you want to index to arbitrary positions (especially near the end), you probably shouldn't be using lists, yes
09:40:06 <MarcelineVQ> if you need arbitrary indexing vector or array will serve you better, on a list of 4 items I wouldn't sweat the small stuff
09:40:11 <Rembane> justsomeguy: Use Data.Vector, it has a nicer API
09:40:33 <solonarv> array or vector have efficient indexing (I recommend vector due to the nicer API, especially if you only care about Int indexes)
09:40:52 <solonarv> it doesn't have this "wraparound" indexing but you can easily build it
09:41:02 × ericsagnes quits (~ericsagne@2405:6580:0:5100:bc6f:f4f1:b8da:13b1) (Ping timeout: 260 seconds)
09:41:57 <solonarv> xs !* n | n < 0 = xs ! (n + length xs) ; otherwise = xs ! n
09:43:03 × plutoniix quits (~q@175.176.222.7) (Ping timeout: 260 seconds)
09:44:56 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
09:49:05 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
09:49:30 graf_blutwurst joins (~user@2a02:168:49bc:0:c5c0:f87b:998c:4a07)
09:50:42 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 272 seconds)
09:50:54 <phadej> what [1,2,3,4] !! -10 would do?
09:51:24 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
09:51:27 <phadej> generally, I consider !! a smell in Haskell.
09:53:17 ericsagnes joins (~ericsagne@2405:6580:0:5100:572:c294:99c1:7d20)
09:54:17 × Dolly quits (585fd1fd@ti0203q160-5312.bb.online.no) (Remote host closed the connection)
09:54:23 <MarcelineVQ> that's the entire definition, modulo modulo
09:55:47 juuandyy joins (~juuandyy@90.166.144.65)
09:55:49 plutoniix joins (~q@175.176.222.7)
09:55:52 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
09:56:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
09:57:16 × juuandyy quits (~juuandyy@90.166.144.65) (Client Quit)
09:59:12 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
10:00:02 Dolly joins (585fd1fd@ti0203q160-5312.bb.online.no)
10:00:46 bahamas joins (~lucian@unaffiliated/bahamas)
10:02:33 × graf_blutwurst quits (~user@2a02:168:49bc:0:c5c0:f87b:998c:4a07) (Remote host closed the connection)
10:02:36 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
10:03:26 × plutoniix quits (~q@175.176.222.7) (Quit: Leaving)
10:03:33 graf_blutwurst joins (~user@2a02:168:49bc:0:c5c0:f87b:998c:4a07)
10:04:12 xerox_ joins (~xerox@unaffiliated/xerox)
10:05:57 × acidjnk_new2 quits (~acidjnk@p200300d0c723780230ffb87e65cc7e0f.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
10:10:18 <maerwald> there's no forkFinally equivalent in async?
10:11:15 × dhil quits (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 258 seconds)
10:13:22 × adamwespiser quits (~adam_wesp@209.6.42.110) (Remote host closed the connection)
10:13:29 × shad0w_ quits (~shad0w_@160.202.37.157) (Remote host closed the connection)
10:13:39 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
10:13:45 × berberman quits (~berberman@2408:8207:2565:18d0::a44) (Quit: ZNC 1.7.5 - https://znc.in)
10:13:54 adamwespiser joins (~adam_wesp@209.6.42.110)
10:13:55 shatriff joins (~vitaliish@176.52.219.10)
10:14:24 berberman joins (~berberman@2408:8207:2565:18d0::a44)
10:15:58 × graf_blutwurst quits (~user@2a02:168:49bc:0:c5c0:f87b:998c:4a07) (Remote host closed the connection)
10:16:35 graf_blutwurst joins (~user@2a02:168:49bc:0:c5c0:f87b:998c:4a07)
10:17:09 × graf_blutwurst quits (~user@2a02:168:49bc:0:c5c0:f87b:998c:4a07) (Remote host closed the connection)
10:18:34 × adamwespiser quits (~adam_wesp@209.6.42.110) (Ping timeout: 272 seconds)
10:20:42 graf_blutwurst joins (~user@2a02:168:49bc:0:912e:27da:c3bb:51ac)
10:20:53 × cpressey quits (~cpressey@79-72-202-6.dynamic.dsl.as9105.com) (Quit: WeeChat 1.9.1)
10:21:24 × Kaeipi quits (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
10:21:27 hackage Z-IO 0.1.1.2 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.1.2 (winterland)
10:21:28 Merfont joins (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net)
10:21:39 × toorevitimirp quits (~tooreviti@117.182.182.201) (Remote host closed the connection)
10:25:19 justmay1 joins (~justmay@178.239.168.171)
10:26:46 × Sanchayan quits (~Sanchayan@171.76.101.244) (Quit: leaving)
10:29:02 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds)
10:30:03 × ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
10:30:21 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:32:35 ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
10:34:37 vritser joins (~user@103.6.84.82)
10:35:12 vritser parts (~user@103.6.84.82) ("ERC (IRC client for Emacs 28.0.50)")
10:35:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
10:36:53 Saten-san joins (~Saten-san@ip-62-235-73-121.dsl.scarlet.be)
10:37:41 × asan quits (~yan4138@124.78.5.33) (Ping timeout: 256 seconds)
10:38:03 asan joins (~yan4138@124.78.124.81)
10:40:14 Mahdi joins (5bfb1927@91.251.25.39)
10:41:41 × Mahdi quits (5bfb1927@91.251.25.39) (Remote host closed the connection)
10:42:31 × ericsagnes quits (~ericsagne@2405:6580:0:5100:572:c294:99c1:7d20) (Ping timeout: 272 seconds)
10:43:22 dcoutts_ is now known as dcoutts
10:43:42 × chaosmasttter quits (~chaosmast@p200300c4a7105f013091658b0e650c79.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
10:43:53 × graf_blutwurst quits (~user@2a02:168:49bc:0:912e:27da:c3bb:51ac) (Remote host closed the connection)
10:45:41 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
10:46:00 graf_blutwurst joins (~user@2a02:168:49bc:0:3913:91f3:2eab:769)
10:47:01 × rprije quits (~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au) (Ping timeout: 264 seconds)
10:49:46 barzo joins (~sosal@95.70.181.226)
10:50:14 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
10:54:07 ericsagnes joins (~ericsagne@2405:6580:0:5100:4407:fff6:2258:7a65)
10:55:07 <maralorn> That reminds me of the horrible time I worked with a custom language for evaluating measurements of certain measurement devices written by the vendor. In there arrays where the primary data structure for stuff like time series of an oscilloscope.
10:56:03 <maralorn> I lost at least on day to debugging, before I learnad that their indexing operator gave you the last element of an array when you gave it an out-of-bounds index (silently without any error message).
10:57:01 <maralorn> I don‘t want to know how many published experimental results are secretly wrong because of that crazy language design decision. /o\
10:59:33 × bloodstalker quits (~bloodstal@46.166.187.178) (Ping timeout: 258 seconds)
11:00:52 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
11:01:14 dhil joins (~dhil@11.29.39.217.dyn.plus.net)
11:03:24 × ahri quits (~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
11:03:26 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:03:55 ahri joins (~ahri@178.209.40.84)
11:05:47 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
11:06:29 bloodstalker joins (~bloodstal@46.166.187.178)
11:10:10 hyiltiz-M joins (hyiltizkde@gateway/shell/kde/matrix/x-nddutmibnpfeonkf)
11:10:33 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
11:11:32 × wei2912 quits (~wei2912@unaffiliated/wei2912) (Quit: Lost terminal)
11:13:56 × howdoi quits (uid224@gateway/web/irccloud.com/x-pmfgngzmblrpwuzc) (Quit: Connection closed for inactivity)
11:14:16 × Saten-san quits (~Saten-san@ip-62-235-73-121.dsl.scarlet.be) (Quit: WeeChat 2.8)
11:16:02 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
11:16:34 <dminuoso> Mmm, I wish more code would be written MonadIO polymorphic. :(
11:17:00 <dminuoso> The amount of liftIO sprinkling is getting somewhat annoying
11:17:05 catkiki joins (~kiki@m90-134-157-227.cust.tele2.hr)
11:17:34 × catkiki quits (~kiki@m90-134-157-227.cust.tele2.hr) (Client Quit)
11:18:32 <kenran> dminuoso: I second that...
11:18:54 × tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 265 seconds)
11:19:07 catkiki joins (~catkiki@m90-134-157-227.cust.tele2.hr)
11:20:45 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
11:22:42 × Dolly quits (585fd1fd@ti0203q160-5312.bb.online.no) (Remote host closed the connection)
11:23:05 × p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Remote host closed the connection)
11:26:08 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
11:26:33 × graf_blutwurst quits (~user@2a02:168:49bc:0:3913:91f3:2eab:769) (Remote host closed the connection)
11:28:09 Neuromancer joins (~Neuromanc@unaffiliated/neuromancer)
11:30:29 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
11:30:36 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
11:33:43 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
11:36:12 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
11:39:53 v_m_v joins (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099)
11:40:54 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
11:43:22 × asan quits (~yan4138@124.78.124.81) (Ping timeout: 246 seconds)
11:44:17 drbean joins (~drbean@TC210-63-209-157.static.apol.com.tw)
11:46:09 <maerwald> don't use transformers
11:46:11 <maerwald> :p
11:46:22 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
11:46:47 <[exa]> isn't this "solved" in some of the alternative preludes? (rererebase?)
11:46:54 × Stanley00 quits (~stanley00@unaffiliated/stanley00) ()
11:47:21 fendor_ is now known as fendor
11:49:50 alexm_ joins (~alexm_@161.8.233.138)
11:49:55 × dxld quits (~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305) (Remote host closed the connection)
11:50:15 dxld joins (~dxld@80-109-136-248.cable.dynamic.surfer.at)
11:50:31 <maerwald> transformers look like an effects DLS, but they feel like an OOP pattern
11:51:01 <dminuoso> maerwald: This has nothing to do with transformers.
11:51:13 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
11:51:27 <maerwald> how so?
11:51:49 <dminuoso> [exa]: an alternative prelude would give you huge transitive dependency footprints if this is done widely
11:51:56 <dminuoso> My beef is not just with base, but packages in general.
11:52:10 <maerwald> why are you using liftIO if you don't have any transformers in your code
11:52:20 <fendor> can I derive Monoid and Semigroup for a datatype where all fields are an instance of semigroup and monoid?
11:52:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:53:31 <dminuoso> maerwald: You can write monads yourself too.
11:53:48 <phadej> fendor: yes, look at semigroups Data.Semigroup.Generic
11:54:10 <fendor> phadej, thanks!
11:54:14 <dminuoso> fendor: generic-deriving has the facilities
11:54:26 <[exa]> dminuoso: i said it's "solved" :]
11:54:33 <maerwald> dminuoso: yes, you can write transformers yourself
11:54:34 <dminuoso> heh fair
11:55:16 <maerwald> but you don't seem to want to disclose what you're doing, so I'm not gonna pull it out of your nose :p
11:55:27 <dminuoso> maerwald: A transformer is a higher order utility to transform monads into monads. If I just create a data type myself, Im not using any transformer, am IO?
11:55:53 <dminuoso> Oh hah. That muscle memory tricked me into writing IO.
11:56:32 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
11:57:57 <maerwald> dminuoso: you're writing an instance of MonadIO? Then you have a transformer
11:59:17 <dminuoso> maerwald: `ReaderT e` is a transformer. Neither the type `ReaderT Env IO`, nor a type isomorphic to `ReaderT Env IO` is a transformer.
11:59:23 brewmarche joins (~brewmarch@2001:a61:2baa:3c01:21f7:ab4a:9163:f6e0)
11:59:44 <maerwald> "Instances should satisfy the following laws, which state that liftIO is a transformer of monads"
12:00:01 × justmay1 quits (~justmay@178.239.168.171) ()
12:01:10 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
12:01:24 <dminuoso> Is that not rather a monad homomorphism?
12:02:03 <dminuoso> The documentation seems just a bit off
12:03:01 zacts joins (~zacts@dragora/developer/zacts)
12:06:41 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
12:07:25 toorevitimirp joins (~tooreviti@117.182.182.201)
12:08:26 urodna joins (~urodna@unaffiliated/urodna)
12:09:15 sand_dull joins (~theuser@62.182.99.37)
12:09:28 × John20 quits (~John@82.46.59.122) (Ping timeout: 260 seconds)
12:10:16 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
12:11:32 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
12:12:58 shad0w_ joins (~shad0w_@160.202.37.157)
12:13:04 Erato joins (585fd1fd@ti0203q160-5312.bb.online.no)
12:15:15 <AWizzArd> I am using the nix-shell to produce a development environment. But it’s only a thin layer, I still rely on my OS offering tools. So my shell is not --pure and I expect that for example Emacs is available.
12:15:19 <AWizzArd> At some point though I want to use Nix (not necessarily its shell) to produce a Docker image for me.
12:15:23 <AWizzArd> Now I want to use SSL and will need cacerts in the resulting docker images. In an Ubuntu-based Dockerfile I would apt install ca-certificates.
12:15:27 <AWizzArd> So I will have to teach Nix that the standard certs are a dependency for my app. Doesn’t that mean that those certs will *also* be available in my nix-shell?
12:16:24 st8less joins (~st8less@2603:a060:11fe:0:b0dd:9d1b:8825:d363)
12:16:54 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
12:19:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:20:41 The20YearIRCloud joins (~The20Year@185.163.110.116)
12:21:15 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
12:22:00 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-fwqmglpbkrhstmiw) (Quit: Connection closed for inactivity)
12:24:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
12:25:01 × Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 246 seconds)
12:25:27 × The20YearIRCloud quits (~The20Year@185.163.110.116) (Remote host closed the connection)
12:25:46 × solonarv quits (~solonarv@anancy-653-1-63-100.w109-217.abo.wanadoo.fr) (Quit: Lost terminal)
12:26:39 hekkaidekapus_ is now known as hekkaidekapus
12:26:58 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
12:27:39 solonarv joins (~solonarv@anancy-653-1-63-100.w109-217.abo.wanadoo.fr)
12:27:45 kuribas joins (~user@ptr-25vy0i80qh4go15t39e.18120a2.ip6.access.telenet.be)
12:28:33 ruffianeo joins (~ruffianeo@p200300e5271f09cf8b4d140a1c554ebc.dip0.t-ipconnect.de)
12:28:52 <kuribas> how do I add a package in a ghci session?
12:29:25 <hekkaidekapus> :set -package
12:30:05 × ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 240 seconds)
12:30:18 <maerwald> AWizzArd: there's a nixos channel
12:30:46 <AWizzArd> maerwald: and this is where I just repeated/reframed this question :)
12:30:56 × oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 272 seconds)
12:31:10 ryansmccoy joins (~ryansmcco@193.37.254.27)
12:31:35 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
12:31:36 <AWizzArd> maerwald: tho I also would like to hear/read inputs of other Haskellers about how they work with Nix. Is that style "correct"? Do you specify the deps you need, run a nix-shell and from IT then start your ide?
12:31:37 <kuribas> hekkaidekapus: thanks, that works :)
12:31:53 <hekkaidekapus> o/
12:31:59 Mcdukc joins (~oleg@90.255.27.8)
12:32:40 oxide joins (~lambda@unaffiliated/mclaren)
12:33:38 × sand_dull quits (~theuser@62.182.99.37) (Ping timeout: 256 seconds)
12:33:47 × ahri quits (~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
12:34:37 ahri joins (~ahri@178.209.40.84)
12:34:38 AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl)
12:36:59 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
12:41:37 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
12:43:28 × coot quits (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
12:45:25 × noctux quits (~noctux@unaffiliated/noctux) (Ping timeout: 240 seconds)
12:46:22 × AWizzArd quits (~code@unaffiliated/awizzard) (Ping timeout: 246 seconds)
12:47:09 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
12:47:51 × brewmarche quits (~brewmarch@2001:a61:2baa:3c01:21f7:ab4a:9163:f6e0) (Quit: Leaving)
12:47:57 hackage phonetic-languages-ukrainian 0.2.2.0 - Prepares Ukrainian text to be used as a phonetic language text https://hackage.haskell.org/package/phonetic-languages-ukrainian-0.2.2.0 (OleksandrZhabenko)
12:51:49 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
12:53:53 Saten-san joins (~Saten-san@ip-62-235-73-121.dsl.scarlet.be)
12:54:33 <Unhammer> anyone using IHP here? I don't understand how to do a nested Include/fetchRelated
12:55:05 × jespada quits (~jespada@90.254.241.6) (Ping timeout: 265 seconds)
12:55:38 John20 joins (~John@82.46.59.122)
12:56:04 <Unhammer> say, in the First Project guide you wanted to add post categories, but show comments on the category index page – can one do something like `Include "comments" (Include "posts" Category)` ?
12:56:19 Aquazi joins (uid312403@gateway/web/irccloud.com/x-ppgacbnpjvcoyxiy)
12:57:24 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
12:57:27 jespada joins (~jespada@90.254.241.6)
12:59:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:00:01 cosimone_ joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
13:00:27 hackage uniqueness-periods-vector-examples 0.6.1.0 - Examples of usage for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.6.1.0 (OleksandrZhabenko)
13:01:51 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
13:02:20 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Ping timeout: 265 seconds)
13:03:23 cpressey joins (~cpressey@79-72-202-6.dynamic.dsl.as9105.com)
13:04:04 × toorevitimirp quits (~tooreviti@117.182.182.201) (Ping timeout: 260 seconds)
13:07:13 bahamas joins (~lucian@unaffiliated/bahamas)
13:07:29 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
13:10:12 <maerwald> is there an easy way to programmatically figure out if a package is on hackage? (preferably via the local index)
13:10:23 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
13:12:09 <Unhammer> hm, was easier to just define my own view type, e.g. a single category page is
13:12:11 <Unhammer> data ShowView = ShowView { posts :: [Include "comments" Post], title :: Text }
13:12:13 <Unhammer> and manually make that in ShowCategoryAction
13:12:14 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
13:12:29 bitmagie joins (~Thunderbi@200116b8065d560030e19c72082b8700.dip.versatel-1u1.de)
13:13:37 <fendor> maerwald, there is hackage-index https://github.com/haskell-hvr/hackage-index, I *think* that used a local index.
13:14:56 <maerwald> fendor: that package isn't on hackage :(
13:15:11 <int-e> fendor: yeah looks like it maintains its own local sqlite database
13:15:23 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds)
13:16:26 <int-e> maerwald: At a glance, the cabal-install package index format seems to be buried in the client code (Distribution.Solver.Types.PackageIndex) so it's not readily available as a library :-/
13:16:50 <int-e> (Unless somebody took it upon themselves to strip that part out and maintain it as a library.)
13:17:11 <maerwald> there's a lot of stuff in cabal-install that should be exposed imo, but well
13:17:34 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
13:18:43 <phadej> maerwald: yes, see cabal-install-parsers
13:18:52 <fendor> indeed. I wish I could parse cabal specification without a Cabal dependency.
13:19:01 <phadej> fendor: good luck :)
13:19:41 <phadej> (my gut feeling is that over half of code lines in Cabal is related to parsing cabal specification)
13:20:11 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
13:20:35 <fendor> I know :/
13:20:58 <fendor> (regarding the "good luck wish")
13:21:21 raehik joins (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
13:21:29 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Ping timeout: 272 seconds)
13:21:52 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
13:22:48 <maerwald> https://hackage.haskell.org/package/cabal-install-parsers-0.3.0.1/docs/Cabal-Index.html#v:cachedHackageMetadata cool
13:24:38 × xintron quits (~xintron@unaffiliated/xintron) (Quit: aoeu)
13:25:40 Wuzzy joins (~Wuzzy@p5b0df9fe.dip0.t-ipconnect.de)
13:26:18 xintron joins (~xintron@unaffiliated/xintron)
13:26:37 × Saten-san quits (~Saten-san@ip-62-235-73-121.dsl.scarlet.be) (Quit: WeeChat 2.8)
13:27:44 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
13:28:16 __monty__ joins (~toonn@unaffiliated/toonn)
13:29:00 × cosimone_ quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: Quit.)
13:29:23 × ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
13:29:49 o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
13:30:34 sooch joins (~sooch@209.6.196.179)
13:30:45 afb joins (~afb@84.39.117.57)
13:31:21 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
13:32:10 ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
13:32:37 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
13:34:04 coot joins (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl)
13:34:25 × shad0w_ quits (~shad0w_@160.202.37.157) (Ping timeout: 240 seconds)
13:34:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
13:34:59 <maerwald> phadej: when is 3.4 coming out?
13:36:47 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
13:37:30 <kuribas> is there a pretty runClientM for the REPL?
13:37:53 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
13:38:03 <oats> it's fun reading "low level" code in, eg, bytestring internals
13:38:19 <oats> nice to remember that you can still do black magic with pointers if you really want to :P
13:38:52 <kuribas> oats: indeed, what's nice in haskell is that it hides the uglyness
13:39:14 <kuribas> but you can still write ugly code underneat
13:40:00 <oats> indeed
13:40:20 <oats> maybe I should get my hands dirty and put my C skills to use here sometime :P
13:41:01 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:11f8:2976:d681:3695)
13:41:05 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
13:41:11 <kuribas> it's also often used to interface with a low level C library
13:41:16 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:11f8:2976:d681:3695) (Client Quit)
13:42:17 × barzo quits (~sosal@95.70.181.226) (Remote host closed the connection)
13:42:27 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
13:43:40 lucasb joins (uid333435@gateway/web/irccloud.com/x-lrjjlkqiwvxbxlhd)
13:44:16 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
13:44:54 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:d985:da37:6cf:2ad4)
13:47:23 × drbean quits (~drbean@TC210-63-209-157.static.apol.com.tw) (Ping timeout: 240 seconds)
13:47:58 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
13:48:52 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
13:49:16 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
13:49:21 <kuribas> otherwise I rarely find a need to write low level code in haskell
13:49:38 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds)
13:49:44 <sooch> How would one go about representing an Identifier that can be either a single id, or multiple id's combined to form an id
13:51:05 <sooch> Ex: S = { ident = 1}; S2 = {ident = 2}; => S <> S2 = { ident (2 3)};
13:52:36 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
13:52:50 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
13:53:19 <hekkaidekapus> sooch: Something like `f {ident = x} {ident = y} = {ident = x <> y}`?
13:53:35 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
13:53:44 <kuribas> sooch: data Ident = Ident (NonEmpty Int) ?
13:55:04 <sooch> The identity can be anything, and is unique. I guess I want a way more like: Ident a = Single a | Multi a (Single a
13:55:07 machinedgod joins (~machinedg@d67-193-126-196.home3.cgocable.net)
13:55:10 <sooch> but that seems wrong
13:55:22 × alexm_ quits (~alexm_@161.8.233.138) (Remote host closed the connection)
13:55:46 <kuribas> data Ident a = Ident (NonEmpty a)
13:55:52 <phadej> maerwald: i dont know. around ghc-9
13:56:22 shad0w_ joins (~shad0w_@160.202.37.157)
13:56:45 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
13:57:07 noctux joins (~noctux@unaffiliated/noctux)
13:57:07 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:57:19 <sooch> kuribas: I misinterpreted what NonEmpty was at first, that looks promising. Thanks.
13:57:39 × LKoen quits (~LKoen@81.255.219.130) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
13:57:47 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
13:57:49 AWizzArd joins (~code@gehrels.uberspace.de)
14:00:37 snakemasterflex joins (~snakemast@213.100.206.23)
14:01:57 Saten-san joins (~Saten-san@ip-62-235-73-121.dsl.scarlet.be)
14:02:31 utopic_int0x80 joins (~lucid_0x8@85.132.73.6)
14:04:10 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
14:05:05 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
14:06:18 spew joins (uid195861@gateway/web/irccloud.com/x-cksfmsrynriuwhsd)
14:06:34 × noctux quits (~noctux@unaffiliated/noctux) (Ping timeout: 272 seconds)
14:07:11 × ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Quit: ChaiTRex)
14:07:22 × utopic_int0x80 quits (~lucid_0x8@85.132.73.6) (Ping timeout: 256 seconds)
14:08:05 ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
14:08:15 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
14:08:33 noctux joins (~noctux@unaffiliated/noctux)
14:08:48 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:12:27 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
14:12:49 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
14:14:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
14:16:43 nyd joins (~nyd@unaffiliated/elysian)
14:18:20 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
14:19:52 × zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving)
14:20:27 <AWizzArd> maerwald: about Servant again: I didn’t try it out yet, but it seems to be able to automatically generate the exact documentation of my API, so the docs will always be relevant and stay up-to-date.
14:21:12 <hc> it can even export an up-to-date swagger specification using servant-swagger :)
14:21:46 adamwespiser joins (~adam_wesp@209.6.42.110)
14:21:48 <maerwald> AWizzArd: you mean swagger?
14:22:04 <maerwald> I think about a million backends have support for that?
14:22:32 <AWizzArd> maerwald: do you have a link at hand for Snap?
14:22:40 <maerwald> not right now
14:23:01 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
14:23:21 ajcerejeira joins (~ajcerejei@2001:8a0:ddee:700:efbc:7163:11a0:b83)
14:23:26 LKoen joins (~LKoen@81.255.219.130)
14:23:36 × ajcerejeira quits (~ajcerejei@2001:8a0:ddee:700:efbc:7163:11a0:b83) (Client Quit)
14:24:42 × Tops2 quits (~Tobias@dyndsl-095-033-024-124.ewe-ip-backbone.de) (Ping timeout: 256 seconds)
14:26:08 <AWizzArd> hc: what is good about a swagger spec? (never used that tool, but knowing its name)
14:26:19 geekosaur joins (42d52102@66.213.33.2)
14:26:46 <hc> AWizzArd: anyone(TM) will know how to use your API
14:26:50 × adamwespiser quits (~adam_wesp@209.6.42.110) (Ping timeout: 272 seconds)
14:27:19 <hc> you could say it is a transformation of the servant API type declaration into a json representation of it that many tools can understand
14:28:03 <hc> AWizzArd: have a look at https://editor.swagger.io/ ; I find that a pretty handy tool for looking at swagger specs
14:28:21 <AWizzArd> hc: is this tool mostly for web apis? Or completly generic for any api that I may want to design?
14:28:30 <hc> it's for REST APIs only afaik
14:28:32 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
14:28:42 <hc> which arguably aren't tied to the web
14:29:08 <hc> but it's not as generic as i.e. apache thrift or the likes
14:30:24 × filwisher quits (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds)
14:30:52 <dolio> oats: You probably don't want to copy the pointer stuff in bytestring, though. The array stuff in primitive is generally better.
14:31:12 <dolio> Bytestrings are prone to memory fragmentation.
14:31:35 Noldorin joins (~noldorin@unaffiliated/noldorin)
14:32:08 <oats> hmmm, thanks for the tip
14:32:59 <dolio> Also vector builds on primitive in various ways.
14:33:16 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
14:35:59 bitmapper joins (uid464869@gateway/web/irccloud.com/x-kucaomxlfuldfryc)
14:37:41 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Read error: Connection reset by peer)
14:38:38 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
14:38:40 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
14:39:26 o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
14:42:48 × Merfont quits (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
14:42:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:42:53 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net)
14:42:59 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
14:43:58 × AWizzArd quits (~code@gehrels.uberspace.de) (Ping timeout: 256 seconds)
14:44:05 AWizzArd joins (~code@gehrels.uberspace.de)
14:46:01 cosimone joins (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
14:46:13 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
14:46:34 × Saten-san quits (~Saten-san@ip-62-235-73-121.dsl.scarlet.be) (Quit: WeeChat 2.8)
14:47:51 alexm_ joins (~alexm_@161.8.233.138)
14:48:22 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 272 seconds)
14:48:49 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
14:49:14 × catkiki quits (~catkiki@m90-134-157-227.cust.tele2.hr) (Read error: Connection reset by peer)
14:50:34 o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
14:51:01 Kaeipi joins (~Kaiepi@47.55.157.9)
14:51:28 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
14:52:13 × alexm_ quits (~alexm_@161.8.233.138) (Ping timeout: 260 seconds)
14:52:13 × nerdypepper quits (nerdypeppe@152.67.160.69) (Ping timeout: 260 seconds)
14:52:57 Saten-san joins (~Saten-san@ip-62-235-73-121.dsl.scarlet.be)
14:53:23 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
14:53:32 × ruffianeo quits (~ruffianeo@p200300e5271f09cf8b4d140a1c554ebc.dip0.t-ipconnect.de) (Remote host closed the connection)
14:53:40 crobbins joins (~crobbins@2601:2c1:380:ec40:d443:ce25:44e4:e44d)
14:55:46 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
14:55:58 hackage lapack 0.3.2 - Numerical Linear Algebra using LAPACK https://hackage.haskell.org/package/lapack-0.3.2 (HenningThielemann)
14:56:18 fendor_ joins (~fendor@91.141.3.153.wireless.dyn.drei.com)
14:56:29 × fendor quits (~fendor@91.141.3.153.wireless.dyn.drei.com) (Remote host closed the connection)
14:56:35 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
14:56:43 miguel_clean joins (~Miguel@89-72-187-203.dynamic.chello.pl)
14:56:49 <miguel_clean> Hello
14:57:33 <miguel_clean> I am playing with the "+RTS -p" flag and wonder if I have to wait for my programm to exit or can have it updated in some intervalls as well?
14:57:39 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
14:57:56 utopic_int0x80 joins (~lucid_0x8@188.253.234.46)
14:57:57 <geekosaur> you have to wait for normal program exit
14:58:25 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
14:58:58 <shad0w_> hi fam
14:59:00 Lord_of_Life_ is now known as Lord_of_Life
14:59:03 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
14:59:17 <shad0w_> i learned about Aplicatives today
14:59:22 <shad0w_> and i have a question
15:00:01 × afb quits (~afb@84.39.117.57) ()
15:00:05 <shad0w_> they seem similar to Functors with the addtinal container type with the f (a -> b) for the first argument
15:00:24 <shad0w_> i was wondering, why do they exist ?
15:00:45 <shad0w_> we can probably do all of that stuff with fmap
15:01:33 ixlun joins (~matthew@109.249.184.193)
15:02:11 <dolio> Try implementing (<*>) with just fmap.
15:02:17 <dolio> Or pure.
15:03:39 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
15:04:55 Turmfalke joins (~user@unaffiliated/siracusa)
15:06:38 Sheilong joins (uid293653@gateway/web/irccloud.com/x-jwcpkbwpnookjrjz)
15:06:38 × Saten-san quits (~Saten-san@ip-62-235-73-121.dsl.scarlet.be) (Ping timeout: 256 seconds)
15:07:19 <sm[m]> live output from +RTS -p would be great
15:08:15 <geekosaur> I think you can do something similar with the eventlog?
15:08:25 <sm[m]> hstop myprog
15:09:00 <sm[m]> I need to learn about this stuff
15:09:11 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
15:09:49 snakemasterflex joins (~snakemast@213.100.206.23)
15:09:51 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
15:11:14 <geekosaur> one problem with live profiling is laziness, stuff can be waiting to be evaluated and will be lost even though in some sense it's been seen
15:11:37 <shad0w_> dolio: isn't fmap g x = pure g <*> x ?
15:11:56 <geekosaur> and only show up later in the run when forced, possibly at the end
15:12:08 <hololeap> shad0w_: if you think of a Functor f as carrying with it some kind of "context" or "other information", then Applicative gives a way to lift a value into a "default context" (pure) and combine two of these contexts (<*>)
15:12:49 <geekosaur> shad0w, yes, but that means you can recover fmap from pure and <*>, not that you can recover either pure or <*> from fmap
15:13:33 <shad0w_> geekosaur: i could just use fmap without ever using pure or <*> can't i?
15:13:35 <geekosaur> so Functor is not sufficient to replace Applicative. in fact it's a prerequisite for Applicative, but not enough by itself
15:13:43 nerdypepper joins (nerdypeppe@152.67.160.69)
15:13:48 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
15:14:26 <geekosaur> Applicative can do things fmap can't, otherwise we wouldn't have it
15:14:39 <geekosaur> for example, you can parse with an Applicative but not with a Functor
15:14:54 <shad0w_> that's what i am trying to understand. why does this even exists /
15:14:59 tomku joins (~tomku@unaffiliated/tomku)
15:15:21 <dolio> How do you implement `(a -> b -> c) -> f a -> f b -> f c` with just fmap?
15:15:37 mu joins (~mu@unaffiliated/mu)
15:16:09 <shad0w_> you probably can't since fmap :: (a -> b) -> f a -> f b
15:16:15 <dolio> Right.
15:16:28 <shad0w_> can b == (b -> c ) ?
15:16:35 <sm[m]> in the example stats at https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#rts-options-to-produce-runtime-statistics, max_bytes_used is 1065272 and peak_megabytes_allocated is 3. How/are those related ?
15:16:37 <dolio> It can.
15:16:43 <shad0w_> ^ sorry if that sounds stupid
15:16:45 <dolio> Then your result is `f (b -> c)`.
15:16:51 <geekosaur> but that doesn't help because ... that
15:17:14 <int-e> :t (<*>)
15:17:16 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
15:17:23 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
15:17:28 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
15:17:32 <geekosaur> and now you need Applicative to go any further
15:17:39 <int-e> that's the type you need to continue from f (b -> c)
15:17:58 × knupfer quits (~Thunderbi@87.123.206.34) (Quit: knupfer)
15:18:00 knupfer1 joins (~Thunderbi@200116b82c8bb80040b575c5aa538973.dip.versatel-1u1.de)
15:18:23 snakemasterflex joins (~snakemast@213.100.206.23)
15:18:30 <shad0w_> so, it becomes usefull if your first argument is (a -> b -> c ) ?
15:19:11 <dolio> It becomes useful if you have any number other than 1 of your `f` things that you want to do something with.
15:19:15 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
15:19:37 <dolio> pure lets you build an `f` thing if you have 0.
15:19:40 <shad0w_> so you could g <$> x1 <*> x2 ?
15:19:54 <dolio> And (<*>) lets you combine two `f` things into one.
15:20:22 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
15:20:24 knupfer1 is now known as knupfer
15:20:33 × kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 272 seconds)
15:20:40 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
15:20:57 <shad0w_> dolio: say i want to add Just 6 and Just 7
15:21:06 <shad0w_> then that's an applicative job ?
15:21:51 <int-e> :t liftA2 (+)
15:21:51 × gentauro quits (~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer)
15:21:52 <lambdabot> (Applicative f, Num c) => f c -> f c -> f c
15:22:19 <hololeap> shad0w_: that's correct
15:22:32 gentauro joins (~gentauro@unaffiliated/gentauro)
15:22:33 <int-e> @src liftA2
15:22:33 <lambdabot> liftA2 f a b = f <$> a <*> b
15:23:07 <hololeap> > (+) <$> Just 6 <*> Just 7
15:23:08 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
15:23:10 <lambdabot> Just 13
15:23:10 <kuribas> how do you experiment in ghci with new-style builds? It doesn't let me import libraries (like pretty-simple)
15:23:21 <hololeap> > (+) <$> Nothing <*> Just 7
15:23:24 <lambdabot> Nothing
15:24:06 <kuribas> is there a way to configure an interactive test environment in the cabal file?
15:24:19 <shad0w_> > (\x y z -> x + y +z) <$> Just 1 <*> Just 2 <*> Just 3
15:24:21 <lambdabot> Just 6
15:24:32 <shad0w_> ^Thanks bot
15:24:44 <sm[m]> isn't new-style a confusing term at this point
15:24:45 <shad0w_> i kindda get it now.
15:24:46 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
15:24:55 <shad0w_> thanks guys : D
15:24:56 <sm[m]> kuribas: cabal repl doesn't work ?
15:25:14 <kuribas> sm[m]: it doesn't let me import packages outside of the project
15:25:22 mu joins (~mu@unaffiliated/mu)
15:25:25 <hololeap> shad0w_: look up and read typeclassopedia for more details
15:25:38 <shad0w_> i am reading that
15:25:38 <hololeap> when you're ready
15:25:42 crobbins_ joins (~crobbins@2601:2c1:380:ec40:1cb9:1bb9:5a95:58fb)
15:25:45 <kuribas> sm[m]: well in ghci it works...
15:25:51 × mu quits (~mu@unaffiliated/mu) (Client Quit)
15:25:52 <sm[m]> kuribas: ah, that's normal. Perhaps you can bring in more by using a -package option
15:26:30 <kuribas> sm[m]: I just want to make a temporary test.hs file for quick testing and reloading into ghci
15:26:38 <sm[m]> if cabal doesn't have that option itself, then maybe cabal repl --ghc-options='-package A -package B'
15:26:59 <kuribas> sm[m]: so I don't need to retype some commands every reload
15:27:15 lucid_0x80 joins (~lucid_0x8@188.253.236.126)
15:27:44 <sm[m]> right, I did that the other day. I think I used stack --package A exec -- ghci test.hs or something
15:27:59 × geekosaur quits (42d52102@66.213.33.2) (Ping timeout: 245 seconds)
15:28:11 <sm[m]> so maybe cabal exec is the way, since test.hs isn't a component of the projec
15:28:12 <sm[m]> t
15:28:12 <kuribas> hmm, I'll try that
15:28:58 × nerdypepper quits (nerdypeppe@152.67.160.69) (Ping timeout: 260 seconds)
15:29:16 × utopic_int0x80 quits (~lucid_0x8@188.253.234.46) (Ping timeout: 265 seconds)
15:29:17 × crobbins quits (~crobbins@2601:2c1:380:ec40:d443:ce25:44e4:e44d) (Ping timeout: 260 seconds)
15:29:17 <kuribas> can I do :r with that?
15:30:07 irc_user joins (uid423822@gateway/web/irccloud.com/x-kojvjfqrylgayrvg)
15:30:27 × crobbins_ quits (~crobbins@2601:2c1:380:ec40:1cb9:1bb9:5a95:58fb) (Ping timeout: 260 seconds)
15:31:13 × shad0w_ quits (~shad0w_@160.202.37.157) (Ping timeout: 246 seconds)
15:32:36 mu joins (~mu@unaffiliated/mu)
15:32:43 × hololeap quits (~hololeap@unaffiliated/hololeap) (Quit: KVIrc 5.0.1 Aria http://www.kvirc.net/)
15:33:04 geekosaur joins (42d52102@66.213.33.2)
15:33:28 <sm[m]> kuribas: how do you mean ?
15:33:55 <kuribas> reload
15:33:58 <kuribas> in ghci
15:34:14 Papillon joins (696b16db@105.107.22.219)
15:34:30 kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz)
15:36:50 filwisher joins (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
15:37:47 <fendor_> kuribas, `cabal repl -b A -b B` should work.
15:38:35 <kuribas> cabal new-repl -b /tmp/test.hs => couldn't parse dependency: /tmp/test.hs
15:38:56 × kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 265 seconds)
15:38:59 <fendor_> kuribas, A is the dependency
15:39:05 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
15:39:18 <fendor_> such as aeson or pretty-simple
15:39:24 <kuribas> right...
15:39:34 mu joins (~mu@unaffiliated/mu)
15:39:37 <kuribas> how do I load a /file
15:40:04 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
15:40:13 <fendor_> ":l /path/to/file"
15:40:15 tzh joins (~tzh@2601:448:c500:5300::82b3)
15:40:22 × Papillon quits (696b16db@105.107.22.219) (Remote host closed the connection)
15:40:27 <fendor_> within ghci?
15:41:01 × dhil quits (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 264 seconds)
15:42:01 <kuribas> right :)
15:42:37 crobbins joins (~crobbins@2600:380:7c78:c227:587a:b262:8c82:9b59)
15:42:38 <kuribas> now only convincing emacs to pass these arguments to cabal repl...
15:42:58 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
15:43:15 GyroW joins (~GyroW@ptr-48ujrfb8c7gfd2lu92q.18120a2.ip6.access.telenet.be)
15:43:17 × GyroW quits (~GyroW@ptr-48ujrfb8c7gfd2lu92q.18120a2.ip6.access.telenet.be) (Changing host)
15:43:17 GyroW joins (~GyroW@unaffiliated/gyrow)
15:44:38 <sm[m]> this nothunks lib from the cardano team sounds fantastic
15:46:19 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-ibhrcxsjgffyrrzh)
15:47:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:47:07 × kuribas quits (~user@ptr-25vy0i80qh4go15t39e.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
15:48:04 × crobbins quits (~crobbins@2600:380:7c78:c227:587a:b262:8c82:9b59) (Remote host closed the connection)
15:49:03 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
15:49:12 crobbins joins (~crobbins@2600:380:7c78:c227:587a:b262:8c82:9b59)
15:49:44 mu joins (~mu@unaffiliated/mu)
15:50:02 vicfred joins (~vicfred@unaffiliated/vicfred)
15:51:06 × oish quits (~charlie@228.25.169.217.in-addr.arpa) (Quit: Lost terminal)
15:52:12 DTZUZU_ joins (~DTZUZU@205.ip-149-56-132.net)
15:52:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
15:52:28 × filwisher quits (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 265 seconds)
15:53:28 <sm[m]> speaking of which, another q. I have a program where +RTS -S prints out unchanging numbers. I think this means it's running with constant heap ?
15:53:47 × crobbins quits (~crobbins@2600:380:7c78:c227:587a:b262:8c82:9b59) (Ping timeout: 260 seconds)
15:54:19 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
15:54:52 × DTZUZU quits (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 272 seconds)
15:54:55 × AWizzArd quits (~code@gehrels.uberspace.de) (Changing host)
15:54:55 AWizzArd joins (~code@unaffiliated/awizzard)
15:55:11 <sm[m]> and the overall statistics printed at the end look reasonable. Meanwhile, I can see it's Memory steadily increasing without limit in macos Activity Monitor. Does that mean it is leaking thunks and the stack is growing ? and the RTS stats don't show that ?
15:56:04 × machinedgod quits (~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 246 seconds)
15:56:47 <sm[m]> and this program uses SDL, in case it's relevant
15:57:09 <sm[m]> maybe I'm leaking foreign C memory, not haskell memory ?
15:57:12 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
15:57:48 dhil joins (~dhil@11.29.39.217.dyn.plus.net)
15:58:10 × oxide quits (~lambda@unaffiliated/mclaren) (Read error: Connection reset by peer)
15:58:42 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
15:59:04 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
15:59:18 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Remote host closed the connection)
15:59:18 × cpressey quits (~cpressey@79-72-202-6.dynamic.dsl.as9105.com) (Quit: WeeChat 1.9.1)
15:59:34 mu joins (~mu@unaffiliated/mu)
16:01:24 ubert joins (~Thunderbi@91.141.0.190.wireless.dyn.drei.com)
16:02:30 × ixlun quits (~matthew@109.249.184.193) (Read error: Connection reset by peer)
16:05:49 × chele quits (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
16:09:24 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
16:09:35 mu__ joins (~mu@unaffiliated/mu)
16:12:17 nerdypepper joins (nerdypeppe@152.67.160.69)
16:14:16 z0 joins (~z0@bl15-165-108.dsl.telepac.pt)
16:14:17 × LKoen quits (~LKoen@81.255.219.130) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
16:14:39 z0 is now known as Guest86631
16:15:21 jedws joins (~jedws@2001:8003:337f:1b00:edc3:4bd4:30b0:401b)
16:15:25 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
16:16:45 × v_m_v quits (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099) (Remote host closed the connection)
16:16:59 × Guest69388 quits (~z0@bl17-248-65.dsl.telepac.pt) (Ping timeout: 240 seconds)
16:17:11 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
16:18:11 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:18:11 v_m_v joins (~vm_v@2a02:aa12:3200:6480:4e1d:96ff:fe6a:41bd)
16:18:30 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
16:18:45 Saten-san joins (~Saten-san@ip-62-235-73-121.dsl.scarlet.be)
16:18:48 wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:19:04 × mu__ quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
16:19:32 × mirk0 quits (~mirko@unaffiliated/-mirko-/x-2946915) (Ping timeout: 265 seconds)
16:19:36 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
16:19:43 mu joins (~mu@unaffiliated/mu)
16:20:21 × mu quits (~mu@unaffiliated/mu) (Client Quit)
16:21:38 × v_m_v quits (~vm_v@2a02:aa12:3200:6480:4e1d:96ff:fe6a:41bd) (Remote host closed the connection)
16:23:44 Tops2 joins (~Tobias@dyndsl-095-033-024-124.ewe-ip-backbone.de)
16:23:46 × wroathe_ quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
16:23:52 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:24:38 × breezykermo quits (~breezyker@p200300ed5f114200c95d7bbe0250101c.dip0.t-ipconnect.de) ()
16:25:16 frdg joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
16:26:06 filwisher joins (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
16:26:19 × geekosaur quits (42d52102@66.213.33.2) (Ping timeout: 245 seconds)
16:27:07 × raehik quits (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Quit: WeeChat 2.8)
16:28:00 raehik joins (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
16:30:43 ccallahan1 joins (~ccallahan@195.140.213.38)
16:31:17 oisdk joins (~oisdk@2001:bb6:3329:d100:fd58:7633:8b1d:97)
16:32:23 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:32:41 Amras joins (~Amras@unaffiliated/amras0000)
16:33:16 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
16:38:14 ddellacosta joins (~dd@86.106.121.168)
16:41:22 × nineonin_ quits (~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection)
16:41:59 nineonine joins (~nineonine@216-19-190-182.dyn.novuscom.net)
16:42:53 × ddellacosta quits (~dd@86.106.121.168) (Client Quit)
16:43:44 snakemasterflex joins (~snakemast@213.100.206.23)
16:44:47 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Ping timeout: 272 seconds)
16:45:51 ddellacosta joins (~dd@86.106.121.168)
16:46:16 kritzefitz joins (~kritzefit@212.86.56.80)
16:46:36 × nineonine quits (~nineonine@216-19-190-182.dyn.novuscom.net) (Ping timeout: 265 seconds)
16:46:56 × filwisher quits (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 256 seconds)
16:47:25 × abhixec quits (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
16:47:31 × jespada quits (~jespada@90.254.241.6) (Quit: Leaving)
16:48:24 × frdg quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
16:48:58 W3BV1P3R_ joins (~W3BV1P3R@c-73-5-91-226.hsd1.tn.comcast.net)
16:49:45 × W3BV1P3R_ quits (~W3BV1P3R@c-73-5-91-226.hsd1.tn.comcast.net) (Client Quit)
16:50:16 mu joins (~mu@unaffiliated/mu)
16:50:45 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:51:39 × Saten-san quits (~Saten-san@ip-62-235-73-121.dsl.scarlet.be) (Quit: WeeChat 2.8)
16:52:09 shad0w_ joins (~shad0w_@160.202.37.157)
16:55:17 × oisdk quits (~oisdk@2001:bb6:3329:d100:fd58:7633:8b1d:97) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:55:43 × coot quits (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
16:55:54 oisdk joins (~oisdk@2001:bb6:3329:d100:fd58:7633:8b1d:97)
16:56:20 <cohn> can anyone recommend a good command line argument processing library?
16:56:50 nineonine joins (~nineonine@216.81.48.202)
16:57:14 frdg joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
16:57:25 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
16:57:37 <frdg> how can I use stack to compile binaries?
16:57:56 mu joins (~mu@unaffiliated/mu)
16:58:09 <dsal> frdg: stack build
16:58:16 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
16:58:41 <dsal> cohn: I usually just use optparse-applicative, but depending on what your needs are, there are easier or fancier things.
16:59:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
16:59:05 <cohn> dsal: easy is always good. I'll take a look, thanks!
17:00:07 <dsal> cohn: There's this thing, but I've not used it because I always end up doing something a little weird: https://hackage.haskell.org/package/optparse-generic-1.4.3/docs/Options-Generic.html
17:00:37 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
17:00:43 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
17:01:32 <frdg> dsal: ok that is what I thought. I have been running stack build but only get this ouput: https://dpaste.org/YDpW. Where do the binaries go?
17:01:36 × frdg quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Client Quit)
17:02:45 × shad0w_ quits (~shad0w_@160.202.37.157) (Remote host closed the connection)
17:02:59 crobbins joins (~crobbins@2601:2c1:380:ec40:2d4a:f96c:b859:c0ae)
17:03:21 × otulp quits (~otulp@ti0187q162-5025.bb.online.no) (Remote host closed the connection)
17:03:38 <dsal> stack path --local-install-root
17:03:41 <dsal> Or you can just 'stack install'
17:04:11 <dsal> That warning is kind of interesting, though. It implies you've modified a generated .cabal and you've probably got some confusion there.
17:04:55 Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
17:05:16 sand_dull joins (~theuser@62.182.99.37)
17:05:27 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
17:05:58 frdg joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
17:07:14 fendor_ is now known as fendor
17:07:27 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:07:28 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
17:07:59 mu joins (~mu@unaffiliated/mu)
17:08:42 Saten-san joins (~Saten-san@ip-62-235-73-121.dsl.scarlet.be)
17:08:58 mirrorbird joins (~psutcliff@m83-187-173-228.cust.tele2.se)
17:10:14 × elliott_ quits (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
17:10:42 <frdg> dsal: stack install worked. No idea how I have managed to mess the cabal file up.
17:10:42 × frdg quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Client Quit)
17:11:18 <dsal> The instructions suggest you could just delete it. If you have package.yaml and the .cabal, that's going to be confusing.
17:11:30 fluturel joins (~fluturel@82.137.14.51)
17:11:56 <fluturel> hello?
17:11:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
17:12:11 <yushyin> hello fluturel
17:12:48 × raichoo quits (~raichoo@213.240.178.58) (Quit: Lost terminal)
17:13:03 <fluturel> so i just learning haskell a few minutes ago. Don't have any questions yet, just wanted to see if the channel is still active
17:13:56 elliott_ joins (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
17:14:43 <yushyin> actually it is one of the more active channels on freenode
17:14:49 geekosaur joins (42d52102@66.213.33.2)
17:14:57 hackage prolude 0.0.0.0 - ITProTV's custom prelude https://hackage.haskell.org/package/prolude-0.0.0.0 (fozworth)
17:15:17 coot joins (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl)
17:15:40 <fluturel> is my understanding correct that i can execute little haskell programs right here in the chat?
17:15:52 <dsal> No, but there are a couple of bots that can evaluate expressions.
17:16:17 <fluturel> how would one go about doing that?
17:16:21 <dsal> You can speak to those bots privately if you want to try to use them as a repl, but ghci will be a lot better.
17:16:54 <dsal> > length . words $ "this is lambdabot"
17:16:58 <lambdabot> 3
17:17:07 <dsal> % length . words $ "this is yahb"
17:17:08 <yahb> dsal: 3
17:17:28 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
17:17:34 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
17:17:40 <fluturel> ooh, that's interesting
17:17:42 <dsal> They're different, but helpful for demonstrating basic ideas.
17:17:43 <fluturel> thank you
17:17:54 mu joins (~mu@unaffiliated/mu)
17:18:12 <dsal> Both will be terribly frustrating if you try to use them as ghci. ghci will be terribly frustrating if you try to use it as a scratch pad.
17:18:44 <fluturel> i will certainly come back here, should i need help (i most certainly will). Coming from
17:18:59 × sand_dull quits (~theuser@62.182.99.37) (Ping timeout: 265 seconds)
17:19:06 <fluturel> Coming from C++ and the like, i heards it can be pretty brutal
17:19:28 × Saten-san quits (~Saten-san@ip-62-235-73-121.dsl.scarlet.be) (Ping timeout: 265 seconds)
17:19:28 × knupfer quits (~Thunderbi@200116b82c8bb80040b575c5aa538973.dip.versatel-1u1.de) (Remote host closed the connection)
17:19:30 <dsal> Haskell is pretty easy. Haskell with a brain conditioned on C++ might be hard.
17:19:36 knupfer joins (~Thunderbi@200116b82c8bb80079b1331ba61465fc.dip.versatel-1u1.de)
17:20:17 <fluturel> I do have some experience with Common LISP, but I dont know if that is considered functional nowadays
17:21:11 <dsal> It's not even so much the "functional" bits. It's just a different language with different conventions (including calling conventions), culture, etc...
17:22:11 <dsal> Things that might be important for optimizing or organizing C++ code could be hugely detrimental to your Haskell experience and lead down dark paths.
17:22:13 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
17:22:15 <ski> fluturel : just lurking in here can also be pretty useful, when learning
17:22:18 <dsal> fluturel: How are you going about learning haskell?
17:22:43 <dsal> Yeah, one neat thing about lurking is that you'll get exposed to a lot of things you hadn't considered.
17:23:00 <fluturel> like using guards as ifs and such?
17:23:27 <dsal> Just general structure (though I almost never use 'if' in any of my code).
17:24:26 <fluturel> well, i got a book that has most of the language features. It's more like a doc than anything else. And also, some tutorials that I found. I am starting with learnyouahaskell.com
17:24:31 <ski> fluturel : you will learn to use recursion for looping, pattern-matching for destructuring and branching, learn to program (mostly/usually) without mutable variables, get access to a nice, flexible, powerful, static type system
17:24:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:25:02 <ski> fluturel : oh, and higher-order programming, with lexical scope
17:25:43 <ski> @where CIS194
17:25:43 <lambdabot> https://www.seas.upenn.edu/~cis194/spring13/lectures.html
17:26:02 <fluturel> ski : i know what most of the things you said are. No idea about pattern-matching, sounds like you are talking about regex
17:26:05 <ski> fluturel : that ^ has exercises, if you want some to chew on (LYAH doesn't have any)
17:26:29 <fluturel> Oh, thank you so much, just bookmarked it!
17:27:04 <ski> fluturel : have you used `destructuring-bind', in CL ?
17:27:16 <fluturel> Yes
17:27:40 <fluturel> So it's like that
17:27:40 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
17:27:41 <ski> well, pattern-matching is like that, "only more so", also incorporates branching on the possible shapes a piece of datum may assume
17:27:53 mu joins (~mu@unaffiliated/mu)
17:28:11 × John20 quits (~John@82.46.59.122) (Ping timeout: 240 seconds)
17:28:21 <dsal> You can define different expressions for functions based on the value of their arguments, for example.
17:28:32 <ski> @src length
17:28:32 <lambdabot> Source not found. Where did you learn to type?
17:28:41 <ski> hmpf
17:28:48 <ski> length :: [a] -> Int
17:28:52 <ski> length [ ] = 0
17:29:00 <ski> length (x:xs) = 1 + length xs
17:29:10 × cosimone quits (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
17:29:24 <ski> is the traditional way to define the length of a (single-linked) list
17:29:47 <ski> `x:xs' there is like a "dotted pair/cons", in the Lisp world. and `[]' is the empty list
17:30:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
17:30:21 <fluturel> ah, i see, so it's recursion
17:30:24 <ski> so, `length' is defined via "two definitions" (two defining equations), each handling one of the two possible cases (empty vs. non-empty list)
17:30:32 <ski> yes
17:30:35 <dsal> recursion isn't the interesting part of that example, though.
17:30:38 <fluturel> xs is the remainder of the list and evaluates till xs is empty list
17:30:52 <fluturel> yeah, no, i got that
17:31:07 <monochrom> The point is we don't write like "length list = if null list then 0 else 1 + tail list"
17:31:14 <ski> but you can use this style of definition as well, for your own, user-defined, data types
17:31:22 <fluturel> And what you said about destructuring-bind being close to this, it does make a lot of sense
17:31:24 <dsal> > let isThree 3 = True; isThree _ = False in map isThree [1..5]
17:31:28 <lambdabot> [False,False,True,False,False]
17:31:44 <ski> s/tail list/length (tail list)/
17:31:50 <dsal> I have two different definitions of isThree that do different things depending on the value of the argument.
17:31:56 <albestro[m]> fluturel: I'm studying in parallel both CIS194 2013 and LYAH...for CIS194 I found useful from time to time to compare my solution with the one from the students who attended the course. you can find few of them on github
17:32:58 <fluturel> albestro[m]: thank you for the suggestion
17:33:29 Saten-san joins (~Saten-san@ip-62-235-73-121.dsl.scarlet.be)
17:33:31 <fluturel> albestro[m]: how long have you been studying for?
17:34:16 <albestro[m]> fluturel: I started during holidays (1 week of spare time) and in the last weeks I had few time to dedicate...but let's say 1 month on the calendar
17:34:34 <cohn> albestro[m]: beware, some of LYAH is out of date. For example no coverage of Semigroups
17:34:42 <cohn> other than that, great resource
17:35:02 <albestro[m]> cohn: thanks! it's absolutely worth knowing.
17:35:47 <albestro[m]> also about CIS194, I preferred the 2013 version because it feels like it is more dedicated to the "low-level'
17:36:12 <albestro[m]> compared to the newer one that it seems like they are trying to be "more interesting" with visual things
17:36:26 cohn shrugs
17:36:43 <cohn> I don't know enough to have an opinion either way. : )
17:37:05 <sm[m]> fluturel, also good:
17:37:05 <sm[m]> @where HTAC
17:37:05 <lambdabot> "Haskell Tutorial and Cookbook" by Mark Watson in 2017-09-04 at <https://leanpub.com/haskell-cookbook>
17:37:12 ski grins
17:37:23 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
17:37:42 <sm[m]> ski, you saw that coming ? :)
17:37:53 mu joins (~mu@unaffiliated/mu)
17:37:55 <ski> was briefly thinking about it
17:38:10 <fluturel> sm[m]: i found it during my searches, but thank you, will be in my priority list
17:38:37 <ski> fluturel : at some point, you may find yourself wanting a textbook
17:38:55 <fluturel> i should have taken haskell up while in lockdown..
17:39:20 <sm[m]> that guy is not paying me, I promise. I just think it's among the best for many folk, and still mysteriously unknown, so I am duty bound to mention it
17:40:54 <dsal> fluturel: Everything I've ever learned felt like I learned it too late.
17:41:27 brandstifter joins (~brandstif@62-46-52-151.adsl.highway.telekom.at)
17:42:02 <fluturel> dsal: I know exactly what you mean. If only i learned more when i had loads of free time..
17:43:28 <sm[m]> no time like the present
17:44:26 <fluturel> i have another question: what can you do with haskell these days? Is it just a niche programming language?
17:44:43 <dsal> fluturel: Here's a project I did recently: http://dustin.sallings.org/2020/04/29/gopro-plus.html
17:44:50 <dsal> I fail to write up most of the things I do. *sigh*
17:44:53 <sm[m]> ha, leading question there
17:46:21 × bitmagie quits (~Thunderbi@200116b8065d560030e19c72082b8700.dip.versatel-1u1.de) (Quit: bitmagie)
17:46:22 DTZUZU joins (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net)
17:46:24 <fluturel> sm[m]: sorry if it is, should have phrased it a little bit differently
17:46:36 <dsal> I sat down to do some "hard" work on that project a couple of nights ago -- resuming partial uploads that failed exactly at the wrong moment where all the bits have been updated but the media wasn't marked completed on GoPro's side. Turns out, it was just a couple lines of code to cover that case. :(
17:46:40 snakemasterflex joins (~snakemast@213.100.206.23)
17:46:55 <monochrom> It would be easier to enumerate just the handful of things Haskell is impractical for.
17:47:01 × DTZUZU_ quits (~DTZUZU@205.ip-149-56-132.net) (Ping timeout: 264 seconds)
17:47:14 <dsal> fluturel: Nah, Haskell has a reputation of being a weird experimental language for academics. In practice, it's the easiest language I use and the first thing I reach for when I'm doing general computering.
17:47:16 <sm[m]> fluturel: anything that doesn't require zero GC pauses, or cheap developers, or running on mobile
17:47:34 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
17:47:54 mu joins (~mu@unaffiliated/mu)
17:47:58 <dsal> "running on mobile" is a little unfortunate. Some of my programs are running on tiny ARM computers.
17:48:13 × brandstifter quits (~brandstif@62-46-52-151.adsl.highway.telekom.at) ()
17:48:23 <sm[m]> cool, I should say "running on phones" maybe
17:48:26 <nshepperd> haskell is a programming language so easy, even academics can use it!
17:48:29 <monochrom> And even those divide into fundamentally impractical vs for-now impractical.
17:49:13 × DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Remote host closed the connection)
17:49:48 <dsal> Yeah, it's more about outward requirements. If something has to be written using particular APIs that aren't accessible, then it's not exactly a "Haskell" problem as much as "you're not using the exact language allowed to work with this platform" problem.
17:50:06 <fluturel> i thought i read something a few years ago about a company that was making games in haskell for mobile. Can't remember the name though
17:50:16 <sm[m]> Keera, they stopped
17:50:45 <sm[m]> as far as I know, at least
17:51:24 <sm[m]> so yes it is possible to run haskell somehow on phones, but I'd say it's impractical except for the very highly motivated
17:51:32 × crobbins quits (~crobbins@2601:2c1:380:ec40:2d4a:f96c:b859:c0ae) (Remote host closed the connection)
17:51:34 <sm[m]> for now
17:52:00 <dsal> fluturel: A better way to think about this is to think about the types of programs you're interested in writing and whether it'll help you with that.
17:52:09 crobbins joins (~crobbins@2601:2c1:380:ec40:cf6:f95e:2b94:e5c5)
17:52:22 <geekosaur> and it's not so much that Haskell doesn't work well, as GHC doesn't work well — but for now at least GHC is the only real option
17:52:28 <geekosaur> (I miss jhc still)
17:52:35 <fluturel> i was thinking about trying to do a back-end or something in haskell
17:52:57 <dsal> Most of my programs are IoT or general commandline utilities or monitoring, stats, etc... And my GoPro junk. And various data processing things. All of that stuff is easy.
17:53:25 <dolio> I don't know. Nothing ever worked as well as GHC anyway for most stuff.
17:53:48 <dsal> Damn you GHC. Stop making everything else look bad.
17:54:19 <monochrom> @quote monochrom downloaded.GHC
17:54:20 <lambdabot> monochrom says: I was trying to design a sensible language... then I downloaded ghc.
17:54:25 × dhouthoo quits (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.8)
17:54:25 <geekosaur> hugs worked pretty well back in the day. but ghc has been alone for so long that other implementations now have to catch up to it as well as implementing standard Haskell :(
17:54:37 <sm[m]> but of course GHC makes a lot of other stuff look really good
17:54:39 <dsal> The GHC language is kind of big.
17:54:57 <dsal> Heh, yeah. I didn't mean to imply GHC is great at all the things. It's a frustrating part of some of mydays.
17:54:57 <dolio> Hugs worked, but the stuff people used it for wasn't building applications that GHC is unsuitable for.
17:55:04 <dolio> To my knowledge.
17:55:21 <monochrom> Actually I think I started with hugs back then, and added GHC later.
17:55:22 × oisdk quits (~oisdk@2001:bb6:3329:d100:fd58:7633:8b1d:97) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:55:43 <geekosaur> people have at least tried to resuscitate it for use on limited memory platforms iirc
17:56:32 <nshepperd> i wish for a ghc which can produce platform independent STG
17:56:53 <nshepperd> so i can just write an STG interpreter in java to make things run on phones :>
17:57:12 <fluturel> IoT with haskell actually sounds really interesting
17:57:24 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
17:57:54 mu joins (~mu@unaffiliated/mu)
17:58:10 <davean> Theres the ghci bytecode? I don't know a ton about it. Bytecode isn't really enough - you need the RTS.
17:58:31 <monochrom> "just write an STG interpreter" is also easier said than done.
17:59:05 <davean> And why you'd do all that to run Haskell on a phone I don't know
17:59:09 <davean> You CAN compile to target a phone
17:59:19 <davean> a lot of the hard part is the PDK component
17:59:41 <monochrom> which is also what davean said and I had in mind. Interpeter or compiler, you need an RTS or equivalent that does all the amazing multi-green-threading and I/O multiplexing and...
17:59:59 <dolio> What happened to the GHC fork that ran on JVM?
18:00:02 × ccallahan1 quits (~ccallahan@195.140.213.38) ()
18:00:18 <davean> dolio: which one? eta?
18:00:22 <davean> There were a few
18:00:41 <dolio> Were there? I was thinking of eta, I think.
18:00:58 hackage polysemy-test 0.3.0.0 - Polysemy effects for testing https://hackage.haskell.org/package/polysemy-test-0.3.0.0 (tek)
18:01:19 <dolio> Running STG on JVM seems non-trivial anyway, because of the 'fixing space leaks in a garbage collector' thing that the JVM's garbage collector won't be doing.
18:01:32 <monochrom> But consider translating hugs from C to Java. :)
18:01:48 <nshepperd> dolio: what's that
18:02:13 oisdk joins (~oisdk@2001:bb6:3329:d100:fd58:7633:8b1d:97)
18:02:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:02:28 <dolio> nshepperd: It's the title of a paper by Wadler, I think.
18:02:36 <monochrom> <bad pun time> eta has an ETA of "indefinite" </bad pun time> :)
18:04:05 × lucid_0x80 quits (~lucid_0x8@188.253.236.126) (Ping timeout: 240 seconds)
18:04:17 × strangeglyph quits (~strangegl@boreeas.net) (Quit: User terminated)
18:04:48 <phadej> nshepperd: TL;DR when GC find a value which is fst (a, b); i.e. selector applied to already evaluated constructor, it evaluates it
18:05:04 <phadej> thus `b` could be possibly freed
18:05:58 strangeglyph joins (~strangegl@37.120.174.35)
18:06:08 jlamothe joins (~jlamothe@dev.jlamothe.net)
18:07:24 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
18:07:45 × obihann quits (~jhann@156.34.160.69) (Ping timeout: 240 seconds)
18:07:54 mu joins (~mu@unaffiliated/mu)
18:08:58 hackage polysemy-test 0.3.0.1 - Polysemy effects for testing https://hackage.haskell.org/package/polysemy-test-0.3.0.1 (tek)
18:10:03 × mirrorbird quits (~psutcliff@m83-187-173-228.cust.tele2.se) (Quit: Leaving)
18:10:41 <phadej> I *guess* if JVM had native notion of thunks, its GCs would do that optimization
18:10:44 jdgr joins (601c428b@gateway/web/cgi-irc/kiwiirc.com/ip.96.28.66.139)
18:12:26 <nshepperd> interesting
18:13:52 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
18:14:34 <dsal> Is polysemy still a thing?
18:14:34 <davean> the 'eta' idea was to use the RTTI/Debugging support to do that optimization, right?
18:15:35 cgfuh joins (~cgfuh@181.167.191.58)
18:16:06 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
18:16:15 <phadej> davean: I don't know
18:16:40 howdoi joins (uid224@gateway/web/irccloud.com/x-aqxmdshelfofznzr)
18:17:11 DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
18:17:32 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
18:17:53 mu joins (~mu@unaffiliated/mu)
18:18:41 × coot quits (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
18:18:52 <pie_> man I dont know if parser combinators are hard to debug or just parsy as a python parser combinator library...
18:19:02 <pie_> i make prgress and get stuck on some self induced bug for hours
18:19:31 × esp32_prog quits (yoann@gateway/vpn/protonvpn/esp32prog/x-46565127) (Ping timeout: 256 seconds)
18:19:33 reppertj joins (~textual@pool-96-246-209-59.nycmny.fios.verizon.net)
18:19:44 coot joins (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl)
18:19:49 × coot quits (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
18:21:33 m0rphism joins (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
18:21:48 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:22:10 lucid_0x80 joins (~lucid_0x8@188.253.236.126)
18:23:28 hackage wai-session-postgresql 0.2.1.3 - PostgreSQL backed Wai session store https://hackage.haskell.org/package/wai-session-postgresql-0.2.1.3 (hc)
18:23:32 coot joins (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl)
18:23:42 × solonarv quits (~solonarv@anancy-653-1-63-100.w109-217.abo.wanadoo.fr) (Ping timeout: 272 seconds)
18:23:57 × knupfer quits (~Thunderbi@200116b82c8bb80079b1331ba61465fc.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
18:24:40 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 260 seconds)
18:25:09 × micro quits (~micro@unaffiliated/micro) (Remote host closed the connection)
18:26:11 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
18:26:25 <nshepperd> was your problem too much backtracking or not enough backtracking
18:26:46 <monochrom> I think parser combinators are harder to debug (than ordinary recursive functions). I tried to add Debug.Trace messages, and quickly realized I couldn't design useful debugging messages.
18:27:24 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
18:27:37 × lucid_0x80 quits (~lucid_0x8@188.253.236.126) (Read error: Connection reset by peer)
18:28:00 mu joins (~mu@unaffiliated/mu)
18:31:45 × coot quits (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
18:35:44 kritzefitz joins (~kritzefit@212.86.56.80)
18:36:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
18:36:25 <sm[m]> I have a dbgparse function that I stick into megaparsec parsers. megaparsec itself provides a dbg, also. Such things are definitely needed at times
18:37:23 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
18:37:53 mu joins (~mu@unaffiliated/mu)
18:37:59 × geekosaur quits (42d52102@66.213.33.2) (Ping timeout: 245 seconds)
18:38:01 × ubert quits (~Thunderbi@91.141.0.190.wireless.dyn.drei.com) (Ping timeout: 258 seconds)
18:40:13 hiptobecubic joins (~john@unaffiliated/hiptobecubic)
18:43:48 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Quit: WeeChat 2.9)
18:47:23 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-ppgacbnpjvcoyxiy) (Quit: Connection closed for inactivity)
18:47:24 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
18:47:53 mu joins (~mu@unaffiliated/mu)
18:48:01 × Saten-san quits (~Saten-san@ip-62-235-73-121.dsl.scarlet.be) (Quit: WeeChat 2.8)
18:50:18 × nyd quits (~nyd@unaffiliated/elysian) (Ping timeout: 272 seconds)
18:54:13 × oisdk quits (~oisdk@2001:bb6:3329:d100:fd58:7633:8b1d:97) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:55:07 micro joins (~micro@unaffiliated/micro)
18:56:05 crobbins_ joins (~crobbins@2601:2c1:380:ec40:2d4a:f96c:b859:c0ae)
18:56:36 landonf1 joins (~landonf@193.56.252.210)
18:57:23 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
18:57:54 mu joins (~mu@unaffiliated/mu)
18:59:52 × crobbins quits (~crobbins@2601:2c1:380:ec40:cf6:f95e:2b94:e5c5) (Ping timeout: 260 seconds)
19:00:27 × crobbins_ quits (~crobbins@2601:2c1:380:ec40:2d4a:f96c:b859:c0ae) (Ping timeout: 260 seconds)
19:01:03 abhixec joins (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net)
19:01:25 Thra11 joins (~Thra11@5.1.169.217.in-addr.arpa)
19:02:07 frdg joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
19:03:00 <glguy> parser combinators turn you into the parser compiler. using them for more than simple parsers generates debugging challenges and makes it hard to know what the grammar you actually support is
19:03:27 Lycurgus joins (~niemand@98.4.96.130)
19:06:48 geekosaur joins (42d52102@66.213.33.2)
19:07:44 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
19:07:55 mu__ joins (~mu@unaffiliated/mu)
19:09:04 kenran joins (~maier@mue-88-130-62-135.dsl.tropolys.de)
19:09:56 × frdg quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
19:12:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:13:38 <pie_> the problem i run into a lot is i dont know which piece of code is causing the error
19:13:41 × jedws quits (~jedws@2001:8003:337f:1b00:edc3:4bd4:30b0:401b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:13:45 <pie_> i also have no idea when backtracking triggers :P
19:14:02 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
19:14:21 <pie_> though my code so far afaik doesnt have any deliberate backtracking, so if backtracking happens its probably by mistake
19:15:47 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
19:16:18 × fluturel quits (~fluturel@82.137.14.51) (Quit: leaving)
19:16:44 Lycurgus had to look at the log, backtracking in hs sounded funny
19:16:57 <hyperisco> combinators are supposed to be syntactically relatable to grammar notation like BNF
19:17:10 <hyperisco> so you are supposed to be able to understand the grammar that way
19:17:26 × mu__ quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
19:17:35 <ski> (some familiarity with Prolog, and perhaps in particular DCG, might help)
19:17:54 mu joins (~mu@unaffiliated/mu)
19:18:04 <hyperisco> the complication is to watch out for restricted grammar classes (most combinators do not support all CFG)
19:18:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
19:18:59 <hyperisco> I'd just use combinators that do support all CFG if confusion is the main problem
19:20:45 × Mcdukc quits (~oleg@90.255.27.8) (Read error: Connection reset by peer)
19:21:36 v_m_v joins (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099)
19:22:32 takuan joins (~takuan@178-116-218-225.access.telenet.be)
19:22:48 <pie_> im parsing some text file generated by some government land office program
19:22:57 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:22:58 <pie_> its not exactly parsing friendly but i havent seen any specs either so
19:23:34 Lycurgus guesses that most hs parser things are ll or lr without backtracking
19:23:34 <pie_> but yeah its not like i have some grammar to code against
19:27:06 crobbins joins (~crobbins@2600:1700:48eb:8490:4a3:9554:f20a:562c)
19:27:28 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
19:27:28 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
19:27:54 mu joins (~mu@unaffiliated/mu)
19:29:34 × bloodstalker quits (~bloodstal@46.166.187.178) (Ping timeout: 272 seconds)
19:30:48 nyd joins (~nyd@unaffiliated/elysian)
19:34:56 <sm[m]> pie_: you need one of those debug functions I mentioned
19:35:18 <sm[m]> glguy that's an interesting observation
19:35:27 <hyperisco> pie_, if you suspect it is realisable as a CFG then I
19:35:32 <hyperisco> 'd start there on paper
19:35:44 <hyperisco> and only after succeeding with that worry about the program
19:36:34 × v_m_v quits (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099) (Remote host closed the connection)
19:36:52 <hyperisco> some combinators instance Monad and can parse some grammars outside CFG
19:37:16 <hyperisco> I think best to know the nature of what you're dealing with first
19:37:28 × jneira quits (501e65ce@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.206) (Ping timeout: 260 seconds)
19:37:29 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
19:37:54 mu joins (~mu@unaffiliated/mu)
19:38:29 coot joins (~coot@37.30.52.6.nat.umts.dynamic.t-mobile.pl)
19:39:11 <sm[m]> pie_: maybe those functions won't work for you but it's worth building one, along the lines of https://hackage.haskell.org/package/hledger-lib-1.19.1/docs/Hledger-Utils-Debug.html#v:traceParse
19:39:47 × sooch quits (~sooch@209.6.196.179) (Quit: leaving)
19:39:56 <sm[m]> hyperisco: very true
19:40:08 frdg joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
19:40:48 <frdg> how does stack decide which version of ghc to use? I use ghcup. I would like the default ghc to be 8.8.3.
19:41:07 <frdg> ghc --version returns a different ghc than 8.8.3
19:41:17 <glguy> stack and ghcup are different things
19:42:09 <frdg> so different stack versions use different ghc's ?
19:42:10 acidjnk_new joins (~acidjnk@p200300d0c7237802f9328c36b4a510ff.dip0.t-ipconnect.de)
19:42:12 <geekosaur> stack installs its own ghc based on the selected/current resolver, and by default ignores any ghc from a different source
19:42:23 <sm[m]> By the resolver in the nearest stack.yaml
19:42:57 hackage bugsnag-hs 0.2.0.0 - A Bugsnag client for Haskell. https://hackage.haskell.org/package/bugsnag-hs-0.2.0.0 (JasperWoudenberg)
19:43:11 <geekosaur> a differet stack release will probably default to a different resolver, but this can be configured by editing a stack.yaml somewhere (either in the current project, or a global default one)
19:43:29 isovector1 joins (~isovector@172.103.216.166)
19:43:43 <frdg> oh ok. Now to my next question. How can I change my stack version from 2.3.3 to 2.4?
19:44:26 <sm[m]> after that is released, stack upgrade (is one way)
19:45:00 × geekosaur quits (42d52102@66.213.33.2) (Remote host closed the connection)
19:45:23 × Lycurgus quits (~niemand@98.4.96.130) (Quit: Exeunt)
19:45:34 <phadej> weird, I just noticed that stack-2.5 prerelease was tagged
19:45:39 johtso joins (uid563@gateway/web/irccloud.com/x-dfhkalrthzrhztaj)
19:45:41 <phadej> I wonder what happened to 2.4 (well, not really)
19:45:50 <phadej> https://github.com/commercialhaskell/stack/releases/tag/v2.5.0.1
19:45:51 v_m_v joins (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099)
19:46:02 <frdg> really? I have two machines. On one machine stack --version returns 2.4? When I run stack upgrade both machines say it is the most recent version.
19:46:59 <phadej> or hmm. does stack use odd-even numbering (and oddly, with even numbers being development ones)
19:47:16 <phadej> i.e. stack-2.4 is some development version?
19:47:30 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
19:47:41 × johtso quits (uid563@gateway/web/irccloud.com/x-dfhkalrthzrhztaj) (Disconnected by services)
19:47:54 mu joins (~mu@unaffiliated/mu)
19:48:13 × v_m_v quits (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099) (Remote host closed the connection)
19:48:24 ubert joins (~Thunderbi@91.141.0.190.wireless.dyn.drei.com)
19:49:18 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:49:35 <sm[m]> phadej: strange.. they haven't used that numbering
19:50:24 <sm[m]> but I'm glad of the 5125 fix, that will speed up CI builds
19:50:33 Dablyon joins (~godel@173.171.157.121)
19:50:45 <sm[m]> frdg: stranger still
19:50:59 × kenran quits (~maier@mue-88-130-62-135.dsl.tropolys.de) (Ping timeout: 240 seconds)
19:51:02 <phadej> sm[m]: there weren't 2.2 either
19:51:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:51:51 <sm[m]> they only release unstable versions ? :)
19:52:15 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Ping timeout: 272 seconds)
19:52:19 <frdg> `Version 2.4.0, Git revision 1b1bed5b84b3aed76cf27b02cadd46d09efc611f PRE-RELEASE x86_64 hpack-0.33.0` It does say pre-release I guess?
19:52:44 <frdg> everything is working regardless though so I am pretty happy.
19:53:10 <sm[m]> ah, well that makes more sense. They must have changed their mind
19:53:40 <sm[m]> or it's a dev version numbering scheme like phade said
19:53:51 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:54:10 × ggole quits (~ggole@2001:8003:8119:7200:4cc1:e316:a6d6:5aec) (Quit: Leaving)
19:54:19 <sm[m]> a wrong one
19:55:18 <sm[m]> though .0 releases are usually unstable so I suppose it's fair..
19:55:32 × Dablyon quits (~godel@173.171.157.121) (Ping timeout: 272 seconds)
19:56:14 <int-e> If 2.0 is a stable release then what version number do you use for the development release leadung up to it? I've seen things like 1.99 and it's ugly.
19:56:47 <sm[m]> Ha that's my scheme. It's find it ok
19:56:52 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
19:56:53 <sm[m]> I find it
19:57:19 <sm[m]> It's forced on me by cabal
19:57:26 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
19:57:27 <int-e> Anyway, that's a reason for using odd numbers for stable releases.
19:57:54 mu joins (~mu@unaffiliated/mu)
20:00:49 v_m_v joins (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099)
20:01:28 pie_ looks at sm[m]'s link
20:02:05 <int-e> You could also skip over 2.0, I guess...
20:02:20 <int-e> Or paint a bikeshed.
20:02:45 <pie_> i think i kind of have somethign like that
20:03:16 <sm[m]> pie_: and here's the other, maybe it's better ? https://hackage.haskell.org/package/megaparsec-9.0.0/docs/Text-Megaparsec-Debug.html
20:03:19 × _vaibhavingale_ quits (~Adium@203.188.228.27) (Quit: Leaving.)
20:03:19 <pie_> re: the problem is most of the time i dont know which piece of my code is causing the error (and then i bisect or whatever and still dont get why its breaking where its breaking xD)
20:03:40 × ahri quits (~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
20:03:46 <pie_> maybe i just dont understand the library well enough
20:03:48 <pie_> :I
20:03:56 <sm[m]> that's why you have to sprinkle loads of these, with different labels
20:04:01 <pie_> guess i should learn a different style of parser writing
20:04:16 ahri joins (~ahri@178.209.40.84)
20:05:10 <sm[m]> if you look at hledger parsers you'll see lots of these, perhaps commented out.. and if debugging I'll often add more
20:05:18 <pie_> *nid*
20:05:21 <pie_> *nod*
20:05:38 <pie_> there has got to be a better way of doing this
20:06:10 Dablyon joins (~godel@173.171.157.121)
20:06:32 <sm[m]> I'm not sure what it is, other than use a parser generator
20:07:03 <sm[m]> extensive fine grained tests are also helpful, and tedious
20:07:31 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
20:07:40 <pie_> *nod*
20:08:00 mu joins (~mu@unaffiliated/mu)
20:08:59 <sm[m]> Interactive testing in ghci, too
20:10:24 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
20:11:00 × Dablyon quits (~godel@173.171.157.121) (Ping timeout: 256 seconds)
20:11:13 × Rudd0^ quits (~Rudd0@185.189.115.98) (Ping timeout: 246 seconds)
20:11:14 <sm[m]> and I suppose being disciplined and consistent, eg in how you handle whitespace, reducing the number of ways to screw up. A lexing phase should help with that but adds complexity too
20:11:45 archaephyrryx joins (~archaephy@straasha.imrryr.org)
20:11:55 <pie_> do people have to do this for other parser styles?
20:12:22 <sm[m]> but when it's just..not..working you must have a technique to drill in and get visibility on what's happening
20:12:40 sm[m] doesn't know
20:12:42 <pie_> dont get me wrong i like combinators on some level, and they seem intuitive, except its not going well xD
20:12:55 <archaephyrryx> what parser library is this?
20:13:06 <pie_> parsy in python, its quite decent
20:13:12 <pie_> one could even say good
20:13:18 <pie_> but i dont have anything to compare agaisnt really
20:14:10 <archaephyrryx> i joined mid-conversation, but I have a bit of experience using (and even writing to a limited extent) parser combinators in Haskell
20:14:13 × frdg quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
20:14:15 <archaephyrryx> what is the issue?
20:14:52 <pie_> it works and then i hit a snag and get stuck for hurs
20:14:55 <pie_> hours
20:14:59 <archaephyrryx> what does?
20:15:00 <pie_> generally hard to debug
20:15:06 <sm[m]> can you see the log, archaephyrryx?
20:15:23 <pie_> writing parser combinators is hard to debug (for me)
20:15:52 <pie_> also tbh i shouldnt have to write print statements everywhere, it shuld be possible to point to something and figure out wtf is going on there
20:16:02 <pie_> but im not sure what kind of tooling would need to be in the library for that
20:16:04 <archaephyrryx> have you looked into HasCallStack
20:16:42 <pie_> i havent had much luck with making sense of whats going on using the pycharm debugger, though maybe i didnt try hard enough
20:16:51 <archaephyrryx> don't have much experience using it personally but it seems useful for tracing bugs in deeply nested calls
20:16:57 <sm[m]> pie_: it's actually fine, I may have overstated. Often putting the trace in one likely place will give you the insight to fix it
20:17:14 <sm[m]> and it's quick to do via ghci
20:17:25 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
20:17:31 × s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 246 seconds)
20:17:54 mu joins (~mu@unaffiliated/mu)
20:17:59 <pie_> sm[m]: i can do something like .map(debug) in a parser chain where debug is def debug(x): print(x); return x
20:18:17 <pie_> its helped but i have to turn it off and on (which you mentioned) and doesnt fix everything
20:18:25 <sm[m]> but.. I'm slowly realizing that you're adking for help with something quite different from what I'm talking about
20:18:26 <pie_> hm i guess i should add showing parser state to that somehow
20:18:53 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 260 seconds)
20:19:04 <pie_> i mean, theres libary specifics but there should be general approaches amenable to the design of monadic combinators in general i think
20:19:28 s00pcan joins (~chris@107.181.165.217)
20:19:56 <archaephyrryx> can't figure out how to view the log sm[m]
20:20:06 alexkubicail joins (~alexkubic@37.142.205.101)
20:20:23 <sm[m]> Yes; that was the point of my first reply to you. You need a specialized trace helper that prints the parser state - what text it's looking at etc.
20:20:36 <pie_> *nod*
20:21:04 <sm[m]> ircbrowse.tomsmeding.com archaephyrryx
20:21:04 <pie_> so, do you think theres a way to integrate the tracer so you dont have to manually add calls if you need them?
20:21:20 chaosmasttter joins (~chaosmast@p200300c4a7105f013091658b0e650c79.dip0.t-ipconnect.de)
20:21:31 <sm[m]> certainly, in the parser engine, why not
20:21:31 <pie_> well i guess that comes down to wrapping every function
20:21:31 totallynotnate joins (~nate@125.161.70.37)
20:21:56 <sm[m]> The challenge is not being so verbose that you can't read it
20:22:01 <pie_> i guess parser combinators dont really have an engine? isnt it just a style of signatures?
20:22:06 <pie_> yeah
20:22:41 <sm[m]> I have assigned priorities to trace statements so I could filter by level
20:23:32 <pie_> maybe something you could to is tell it to trace between sections of the text
20:23:36 <pie_> so from char x to char y
20:23:43 <sm[m]> I don't know about your python lib. Haskell parser combinators run via a parser engine
20:23:57 <pie_> ok
20:23:57 <sm[m]> sounds good
20:24:08 <sm[m]> There is a lot of room for better tooling here
20:24:33 <pie_> ive googled stuff like "debuggign parser combinators" in the past but i never really saw anything relevan
20:24:35 <pie_> t
20:24:51 <pie_> doesnt mean it doesnt exist but i didnt find the right people or material...
20:25:04 <pie_> people dont seem to design for introspectability much
20:25:23 <pie_> i feel like im the idiot though, idk
20:25:43 <sm[m]> I have built some complex parsers with combinators but perhaps it's a thing people don't do much
20:25:56 <pie_> you seem to have managed
20:26:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
20:26:14 <archaephyrryx> have you tried copying the source code and running it yourself with modifications to enhance debuggability
20:26:36 <pie_> the parser im building doesnt seem horribly complex. ok maybe its not simple, im not sure, what i need to do is decompose it into small iterative steps so i can manage it
20:26:42 <sm[m]> yes, by making debug tools.. and still with a lot of labour. Otherwise, it was impossible
20:27:16 <phadej> running your parser on smaller inputs and verifying that things which you think should be accepted are actualyl accepted
20:27:22 <pie_> the part i started making progress was when i finally figured out how to use bind in the library xD and decompose the large text into some major sections
20:27:25 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
20:27:33 <phadej> I see often that person writes 1000 lines of code, *and* then tries to run it for the first time
20:27:37 <phadej> don't be that person
20:27:37 <pie_> yeah
20:27:50 <pie_> i still do that sometimes despite knowing better - not to that extent though
20:27:57 <pie_> it helps to have automated tests
20:28:00 <sm[m]> right.. fine grained tests of smaller pieces as mentioned. All of the techniques are needed and complementary
20:28:01 mu joins (~mu@unaffiliated/mu)
20:28:04 <pie_> but for a while i didnt even know what to test
20:28:40 <pie_> actually, the zeroth big step to actually making progress was writing code to test my parser on the corpus i have instead of f***ing with testing on soem files manually
20:28:52 <pie_> i should learn how to use some python test framework...
20:29:04 × s00pcan quits (~chris@107.181.165.217) (Ping timeout: 256 seconds)
20:29:20 <pie_> the reason i havent written unit tests was id have to figure out what sections of the corpus to even be copy pasting into separate test cases...
20:29:29 <pie_> its kind of a back and forth thing with too many iterations
20:29:32 <sm[m]> Fuzz/property tests should be quite useful too but I haven't done it
20:30:00 <archaephyrryx> *slowly realizing we are talking about python and not haskell* ...I can't really contribute as much as I thought I could
20:30:01 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
20:30:18 <pie_> archaephyrryx: :P as ive been saying several times i think, but thats a technicality
20:30:33 <pie_> ok i should go try to write soem more code and see if i can say anything more
20:31:55 <archaephyrryx> on an unrelated note, I was wondering whether anyone had any opinions about a particular stylistic choice in writing haskell
20:32:04 <sm[m]> if all else fails, ship it to users and accept pull requests ?
20:32:19 <sm[m]> Just kidding
20:32:38 <pie_> haha
20:33:08 <archaephyrryx> when writing a function whose LHS has one fewer variable binding than it is ever called with (f :: a -> b -> c; f x = ...)
20:33:09 <sm[m]> archaephyrryx: nope. Opinions on style ? Never seen that
20:34:13 <archaephyrryx> is it appropriate to write the RHS using `$` to obviate nested parentheses when the implicit missing argument would necessitate parentheticals
20:34:40 <pie_> Wow I completely forgot I ran into this issue before... https://github.com/python-parsy/parsy/issues/34 :/
20:34:48 <sm[m]> I lied. There's a dozen dueling haskell formatting tools and style guides
20:35:38 <archaephyrryx> e.g.: f x {- implicit y -} = g $ h $ x
20:35:52 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:d985:da37:6cf:2ad4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:35:59 <archaephyrryx> rather than
20:36:16 <archaephyrryx> f x {- implicit y -} = g (h x) {- implicit y -}
20:36:34 <archaephyrryx> any thoughts?
20:36:51 <sm[m]> f = g . h is often seen
20:36:53 <dolio> I would probably never write `g $ h $ x`.
20:37:06 <archaephyrryx> i am not writing the actual code
20:37:14 <archaephyrryx> this is a contrived abstraction
20:37:24 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
20:37:50 <archaephyrryx> it really looks more like
20:37:54 mu joins (~mu@unaffiliated/mu)
20:38:27 hackage cryptocompare 0.1.2 - Haskell wrapper for the cryptocompare API https://hackage.haskell.org/package/cryptocompare-0.1.2 (aviaviavi)
20:38:29 <archaephyrryx> func1 arg1 = doWork $ func2 $ func3 arg1
20:39:08 <archaephyrryx> where there is an extra implicit argument that lacks a binding in the actual definition
20:39:46 <dolio> That's also `doWork . func2 . func3`.
20:40:17 <archaephyrryx> the first binding has a strictness annotation (!) so that isn't viable
20:40:19 × totallynotnate quits (~nate@125.161.70.37) (Quit: WeeChat 2.9)
20:40:37 × alexkubicail quits (~alexkubic@37.142.205.101) (Ping timeout: 256 seconds)
20:40:47 × v_m_v quits (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099) (Ping timeout: 260 seconds)
20:40:56 <glguy> too late, you left that out of your simplified problem code, so you don't get to use it
20:41:26 <archaephyrryx> but the invisible dragon *is* flour-permeable, I swear it always was
20:42:09 × isovector1 quits (~isovector@172.103.216.166) (Quit: Leaving)
20:42:10 <dolio> I still don't repeat $ usually, I use .
20:42:20 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
20:42:31 isovector1 joins (~isovector@172.103.216.166)
20:42:53 × edwardk quits (sid47016@haskell/developer/edwardk) (Quit: Connection closed for inactivity)
20:43:34 <dolio> But what I do depends on the actual code, and may be different from simplifications, because I don't follow rules by rote.
20:43:56 johnw_ is now known as johnw
20:46:22 <archaephyrryx> I typically opt for point-free style and don't use `$` very often but I am collaborating with someone with a completely opposite style and so have been subconsciously splitting the difference for this project
20:46:26 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
20:46:42 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
20:47:49 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
20:47:55 mu__ joins (~mu@unaffiliated/mu)
20:48:33 <monochrom> dragon and flour?! If the dragon breathes fire, and the flour is aerosoled, that's a fuel-air bomb waiting to happen >_<
20:49:05 <archaephyrryx> was that reference too obscure? I don't know how common it is
20:49:24 [exa] votes for obscure
20:49:27 <monochrom> All references are too obscure. :)
20:49:53 × ericsagnes quits (~ericsagne@2405:6580:0:5100:4407:fff6:2258:7a65) (Ping timeout: 272 seconds)
20:50:26 <monochrom> Every cultural reference is well-known to 100% of the community consisting of the solely the speaker.
20:50:50 <archaephyrryx> it was an example about irrational claims involving shifting goalposts to thwart potential experimental counter-evidence
20:51:35 <monochrom> Please don't worry about me. I was just spotting a huge fire/explosion hazard. :)
20:51:50 <archaephyrryx> posed by Carl Sagan
20:52:05 <archaephyrryx> https://en.wikipedia.org/wiki/The_Demon-Haunted_World#Dragon_in_my_garage
20:52:52 <monochrom> A very bad flour explosion accident happened some years ago in Taiwan, in a party or festive celebration or something featuring flour in the air.
20:53:42 <monochrom> Yikes, the Carl Sagan dragon does breathe fire.
20:54:28 × ystael quits (~ystael@209.6.50.55) (Ping timeout: 260 seconds)
20:54:46 <monochrom> And now my turn to give an obscure reference.
20:55:34 <monochrom> Imagine that, replying to "the fire-breathing dragon is invisible and floating", you say "so how about we spread flour in the air and see if we survive"
20:56:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
20:56:27 <monochrom> This will lead to a "no-dead-body problem".
20:56:36 <[exa]> re 'The inability to invalidate the hypotesis is not at all the same thing as proving it true'....well here we've got undecidability&complexity reductions. :D
20:57:26 × mu__ quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
20:57:38 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
20:57:54 mu joins (~mu@unaffiliated/mu)
20:58:11 <monochrom> This is an obscure reference to a criticism of claims of cold fusion back then. If cold fusion happened, it should generate more than enough neutrons to kill everyone around. But everyone around was living just fine. This was the "no-dead-body question", or perhaps the "dead-body question".
20:58:42 <monochrom> or s/question/problem/ or something
21:00:01 × landonf1 quits (~landonf@193.56.252.210) ()
21:00:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:00:22 <monochrom> Thanks for the link. It's a good read. <3 Sagan
21:00:45 monochrom hops over to amazon
21:00:50 × ubert quits (~Thunderbi@91.141.0.190.wireless.dyn.drei.com) (Remote host closed the connection)
21:01:22 <archaephyrryx> There is another version where the suggestion to throw flour in the air to outline the shape of the dragon was countered with "the dragon is permeable to flour"
21:01:39 <archaephyrryx> which is what I was referencing originally
21:01:44 <monochrom> Ah yeah.
21:01:49 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
21:02:12 <monochrom> But I play my "why are we still alive?" card. :)
21:02:16 ericsagnes joins (~ericsagne@2405:6580:0:5100:c98f:bbb5:ca9:3c24)
21:02:26 <archaephyrryx> anthropic principle to the rescue
21:02:30 <archaephyrryx> just like qunatum-bogosort
21:05:33 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Remote host closed the connection)
21:05:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
21:05:55 <dmwit> It says very clearly in the link that the dragon's fire is heatless.
21:06:05 <dmwit> So of course throwing flour in the air doesn't kill us.
21:06:11 sfvm joins (~sfvm@37.228.215.148)
21:06:28 <monochrom> Oops.
21:06:45 <monochrom> Does that still count as fire? heh
21:07:00 <dmwit> Yeah, that's... sort of Sagan's conclusion, too.
21:07:11 <dmwit> Does this even count as a dragon if there's no way to observe it being a dragon?
21:07:30 <monochrom> It's like Tigger but s/tiger/dragon/
21:07:31 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
21:07:54 mu joins (~mu@unaffiliated/mu)
21:08:21 <monochrom> http://www.vex.net/~trebla/photo/unorganized/dragon.jpg
21:09:00 <dsal> Lazy IO is the best! My programs all run instantly! Sometimes takes a while to print the output, though.
21:09:31 <monochrom> Um that's not lazy I/O. That's just output buffering.
21:09:43 <monochrom> OK you were joking. Haha.
21:10:00 <cheater> monochrom: it's not output buffering, his dot matrix printer is just a bit slow
21:10:10 <monochrom> I do have students confused by output buffering. And it's a C course.
21:10:20 <monochrom> hahaha
21:10:53 <cheater> monochrom: if it's a C course, make sure to get the shellfish
21:11:03 <monochrom> hahahaha
21:11:38 <monochrom> The course is a unix course too, there is shell. I'll have to think how to turn shell into shellfish.
21:11:49 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
21:12:25 fluturel joins (~fluturel@82.137.14.51)
21:12:45 × fluturel quits (~fluturel@82.137.14.51) (Client Quit)
21:13:52 × noecho quits (~noecho@2a01:4f8:1c0c:80ee::4223) (Quit: ZNC - http://znc.in)
21:14:19 noecho joins (~noecho@2a01:4f8:1c0c:80ee::4223)
21:14:20 <dmwit> Oh, hell. I'm a professional programmer that does programming stuff for... well, not quite 8 hours a day ;-)... and I still occasionally get flummoxed by output buffering.
21:15:14 <MarcelineVQ> The trick is to put a couple people between you and the problem.
21:15:50 <c_wraith> so... input buffering?
21:15:57 <dmwit> Ahhh, problem buffering! Why didn't I think of that?
21:16:36 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
21:16:42 carlomagno1 joins (~cararell@inet-hqmc02-o.oracle.com)
21:17:23 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
21:17:32 × wonko7 quits (~wonko7@2a01:e35:2ffb:7040:8c5f:831a:4acc:45dd) (Ping timeout: 260 seconds)
21:17:45 × carlomagno quits (~cararell@inet-hqmc02-o.oracle.com) (Ping timeout: 265 seconds)
21:17:54 mu joins (~mu@unaffiliated/mu)
21:20:42 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds)
21:20:45 <dsal> monochrom: Oh sorry, I was going for the one where I do all this awesome parallelism and the parallel functions compute the IO actions immediately, and then they all happen sequentially when the output is needed.
21:21:41 <monochrom> Ah.
21:21:57 hackage aeson-schemas 1.3.1 - Easily consume JSON data on-demand with type-safety https://hackage.haskell.org/package/aeson-schemas-1.3.1 (leapyear)
21:22:11 falafel_ joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
21:22:20 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
21:26:49 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
21:27:24 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
21:28:02 mu joins (~mu@unaffiliated/mu)
21:31:50 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:31:56 <cheater> monochrom: just use the C shell
21:32:07 <monochrom> Ah, neato
21:32:31 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
21:32:34 <monochrom> Hey, I now recall that "fish shell" exists, too.
21:35:52 × AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
21:36:11 × dhil quits (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 240 seconds)
21:36:56 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
21:37:50 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
21:38:03 mu__ joins (~mu@unaffiliated/mu)
21:39:56 aarvar joins (~foewfoiew@50.35.43.33)
21:40:02 sand_dull joins (~theuser@62.182.99.37)
21:41:56 <maerwald> it's nice
21:42:02 × nyd quits (~nyd@unaffiliated/elysian) (Quit: nyd)
21:42:33 <maerwald> finally someone figured out that shell is about ergonmics, not features
21:42:37 × falafel_ quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds)
21:42:44 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
21:42:47 <maerwald> (when I need features, I switch to bash temporarily)
21:45:01 × crobbins quits (~crobbins@2600:1700:48eb:8490:4a3:9554:f20a:562c) (Remote host closed the connection)
21:45:22 thir joins (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
21:47:38 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
21:47:38 × mu__ quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
21:48:00 mu joins (~mu@unaffiliated/mu)
21:48:07 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
21:48:54 × sand_dull quits (~theuser@62.182.99.37) (Ping timeout: 272 seconds)
21:49:02 <monochrom> It's probably a programmer trait to prefer features to ergonomics, syntax to semantics.
21:49:13 falafel_ joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
21:49:43 <monochrom> or generally a human trait to prefer superficial to careful
21:50:39 × cgfuh quits (~cgfuh@181.167.191.58) (Quit: WeeChat 2.9)
21:51:24 <Cale> In the words of Bob the Angry Flower: "I can't drink *possible* beers, I need *actual* beers! Damn you, quantum physics!"
21:51:30 <pie_> sm[m]: well, if you have any suggestions: <_aD> It's fascinating to see how different people's idea of "big" is in computing, and how they handle it.
21:51:32 <pie_> whoops
21:51:41 <pie_> sm[m]: https://github.com/python-parsy/parsy/issues/48
21:53:22 × thir quits (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:56:30 aj1 joins (~aj@185.204.1.185)
21:57:00 <ddellacosta> omg I forgot about Bob the Angry Flower, thank you Cale
21:57:50 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
21:57:56 mu__ joins (~mu@unaffiliated/mu)
21:58:26 luke joins (~luke@bitnomial/staff/luke)
22:00:38 Rudd0 joins (~Rudd0@185.189.115.98)
22:01:01 × GyroW quits (~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
22:01:24 GyroW joins (~GyroW@ptr-48ujrfb8c7gfd2lu92q.18120a2.ip6.access.telenet.be)
22:01:25 × GyroW quits (~GyroW@ptr-48ujrfb8c7gfd2lu92q.18120a2.ip6.access.telenet.be) (Changing host)
22:01:25 GyroW joins (~GyroW@unaffiliated/gyrow)
22:01:49 <dsal> I used to use tcsh a lot way back in the day and people mocked me for various scripting things you couldn't do in tcsh. I'm like... I write my scripts in bourne shell, but I don't hang out there.
22:02:20 <dsal> A friend had me try nushell which is... an idea. But it's a bit ununixy and a big uphill battle.
22:04:43 × shafox quits (~shafox@106.51.234.111) (Remote host closed the connection)
22:04:44 × ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 272 seconds)
22:05:45 ryansmccoy joins (~ryansmcco@156.96.151.132)
22:06:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
22:07:33 × mu__ quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
22:08:02 mu joins (~mu@unaffiliated/mu)
22:10:58 × GyroW quits (~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
22:11:22 GyroW joins (~GyroW@ptr-48ujrfb8c7gfd2lu92q.18120a2.ip6.access.telenet.be)
22:11:22 × GyroW quits (~GyroW@ptr-48ujrfb8c7gfd2lu92q.18120a2.ip6.access.telenet.be) (Changing host)
22:11:22 GyroW joins (~GyroW@unaffiliated/gyrow)
22:11:53 × chaosmasttter quits (~chaosmast@p200300c4a7105f013091658b0e650c79.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
22:13:10 <ski> @where thwap
22:13:10 <lambdabot> "Bob the Angry Flower's Quick Guide to" : "the apostrophe" in 2010-02 at <http://eloquentscience.com/wp-content/uploads/2010/02/bobsqu.gif>,"its and it's" in 2010-03 at <http://eloquentscience.com/
22:13:11 <lambdabot> wp-content/uploads/2010/03/angry-flower-guide-to-its.gif> )
22:13:21 <ski> ddellacosta,Cale ^
22:13:27 <dolio> Wow, nushell has like 3 corporate buzzwords phrases in the first two sentences describing it.
22:15:15 × Erato quits (585fd1fd@ti0203q160-5312.bb.online.no) (Remote host closed the connection)
22:15:35 × mu quits (~mu@unaffiliated/mu) (Quit: mu)
22:16:11 × luke quits (~luke@bitnomial/staff/luke) (Quit: sleep)
22:16:16 <ski> monochrom : don't forget Fᵢ-shell <http://fishell.sf.net> :)
22:16:54 <ski> (partially inspired by logic programming)
22:21:40 × jonatanb quits (~jonatanb@83.24.231.247.ipv4.supernova.orange.pl) (Quit: Leaving...)
22:21:42 × falafel_ quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds)
22:23:45 × evanjs quits (~evanjs@075-129-188-019.res.spectrum.com) (Ping timeout: 240 seconds)
22:24:51 machinedgod joins (~machinedg@24.105.81.50)
22:25:40 × eruditass quits (uid248673@gateway/web/irccloud.com/x-eolintwxiwbmuxmq) (Quit: Connection closed for inactivity)
22:26:44 alanz_ is now known as alanz
22:28:45 × fendor quits (~fendor@91.141.3.153.wireless.dyn.drei.com) (Remote host closed the connection)
22:28:58 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
22:29:12 × tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 256 seconds)
22:29:16 evanjs joins (~evanjs@075-129-188-019.res.spectrum.com)
22:30:07 <ddellacosta> ski: :-D
22:34:01 × ahri quits (~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
22:34:04 mu joins (~mu@unaffiliated/mu)
22:34:15 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
22:34:45 mu joins (~mu@unaffiliated/mu)
22:34:48 ahri joins (~ahri@178.209.40.84)
22:35:46 tomku joins (~tomku@unaffiliated/tomku)
22:37:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:37:45 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:39e7:ae73:eac9:cd04)
22:39:24 × irc_user quits (uid423822@gateway/web/irccloud.com/x-kojvjfqrylgayrvg) (Quit: Connection closed for inactivity)
22:39:45 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
22:42:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
22:44:16 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
22:44:45 mu joins (~mu@unaffiliated/mu)
22:46:39 × DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
22:49:34 oisdk joins (~oisdk@2001:bb6:3329:d100:fd58:7633:8b1d:97)
22:49:58 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
22:50:37 o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
22:51:34 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:39e7:ae73:eac9:cd04) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:54:15 × mu quits (~mu@unaffiliated/mu) (Read error: Connection reset by peer)
22:54:46 mu joins (~mu@unaffiliated/mu)
22:55:13 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 260 seconds)
22:59:23 DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
23:00:36 alexm_ joins (~alexm_@161.8.233.138)
23:01:21 × archaephyrryx quits (~archaephy@straasha.imrryr.org) ()
23:02:09 × elliott_ quits (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
23:02:15 <maerwald> can you tell ormolu the indent size?
23:02:48 <monochrom> No, tell formolu instead.
23:03:07 Guest86631 is now known as z0
23:03:23 × mu quits (~mu@unaffiliated/mu) (Quit: mu)
23:03:44 <maerwald> https://github.com/tweag/ormolu/issues/637
23:03:46 <maerwald> lol
23:04:33 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
23:05:08 rprije joins (~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au)
23:05:32 × alexm_ quits (~alexm_@161.8.233.138) (Ping timeout: 272 seconds)
23:05:37 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:9c30:b346:e09c:915)
23:05:55 <maerwald> consistency across projects that are alien to one another is big nonsense imo
23:07:37 <dsal> ormolu is really awful. I know some people like the elm-inspired style, but it's actively bad.
23:08:47 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
23:09:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:10:31 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
23:10:34 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:10:40 thewormkill joins (~thewormki@unaffiliated/twk-)
23:10:45 iinuwa1 joins (iinuwamatr@gateway/shell/matrix.org/x-thwbsslmbetrqwug)
23:10:59 Randy_ joins (randy@freebsd/user/randy)
23:11:14 jneira joins (501e65ce@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.206)
23:11:22 <maerwald> uh... the way it breaks down long function signatures is odd
23:11:25 michaelpj1 joins (michaelpjm@gateway/shell/matrix.org/x-zdqnoycusovyxytr)
23:11:27 <maerwald> -> is at the end of the line
23:11:30 DANtheBEASTman joins (dysfigured@2600:3c00::f03c:92ff:feb4:be75)
23:11:31 × atk quits (~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
23:11:43 atk joins (~Arch-TK@ircpuzzles/staff/Arch-TK)
23:12:00 <maerwald> the end of a line is naturally what your eyes skip with a 50% chance
23:12:08 DavSanchez[m]1 joins (davsanchez@gateway/shell/matrix.org/x-intvmspuzeodooky)
23:12:43 <justsomeguy> dsal: If you like shells, I found this awesome page of weird unix shells ... https://github.com/oilshell/oil/wiki/ExternalResources
23:12:55 <ski> maerwald : yea ..
23:12:56 <dsal> Some people have weird style preferences and very strong views that everyone should use them. (I say "weird" in the sense that it's just different from all the code I read when I was learning stuff, and a major disruption from stylish-haskell as I've been using it).
23:13:17 × iinuwa quits (iinuwamatr@gateway/shell/matrix.org/x-cpxacqnfoehfxudr) (Ping timeout: 246 seconds)
23:13:17 × twk- quits (~thewormki@unaffiliated/twk-) (Ping timeout: 246 seconds)
23:13:17 × dysfigured quits (dysfigured@2600:3c00::f03c:92ff:feb4:be75) (Ping timeout: 246 seconds)
23:13:17 × Randy quits (randy@freebsd/user/randy) (Read error: Connection reset by peer)
23:13:17 × michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-vziiihintzllemir) (Ping timeout: 246 seconds)
23:13:18 × SlackIntegration quits (slackbotma@gateway/shell/matrix.org/x-knwcnagkikvaicmj) (Ping timeout: 246 seconds)
23:13:18 × DavSanchez[m] quits (davsanchez@gateway/shell/matrix.org/x-rxubxddrjnvzmpdu) (Ping timeout: 246 seconds)
23:13:18 DANtheBEASTman is now known as dysfigured
23:13:18 <dsal> justsomeguy: I just kind of live in shells. I eventually gave up on trying to build a perfect environment.
23:13:18 Randy_ is now known as Randy
23:14:42 <dsal> I eventually started using bash so I wouldn't be That Weird Guy, and then recently OS X told me I need to move out of bash because it's not shiny enough.
23:14:56 <yushyin> monochrom: afaik the fork is fourmolu (minor typo)
23:15:20 <dsal> Wait, is it really just ormolu with s/2/4/g ?
23:15:23 <justsomeguy> dsal: I've pretty much standardized on bash, too, but I do enjoy experimenting with other things.
23:15:33 <ski> dsal : back to tcsh, or what ?
23:15:35 <dsal> justsomeguy: nushell was neat, but I did break it pretty quickly. heh. joys of nix, though.
23:15:44 <dsal> ski: OS X is moving folks to zsh
23:15:49 <ski> mhm
23:15:53 <dsal> But yeah, that's a good point. OS X was tcsh when I started using it.
23:16:07 ski 's still using TCsh ..
23:16:56 oats is now known as oa
23:23:41 × reppertj quits (~textual@pool-96-246-209-59.nycmny.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com)
23:25:32 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds)
23:28:27 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
23:28:28 × ryansmccoy quits (~ryansmcco@156.96.151.132) (Ping timeout: 260 seconds)
23:29:25 ryansmccoy joins (~ryansmcco@193.37.254.27)
23:29:45 × isovector1 quits (~isovector@172.103.216.166) (Ping timeout: 240 seconds)
23:35:17 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
23:36:29 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
23:38:30 snakemasterflex joins (~snakemast@213.100.206.23)
23:39:34 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
23:40:51 × ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 258 seconds)
23:41:10 ryansmccoy joins (~ryansmcco@193.37.254.27)
23:41:53 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds)
23:43:00 polyrain joins (~polyrain@2001:8003:e501:6901:d8b0:8850:f51:bc36)
23:43:19 josh_ joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
23:43:23 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
23:43:25 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 264 seconds)
23:43:39 × josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
23:49:46 Henson joins (~kvirc@24-246-25-37.cable.teksavvy.com)
23:56:15 wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:58:34 kirill joins (~user@135-23-120-233.cpe.pppoe.ca)
23:58:37 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
23:59:30 <kirill> hi all, I was looking at some docs and saw this definition "class Monad m => Blah k v m | m -> k, m -> v where [...]". what does the "| m -> k, m -> v" mean in this context?

All times are in UTC on 2020-09-25.