Leopold Toetsch wrote:
> > I don't understand why it is so hard to adopt. imcc is supposed to be
> > a step closer to higher level languages, which is why I went that way.
> 
> No problem here, it is called _intermediate_ ..., which is a worthful 
> step in code generation, but - as always - there is a but, it should 
> supply the infrastructure to generate _all_ possible .pasm code.

If the point is that every feature of parrot should be exposed in
imcc's ui, then that sounds reasonable, since the converse would be
that some features of parrot are hidden.

But obversely, parrot does not exist to supply features to imcc alone,
it is meant to be targeted by many languages/compilers.  I.e.
"imcc is not the only path to parrot", and part of the design is to
allow specially designed ops to exist for the support of specific
languages.   Seems to me that to say that every feature of parrot
must be exposed in imcc is to imply that all upper-level languages
must go through imcc -- and that's something I don't think we should
mandate.  Certainly it was not the original intention.


> Melvin, Sean's patch is not agaist imcc's syntax, it _extends_ the 
> syntax with badly needed pasm syntax. There a currently 261 basic ops 
> variating to a total of 844 different ops, why should imcc all implement 
> _all_ and still permanently changing ops mow.
> 
> I personally like imcc's syntax, it's a lot more readable compared to pasm.

The outstanding question is, "Is imcc a part of the parrot system?"
When compiler writers target parrot, do we really want them to target imcc?
I have a feeling some of you would answer "yes" to that question all too
blithely.  But I don't see imcc mentioned in the PDD's.
Heck, pasm itself is little more than a "possible variation";
the PDD's strongly imply that the perl6 compiler will compile directly
to parrot bytecode.


-- 
John Douglas Porter

Reply via email to