Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2020-11-11 23:34:53 <dminuoso> well. "book"
2020-11-11 23:34:58 <dminuoso> its rather a pdf with some slides
2020-11-11 23:35:04 <monochrom> This is supposed to be daunting. Especially for people who have never written a compiler.
2020-11-11 23:35:08 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-11-11 23:35:18 <dminuoso> an industry grade compiler
2020-11-11 23:35:31 <dminuoso> With decades of research in its code base
2020-11-11 23:35:35 <monochrom> Nah, doesn't have to be that far.
2020-11-11 23:35:52 <dminuoso> oh
2020-11-11 23:35:57 <dminuoso> I read that statement wrong
2020-11-11 23:35:59 × son0p quits (~son0p@181.136.122.143) (Quit: leaving)
2020-11-11 23:36:04 <dminuoso> Or you understood my remark wrong
2020-11-11 23:36:08 <dminuoso> Either way
2020-11-11 23:36:19 × frdg quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
2020-11-11 23:36:41 <gtk> Do you guys all take a complier theory class first right before understanding this stuff
2020-11-11 23:36:47 <monochrom> Having written a compiler, even a toy one, even for an imperative eager language, primes your mind to anticipate patience, craziness, and cool tricks when you level up to a harder compiler or language.
2020-11-11 23:36:50 <dminuoso> No, I dropped out of school
2020-11-11 23:37:38 <dminuoso> monochrom: heh, it wasnt until I wrote my very own kernel that I understood how to be mindful of writing cache aware code.
2020-11-11 23:38:11 <dminuoso> It's quite amazing how writing cache and pipeline aware code can easily bump up performance by a factor of 10.
2020-11-11 23:38:53 <Rembane> dminuoso: Why did you write your own kernel?
2020-11-11 23:39:15 <dminuoso> Rembane: The short answer, I wanted to understand what `return 0;` returned to in main in C.
2020-11-11 23:39:21 × _linker_ quits (~linker@185.12.21.77) (Remote host closed the connection)
2020-11-11 23:39:36 <Rembane> dminuoso: That sounds like quite a rabbit hole. Nice! :D
2020-11-11 23:40:48 <monochrom> A "computer organization" class is the minimum requirement for this stuff.
2020-11-11 23:41:12 <monochrom> If you don't know jack about stack, heap, registers, addresses, you have no chance.
2020-11-11 23:41:21 <gtk> I'm at the beginning chapters of the dragon book on compilers
2020-11-11 23:41:27 carlomagno joins (~cararell@148.87.23.10)
2020-11-11 23:41:35 <dminuoso> In retrospect, the dragon book is not that good of a book
2020-11-11 23:41:52 <dminuoso> It doesn't cover the really interesting parts of a compiler, in my opinion
2020-11-11 23:41:53 <gtk> It's dated?
2020-11-11 23:42:05 <hekkaidekapus> sm[m]: GHC/Haskell has an extension to the Haskell-2010’s module system. It’s of course Backpack whose concern is about modular development, in the incremental and separate flavours. Haskell-2010 is grosso modo about the incremental flavour—what you called ‘module~file’.
2020-11-11 23:42:10 <dminuoso> But, if you're completley new to the subject, it's worth a read I guess.
2020-11-11 23:42:17 <dminuoso> gtk: being dated is not the problem at all
2020-11-11 23:42:23 <monochrom> And my "know stack" does not mean you've heard of it and can parrot talking about "non-tail call uses stack". I mean you have screwed around with the stack pointer register.
2020-11-11 23:42:32 <monochrom> at the asm level
2020-11-11 23:43:52 <bqv> :t GHC.Generics.to
2020-11-11 23:43:53 <lambdabot> GHC.Generics.Generic a => GHC.Generics.Rep a x -> a
2020-11-11 23:43:58 <bqv> This shadows lens :|
2020-11-11 23:44:21 <bqv> (it's reexported by protolude!)
2020-11-11 23:44:28 <monochrom> Oh, Appel's "modern compiler implementation in ML" is much better.
2020-11-11 23:45:02 <dminuoso> gtk: Also consider Types and Programming Languages if you are interested in compilers more. Sadly the dragon book doesn't really talk about types
2020-11-11 23:45:04 <gtk> monochrom: let me check that out too
2020-11-11 23:45:35 <dminuoso> And Appel is indeed a good read
2020-11-11 23:45:47 <gtk> I hope I dont need to understand too deeply about lambda calculus
2020-11-11 23:46:00 <gtk> I mean that would defintely kill me if i have to learn that too
2020-11-11 23:46:19 <dminuoso> Lambda calculus is very simple *shrugs*
2020-11-11 23:47:04 × dhouthoo quits (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9)
2020-11-11 23:47:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-11 23:48:18 <gtk> dminuoso: great moment of solitude for you
2020-11-11 23:49:04 <monochrom> lambda calculus is simple or complex depending on how many theorems you're required to prove about it.
2020-11-11 23:49:09 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:e4ec:2d0a:6536:c606) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-11 23:49:25 × darjeeling_ quits (~darjeelin@122.245.210.116) (Ping timeout: 264 seconds)
2020-11-11 23:50:03 <monochrom> it's rather like playing the piano or many (though not all) musical instruments.
2020-11-11 23:50:24 <dminuoso> Or like category theory. Can explain it to 8 year old kids
2020-11-11 23:50:35 <monochrom> If I just ask you to evaluate (\x. x x)(\y. y y) or just play one C major scale, that's simple.
2020-11-11 23:50:37 <gtk> monochrom: that Appel book can be easily translated to Haskell right?
2020-11-11 23:51:00 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
2020-11-11 23:51:04 <monochrom> But proving confluence or playing a Liszt piece... You quickly learn that humanity can take any simple thing and turn it into a monster.
2020-11-11 23:52:28 <gtk> Profunctors, contravariant...too damn difficult. I can't imaging how people managed to write stuff like the Lens library. I mean from beginner to that level, it's hard to find the path
2020-11-11 23:52:42 <dminuoso> gtk: what's your overall goal?
2020-11-11 23:52:53 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2020-11-11 23:52:55 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2020-11-11 23:53:02 <monochrom> It did take ekmett some 10 years, no?
2020-11-11 23:53:07 <dminuoso> gtk: Also, https://patrickmn.com/software/the-haskell-pyramid/
2020-11-11 23:53:18 <dminuoso> Understanding the basics of lens is actually wonderfully simple.
2020-11-11 23:53:37 <dminuoso> When I was a beginner, ertes-w had a series of simple excercises, leading me to come up with lenses myself easily
2020-11-11 23:53:42 <monochrom> When I was a kid I was like "I can't imagine how I would make it to university. I keep hearing it's really hard."
2020-11-11 23:53:50 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-11 23:54:03 <monochrom> When I got into university I was like "I can't imagine how I would make it to PhD, I keep hearing it's really hard".
2020-11-11 23:54:07 <monochrom> Then I got a PhD.
2020-11-11 23:54:13 <dminuoso> Now I just look at optics-core and realize "oh well, profunctor optics really isn't *too* different from van laarhoven lenses..."
2020-11-11 23:54:24 <dminuoso> monochrom: So what's hard for you now?
2020-11-11 23:54:40 <monochrom> Getting tenure? I think I'm too old for that now. :)
2020-11-11 23:54:55 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Read error: Connection reset by peer)
2020-11-11 23:55:03 <gtk> monochrom: do you teach haskell?
2020-11-11 23:55:09 <gtk> at your university?
2020-11-11 23:55:11 <monochrom> You just have to build up one step at a time.
2020-11-11 23:55:14 <dminuoso> monochrom: Huh? How old are you?
2020-11-11 23:55:17 <monochrom> 50
2020-11-11 23:55:25 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-11-11 23:55:31 <dminuoso> Somehow I always imagined you to be 30.
2020-11-11 23:55:39 <dminuoso> You *read* like you're 30!
2020-11-11 23:55:40 <monochrom> Me too.
2020-11-11 23:55:47 <Uniaika> oh damn
2020-11-11 23:56:08 <dminuoso> gtk: Anyhow, take a look at my last link
2020-11-11 23:56:12 <dminuoso> Let it sink in, and dont rush into things.
2020-11-11 23:56:23 <gtk> got it
2020-11-11 23:56:30 <dminuoso> Focus on getting productive, not trying to absorb all the things you think are necessary
2020-11-11 23:56:34 <monochrom> I decided that I should just not worry about age (apart from watching out for health, of course).
2020-11-11 23:57:02 <dminuoso> Mmm, that formally puts you into risk category on covid, doesnt it?
2020-11-11 23:57:18 <dminuoso> Somewhat relatedly, are you still teaching currently? In presence?
2020-11-11 23:57:39 <monochrom> Don't worry, I stay home, online teaching.
2020-11-11 23:58:02 × conal quits (~conal@66.115.157.100) (Quit: Computer has gone to sleep.)
2020-11-11 23:58:16 <monochrom> I have always kept a child-like curious mind. That helps a lot.
2020-11-11 23:58:30 <monochrom> (towards imposting a young person)
2020-11-11 23:58:42 <dminuoso> imposting?
2020-11-11 23:58:46 <dminuoso> Is that a word?
2020-11-11 23:58:52 <monochrom> I don't know!
2020-11-11 23:58:55 <Uniaika> impersonating maybe?
2020-11-11 23:59:04 <Rembane> Impostorating!
2020-11-11 23:59:05 <monochrom> imposter syndrome -> imposting

All times are in UTC.