Logs: freenode/#haskell
| 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.