Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^6: Why Perl 6 is taking so !@#$ long

by dragonchild (Archbishop)
on Feb 28, 2006 at 17:34 UTC ( #533429=note: print w/ replies, xml ) Need Help??


in reply to Re^5: Why Perl 6 is taking so !@#$ long
in thread Why Perl 6 is taking so !@#$ long

If and only if you can have those compilers emit this C code to be compiled on other platforms. That's the big issue with writing the VM in non-C.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?


Comment on Re^6: Why Perl 6 is taking so !@#$ long
Re^7: Why Perl 6 is taking so !@#$ long
by BrowserUk (Pope) on Feb 28, 2006 at 18:23 UTC
    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.
      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:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

        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

        1. The sources of the VM can be built on each target platform.
        2. The tools required to do so, are available for each target platform--even if those tools are more easily obtained in binary form.
        3. 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.
        4. 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.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://533429]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2014-08-30 21:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (294 votes), past polls