[EMAIL PROTECTED] wrote:
On Thu, Jan 17, 2008 at 12:34:13AM -0800, Andrew Lentvorski wrote:
Please don't give this advice to newbies.

I assure you that this is likely to be an exercise in frustration except
for the most sophisticated people.

I agree that trying to implement a fast fully ANSI standard interpreter is a
bit much.  However, is there no way to strip down the requirements to get ANY
little subset of functionality that is doable in Python/Ruby/Perl in a weekend?
It would sure increase someone's confidence they really understood evaluation.
Maybe if they just allowed integers and no floating point and other similar
corner cutting? :)

See: Scheme in One Defun/Day (SIOD)

The problem with evaluation is that you have to understand the concept of the Scheme lexical environment. You don't get that for free when you implement Scheme/Lisp in something like Java/Python/etc.

If you are interested in whether you understand evaluation, the classic example is called the "metacircular interpreter" (I'm pretty sure SICP covers it at about chapter 4? or so). It is, in fact, writing a Scheme evaluator in Scheme. That's not as bad because you get the whole lexical environment thing for free because you are implementing Scheme in Scheme. In fact, you get to dodge all manner of nasty things (lexing/parsing/environment/etc.) and focus on understanding evaluation.

Given the varying levels of the people looking at this, it's certainly not something I would recommend after Chapter 1.

-a

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to