Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why is buildyourownlisp in the (bottom of the) list? #14

Open
no-defun-allowed opened this issue Apr 8, 2020 · 2 comments
Open

Why is buildyourownlisp in the (bottom of the) list? #14

no-defun-allowed opened this issue Apr 8, 2020 · 2 comments

Comments

@no-defun-allowed
Copy link

no-defun-allowed commented Apr 8, 2020

Notwithstanding that I am probably too much of a pedantic to really have an unbiased opinion of the contents of this list, why is buildyourownlisp in the list? It's confusing and doesn't even pretend to have Lisp semantics. An example:

; First, Second, or Third Item in List
(fun {fst l} { eval (head l) })
(fun {snd l} { eval (head (tail l)) })
(fun {trd l} { eval (head (tail (tail l))) })

car fst calls eval? In my lisp?

(fun {take n l} {
  if (== n 0)
    {nil}
    {join (head l) (take (- n 1) (tail l))}
})

Er, nil is a function as well? And what's this about q-expressions? Did I fall asleep in the middle of my reading of Recursive Functions of Symbolic Expressions and Their Computation by Machine? They seem to be thrown in randomly. This book really just describes all the kludges the author put into an interpreter and makes it sound like an educational project. I heard the C code is also not great, but I can't read C too well.

I must have fallen asleep during the introduction too, after their reasoning for using C:

Conceptually, syntactically, and in implementation, this Lisp has a number of differences to other major brands of Lisp. So much so that I'm sure I will be getting e-mails from Lisp programmers telling me it isn't a Lisp because it doesn't do/have/look-like this or that.
I've not made this Lisp different to confuse beginners. I've made it different because different is good.

Ah, alright. It just deviates in ways that make it completely irrepresentative of Lisp implementation or even its basic semantics. Back to my armchair then.

@dundalek
Copy link
Owner

dundalek commented Apr 8, 2020

LOL, solid points! :) Well, the joke is on me because I didn't read it. I've just read the intro which seemed good and skimmed the table of contents which looked reasonable.

Conceptually, syntactically, and in implementation, this Lisp has a number of differences to other major brands of Lisp. So much so that I'm sure I will be getting e-mails from Lisp programmers telling me it isn't a Lisp because it doesn't do/have/look-like this or that.

Did you send the fellow an email then? 😄

@no-defun-allowed
Copy link
Author

No, I don't think the author is a reasonable person after reading parts of the book.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants