Влияние Lisp на язык программирования Factor?

Я читал (от Славы Пестова), что на Factor повлиял Lisp, но я не уверен, что смогу понять, как это сделать? Разве они не сильно отличаются языками программирования?


person Eli Schneider    schedule 10.09.2010    source источник


Ответы (3)


Несмотря на то, что язык основан на стеке, в нем есть множество элементов, которые демонстрируют явное влияние шепелявости. Возьмем в качестве примера оператор ЕСЛИ. В четвертом операторы If являются условными IF (код, если истина), ELSE (код, если ложь), THEN, и определение If воздействует на среду выполнения, чтобы убедиться, что выполняется правильная ветвь. If in factor является прямым переводом if в lisp, он берет истинную цитату и ложную цитату и выполняет правильную. Редактировать: еще один динамический объем, чем известен CL. Его лексические переменные определяются выражениями let, как и в lisp.(let и let* )

person stonemetal    schedule 22.09.2010

Система объектов, например: http://concatenative.org/wiki/view/Object%20system, напоминает CLOS.

person Hugo Schmitt    schedule 11.09.2010

Что ж, вся философия «код как данные» также присутствует в Factor, судя по тому немногому, что я видел до сих пор. Есть макросы, вы можете цитировать код и манипулировать цитируемым кодом как последовательностями. По сути, цитата в Factor эквивалентна заключенному в кавычки списку/s-выражениям в Лиспе. Lisp идет немного дальше, используя s-выражения для всего кода.

person Charles Langlois    schedule 25.08.2015