The Perl 6 design team met by phone on 10 October 2007. Larry, Allison, Jerry, Patrick, and chromatic attended.
Larry:
- mostly glaring at various implementations of tagged DFA algorithms
- I want something like that for my lexer
- played with the Perl 5 bindings to TRE by the person who did the NFA paper
- it's buggy
- now I'm looking at the equivalent implementation under Haskell, which supposedly fixes these bugs
- it's a little less accessible to someone without Haskell-fu
- I'd love to have it if someone would hack a Pugs binding for it
- might have to translate it to Perl 6 myself
- it's possible that I might need to do that anyway
- most of these things use a POSIX interface
- it's not quite what I want
- they're good at telling you which submatches matched where
- they're not so efficient at telling you which branch the match took
- you end up going back out and looking at the submatches
- it already had that information when it matched the thing
- in the long run, we'll end up writing it ourself
- the tagged DFA knows which transition it makes when it's making it, but throws away the whichness in favor of the POSIX interface
- it's very close to what we need to intermix the imperative and declarative worlds of pattern matching
c:
- are you blocking on anything?
Larry:
- if someone hacked the interface to TDFA in, I could play with it without having to translate it
- it's a slowdown
- but if we're going to end up with that algorithm in Perl 6 anyway, it's not really a block
- more of a frustration
- haven't done anything else that anyone's asked me to do
Jerry:
- helping with the OO cleanup
- there are about 25 failing tests remaining
- we're really close
- inspired by a question on #parrot this week
- looking at the Warren Abstract Machine (PDF) which underlies most Prolog engines
- I wonder if the Perl 6 regex machine alone is enough to implement that
Larry:
- you can certainly play with the backtracking for that
- you need something to do the unification for you
Allison:
- Curtis Poe played with implementing Prolog in Perl 5
Larry:
- there'll be enough primitives there to do it at one level or another
- all you need is a Turing-complete language
Allison:
- also working primarily on the object model
- we went down from 2000 failing tests to 24 in the past week
- we did find at least one GC bug
- we decided to wait to merge the object branch until just after the next release
- Will might want to do the release earlier
- I'll leave that up to him
- also working on the Events PDD, which is due next Monday
- will finish that in between fixing tests on the PDD15 branch
- we've only just started talking about the exceptions implementation
- I know Jerry wants to wait to branch until after we roll the PDD15 branch in
- we can wait on that
- hopefully the changes for the Events PDD won't be too big there
Patrick:
- the exceptions implementation doesn't seem too far off
- mostly we're missing definitions of some of the standard exceptions
Jerry:
Allison:
Jerry:
- I have a feeling we'll change a lot of
real_exception()
calls to create_exception()
Allison:
- we're using
real_exception()
in a lot of places we should be using something internal
- that's because
internal_exception()
doesn't really work
Jerry:
- that's more of a cleanup and refactoring
Patrick:
- mostly worked on the new object model as well
- didn't get to everything else I hoped to
- they're still on deck
- expect to get to them later this week
- will finish up the TGE things for PDD15 tonight
- hopefully that'll clear up some of the failing tests
- then I'll be back to writing the AST PDD
- then working on the AST refactor
- the codebase is getting smaller, which I like
c:
- also working on PDD 15
- fixed some scary bugs
- will work on the OrderedHash problem if there's a test case
Jerry:
c:
- poked at Lua, but the code isn't clear enough for me to get good wins there
- I broke it pretty badly, but hopefully it'll get better
- no checkin there yet
- also did some profiling, but inconclusive yet
- it'll be easier to profile when languages/perl6 runs completely
- I have some ideas
Allison:
- we had a long discussion of alternate programming styles for PGE yesterday in #parrot
- it's not quite OO and not quite procedural
A long discussion of continuations, coroutines, and ratchet
followed.
No WAM!
Ovid on 2007-10-13T21:03:08
I used to like the Warren Abstract Machine, but eventually I realized that it suffers from a very common problem in logic and declarative languages: it's bag-oriented instead of set-oriented and is thus a flawed model forcing people to do grunt work to filter duplicates. This is a huge mistake. I don't (yet) know of a natural common language which avoids this, but if one is found, it's worth looking at.