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

RE: What's so cool about Scheme?



At 12:18 AM 2003.06.04 -0400, Anton van Straaten wrote:
>This is what I've been arguing against.  I don't see how code=data without
>closures leads to funarg problems, unless the language already has a funarg
>problem.

	If you have code=data, and no proper closures, and you want some higher-order functionality, you will be forced to pass code as data as functional arguments.  A natural thing to want to do is to reference a local variable in that functional argument external to that functional argument.  The only way to do that is to capture the environment at the location the functional argument is defined, and a closure does that.  It seems to me then that if you naively start out with a language that has only code=data (like old LISP), you will at some point want to extend that language with closures to fix this problem (as Scheme did).  I don't see why this is such a controversial point.