logo       

Re: pmc_type: msg#00579

lang.perl.perl6.internals

Subject: Re: pmc_type

On Wed, Oct 27, 2004 at 01:19:29PM -0600, Luke Palmer wrote:
> Stéphane Payrard writes:
> > That would allow to implement typechecking in imcc.
> >
> > .sym Scalar a
> > a = new .PerlInt # ok. Perlint is derived from Scalar
>
> Ugh, yeah, but what does that buy you? In dynamic languages pure
> derivational typechecking is very close to useless. The reason C++[1]
> has pure derivational semantics is because of implementation. The
> vtable functions have the same relative address, so you can use a
> derived object interchangably. In a language where methods are looked
> up by name, such strictures are more often over-restrictive than
> helpful.

So, still thinking (too?) statically, I should probably worry
about what "does" a pmc instead on what it is derived from. In
that case, I would not have to worry about abstract pmc classes.
So abstract classes missing from the enum of
core_pmcs.h, which prompted that subthread, becomes a moot point.

>
> Anyway, that's just my rant. If such a thing is to be in imcc, it
> _must_ be optional without loss of feature. I have quibble with the
> automatic typechecking of .param variables for the same reason.

Declaring a symreg just as a pmc would do that anyway.

>
> Luke
>
> [1] And the reason Java has it is because C++ did. Great design work,
> guys.
>

--
stef



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise