
L-99: Ninety-Nine Lisp Problems - slig
http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html
======
silentbicycle
This list was originally written for Prolog, and it looks like not all of them
have been fully translated. Here are a few notes to help read it:

In e.g. "Write a predicate hbal-tree/2 to construct...", hbal-tree/2 means a
predicate with two values. Lisp's cons would be cons/3, cons(Atom, List,
Result). In Prolog, you can leave other arguments (not just the "result") as a
variable and will often serve as a generator for all possible values. hbal-
tree/2 would be used as hbal-tree(T, R). If T was defined and R wasn't, it
would return a balanced version in R. With R defined but not T, it would
generate all permutations of trees that balance to R (perhaps very slowly). T
and R both defined would check if R is a valid balanced version of T.

Also, Prolog syntax uses "name(arg1, arg2)." rather than "(name arg1 arg2)".

------
nickpinkston
If you havin' Lisp problems I feel bad for you son... You got 99 problems, but
parens ain't one...

J/K - This actually looks like a great start - like when I started Scheming
for the first time.

------
alextp
This is in the webpage of a professor at my university. His class was
entertaining, and he is clearly really smart, but he scared off most of the
students by asking them questions about the material, and teaching only the
minimum necessary.

These problems are really cool, and seem to cover a lot of ground from silly
list manipulation techniques to dynamic programming.

