Pugs MetaClass Model Picture

8 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.

Reply all
Reply to author
Forward
0 new messages