develooper Front page | perl.perl6.internals | Postings from August 2002

Re: INP ("imcc's not parrot")

From:
Steve Mosher
Date:
August 21, 2002 22:18
Subject:
Re: INP ("imcc's not parrot")
Message ID:
200208220218.02714.steve@wirelessisland.net
On Thursday 22 August 2002 01:24, Melvin Smith wrote:
> >for HLL compilers targeting parrot.  If y'all want to consider imcc
> >as just another member of that class, fine!  But if we tell compiler
> >writers "You should target imcc, not parrot directly", then imcc
> >is clearly in a class by itself.
>
> Lets let the market decide. :) If we write a good enough
> intermediate language and listen and assimilate what people
> need, I think we can end up better off for it, with a common
> back-end compiler, and people will want to use it anyway.

I personally think IMCC is a great thing, that *should* be treated as 
something special. It happens to (or intends to) share a near 1:1 
relationship with PASM, at least on the conceptual level, which is very 
special. I don't believe that it should be the target, but it's a wonderful 
intermediate language for the intermediate in development.

Use of IMCC as a target means a third step in final (bytecode) 
compilation/assembly, (SourceLanguage->IMCC->PASM->PBC,) though I'm not sure 
if IMCC ever intends to generate PBCs itself. (Forgive me, but I haven't been 
around long.) I don't think this is really acceptable in a "final product" 
sort of way.

At the same time, if IMCC does become a cross-assembler then perhaps the third 
step is warranted, or perhaps support for IMCC as an optional target is 
warranted, for portability (outside of parrot, that is.) Alternatively, could 
IMCC be used as a sort of library to support efforts to compile to PASM? 
Perhaps some of the time-saving aspects could be capitalized upon so that 
less tedious work and more conceptualization can be put into projects that 
intend to target PASM itself.

That said, given a project that intends to target PASM, I'd first target IMCC 
until everything was ironed out, and then move on to targetting PASM 
directly. I'd certainly keep the IMCC target support kicking around.

Disclaimer: Forgive me if I'm way off on any of this... especially if I've 
made any undue assumptions about anything. As I've mentioned before, I am 
relatively new to the list, but equally (or more so) interested in 
development of these tools, as well as perl6 (and it's internals) itself.

- Steve




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About