Live data from Hacker News

(How to Write a (Lisp) Interpreter (In Python)) (2010)

norvig.com

31–40 of 73 posts

Re: (How to Write a (Lisp) Interpreter (In Python)) (2010)

#32

Earlier quoted context omitted.

First day of paradigms course in the 2000s and prof says "if your opinion of Scheme is too many parentheses, then you're an idiot." Needless to say that was my opinion and every day I think, more and more, how right he was. (later I did make some gui apps that included scripting and chose s-expr syntax because of how simple it is to implement it)

There are two problems with Lisp parentheses in my opinion: 1) Humans are not that equipped to handle that level of nesting without some other aid, this is why Lisp code is usually indented. 2) Parentheses aren't just about grouping, and this is unintuitive. For example, x is not the same as (x). This is a bit like in set theory where x is not the same as {x}, but parentheses do not look like the kind of sign that wo…

[flagged]

Re: (How to Write a (Lisp) Interpreter (In Python)) (2010)

#38
I actually perfected the Norvig Lisp at one time. It has compiler to python and just everything. Those very few here that can actually read code, understand why this project soon exploded into biggest piece of odorous excrement.

https://github.com/timonoko/nokolis.py

Re: (How to Write a (Lisp) Interpreter (In Python)) (2010)

#39

Earlier quoted context omitted.

How do you mean “these kind”?

Blog tutorials, guides, programming books and youtube tutorials. They are completely irrelevant in a time where you have a personal tutor willing to explain every single detail of a subject.

That's like saying your grandfather is irrelevant now that he's spawned children and grandchildren. Good luck to those personal tutors without this source material.

Re: (How to Write a (Lisp) Interpreter (In Python)) (2010)

#40
post #11

Earlier quoted context omitted.

main problem isn't brackets themselves - it's that they're too on the right had brackets been displayed as curly braces in C - everything would look much more manageable

so, instead of (foo (bar (1 2 3)) you'd prefer { foo { bar { 1 2 3 } } } is that right?

    ( aar
      (bar1 1 2 3)
      (bar2 1 2 3)
      (bar3 
         (car1 2 3)
         (car2)
         (car3)
      )
    )
vs

(aar (bar1 1 2 3) (bar2 1 2 3) (bar3 (car1 2 3)(car2)(car3)))

Post reply on HN