![][1] В своей прошлой статье [Пишем Lisp-интерпретатор на Java][2] я кратко и тезисно рассказал про то, что написал пару интерпретаторов Lisp-подобного языка, который назвал Liscript — на Haskell и на Java. Ничего особо уникального и выдающегося в этом нет, но для меня это было приятным, интересным и познавательным времяпровождением. Среди прочих особенностей, я упомянул про реализацию TCO (tail call optimization) — оптимизацию интерпретатором хвостовых вызовов функций. Этот вопрос вызвал интерес отдельных участников сообщества, и поступило предложение детальнее раскрыть его в отдельной статье, что я и попытался сделать. Интересующихся прошу под кат. [Читать дальше →][3]
[1]:
https://habrastorage.org/files/58f/f34/a49/58ff34a4919a4b6c9ea37656be866cda.png
[2]:
https://habrahabr.ru/post/281859/
[3]:
https://habrahabr.ru/post/282093/#habracut