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 -~----------~----~----~----~------~----~------~--~---