Day 20: 6.0.8

autrijus on 2005-02-20T19:23:40

Today we've hit 170 unit tests. Only three days ago, Pugs were at revision 62; now it is at revision 140 and counting. Despite me wasting an entire day reinstalling my hard disk, our trusty team at #perl6 still finished many things:

  • Many Posix-based IO primitives.
  • Hashes, Pairs and their access methods.
  • Prefix ++ and --; context for postfix ++ and -- also fixed.
  • The CALLER:: namespace.
  • Detection for deep recursion.
  • The magical Y combinator, &?SUB.
For a demonstration of the last point, see the code below; isn't it just beautiful? :-)

pugs> sub { $_ ?? $_ * &?SUB( $_ - 1 ) :: 1 }.(10).say
3628800

So, with this, Pugs 6.0.8 has been released. The next big goal is to partially rewrite Parsec to use IORef in our ReaderT, put it into the Eval monad, and call it Rule.hs -- that is the easiest way to get BEGIN {} blocks to work.

Also I've started planning on a serializing interface for the ContT continuations in the Eval monad; more details later.

Enjoy!


Ruby?

jplindstrom on 2005-02-20T22:54:31

It looks slightly Rubyish, no?

Not that I know Ruby.

Re:Ruby?

autrijus on 2005-02-21T05:17:45

Well, Ruby looks slightly Perlish too. :)

But yeah, you can see many Ruby influences in Perl6 design.