(no title)
throwaway1980 | 12 years ago
This says nothing about practicality, but nobody ever said it did. Of course practicality is important, but a conversation about Turing completeness is a conversation about "can compute", not "can easily compute". If you look at venues such as POPL, ESOP, and PLDI, fairly often you will find proofs for some abstract representation that is then implemented in a real world language. Thus while it would be impractical to compute something in the abstract form, it is often more elegant for proof construction, and then proof results are transferable if you can demonstrate bisimulation between the two forms. All this to say that "can compute" is nevertheless an important determination with respect to equipotency.
If you had an Unlambda OS (or VM is better perhaps), then anything running on it would be an Unlambda program, including C programs, just as anything running on an x86 machine is an x86 program.
kenko|12 years ago
But you can't do the same things that you can do in other languages.
Computation is pure.
throwaway1980|12 years ago
coldtea|12 years ago
Tons of people "said it did".
It's a BS argument they use all the time. "Language X is turing complete, so you can build Y language's abstractions there too, so I don't see the need for Y".
Matter of fact, it's the very BS argument that started this sub-thread.
throwaway1980|12 years ago
"But once you stray from awk's niche, things start to get awkward, and the further you go, the tougher it gets."
It is important to understand the distinction between possibility and feasibility. Or the difference between theory and practice, if you will. Even though they are opposites, both are important at the same time.
While it's not feasible for humans to move Mt. Everest, it certainly would be possible.