Hacker News new | ask | show | jobs
by faoileag 1611 days ago
Like others said before: CL is just a programming language that can be used for functional programming, but doesn't enforce this.

So you have to be disciplined. I stick to the following rules:

* have a (main) function

* prefix io functions with io- and only use them in (main) (inspired by Haskell)

* No loop. Always recursion.

* No variables. No local ones and definitely no global ones.

That way, you have to think more in functional terms than in imperative ones.

Helps me. Your mileage might vary.