By Guy L. Steele Jr., Richard P. Gabriel
Read or Download [Article] The Evolution of Lisp PDF
Best computers books
The third Workshop on Formal techniques to Agent-Based platforms (FAABS-III) was once held on the Greenbelt Marriott inn (near NASA Goddard house Flight heart) in April 2004 together with the IEEE machine Society. the 1st FAABS workshop used to be assist in April 2000 and the second one in October 2002. curiosity in agent-based platforms keeps to develop and this can be visible within the wide selection of meetings and journals which are addressing the examine during this zone in addition to the prototype and developmental structures which are getting into use.
This authoritative, Apple-Certified education path is designed either for execs who aid Apple desktops in addition to Macintosh fanatics who are looking to improve, carrier, or troubleshoot their favourite structures. totally revised, this 3rd version contains Apple's new versions with Intel processors, the MacBook seasoned, Mac mini, and iMac.
"MindShare books are severe within the realizing of advanced technical issues, equivalent to PCI exhibit three. zero structure. a lot of our buyers and companions depend upon those books for the good fortune in their tasks. " Joe Mendolia - vice chairman, LeCroy PCI convey three. zero is the newest new release of the preferred peripheral interface present in nearly each workstation, server, and business laptop.
- Simulated Evolution and Learning: First Asia-Pacific Conference, SEAL'96 Taejon, Korea, November 9–12, 1996 Seclected Papers
- E-Commerce and Web Technologies: 9th International Conference, EC-Web 2008 Turin, Italy, September 3-4, 2008 Proceedings
- Sparse Grids and Applications (Lecture Notes in Computational Science and Engineering)
- Cisco - Enterprise Voice Update 1109
- Modular Specification and Verification of Object-Oriented Programs
- Advances in Information and Computer Security: First International Workshop on Security, IWSEC 2006, Kyoto, Japan, October 23-24, 2006. Proceedings
Additional resources for [Article] The Evolution of Lisp
The macro is the most immediate example of a program written in a metalanguage. Because Lisp is its own metalanguage, the power of the entire programming language can be brought to bear on the task of transforming program text. By comparison, the C preprocessor is completely anemic; the macro language consists entirely of substitution and token concatenation. There are conditionals, and one may conditionally deﬁne a macro, but a C macro may not expand into such a conditional.
A related line of work allows the programmer to control the expansion process by explicitly passing around and manipulating expander functions [Dybvig, 1986]. All of these were intended as macro facilities for Scheme, previous methods being regarded as too deeply ﬂawed for adoption into such an otherwise elegant language. Hygienic macros were developed in 1986 by Eugene Kohlbecker with assistance from Daniel Friedman, Matthias Felleisen, and Bruce Duba [Kohlbecker, 1986a]. The idea is to label the occurrences of variables with a tag indicating whether it appeared in the original source code or was introduced as a result of macro expansion; if multiple macro expansions occur, the tag must indicate which expansion step was involved.
We can see this by observing that only a person well-versed with how a particular Lisp is implemented can write eﬃcient programs. Here is a perfectly nice piece of code: (defun make-matrix (n m) (let ((matrix ())) (dotimes (i n matrix) (push (make-list m) matrix)))) (defun add-matrix (m1 m2) (let ((l1 (length m1)) (l2 (length m2))) (let ((matrix (make-matrix l1 l2))) (dotimes (i l1 matrix) (dotimes (j l2) (setf (nth i (nth j matrix)) (+ (nth i (nth j m1)) (nth i (nth j m2))))))))) The expression to read and write a cell in a matrix looks perfectly harmless and fast as anything.
[Article] The Evolution of Lisp by Guy L. Steele Jr., Richard P. Gabriel