If and only if you can have those compilers emit this C code to be compiled on other platforms.
I'm not sure that I understand you. Do you mean that it would only be acceptable to use a non-C compiler (say Haskell) if instead of producing a binary for the platform it is running on, it produced C source that could be distributed and compiled on any platform?
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
Yes. Does, say, GHC run on every platform Perl5 runs on? What about all the issues in perlport? That's the issue with non-C VMs.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
| [reply] |
Actually, it quite possible that GHC would run on more modern platforms that Perl, but I'm not convinced that is relevant.
Most people using Perl use binary distributions. Even on Linux, a large proportion of people install perl via OS specific distribution tools.
I know I'll cop a load of abuse for saying this, but I do not see the imperative that says it must be possible to build the entire tool chain, including the compilers that compile the compilers, from source.
So long as
- The sources of the VM can be built on each target platform.
- The tools required to do so, are available for each target platform--even if those tools are more easily obtained in binary form.
- The sources of the tools are available under a non-restrictive licence so that they can be built by anyone, and can be ported to new platforms where the need and interest is strong enough.
- And those tools have an active and on-going support community.
Then I fail to see the benefit of discarding all the benefits that would acrue from using a higher level language compiler, in favour of C and gcc, just because they're ubiquitous?
If Perl6 and the VM are any good, then once you have a set of working binaries for both, then you can set up another project to port those tools themselves, to Perl6/VM assembler.
Just as Perl5 builds a miniperl to use in the construction of the real thing, so you could eventually arrive at a VM written in it's own source language and use a (downloaded) binary distribution to bootstrap a fully self-compiled toolset.
There is always a bootstrap problem. You need a C compiler (or binary distribution) to build gcc before you can use gcc. So what is wrong with requiring a binary distribution of compiler X to start the chain for the VM?
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |