Влияние лиспа на язык программирования Factor?
Я читал (от Славы Пестова), что на Фактор повлиял Лисп, но я не уверен, что могу понять, как? Разве они не очень разные языки программирования?
3 ответа
Несмотря на то, что язык основан на стеке, существует множество элементов, которые демонстрируют явное влияние шуток. Возьмите оператор IF в качестве примера. В-четвертых, операторы if являются условными IF (код, если true), ELSE (код, если false), THEN и определение If действует во время выполнения, чтобы убедиться, что выполняется правильная ветвь. If in factor является прямым переводом if in lisp, он принимает истинную цитату и ложную цитату и выполняет правильную. Изменить: Еще один динамический объем, что-то CL известен. Его лексические переменные определяются выражениями let, как в lisp.(Let и let*)
Система объектов, например: http://concatenative.org/wiki/view/Object%20system, напоминает CLOS.
Ну, вся философия "код как данные" также довольно присутствует в Факторе, из того, что я до сих пор видел. Существуют макросы, вы можете цитировать код и манипулировать цитируемым кодом как последовательности. По сути, цитата в факторе эквивалентна цитируемому списку /s-выражению в Лиспе. Lisp идет немного дальше, используя s-выражения для всего кода.