[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Function cells.



I would credit JONL with introducing what is effectively the
function-cell functionality to Maclisp. Even though the internals
of the function calling mechanism in maclisp uses various properties,
EXPR, FEXPR, LSUBR, SUBR, FSUBR, and also various function cells with
the UUOLINK mechanism, the user only need be aware of the existence of
DEFUN. Here is some old lisp mail on the topic:

3/1/69 JONL

 THE CURRENT VERSION OF LISP, "LISP 102", HAS
THE FOLLOWING AS-YET UNDOCUMENTED FEATURES:

	1)"DEFUN" IS AN FSUBR USED TO DEFINE
FUNCTIONS. EXAMPLES ARE
	(DEFUN ONECONS (X) (CONS 1 X))
WHICH IS EQUIVALENT TO 
	(DEFPROP ONECONS 
		(LAMBDA (X) (CONS 1 X)
	 EXPR)

THE NOVEL FEATURE OF "DEFUN" IS THAT ONE NEED
 NOT BE SO CONCERNED WITH BALANCING
PARENTHESES AT THE VERY END OF THE FUNCTION
DEFINITION.  ALSO, THE "LAMBDA" NEED NOT BE 
DIRECTLY INSERTED.

Of course, the time this note was written none of the hairier
specialized calling mechanisms had been added to maclisp.

-gjc