[EMAIL PROTECTED] wrote: > This is a "pre-comment" to commencement of SICP on Monday..:) > > First of all, I think I'm going to like reading this book. The authors > seem like they know their stuff. > > I wanted to make a comment about this notion, reiterated in SICP, > that Lisp blurs the line > between functions and data as if that is some profound feature/observation. > > (1) Many languages have an eval function that lets you effectively have > "macros" just like Lisp....e.g. Python, Ruby and Javascript IIRC. > None were invented even remotely close to when Lisp was invented, or when the book was written. After the book was written, some folks had some recognition that they were on to something. > (2) Functions and data are not essentially the same thing any more than > nouns and verbs are essentially that same thing. They can only > be *represented* by the same language/alphabet. > Not really. On a computer they are *much* more similar than nouns and verbs. Indeed, what is code is often data to other programs (like linkers). It is entirely possible for the same bits to be both code and data in the same program even. > (3) This notion can be traced back to "stored program concept" credited to > ENIAC authors. They realized data and instructions could be stored > in the same hardware as if they were the same thing. But!!! an > instruction > is only *represented* by an integer. It is *not* the integer itself > anymore than a picture of George Washington is the same thing as George > Washington. > It's not the same as the picture and the man, because in the case of code vs. data it is entirely a matter of context rather than an inherent property of the data. A more accurate metaphor might be the particle vs. wave duality, particularly since that captures how it is very much a function of observation.
--Chris -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
