
String Algorithms in Lisp - tosh
http://lisp-univ-etc.blogspot.com/2019/11/programming-algorithms-strings.html
======
tonyg
It's truly wonderful that there are so many resources like this available
these days.

Overviews like this with lots of links to other topics, with the relationships
to the main topic made clear, and with little insights scattered throughout
were particularly useful to me as a learner.

In the 90s, before the web really took off, stuff like this was hen's teeth.
Anything you found, via BBS, Usenet, or the nascent web, you'd pore over in
detail and make sure to fastidiously back up in case you never found it again.

~~~
travislane
> In the 90s, before the web really took off, stuff like this was hen's teeth.
> Anything you found, via BBS, Usenet, or the nascent web, you'd pore over in
> detail and make sure to fastidiously back up in case you never found it
> again.

To be honest, backing up stuff makes sense even today. Websites do disappear.
You never know when your favorite blog may disappear. There is the internet
archive machine that fights link rot quite well. But it wouldn't hurt to take
back ups of your favorite online articles.

------
rurban
I liked his Hash Table chapter more: [http://lisp-univ-
etc.blogspot.com/2019/09/programming-algori...](http://lisp-univ-
etc.blogspot.com/2019/09/programming-algorithms-hash-tables.html)

------
DmitryOlshansky
Can’t help but notice that most algorithms are implemented imperatively.

Any chance for efficient pure functional string search algorithm?

------
foo101
An unrelated question. For those using Vim, what plugins do you use to get a
SLIME-like development environment?

I have read great things about SLIME and how it helps in hot-reloading code
into a Lisp REPL using Emacs. But is it necessary to learn Emacs to do Lisp?
Are the plugins for Vim good enough?

~~~
Foober223
I don't use vim, but supposedly Paul Graham, the creator of this site uses vim
for lisp. You really don't need that many fancy tools. Vim already has a
visual hint for matching parens. It's nice to load stuff into the lisp image
while you are typing but a quick keybind to switch to an external REPL and
reload a file gets the job done.

Linux was crafted with just a basic editor, no IDE features. Unix was crafted
without even a display to see the code being typed. Fancy tools are nice but
not required.

But that said, SLIME in Emacs is the best. It's macro expansion buffer with
really helps to understand what a macro does, or make things clear while
crafting your own macros. Auto completion is great, although it only works for
what is loaded int he live image, it doesn't scan source files for completion
like a traditional IDE. Just load everything and completion is great.

