Hacker News new | past | comments | ask | show | jobs | submit login

It's possible, for instance, to write a program in C which compiles Scheme-formatted strings according to the Scheme spec. You use one; it's whichever Scheme compiler you use (therefore making your Scheme programs a "subset" of a C program). What's more, any Scheme program can be replaced by one written in C that runs faster and with less overhead.

Does this mean that C is "better by definition" than Scheme? No, both have their places. But any Turing-complete language with string handling is a "subset" of any other; that is an interpreter or compiler for that language can be written in any other language, so long as it's Turing-complete and can parse strings. If we look at which languages are "supersets" in practice, we find that C and C++ are the best languages ever by your theory, since many, many compilers and interpreters are written in them, while Scheme is a terrible language because compilers and interpreters are almost never written in it, even in most implementations of itself.

Your poor understanding of these pretty basic theoretical concepts and your silly fanboyism are why you're being downvoted.




Again... A compiler or an interpreter written in C is not the same as implementing a language on top of C, fusing it into all the existing infrastructure.

You did not understand what static metaprogramming is, what is an extensible language, and yet you're talking about my poor understanding.

And, by the way, I fixed an inferior C. Any inferior language can be made superior by adding a tiny bit of compile-time Turing-completeness and a bit of compile-time reflection: https://github.com/combinatorylogic/clike

Made it equally powerful to Scheme, Forth, Nemerle, TH, C++ and the other proper meta-languages.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: