After 10 hours of almost unstopped work, I have checked in this 2500-line patch that completes the ITypes subsystem, which touches pretty much all evaluator code. Lots of features were completed in one go:
say $a{1}[2]{3}
$a{1}[2]{3} = <b>
say %ENV<USER>
%ENV<PATH> ~= '/tmp'
@x[1,2] = <a b>
[1..10][0] = 0
The implementation itself is quite pleasant to write, making liberal use of GADTs, phantom types, existential types and other handy tools to ensure correctness. However, I didn't find time to remove the vCast
construct yet, so Test.pm
is currently broken. I expect to fix it by tomorrow, if shapr does not beat me to it. But mandel.p6
still runs, and apparently faster too, so all is well.
Another big news today is that theorbtwo managed to get hs-plugins
working, so we can now link against external haskell libraries like SHA1.hs
. It needs a hs-plugin snapshot of today or later; note that you need to run make register
after make install
. The upcoming 6.2.0 will have the neccessary build magic to make the ext/SHA1
extension Just Work.
At my prodding, ingy added his S26 Draft on Perl Documentation formats, and announced it on P6L. Also, ingy is coming to the the YAPC::NA hackathon as well. Yay!
There are lots of PLEAC work today, from Ovid, Juerd, gcomnz, xern and iblech. With a well-populated PLEAC rating, it will be much easier for Perl 5 programmers to learn Perl 6 with confidence. Nice work!
Other than that, there are 40+ changes today as usual:
pugs -p
and pugs -n
, bringing us much closer to the one-liner golfing domain.
^^
and xor
.
ext/
directory a bit.
CGI.pm
, making it much prettier.
There are undoubtly some other works I've missed, but I really need to sleep now. See you tomorrow, lambdacamels!
I hope to start on Test::Builder in a week or so.