Для меня важно убедиться, что вы делаете все «шутливо». Не поддавайтесь соблазну думать: «В Java я бы использовал цикл for здесь, как мне сделать цикл в Lisp?» но чтобы пройти достаточное количество примеров и учебных пособий (как кто-то указал, SICP идеально подходит для этого), вы можете начать замечать, когда код выглядит как «Lisp-y» и распознавать парадигмы общего языка.
Я, конечно, знаю, что я смотрю на какой-то код, который я только что написал, и интуитивно знаю, что он правильно идиоматичен для этого языка и платформы / фреймворка - я думаю, это когда он «щелкает».
Редактировать : И слава выбора функционального языка, ученики младшего возраста просто сделали бы это на Java:)