Backstory: Я сделал много больших и относительно сложных проектов на Java, имею большой опыт программирования в встроенном программировании. Я познакомился с синтаксисом схемы и CL и написал несколько простых программ с ракеткой.
Вопрос: Я запланировал довольно большой проект и хочу сделать это в ракетке. Я слышал много "если вы" получите "lisp, вы станете лучшим программистом" и т.д. Но каждый раз, когда я пытаюсь планировать или писать программу, я все еще "разлагаю" задачу знакомыми объектами с сохранением состояния интерфейсы.
Существуют ли "шаблоны проектирования" для lisp? Как "получить" lisp -семейство "mojo"? Как избежать объектно-ориентированного ограничения на ваше мышление? Как применять идеи функционального программирования, усиленные мощными макроуровнями? Я попытался изучить исходный код больших проектов на github (например, Light Table) и стал более запутанным, а не просвещенным.
EDIT1 (менее двусмысленные вопросы): есть ли хорошая литература по этой теме, которую вы можете рекомендовать или есть хорошие проекты с открытым исходным кодом, написанные в cl/schem/ clojure, которые имеют высокое качество и могут служить хорошим примером?