On Jun 4, 2009, at 7:34, CuppoJava wrote:

> I've always considered the core part of the language to be the portion
> that cannot be written in the language itself.
>
> I don't think you can write an Clojure if form in Clojure.

Why not? You need something outside the language to get any  
implementation started, but once you have a first working  
implementation, perhaps even a partial one, you can go on and  
implement a language in itself. In principle you could do that in  
pretty much any Turing-complete language.

Concrete examples that I know of:

- gcc compiles itself. Installation from scratch typically starts  
either using a cross-compiler on another machine (and that could well  
be gcc again), or using another C compiler on the target machine. The  
installation process then uses the first gcc executable to compile  
its own source code again, and will repeat that step to make sure the  
executable is stable.

- Squeak (a Smalltalk implementation) is written in itself,  
bootstrapped using a minimal subset implementation in C.


So we could very well have a Clojure implementation, including the  
compiler, written in Clojure itself. The current Java implementation  
would be used to compile it once, but from then on, no Java code  
would be required any more.

Konrad.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to