Day 9 and 10: Synopsis 6 mostly finished!

autrijus on 2005-02-10T16:11:01

On Day 9 and Day 10 of Pugs, the combined productivity of Autrijus and Bestian has gone into full gear. We have implemented most of Synopsis 6:

  • Formal parameters declaration and binding
  • Invocant-based multimethod dispatch
  • Optional(?), named(+ and ++), slurpy(*) parameter declaration and invocation
  • Extraction of higher-order placeholder variables
  • Proper semantics and extraction of @_, %_ and $_
  • Defaulting of optional/named parameters that can reference to preceding parameters
  • Global variables and subroutines: &*foo, $*bar
  • Context propagation from types of formal parameters
  • The "returns" / "is returns" trait
The code has been committed to the darcs repository (svn is currently offline). It broke the parenthesis parsing in parsec a bit, so I'll refrain from releasing 6.0.3 until that stabilizes.

Next in sight: Arity counting (&sub.arity), Currying (&sub.assuming), hiearchical types (Array of Array of Pair of Int), user-defined infix/circumfix operators, anonymous subroutines, and control structures. Stay tuned!


Good job!

Ovid on 2005-02-10T16:45:31

I am just astounded at how much you're getting done. This is phenomenal. Now I know I'll never be a real programmer :)

Re:Good job!

lachoy on 2005-02-10T17:10:17

me too...

Re:Good job!

chromatic on 2005-02-10T17:33:01

That's cold. Ovid is already a good programmer!

Re:Good job!

lachoy on 2005-02-10T17:44:14

ha! obviously a case where 'me too' isn't enough. I should have appended: "when I think I'm being productive I just read about what Autrijus is doing or spur is reading and feel like a complete slug"

Re:Good job!

Ovid on 2005-02-10T18:17:19

That's exactly how I feel. I can turn out some good stuff when I put my mind to it, but Autrijus puts me to shame (actually, I had originally typoed (sic) "Autrijust puts me to shame." I kinda like it :)

Re:Good job!

spur on 2005-02-11T10:34:40

Ovid,

Your own progress with the Prolog engine deserves praise as well.

It sometimes looks to us that other people are far more productive. It's funny that these same people can think you are actually more productive at times.

I guess that we all have our "zones" when we are ultra-productive. I know that my productivity deviates orders of magnitude between "zone" periods and "slug" periods.

Bravo

spur on 2005-02-11T10:32:33

While you're at it, can't you just implement a full Perl 6 parser/interpreter :-) Your productivity looks phenomenal.