
The Common Lisp Cookbook - ghosthamlet
https://lispcookbook.github.io/cl-cookbook/
======
pnathan
Hi!

I'm one of the (less active) maintainers. Four years ago I migrated the CL
cookbook from sourceforge where it'd been gently resting for quite a few years
(nearly a decade), and put it onto github, put together a CI system, and away
it went. A few volunteers have been diligently working away on improving it,
particularly `vindarel`, who has really taken the lead for content work in the
last couple years as I've been pulled away by other things.

since 2015 we've had 492 commits into git, and these fine people have
contributed to the git tree:

    
    
          Alexander Artemenko
          Andrew
          Andrew Hill
          Ben Dudson
          Burhanuddin Baharuddin
          chuchana
          Danny YUE
          Dmitry Petrov
          Fernando Borretti
          HiPhish
          Johan Sjölén
          Kevin Layer
          LdBeth
          Momozor
          Nisar Ahmad
          Nisen
          otjura
          Paul Donnelly
          Pavel Kulyov
          Pierre Neidhardt
          Salad Tea
          Victor Anyakin
          vindarel
          Vityok
          YUE Daian
    
    

thanks be to the contributors!

I'll be around to answer any Qs for an hour or two, then I'll keep an eye out
tomorrow!

~~~
RaycatRakittra
Love seeing a Lisp Cookbook pop up on HN.

Had a general question about CL. What advantages does it have over things like
Racket and Chicken? And how could I potentially pitch the language to a non-
dev?

~~~
mruts
Upsides: Many muture implementations both commercial and opensource (SBCL,
LispWorks, Franz Lisp).

Can be very fast.

Less opinionated than Scheme/Racket. Supports FP, imperative, and OOP.

Supports system images where you can hack on running images to avoid downtime.
Racket doesn’t support this.

Great debugging from the REPL.

Probably the most advanced exception/error system of any language.

Easy to learn (and powerful) macros.

ANSI standardized.

Powerful object system.

Downsides: Dynamic typing (some people might not have a problem with this).

No match statements.

Huge and complicated standard. Many unnecessary and unused/dead features.

Inconsistent and not orthogonal in the least. Multiple functions that do the
same thing but have different argument orders or inconistent names.

A little low level compared to Racket. This might be a positive if you want
C-like performance.

Not the greatest libraries compared to Racket. Documentation is often bad or
non-existent.

Hard to learn effectively. Language gives little guidance on how it should be
used.

~~~
vindarel
There's the very good Trivia library for pattern matching:
[https://lispcookbook.github.io/cl-
cookbook/pattern_matching....](https://lispcookbook.github.io/cl-
cookbook/pattern_matching.html)

(and I think libraries are better maintained that Racket's)

------
deepaksurti
Another excellent companion with the Cookbook is `Common Lisp Recipes` by Edi
Weitz. Edi Weitz is a profilic CL programmer and his libraries are worth their
weight in gold.

Anyone learning CL must read his code if I were to say to learn from a master.

[1] [http://weitz.de/cl-recipes/](http://weitz.de/cl-recipes/) [2]
[https://github.com/edicl](https://github.com/edicl)

------
hoveractive
For a Vim user, what is a good plugin to provide SLIME like paredit and REPL
capabilities for programming in Common Lisp? Is there a clear winner plugin in
Vim like there is SLIME for Emacs?

~~~
MichalSternik
Steve Losh in his already-classic CL blog post [^1] suggests either Vlime or
Slimv, quote:

„If you’re like me and already have Vim burned too deeply into your fingers to
ever get it out, I’d recommend Vim with Vlime. It will give you 80% of the
experience you’ll get with Emacs.”

If you want 100% of SLIME goodness without sacrificing vim, try spacemacs
[^2]. I switched about two years ago and am very happy.

[1]: [http://stevelosh.com/blog/2018/08/a-road-to-common-
lisp/#lis...](http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/#lisp-
as-a-system) [2]: [http://spacemacs.org](http://spacemacs.org)

~~~
anoncake
> If you want 100% of SLIME goodness without sacrificing vim, try spacemacs.

Or just Evil + Evil-collection. Spacemacs is pretty bloated.

~~~
MichalSternik
I have not heard before about evil-collection. I have thought about having a
custom setup, but my .spacemacs has grown a bit, so it's going to be a major
work. I will try it at some point, just to check my elisp-fu

Thanks for the tip!

------
merricksb
Big discussion 2 years ago:

[https://news.ycombinator.com/item?id=14661239](https://news.ycombinator.com/item?id=14661239)

(Provided for interest purposes. It doesn't qualify as a dupe -
[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html))

------
ngcc_hk
Great to have support still.

------
csdreamer7
What is the best (video?) tutorial for learning how to use slime with cl in
spacemacs?

