Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,011 events total
2021-08-06 18:48:46 <monochrom> In practice there is no debugger for GHC.
2021-08-06 18:49:04 <monochrom> Or rather, no debugger that works well on GHC.
2021-08-06 18:49:27 <lechner> what's the error? most are confusing
2021-08-06 18:50:18 <lechner> or rather would benefit from more explanation
2021-08-06 18:50:29 <lechner> for newbies
2021-08-06 18:50:47 <monochrom> Regarding unicode codepoints, I am surprised that you act like you have never heard of Data.Text before. As if.
2021-08-06 18:53:05 × viluon quits (uid453725@id-453725.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-06 18:53:16 × jeetelongname quits (~jeet@host-89-241-98-229.as13285.net) (Remote host closed the connection)
2021-08-06 18:53:29 <lechner> monochrom: i only read about it, but my JSON and YAML definitions use String, Should I switch?
2021-08-06 18:53:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-06 18:54:10 <lechner> they are all short
2021-08-06 18:54:38 <dsal> IMO: You should fix things you measure as being problems.
2021-08-06 18:55:19 <dsal> I saw a cool video about unboxing recently that showed how memory is reduced by unboxing. Unless you turn on the optimizer, at which point the unboxed version is optimized less aggressively and it ends up using more memory.
2021-08-06 18:57:32 <lechner> dsal: right now, i am the bottleneck. that's why i ask so many questions
2021-08-06 18:57:36 <monochrom> "There isn't a problem in CS that can't be solved by another level of indirection" pairs well with "There isn't a performance penalty that can't be solved by another level of unboxing" >:)
2021-08-06 18:57:36 <dsal> heh
2021-08-06 18:58:25 <dsal> lechner: IMO, it's good to have a vague idea of what some of these concepts are. When they show up in bugs, implementation difficulties, or performance issues, you know what to look for.
2021-08-06 18:58:47 <dsal> There are a lot of Haskell features that just seem stupid and weird to me. Until that one day when I'm like, "Ugh, I can't figure out how to do this... wait..."
2021-08-06 18:59:53 <Gurkenglas> monochrom, what stops the ghci debugger from working on GHC?
2021-08-06 19:00:11 <monochrom> GHC is compiled.
2021-08-06 19:00:35 <monochrom> gdb works poorly on code generated by GHC. GHC code is generated by GHC.
2021-08-06 19:00:39 <Gurkenglas> Ah. What stops one from running GHC uncompiled?
2021-08-06 19:00:51 <monochrom> I haven't tried.
2021-08-06 19:00:55 <geekosaur> there is a way to load ghc into ghci, which ships with the ghc source. it's fragile and breaks every so often
2021-08-06 19:01:32 <monochrom> ghci debugger is pretty primitive in the first place.
2021-08-06 19:02:38 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-08-06 19:02:48 <monochrom> Type checking and inference are pretty detailed algorithms in GHC such that even with most ideal debuggers you risk missing the forest for the trees, you will be drowned in unnecessary details.
2021-08-06 19:03:00 jpds joins (~jpds@gateway/tor-sasl/jpds)
2021-08-06 19:03:22 <dsal> `Debug.Trace` == universal debugger.
2021-08-06 19:03:33 <Gurkenglas> dsal--
2021-08-06 19:03:37 markpythonicbitc joins (~markpytho@2601:647:5a00:35:a8c6:4beb:a469:3f6e)
2021-08-06 19:03:48 <monochrom> dsal++
2021-08-06 19:04:04 <lechner> that costs a beer
2021-08-06 19:04:05 rk04 joins (~rk04@user/rajk)
2021-08-06 19:04:12 <maerwald[m]> Yes, it allows to debug laziness behavior
2021-08-06 19:05:54 <xerox> dsal++
2021-08-06 19:06:33 <dsal> There are different kinds of bugs that require different kinds of debugging procedures. Proper debugger style hasn't been very useful for me in most languages (it was nice in Smalltalk). I had an incredibly rare failure in a server that I found by enabling traces and building a tool to reconstruct the scenario that lead to a stuck thread.
2021-08-06 19:06:37 <int-e> dsal: do you include https://hackage.haskell.org/package/base-4.15.0.0/docs/Debug-Trace.html#v:traceEvent in that?
2021-08-06 19:06:37 <monochrom> Moreover, modern type inference algorithms in GHC are written for getting it done, not for explanation. Following its execution does not give you the explanation a human wants, only an explanation a computer wants.
2021-08-06 19:07:10 <dsal> int-e: I've not used that exact function, but I did go through and name all my threads for eventlog processing. Now I'm going to start using that. :)
2021-08-06 19:07:38 <monochrom> Although, if you're well-versed with those papers like the OutsideIn(X) paper, you may be able to decode an execution trace.
2021-08-06 19:08:23 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 258 seconds)
2021-08-06 19:08:48 <int-e> I mean, I love Debug.Trace.trace{,Show} but it has obvious scalability issues.
2021-08-06 19:09:11 <maerwald[m]> not webscale?
2021-08-06 19:18:21 × rk04 quits (~rk04@user/rajk) (Ping timeout: 258 seconds)
2021-08-06 19:21:08 <int-e> maerwald[m]: wtf does that even mean
2021-08-06 19:21:47 <maerwald[m]> Means growing your business
2021-08-06 19:22:08 <int-e> bzzzt
2021-08-06 19:22:15 <int-e> so buzzy
2021-08-06 19:23:48 <lechner> it was a tough week for everyone, i can tell
2021-08-06 19:24:19 <monochrom> I think maerwald[m] was just joking.
2021-08-06 19:24:48 <lechner> that too.
2021-08-06 19:24:54 <int-e> yeah I got that, but I did realize that "webscale" is a totally empty word to me, genuinely.
2021-08-06 19:25:14 × mattil quits (~mattilinn@87-92-57-75.bb.dnainternet.fi) (Quit: Leaving)
2021-08-06 19:25:18 <maerwald[m]> Let me sell you microservices
2021-08-06 19:25:26 <int-e> Unless you're talking about one of the big companies like Google.
2021-08-06 19:25:43 <maerwald[m]> And when you get into deployment issues, I'll sell yoe kubernetes
2021-08-06 19:25:52 <monochrom> I prefer to breathe life back into that empty word and make it a joke word. :)
2021-08-06 19:25:56 <int-e> Which make up enough of the "web" for the word "webscale" to kind of make sense.
2021-08-06 19:26:16 <maerwald[m]> Ya, Haskell needs better sales ppl. But it seems that's the main goal of HF. So we're covered.
2021-08-06 19:26:32 <int-e> Microservices I've seen... https://blog.davetcode.co.uk/post/21st-century-emulator/
2021-08-06 19:26:32 <maerwald[m]> Sarcastic Friday
2021-08-06 19:26:59 <lechner> the weekend is coming
2021-08-06 19:27:17 <int-e> maerwald[m]: tbf your answer was probably exactly what I deserved
2021-08-06 19:27:26 <maerwald[m]> xD
2021-08-06 19:27:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-08-06 19:33:23 × _bin quits (~bin@user/bin/x-1583188) (Quit: ZNC - https://znc.in)
2021-08-06 19:33:35 _bin joins (~bin@user/bin/x-1583188)
2021-08-06 19:33:54 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-08-06 19:35:07 emliunix joins (~emliunix@2a09:bac0:23::815:b8b)
2021-08-06 19:36:16 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-08-06 19:39:30 <sm> re "could I run a debugger on GHC to get more info on how the error arose?", yes but isn't it often quicker to search for the error message and stare at the code ?
2021-08-06 19:41:11 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-06 19:43:39 × alx741 quits (~alx741@186.178.109.254) (Ping timeout: 258 seconds)
2021-08-06 19:54:28 × Guest2445 quits (~chris@81.96.113.213) (Remote host closed the connection)
2021-08-06 19:55:13 lavaman joins (~lavaman@98.38.249.169)
2021-08-06 19:57:43 alx741 joins (~alx741@186.178.108.253)
2021-08-06 19:58:00 <monochrom> "A Fresh Calculus for Names Management" I didn't know Moggi was also capable of making puns in paper titles. :)
2021-08-06 19:58:44 <emliunix> Client: HexChat 2.14.2 • OS: Microsoft Windows 11 专业版 (x64) • CPU: Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz (3.00GHz) • Memory: 47.9 GiB Total (32.7 GiB Free) • Storage: 2.0 TiB / 4.4 TiB (2.5 TiB Free) • VGA: NVIDIA GeForce GTX 1060 6GB, Intel(R) UHD Graphics 630 • Uptime: 56m 10s
2021-08-06 19:59:01 <emliunix> sorry
2021-08-06 20:00:11 <lechner> wow
2021-08-06 20:01:05 <dsal> sm: Sometimes the error is just "you used `head`" which is painful the first time you learn you shouldn't have done that. :)
2021-08-06 20:02:44 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-06 20:03:35 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-08-06 20:05:06 aegon joins (~mike@174.127.249.180)
2021-08-06 20:05:32 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 272 seconds)
2021-08-06 20:06:51 juhp joins (~juhp@128.106.188.220)
2021-08-06 20:10:00 × emliunix quits (~emliunix@2a09:bac0:23::815:b8b) (Remote host closed the connection)
2021-08-06 20:10:02 gehmehgeh joins (~user@user/gehmehgeh)
2021-08-06 20:10:23 emliunix joins (~emliunix@2a09:bac0:23::815:b8b)
2021-08-06 20:10:33 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-08-06 20:16:58 roboguy_ joins (~roboguy_@2605:a601:afe7:9f00:c77:b134:29be:aae9)
2021-08-06 20:19:20 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-06 20:23:07 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-06 20:23:07 allbery_b joins (~geekosaur@xmonad/geekosaur)
2021-08-06 20:23:10 allbery_b is now known as geekosaur
2021-08-06 20:24:32 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-08-06 20:25:34 <Gurkenglas> sm, yes but id like to live in a world where this is automatic
2021-08-06 20:26:52 <Gurkenglas> a compiler designed such that instead of printing compile errors it has you look at a compiler stacktrace <3
2021-08-06 20:26:53 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)

All times are in UTC.