Day 209 (r6674): ...back again once more.

autrijus on 2005-09-03T21:21:11

Thanks to yesterday's helpful feedback, I experimented with different backup settings today. GEOM/gmirror turns out to be suboptimal for the detachable laptop HD bay, as it cannot incrementally update stale mirror disks, so I chose Unison for sharing workspaces between server and laptops, rsync for daily backup to a shadow laptop HD, and finally gmirror for RAID-1 on the server side with two disks, and an additional one for gmirroring the root partition.

Today Stevan updated the 10k ft overview for MetaModel 2.0, with copy-editing help from dudley. It's more portable than the sometimes diverging implementations of MetaModel 1.0 on different runtimes, and I look forward to update the Haskell side object runcore based on the new design.

luqui noticed that user-defined lexical operators did not override the same-named builtin multisubs correctly, wrote a test for it, then promptly fixed the issue by rewriting the findSyms logic, greatly simplifying the logic, with clever use of MaybeT transformer:

<luqui> hooo-ly crap, I just wrote 30 lines of haskell using monad transforms and stuff and it compiled on the first try!
<luqui> I fear I'm learning this language...
<SamB> whats to fear?
<luqui> nothing :-)
<luqui> Just Fear | Nothing
<geoffb> "Just Fear | Nothing" -- that's just screaming to be put on swag
<geoffb> Something for autrijus to put in the cafepress store

rgs informed both p5p and p6l of his commit into bleadperl5 that implements no 6. luqui then implemented the same for Pugs:

% ./pugs -e 'no 6'
pugs: Perls since v6 too modern--this is v6.2.9, stopped at "-e" line 1 column 5

putter hacked in type validation routines for Perl 6 representations of PIL nodes. He also added class declaration hooks to the perl5 runtime, so this works now:

% perl perl5/PIL-Run/crude_repl.pl
p5ugs> class C { method f() { 42 } }; C.new.f
----
42

scook0 continued to annotate Parser.hs with Haddock documentations.

rafl updated pugs::hack to describe the files under debian/, and updated PIL2JS's README to reflect new names for backend-specific files.

kolibrie corrected the test for is chomped to use =$fh instead of <$fh>.

dduncan added a paragraph in pugs::hack to advocate styles described in Damian's Perl Best Practices, in particular using 4 spaces per indent without tabs. He also plans to convert the few files with tabs into spaces.

fglock added a Perl6::Type class to perl5 runtime's Code.pm, representing runtime typechecks such as ones employed by sub foo () returns Int; subtypes are also recognized. He also implemented another dozens of primitives for the perl5 runtime.

iblech continues to hack PIL2JS into even higher test pass rate; today he added smartmatch to strings, vivication for binding on nonexistent array/hash elements, for $scalar {...} that loops only once, and much much more, all with extensive tests.

That's it for today. See you tomorrow!