[HN Gopher] Graydon Hoare: 21 compilers and 3 orders of magnitud...
       ___________________________________________________________________
        
       Graydon Hoare: 21 compilers and 3 orders of magnitude in 60 minutes
        
       Author : eternalban
       Score  : 103 points
       Date   : 2022-09-09 15:33 UTC (7 hours ago)
        
 (HTM) web link (lambda-the-ultimate.org)
 (TXT) w3m dump (lambda-the-ultimate.org)
        
       | eternalban wrote:
       | Some items of interest mentioned in the talk:
       | 
       | SRI-ARC:
       | https://archive.computerhistory.org/resources/access/text/fi...
       | 
       | Frances Allen (RIP):
       | https://news.ycombinator.com/item?id=24066832
        
       | amelius wrote:
       | Does it cover JIT compilation? Or modern concurrently garbage
       | collecting runtimes? What are good resources?
        
       | alexisread wrote:
       | It's a shame the maru compiler didn't get a mention: Self-hosted
       | (x86) in 1800LOC, bootstrapped from C-maru compiled with gcc or
       | clang, 70% the speed of C with gcc.
       | 
       | Current maintainer is Attila Lendvai https://github.com/attila-
       | lendvai/maru/tree/piumarta
        
       | kragen wrote:
       | For those who aren't aware, in addition to inventing Rust,
       | Graydon also wrote Monotone, the source control system whose
       | internal design Git is based on. Interpersonally he can be
       | prickly sometimes but his opinions are well worth listening to.
        
         | agumonkey wrote:
         | Oh I had no clue he was behind monotone nor git's lifting it.
         | 
         | Have you both collaborated on something ?
        
           | zoltar wrote:
           | Linus was hanging out in the monotone list for a bit and was
           | a little frustrated with the performance at the time.
           | https://lwn.net/Articles/132161/
        
         | faitswulff wrote:
         | > Graydon also wrote Monotone, the source control system whose
         | internal design Git is based on.
         | 
         | Huh. I wonder if that played a part in Torvald's being open to
         | Rust in the Linux kernel.
        
         | everybodyknows wrote:
         | Also the core code (in C++) of the Stellar consensus-based
         | cryptocurrency.
        
         | ModernMech wrote:
         | > Interpersonally he can be prickly sometimes
         | 
         | Aren't we all? What's the point in saying this? I find him
         | quite pleasant.
        
           | Waterluvian wrote:
           | I think it's a bit unfair to many people to try to normalize
           | prickliness by saying everyone is.
        
             | freeopinion wrote:
             | Did somebody wake up on the wrong side of the bed?
        
             | TheAceOfHearts wrote:
             | How much choice do you think prickly people have in who
             | they become?
             | 
             | If I'm an asshole, and I recognize that I'm an asshole, but
             | I'm either unable or unwilling to change, would you kill me
             | if I asked it of you or society at large? I certainly don't
             | want to be this way, but find I have little choice in the
             | matter. Any signs of mercy for those of us who are born to
             | suffer?
        
               | eternalban wrote:
               | (to be clear, I did find your post funny, so this is
               | friendly feedback.)
               | 
               | > How much choice do you think prickly people have in who
               | they become?
               | 
               | It boils down to if you think being an asshole is
               | congenital and impervious to efforts at self-improvement.
               | 
               | Personally I think we humans all hunger for love and
               | acceptance, and a generous dose of love is Alchemical and
               | can transmutate the lead of assholeness to the gold of
               | beautiful conduct. So next time you see an asshole, give
               | them a hug.
               | 
               | > I have little choice
               | 
               | As a last resort, you could always self-isolate. :}
        
               | Waterluvian wrote:
               | I'm saying not to dismiss prickliness by declaring that
               | everyone is. Everyone isn't. Some, many, most? are, sure.
               | 
               | "There's no point singling out people who steal bulk bin
               | candies. Everyone does it." is the sentiment that sits
               | wrong with me.
        
               | freeopinion wrote:
               | What if, instead, somebody could offer you a path to
               | change, as unlikely as it may seem? How unwilling are
               | you?
        
               | [deleted]
        
               | wrycoder wrote:
               | I wish people would find a new word, instead of
               | persisting in using gutter English. Not just back alley,
               | but gutter.
        
           | googlryas wrote:
           | Maybe reading the literal words, we are all a little prickly
           | sometimes. The intent is probably a polite way of saying "he
           | is frequently an asshole for no apparent reason".
        
           | kragen wrote:
           | I want people who _don 't_ find him quite pleasant to read
           | the slides anyway instead of replying to my comment with
           | "well actually Graydon is the kind of person who..."
           | 
           | I'm glad to hear you get along well.
        
       | tester756 wrote:
       | >Use compiler-friendly languages, by which he is really taking
       | about languages that are good for implementing compilers, like
       | Lisp and ML
       | 
       | why?
        
         | rwmj wrote:
         | You can easily match over structures, reaching into ASTs to any
         | depth, which makes writing certain optimizations easier. As a
         | very contrived example:                 match expr with       |
         | Mul (Const x, Const y) -> Const (x*y)       | Mul (x, Const 2)
         | -> (* optimize as a left shift *)       | ...
        
           | bicarbonato wrote:
           | It might not be a great language to create compilers, but
           | python also has a pretty good structured pattern matching as
           | of version 3.10:                 class BinOp:          def
           | __init__(self, left, right, operator):              self.left
           | = left              self.right = right
           | self.operator = operator            sum_of_ints =
           | BinOp(left=1, right=1, operator='+')            match
           | sum_of_ints:          case BinOp(left=int(left),
           | right=int(right), operator='+'):              print(f'Summing
           | int {left} + {right}')          case BinOp(left=str(left),
           | right=str(right), operator='+'):
           | print(f'Concateneting strings {left} + {right}')
           | case _:              print('Don\'t know how to sum this')
        
         | Fellshard wrote:
         | I expect the former because sexprs give you AST structure for
         | free, and the latter because pattern-matched dispatch on AST
         | nodes is ubiquitous.
        
       | muggermuch wrote:
       | This is excellent, thanks for sharing!
        
         | eternalban wrote:
         | You're welcome. Also wanted to give HN heads up that LtU is
         | back up.
        
       ___________________________________________________________________
       (page generated 2022-09-09 23:00 UTC)