
I'm writing a book about algorithms and Lisp - ska80
https://lisp-univ-etc.blogspot.com/2019/07/programming-algorithms-book.html
======
cpursley
This seems like the perfect book to round out these:

\- Berkeley: Structure and Interpretation of Computer Programs [Racket
version] ([http://berkeley-cs61as.github.io/textbook.html](http://berkeley-
cs61as.github.io/textbook.html))

\- Duke: Discrete Math [Racket]
([https://www2.cs.duke.edu/courses/spring15/compsci230/syllabu...](https://www2.cs.duke.edu/courses/spring15/compsci230/syllabus.html))

Can anyone recommend other core CS books/courses that uses Lisp (or variants)
or other functional languages?

~~~
Areading314
Paradigms of Artificial Intelligence Programming (Norvig)

~~~
nextos
Lisp in Small Pieces

~~~
abc_lisper
This book is poetry. If you have never seen it, please check it out.

~~~
nextos
It's one of my favorites along with SICP, CTM, PAIP and The Art of Prolog.

------
varrock
Maybe this will ease my OCD brain of feeling like I need to get get an
undergrad in CS to continue by programming career and "earn my stripes". Maybe
all I need is exposure to algorithms to feel like I'm more fit for the job.
This might do just that. Looking forward to it.

~~~
drbojingle
A CS degree is just a collection of topics that you study. Look up the topics,
find books, articles, etc on the topics, find a mentor, study the topics, "get
degree". The only thing missing are metrics but the metrics aren't the point.

My local university has a book store and the books per course are all there so
if I wanted to I could pick up all the books for a CS degree and read um. I
could find a list of profs too and I bet if I emailed some I could find one
that might talk back.

There's all kinds of ways to go about this :)

~~~
reikonomusha
Metrics give you feedback on your level of mastery.

~~~
cgriswald
> Metrics give you feedback on your level of mastery.

Metrics _can_ give you feedback on your level of mastery, but this varies
wildly with whoever is providing the feedback.

------
okaleniuk
I would advise to put quite an effort into syntax highlighting, naming, and
all the other things that will help an untrained eye to read the code.

~~~
mark_l_watson
He is planning on using LeanPub and they support specifying what programming
language code snippets are written in so listings tend to look pretty good.

------
reikonomusha
Any Lisp book that is written today owes it to the Lisp community and the rest
of the world to write in a modern, safe, and digestible style. One issue with
many Lisp books, especially older and self-published ones, is that they
contain the author’s pet style or pet idioms, and they wouldn’t fly in a team
environment. I think this is especially important because Lisp books are for
learning, and if it’s just that much more difficult to Google(/ddg/AltaVista),
it will be a frustrating disservice.

Common Lisp has extremely reasonable and regular syntax if you stick to some
basic rules and you don’t “flex” the language gratuitously. Written in such a
way, the structure would be familiar to the modern Python or Java programmer.
Yet the language is a workhorse when the problems get tough or gnarly.

Looking forward to the publication of this book. Seeing introductory
algorithms in modern Common Lisp would be a great resource.

~~~
dtornabene
Going to push back on this. Lisp is written to be "flexed". And people can and
should write it however they want. I think treating students like they're all
incapable of googling is utterly infantilizing and nothing about it serves any
purpose other than stroking the authors ego. The vast, and I mean seriously
vast, majority of programming books waste pages and often multiple whole
chapters on treating the user like they can't find the documentation, like
they can't reason about different syntactical constructions, and it leaves the
learner hobbled and weakened when going out into the real world and trying to
read, let alone write, actually code to accomplish a real task. People can cry
about Paul Grahams style in ANSI lisp, or Let over Lambda, anyone who can work
through either of those books is going to be fine reading Practical Common
Lisp (or whatever). Also, finally, Common Lisp isn't exactly known for being a
"team language" and the overwhelming majority of projects that _I_ know of
were originated by one person. I for one hope the author contributes his work
in whatever way will he feels like. Lisp is a liberating language to use, we
should write about it in the same way

------
justanegg
would be nice to have a book with a bunch of algos and pseudocode to implement
into any language you see fit.

~~~
drainyard
Something like CRLS? That is fairly implementable pseudocode, but maybe still
too hand wavey at times.

~~~
abc_lisper
It really is; it's irritating that they say it can be trivially proved with
induction, robbing me from understanding the crux of the problem.

------
spraveenitpro
Can u make a JavaScript version?

~~~
cpursley
Sigh...

~~~
hota_mazi
It's a legitimate question. As much as I love Lisp and prefer it over
Javascript, focusing an algorithm book on just Lisp considerably reduces its
audience.

~~~
vseloved
I would suggest you to read it before jumping to conclusions (as the new
chapters will be published). Lisp will not be the main focus of the book, for
those who don't plan to use it at work, it may be perceived just as
pseudocode. As for Javascript, I believe that explaining algorithms using it
is counterproductive as the language has too many limitations that will impede
expressing everything I need idiomatically. I'm not saying that you can't
program algorithms in JS, but it's not pleasant and productive. Besides, JS is
not the language I'm interested in, at all

------
kkarakk
>The book will be freely available with a CC BY-NC-ND license.

And yet there is no link to any existing download[sad cat sounds]

~~~
phoe-krk
> will

That's future tense that you just quoted.

From the first paragraph of the blogpost:

> Now, I'm, finally, at the stage when I can start publishing it. But I intend
> to do that, first, gradually in this blog and then put the final version —
> hopefully, improved and polished thanks to the comments of the first readers
> — on Leanpub.

~~~
agumonkey
Also HN didn't keep my edited title. I did add a [WIP] tag ..

