quote:Original post by Anonymous Poster
Any language for which there exists an interpreter can also be compiled. Suppose there exists instruction X that is implemented in an interpreter by a finite sequence of machine instructions, {S}. X can therefore be compiled to {S}. There exists compilers for Smalltalk, Haskell, Scheme, etc.
Those are assembly emitting compilers for Smalltalk, Haskell, etc...? Do they implement the entire language? I was under the impression that smalltalk was interpretted. What about Lisp or ML?
And you can cheat it, like VB1/2/3/4/5 where they pack byte-code into the exe, and launch the interpretor from the exe. But I wouldn''t consider that native compilation.
quote:
Template meta-programming - the power of functional programming with the efficiency (and familiarity) of imperative programming.
I agree that any language to implement this would be most useful. The template functionality in C++ is just a way to infer a type from how the objects are used.
quote:
Type inference is something that functional languages have been doing for quite awhile. Throw in anonymous-classes or make functions first-class and I''d code in it in a heart beat.
Loki’s Generalized Functor allows one to create invokable objects* that have
Full Value Semantics . The implication being, generalized Functors are invokable
First Class Citizens. It’s here, in C++, today! (on good compilers anyway <img src="tongue.gif" width=15 height=15 align=middle>)<br>"Modern C++" by Andrei Alexandrescu, see sig for dl<br>It''s not quite the flexibility you have with LISP, and I''ll grant you it seems like your fighting the language and compiler sometimes, but I think that''s mostly due to the utter lack of experience anyone has using it. I''m practically and expert on Loki, and I can''t even compile the whole thing <img src="wink.gif" width=15 height=15 align=middle><br><br>And remember C++ isn''t set in stone, there''s something called ''concepts'' that will likely be part of the language one day. It''s like an interface definition for template policy classes.<br><br>*(from functions, methods, function pointers, method pointers, or other functors) <br><br>I''m, not sure how anonymous functions would benefit C++ - it''s a decidely script-like feature (e.g. very useful in scripting/script-like languages, not very useful in compiled ones).<br><br><br>heheh Aspect based programming sounds alot like Mutliple Inheritence, but without using those dirty words. They refer to it by it''s alias, "mixin-inheritence" - I see how it does a more though. reverse inheritence…. that is interesting. I can see how that would be useful - and can see how it''s buildable in Java. (I can''t help but think ComeFrom though =))<br> </b> <br><br>Magmai Kai Holmlor<br><br>"Oh, like <i>you''ve </i> never written buggy code" - Lee<br><br><small>[Look for information | <a href="http://www.gamedev.net/reference/start_here/">GDNet Start Here</a> | <a href="http://www.gamedev.net/community/forums/search.asp">GDNet Search Tool</a> | <a href="http://www.gamedev.net/community/forums/faq.asp">GDNet FAQ</a> | <a href="http://msdn.microsoft.com/library/">MSDN RTF[L]</a> | <a href="http://www.sgi.com/tech/stl/">SGI STL Docs</a> | <a href="http://www.google.com/">STFW</a> | <a href="http://www.tuxedo.org/~esr/faqs/smart-questions.html">Asking Smart Questions</a> ]<br><br>[Free C++ Libraries | <a href="http://www.boost.org/">Boost</a> | <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a> | <a href="http://www.awl.com/cseng/titles/0-201-70431-5/loki.zip">Loki</a> | <a href="http://www.osl.iu.edu/research/mtl/">MTL</a> | <a href="http://www.oonumerics.org/blitz/">Blitz++</a> | <a href="http://sourceforge.net/projects/wxwindows/">wxWindows</a>]<br></small>
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara