Live data from Hacker News

Lisp from Nothing, Second Edition

t3x.org

81–90 of 109 posts

Re: Lisp from Nothing, Second Edition

#81

Earlier quoted context omitted.

I was very curious about this too. I've had my finger hovering over the "buy" button for months but there are next to no reviews on it. I'm wondering how it differs from other, similar works

There are always the sample chapters, and the code from the book is in the public domain. :) The book is basically a modern and more complete version of the "Small C Handbook" of the 1980's. I goes through all the stages of compilation, including simple optimizations, but keeps complexity to a minimum. So if you just want to learn about compiler writing and see what a complete C compiler look like under the hood, wit…

Thx, I’m going to buy it I think!

Re: Lisp from Nothing, Second Edition

#82
When it will stop ? The minimal languages... To be useful for something language need to have at least minimal standard library.

Or just possibility to do syscalls to do something. What is more important then new syntax and sugar over basic instructions.

Re: Lisp from Nothing, Second Edition

#83
post #82

When it will stop ? The minimal languages... To be useful for something language need to have at least minimal standard library. Or just possibility to do syscalls to do something. What is more important then new syntax and sugar over basic instructions.

Do I need a standard library to learn how to implement a language?

Our objectives might, and most probably will, be different.

Re: Lisp from Nothing, Second Edition

#84
post #82

When it will stop ? The minimal languages... To be useful for something language need to have at least minimal standard library. Or just possibility to do syscalls to do something. What is more important then new syntax and sugar over basic instructions.

I don’t think the book aims at being “useful” in the usual sense of the term. Neither the minimal language it builds does.

(They are probably “useful” in the dissemination of what the real essence of computation can reduce to, in practical terms.)

Not everything needs to be useful in fact: certain things can be just enjoyed in their essence, just looked at and appreciated. A bit like… art?

I am implementing my own Scheme as well. Why? I don’t know, one needs to do things that serve no apparent purpose, sometimes.

Re: Lisp from Nothing, Second Edition

#85

As somebody who read a couple of the author's books, and also somebody who spent almost a decade studying compilers, I am genuinely curious about the author himself. These works are something I both understand and would never achieve myself. These are cultural artifacts, like deeply personal poetry, made purely for the process of it. Not practically useful, not state of the art, not research level, but... a personal…

Thank you so much for reading my books and describing my work in such beautiful words! You basically answered your own question! My motivation is just the creation of something I find beautiful. The vision, to pass knowledge to those who seek it in the simplest possible way, where "simple" does not necessarily mean in the tersest form, but in a form that invites being digested. I do not usually talk much about "mysel…

I just bought ePubs for your Raja Yoga Revisted (I usually study SRF material, but alternatives are good!) and Scheme 9 for Empty Space. Your web site is very nice, I loved the ‘Who am I?’ page. I have been using Lisp languages since 1978 but except for studying Peter Norvig’s Lisp in Python, I have never dropped below the abstraction layer into a Lisp implementation so I am looking forward to that.

EDIT: https://usesthis.com/interviews/nils.m.holm/

Re: Lisp from Nothing, Second Edition

#86
post #79

Earlier quoted context omitted.

The metacircular evaluator shows how code is data and data is code. And in a way it’s like Maxwell’s equations. A simple proof of computation that also somehow implements a very neat language.

But of course you must close the loop by representing Maxwell's equations electromagnetically. I know this is a classic analogy, but now you've got me wondering, originally Maxwell wrote a messy pile of equations of scalrs, later someone (Gibbs?) gave them the familiar vector calculus form. Nowadays we have marvellously general and terse form, like (using the differential of the Hodge dual in naturalised units), d st…

>later someone (Gibbs?) gave them the familiar vector calculus form.

It was Oliver Heaviside (https://en.wikipedia.org/wiki/Oliver_Heaviside) that rewrote Maxwell's original equations (20 of them in differential form) into the notation used today (4 of them in vector calculus form).

Here's a nice comparison: https://ddcolrs.wordpress.com/2018/01/17/maxwells-equations-...

Re: Lisp from Nothing, Second Edition

#87
post #77
post #47

Earlier quoted context omitted.

Those are big quality of life improvements. I wish the other lisps would follow suit. I suppose I could just implement them myself with some macros, but having it standard would be sweet.

The Revised Revised Revised Revised Revised Revised Report on the Algorithmic Programming Language Scheme (R6RS) specified that square brackets should be completely interchangeable with round brackets, which allows you to write let bindings or cond clauses like so: (let ([a (get-some-foo 1)] [b (get-some-foo 2)]) (cond [(> a b) -1] [( ...but I hate that, I'd much prefer if square brackets were only used for vectors,…

I think the R6S behavior helps with visual matching, but squanders using square brackets for something more useful (e.g. vectors), which is a shame. Another thing Clojure does is copy Arc in eliminating parentheses around the pairs of forms in let bindings and cond forms, which really aren’t needed. It just expects pairs of forms and the compiler objects if given an odd number. The programmer can use whitespace (notably newlines) to format the code so the pairings are visibly apparent. That reduces a surprising amount of needless parentheses because let binding forms are used all over (less so cond forms).

Re: Lisp from Nothing, Second Edition

#88
post #74
post #48

Under “The Intended Audience” (page 10 of the PDF sample on the site), it says that this is not an introduction to LISP and that it would be more enjoyable with some prerequisites. Where does one — who has no knowledge of these prerequisites or about LISP (except that the latter has been heard in programming circles as something esoteric, extremely powerful, etc.) — start, before reading this book?

One source of awe people have with the idea of Lisp is how much you can build off of so little. I like pg's Roots of Lisp paper on that https://justine.lol/sectorlisp/jmc.pdf The core thing was the meta-circular evaluator (eval) in the original Lisp paper. You can work through it or try re-implementing it in something else. I like this recent tiny version https://justine.lol/sectorlisp2/ Another source of awe is abou…

Thank you very much for an elaborate reply. I really appreciate it. I’ll check out the books and links from your comment.

Re: Lisp from Nothing, Second Edition

#89
post #50
post #48

Under “The Intended Audience” (page 10 of the PDF sample on the site), it says that this is not an introduction to LISP and that it would be more enjoyable with some prerequisites. Where does one — who has no knowledge of these prerequisites or about LISP (except that the latter has been heard in programming circles as something esoteric, extremely powerful, etc.) — start, before reading this book?

There's ANSI Common Lisp by Paul Graham. I've never read it and I'm not sure it's the best introduction but thumbing through it I don't see how you can get any more basic than that.

Thanks for the recommendation. I appreciate it. I’ve heard about this book before, but never read it.

Re: Lisp from Nothing, Second Edition

#90
post #48

Under “The Intended Audience” (page 10 of the PDF sample on the site), it says that this is not an introduction to LISP and that it would be more enjoyable with some prerequisites. Where does one — who has no knowledge of these prerequisites or about LISP (except that the latter has been heard in programming circles as something esoteric, extremely powerful, etc.) — start, before reading this book?

If you prefer hands-on learning, How to Design Programs is pretty good resource for the foundations, with lots of examples and exercises: https://htdp.org But learning the basics of lisp is more like a side effect, the focus is on program design.

Thanks a lot. I’ve heard about this too, but didn’t spend time to follow through on reading it.
Post reply on HN