Pau*_*yot 33
F的实际含义经常被遗忘.根据一些消息来源,f后缀可能代表:
然而,根据Gabriel和Steele的Lisp演变,SETF来自Peter Deutsch的A Lisp Machine with Very Compact Programs(1973年出版),F代表功能.
在本文中,Peter Deutsch写道:
SET函数被扩展,以便如果第一个参数是列表
(fn argl ... argn)而不是变量,则函数fn在"store"模式下使用argumentsargl ... argn和newvalue(SET的第二个参数)调用.SETQ也以显而易见的方式扩展,但并不是特别有用.一个更有用的功能是(SETFQ (fn argl ... argn) newvalue)它引用的函数名称和评估一切.例如,这允许将RPLACA定义为(LAMBDA (X Y) (SETFQ (CAR X) Y)).
(强调我的)
加布里埃尔和斯蒂尔解释了这是如何成为SETF:
这个名字在Lisp-Machine Lisp中缩写为SETF.