title: What does it mean that "Lisp can be written in itself?"
body: <p>Paul Graham wrote that <a href="http://www.paulgraham.com/rootsoflisp.html" rel="noreferrer">"The unusual thing about Lisp-- in fact, the defining quality of Lisp-- is that it can be written in itself."</a>  But that doesn't seem the least bit unusual or definitive to me.</p>
  
  <p>ISTM that a programming language is defined by two things: Its compiler or interpreter, which defines the syntax and the semantics for the language by fiat, and its standard library, which defines to a large degree the idioms and techniques that skilled users will use when writing code in the language.</p>
  
  <p>With a few specific exceptions, (the non-C# members of the .NET family, for example,) most languages' standard libraries are written in that language for two very good reasons: because it will share the same set of syntactical definitions, function calling conventions, and the general "look and feel" of the language, and because the people who are likely to write a standard library for a programming language are its users, and particularly its designer(s).  So there's nothing unique there; that's pretty standard.</p>
  
  <p>And again, there's nothing unique or unusual about a language's compiler being written in itself.  C compilers are written in C.  Pascal compilers are written in Pascal.  Mono's C# compiler is written in C#.  Heck, even <a href="http://en.wikipedia.org/wiki/PyPy" rel="noreferrer">some scripting languages</a> have implementations "written in itself".</p>
  
  <p>So what does it mean that Lisp is unusual in being written in itself?</p>