Pugs, Practicing the Theories.

A lot of language theory goes past here on Lambda the Ultimate, but we rarely see that theory directly impacting commercial programmers.

I'm a great fan of theoretical concepts like arrows, but at the same time I'm a self-employed programmer interested in solving my clients' problems.

Pugs is notable in that it profitably uses recent developments such as GADTs and Template Haskell for an implementation of Perl6.

I recently became a regular on the #perl6 irc channel and soon after joined the list of committers.

In just a few days I've seen a lot. I've seen enthusiastic members of the Perl community learning Haskell. I've seen myself learning Perl. I've also seen how daily Perl programmers work with abstractions like monad transformers. I've seen how some structures are easy to extend for programmers new to both the Pugs codebase and Haskell.

The Pugs project was started 64 days ago by Autrijus Tang, as an exercise while reading TaPL. Pugs already includes network and threading primitives. New tests and code are add at an amazing rate, as evidenced by the smoke tests.

I don't know if I'll end up using Perl after Pugs is written, but I am learning how to practice the theory of programming language design and implementation.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Amusing

(in the good sense of the word)

As LtU readers know, I don't really buy into the theory-parctice dichotomy anyway.

Pugs sounds interesting, please keep us updated on developments.

thats interesting shapr

I use perl5 a lot, and also came across and liked Audrey (was Autrijus) Tang's writing over i18n issues.

I downloaded GHC and started looking at Haskell. I also signed up for the perl6 list but there doesn't seem to be much activity (not one post in the last few days).

I'd also like to know more about this topic.

Margin of error

The Pugs project was started 64 days ago

485 days ago actually (Feb 1 2005).

In just a few days I've seen a lot. I've seen enthusiastic members of the Perl community learning Haskell. I've seen myself learning Perl. I've also seen how daily Perl programmers work with abstractions like monad transformers. I've seen how some structures are easy to extend for programmers new to both the Pugs codebase and Haskell.

This is great to hear.

gettimeofday() isn't pure

"64 days" is plausible for when this topic appeared: "By shapr at 04/05/2005".

In the meantime Pugs is moving towards self-hosting, and has grown some interesting things like a compiler backend targeting javascript.

Oops

My bad. I really need that yellowing of old pages feature [or a more functional world]...