
Common Lisp Koans - bibyte
https://github.com/google/lisp-koans
======
matthberg
Currently working through these to learn Common Lisp after being introduced to
the language as part of a college CS class, can definitely recommend them
along with Practical Common Lisp [0] and Let Over Lambda [1].

0: [http://www.gigamonkeys.com/book/](http://www.gigamonkeys.com/book/)

1: [https://letoverlambda.com/](https://letoverlambda.com/)

~~~
alecigne
Although I am far for being a good Lisp programmer, I wouldn't recommend
introducing Let Over Lambda (or anything about advanced macro programming) too
early in anyone's learning curve.

For a comparable price (at least, when I bought them), Common Lisp Recipes
might be a far better companion to PCL for an intermediate Common Lisp
programmer.

~~~
lispm
Also see PAIP: [https://github.com/norvig/paip-
lisp](https://github.com/norvig/paip-lisp)

------
jdhorwitz
Always curious as to why Google hosted/created these, anyone know why? I
wasn't aware of Google using Common Lisp.

~~~
felideon
ITA Software — the company that wrote the engine behind Orbitz, Kayak, etc.
and now runs Google Flights — was acquired by them a while back.

~~~
justinpombrio
Off topic, but since I worked at Kayak let me expand a bit on its relationship
to ITA as I understood it.

Airlines and hotels had data about flights and available rooms. Kayak needed
this data to show it in your search. This could happen in a few ways:

1\. The airline or hotel could send Kayak data that had a particular format,
and Kayak would deal with it. A common format, especially for hotels IIRC, was
invalid csv files.

2\. The airline could send its flight data to ITA, which standardized it
across all airlines that used the service. ITA was a separate company from
Kayak and Google flights and other flight search engines; it aggregated data
but was not a search engine. [EDIT: was not _primarily_ a search engine. See
comment below.] Kayak would buy data from ITA.

3\. The airline or hotel could decline to let Kayak list its flights/rooms.

Since then Google bought ITA, breaking the [EDIT: partial] separation between
the most common flight-data aggregator and flight search engines. (Which was
probably good for competition; I was a little concerned about the merger.) And
Kayak was bought out too, by one of its competitors.

Take all this with a grain of salt: this is what I remember from years ago,
and it wasn't really my area. And I certainly don't speak for Kayak.

~~~
snazz
Interesting! I wonder why ITA never offered a search engine themselves, if
they had all the data aggregated. And boy do I love dealing with invalid
CSVs... (especially ones that contain commas within the fields by accident)

~~~
wbl
They did! Matrix.itasoftware.com

~~~
snazz
Oh, nice. It looks pretty fancy, too. I’m surprised that Google didn’t axe it
in favor of Google Flights.

~~~
cracauer
There are some feature in matrix that flights didn't pick up. The original
matrix site was even more powerful and exposed some operator-ishness,
depending on what kind of account you were granted.

------
lerax
A solved repo for someone curious: [https://github.com/ryukinix/lisp-koans-
answers](https://github.com/ryukinix/lisp-koans-answers)

