News for hackers. Stuff that matters.
Re:How Lisp macros differ from static code-generation and me... by igravious on Wednesday January 26, 2011 @12:21PM (#2143971)
Are natural languages homoiconic? (If you get my drift.) Does that question even make sense?
Re:How Lisp macros differ from static code-generation and me... by jerf on Wednesday January 26, 2011 @01:01PM (#2144162)
Hmm, I don't know about in general, but in English we have the double-quote when being used to refer to the statement itself. For example, I can talk about the use of "for example" by quoting it like that. So (written) English can embed English in a reasonably standard format. Very like the Lisp quote operator, no? The name is not coincidence.

However, we have no useful English operators to take the quoted words and change them into something else meaningfully. Though a non-English set can be argued to exist: http://creativeservices.iu.edu/resources/guide/marks.shtml If those were English themselves that would arguably complete the loop, but I would consider that stretching the point; these were explicitly invented to avoid the use of English and also translate to any other character-based language.

Re:How Lisp macros differ from static code-generation and me... by pangram on Wednesday January 26, 2011 @01:31PM (#2144351)
I can't think of a natural language equivalent for the comma operator, other than (maybe) incredibly awkward and confusing uses of parenthetical statements
Re:How Lisp macros differ from static code-generation and me... by jfm3 on Wednesday January 26, 2011 @02:50PM (#2144774)
Even early stabs at x-bar theory indicate that natural languages are highly homoiconic.

http://en.wikipedia.org/wiki/X-bar_theory

Re:How Lisp macros differ from static code-generation and me... by sedachv on Wednesday January 26, 2011 @03:47PM (#2145065)
Can you please explain more?
Re:How Lisp macros differ from static code-generation and me... by jfm3 on Wednesday January 26, 2011 @05:04PM (#2145392)
Homoiconicity means program and data have identical representation. But after you Lisp for a while the boundary blurs entirely.

X-bar theory says that in all natural languages, Noun Phrases, Verb Phrases, and depending on who you read other types of phrases all have the same form; a single Head (which may be composite) and a Tail with zero or more elements. Never mind that they've just discovered S-expressions. The point is that in the natural language program:

    multiply the radius squared and pi
Both the data-like parts and the program-like parts share the same structure.
Re:How Lisp macros differ from static code-generation and me... by sedachv on Wednesday January 26, 2011 @03:46PM (#2145062)
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo

But seriously, take a look at Quines and Hofstadter's Godel, Escher, Bach

Re:How Lisp macros differ from static code-generation and me... by sedachv on Thursday January 27, 2011 @11:31PM (#2150805)
I was re-reading Doug Hoyte's Let Over Lambda today, and came across this quine:

  (let ((let '`(let ((let ',let))
                 ,let)))
    `(let ((let ',let))
       ,let))
Originally from: http://www.scribd.com/doc/47702904/Bawden-Quasi-Quotation-in...