简体   繁体   中英

Lisp influence on on Factor programming language?

I have read (from Slava Pestov) that Factor was influenced by Lisp, but I am not sure that I can understand how? Are they not very difference programming languages?

Even though the language is stack based there are plenty of elements that show a clear lisp influence. Take the IF statement as an example. In forth If statements are cond IF (code if true) ELSE (code if false) THEN and the definition of If acts on the runtime to make sure the correct branch is run. If in factor is a direct translation of if in lisp it takes a true quotation and a false quotation and executes the correct one. Edit: Another is Dynamic scope, Something CL is known for. Its lexical variables are defined by let expressions just like lisp.(let and let* )

对象系统,一个: http//concatenative.org/wiki/view/Object%20system ,类似于CLOS。

Well, the whole "code as data" philosophy is also pretty present in Factor, from the little I've seen of it so far. There are macros, you can quote code and manipulated quoted code as sequences. Basically, a quotation in Factor is equivalent to a quoted list/s-expression in Lisp. Lisp goes a bit further by using s-expressions for all code.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM