scheme and lisp...
i believe scheme is a subset of Lisp.
subset in that it does not have all of the functions of Lisp.
edit: streamlined, if you will
edit2: Differences of Scheme and Lisp
subset in that it does not have all of the functions of Lisp.
edit: streamlined, if you will
edit2: Differences of Scheme and Lisp
Comparing Scheme to Common Lisp is very similar to comparing Java to C: They kinda look the same if you don't know anything about either, but that is as far as the similarity goes.
They have the same syntax on the most basic of levels, but they are two completely different languages.
They have the same syntax on the most basic of levels, but they are two completely different languages.
Quote:Original post by Extrarius
They have the same syntax on the most basic of levels, but they are two completely different languages.
I took a glance at Scheme macros, but I didn't 'get' how they worked. Are they in the end anything like Lisp macros?
Quote:Original post by DiodorI don't really know enough about scheme to help, but I do remeber seeing a HUGE newsgroup thread about them a while back. Try googling groups.google for it on comp.lang.lispQuote:Original post by Extrarius
They have the same syntax on the most basic of levels, but they are two completely different languages.
I took a glance at Scheme macros, but I didn't 'get' how they worked. Are they in the end anything like Lisp macros?
Plt Strikes again
The main difference between Scheme syntax extensions and Common Lisp macros are how they handle variable capture. Scheme protects against variable capture (hygienic-macros). Common Lisp offers the option to capture external variables if you so choose (99% of the time you don't).
Variable capture is when you write a macro that binds something to an identifier -but the identifier is already in use by the enclosing scope.
Paul Graham's book, On Lisp (pdf) describes Common Lisp macros in great detail. Scheme Syntactic Extensions are described here.
The main difference between Scheme syntax extensions and Common Lisp macros are how they handle variable capture. Scheme protects against variable capture (hygienic-macros). Common Lisp offers the option to capture external variables if you so choose (99% of the time you don't).
Variable capture is when you write a macro that binds something to an identifier -but the identifier is already in use by the enclosing scope.
Paul Graham's book, On Lisp (pdf) describes Common Lisp macros in great detail. Scheme Syntactic Extensions are described here.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement