Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pugs MetaClass Model Picture

19 views
Skip to first unread message

Autrijus Tang

unread,
Aug 12, 2005, 1:08:38 PM8/12/05
to perl6-c...@perl.org
As promised on #perl6, today I produced a drawing showing how the
Perl 6 metamodel would work in Pugs. It aims to cover the common
elements between Perl5, JavaScript and Haskell editions:

http://pugscode.org/images/metamodel.png

I plan to draw another picture showing the time-indexd bootstrapping
process; feedback are welcome. Good ideas found on that design is due
to Stevan Little; all flaws are likely to be my fault. :)

The gnostic metasyntactic names coincide with names used in the
new PIL runcore:

http://svn.openfoundry.org/pugs/src/PIL/MetaModel.hs
http://use.perl.org/~autrijus/journal/26097

You may wish to first consult a more accessible, much reduced version,
written in Perl5:

http://svn.openfoundry.org/pugs/perl5/Perl6-MetaModel/docs/MiniMetaModel.pl

Other documents under the same directory are helpful, too.

Thanks,
/Autrijus/

Autrijus Tang

unread,
Aug 12, 2005, 4:07:28 PM8/12/05
to Autrijus Tang, perl6-c...@perl.org
On Sat, Aug 13, 2005 at 01:08:38AM +0800, Autrijus Tang wrote:
> As promised on #perl6, today I produced a drawing showing how the
> Perl 6 metamodel would work in Pugs. It aims to cover the common
> elements between Perl5, JavaScript and Haskell editions:
>
> http://pugscode.org/images/metamodel.png
>

Thanks for #perl6 and #parrot's feedback, I have uploaded several
new revisions under the same URL.

Stevan made a GIF animation showing the bootstrapping sequence:

http://no.perlcabal.org/~stevan/metamodel.gif

Thanks,
/Autrijus/

Autrijus Tang

unread,
Aug 14, 2005, 6:56:01 AM8/14/05
to Autrijus Tang, perl6-c...@perl.org
On Sat, Aug 13, 2005 at 04:07:28AM +0800, Autrijus Tang wrote:
> On Sat, Aug 13, 2005 at 01:08:38AM +0800, Autrijus Tang wrote:
> > As promised on #perl6, today I produced a drawing showing how the
> > Perl 6 metamodel would work in Pugs. It aims to cover the common
> > elements between Perl5, JavaScript and Haskell editions:
> >
> > http://pugscode.org/images/metamodel.png
> >
>
> Stevan made a GIF animation showing the bootstrapping sequence:
>
> http://no.perlcabal.org/~stevan/metamodel.gif

Simon Cozens posted some questions on my journal entry; he mentioned
on IRC that we should probably bring it back to p6c. Previous
discussion is here:

http://use.perl.org/~autrijus/journal/26259

In other news, I made two more picture today, this time not related
to Pugs internals:

# Perl 6 - Imaginary Timeline
http://pugscode.org/images/timeline.png

# Pugs - Lambda Camels
http://pugscode.org/images/lambdacamels.png

Thanks,
/Autrius/

Autrijus Tang

unread,
Aug 15, 2005, 6:11:25 AM8/15/05
to Konovalov, Vadim, Autrijus Tang, perl6-c...@perl.org
On Mon, Aug 15, 2005 at 02:03:22PM +0400, Konovalov, Vadim wrote:
> > # Pugs - Lambda Camels
> > http://pugscode.org/images/lambdacamels.png
>
> I wonder do greek symbols have any meaning?

Yes, "omega" stands for higher-order polymorphism, as in
"System F-omega".

The reversed "E" is the standard "there exists" symbol in mathematics.

The "Y" letter stands for the Y combinator, the canonical
device for general recursion.

The "lambda", well, stands for lambda. :)

Thanks,
/Autrijus/

Vadim Konovalov

unread,
Aug 15, 2005, 6:03:22 AM8/15/05
to Autrijus Tang, perl6-c...@perl.org

I wonder do greek symbols have any meaning?

I was expecting to see greek letters in a sequence of: pi, epsilon, rho,
lambda, so it could likely to be spelled as "perl"
In other words, "\x{03c0}\x{03b5}\x{03c1}\x{03bb}"

But I probably miss the conception...

Best regards,
Vadim.

0 new messages