Wow! There is a lot of confusion on this list by people who know better. -------- Mathew Kurian As long as the processor can only read only numbers (binary), Racket cannot be interpreted by the machine before being translated into another language such as Assembly.
John Clements There is a historical distinction between "compiled" and "interpreted" languages. This distinction is fuzzy and getting fuzzier. Noel Welsh In a sense all languages are interpreted, as the CPU interprets the machine code. Steven Bloch So your question, which was somewhat meaningless forty years ago, is even more meaningless now. Neil Van Dyke However, as you have learned, these definitions are reviled on the Racket list and other CS places. -------- The definitions are clear and have not changed. If you have a machine that runs programs written in language M, but you have a program written in language L, you can proceed in one of two ways: 1) You can modify the *machine* to run programs in a different language. An interpreter is a program that transforms a machine into another machine. 2) You can find an `equivalant' program in the language the machine does run. A compiler is a program that transforms a program into another program. Interpretation or compilation is a relationship between machines and programs. It isn't a property of the language. Shriram Krishnamurthi had the most correct response: The phrase "interpreted language" has no meaning; it's nonsensical. -- ~jrm ** I suppose we could argue a little bit. If the notion of `equivalent program' were poorly defined, then you might find it very hard to write a compiler. (Or, having written one, determining if it works correctly.) It is possible to create a programming language that is so hard to statically analyze that the best you can do is to `inline the interpreter'. You might call such a language an `interpreted language'. Scheme and Racket, however, do not fall into this category. _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users