The Return of the Journal : pugs.blogs.com/ | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6
Set by stevan on 23 December 2005.
svnbot6 r8424 | Darren_Duncan++ | r1575@Darren-Duncans-Computer: darrenduncan | 2005-12-24 16:03:39 -0800 00:04
r8424 | Darren_Duncan++ | /ext/Rosetta-Incubator : changed some hashes/hashrefs use/creation code to proper syntax ... however, current pugs incorrectly produces anon block instead of hashref ... a new test is pending
Juerd New revelations: 00:09
1. => for arguments sucks
2. := sucks in general.
Juerd keeps typing pugs.blugs.com 00:50
Someone register blugs.com and alias pugs. :)
02:51 Dongmin is now known as verve_
audreyt rehi 03:31
obra reaudrey
clkao yawns 04:48
audreyt clkao: @ .tw now? 04:50
azuroth audreyt: ping 05:11
clkao audreyt: yes 05:12
azuroth audreyt: you wouldn't know how to set up svk for parrot on feather, would you?
audreyt azuroth: 05:13
mkdir ~/.svk
cp ~autrijus/config ~/.svk/
svk co /parrot/mirror/trunk parrot
done
obra um 05:15
robrt would REALLY prefer you use a seed for parrot
www.parrotcode.org/source.html
setup instructions 05:16
audreyt and we did exactly that.
(the lines above is for a shared, slready seeded, parrot depot.)
s/slready/already/
svnbot6 r8425 | audreyt++ | * update feather's svk.html to mention /parrot/mirror explicitly
clkao audreyt: you meeting ingy today? in taipei or hsinchu? 05:17
azuroth thanks audreyt
audreyt in taipei 05:18
ingy is supposed to call me, like, 1 hr ago
clkao are you staying far north now? i will probably be in taipei this evening 05:19
audreyt no, I'm in muzha 05:21
dduncan audreyt, regarding your mention that you would hack in yaml generating this weekend ... 05:22
svnbot6 r8426 | audreyt++ | * more very silly CSS tweaks. 05:23
r8425 | audreyt++ | * update feather's svk.html to mention /parrot/mirror explicitly
dduncan don't feel you have to do is so quickly
audreyt dduncan: yes..?
I'm thinking about doing YAML::Syck for perl5
dduncan I won't be ready to use it for awhile anyway
audreyt as an exercise
and also because I firmly believe p5 world need a fast nonleaky roundtripsafe YAML implementation
dduncan considering the fluctuations of perl 6 and pugs' state ... 05:24
audreyt yup
but that doesn't stop you from using YAMLin perl5 :)
dduncan while I can code up my work in 90+% correct perl 6, I doubt I could get it to run quickly
audreyt run quickly as in performance, or as in language implementatino coverage?
dduncan so I will probably have the perl 5 version executing long before the perl 6 one is
audreyt sure, that's as it should be... having a running version also lets you validate that the framework works 05:25
dduncan when I say 'quickly', I mean, functional at all in the near term
one specific issue I'm hung up over right now is ... 05:26
I'm having trouble discerning the line between an array/hash and an arrayref/hashref
eg, when they automagically convert, when they don't
whether or not I ever have to use @{} or %{} or whether I never have to
audreyt nod. I think the idea is you never have to
$href.keys should always be as good as %hash.keys 05:27
dduncan also, the distinction of block from anonymous hash constructor
audreyt that is because luqui had changed the empty {} to mean empty hash, not empty code
dduncan ?eval class M { has %!h; submethod BUILD () { %!h = (4=>5); } method geth () { return { %!h }; } } class T { method tra ($m) { .useh( $m.geth() ) } method useh (%h) { say "got {%h}"; } }; my $gm = M.new(); my $gt = T.new(); $gt.tra( $gm ); 05:28
05:28 evalbot_8423 is now known as evalbot_8425
evalbot_8425 OUTPUT[got <SubBlock(<anon>)> ] bool::true 05:28
dduncan this is distilled from the current Locale::KeyedText code
audreyt you'd like to return a cloned hash?
dduncan somehow an anon block was generated rather than a hash
yes
simpler examples of the code, not involving classes, does what I want
audreyt ?eval class M { has %!h; submethod BUILD () { %!h = (4=>5); } method geth () { return hash(%!h) } } class T { method tra ($m) { .useh( $m.geth() ) } method useh (%h) { say "got {%h}"; } }; my $gm = M.new(); my $gt = T.new(); $gt.tra( $gm ); 05:29
05:29 evalbot_8425 is now known as evalbot_8426
evalbot_8426 OUTPUT[got 45 ] bool::true 05:29
dduncan ?eval sub user ($mystr, %myhash) { say "{%myhash}"; } sub maker () { my %foo = (4=>5); return { %foo }; } user( 'mu', maker() );
evalbot_8426 OUTPUT[45 ] bool::true
dduncan that case, not involving classes, does seem to keep it as a hash 05:30
so it seems simply passing one sub result to another as an arg doesn't change the context enough
audreyt indeed, because %!h is not decomposed into a hash natively
dduncan but mixing in classes does something different
audreyt that... is a bug.
dduncan I considered making the nonworking example into a test, but where should it go?
audreyt {%!h} should definitely work
dduncan eg, under oo or hashes or subs? 05:31
dduncan away for 10-15 mins
audreyt t/oo/attributes/hash.t ?
either under hashes or subs is fine
fixed. 05:35
obra hey andy. 05:38
Andy AIM
obra nod 05:39
audreyt Andy: yo 05:40
dduncan: r8427
svnbot6 r8427 | audreyt++ | * dduncan++ reported that %!h is not treated as a real hash 05:41
r8427 | audreyt++ | for purpose of anonymous hash construction -- i.e.
r8427 | audreyt++ | {%!h} was a Code but {%h} a Hash. This is clearly broken --
r8427 | audreyt++ | fixed it by moving desugaring from Parser into Eval.
Andy hey audrey
audreyt Andy: hey. got my mail? 05:44
svnbot6 r8428 | audreyt++ | * Text.Parser.OpTable: add deriving instances so OpTable 05:47
r8428 | audreyt++ | can be serialized.
Andy audrey: No, which?
dduncan I'm back 05:50
gaal morning all 05:55
rep moin 05:59
dduncan audreyt, thank you, that checkin seems to have fixed this problem 06:05
there is another, possibly related
concerning the context "for .meth_ret_aryref() -> $x { ... } 06:06
simpler cases, where that called item is a sub, seem to work right
luqui try: for *.meth_ret_aryref() -> $x { ... }
dduncan also, wrapping it with @{} causes it to work in the meth situation
luqui or yeah, that works too
dduncan but since I don't have to wrap it with subs, I wonder why I have to with meths? 06:07
luqui well, the meths (rightfully imo) return array refs, not lists
dduncan will try to distill it ...
yes, and the subs returned array refs too
luqui there is a difference between: sub foo () { (1,2,3) } and sub foo () { [1,2,3] }
dduncan yes
luqui oh, and by "right", you mean what?
dduncan for some reason, sub foo () { [1,2] } is different than method foo () { [1,2] } 06:08
luqui ?eval sub foo () { [1,2,3] } for foo -> $x { say }
06:08 evalbot_8426 is now known as evalbot_8428
evalbot_8428 OUTPUT[ ] undef 06:08
luqui ?eval sub foo () { [1,2,3] } for foo -> $x { say.elems }
evalbot_8428 Error: No compatible subrountine found: "&elems"
luqui ?eval sub foo () { [1,2,3] } for *foo -> $x { say.elems }
dduncan will recheck
evalbot_8428 Error: No compatible subrountine found: "&elems"
luqui ?eval sub foo () { [1,2,3] } for *foo -> $x { say .elems }
evalbot_8428 Error: No compatible subrountine found: "&elems"
dduncan determine details
luqui ?eval sub foo () { [1,2,3] } for *foo -> $x { say(.elems) }
evalbot_8428 OUTPUT[3 ] undef
luqui that's a bug 06:09
?eval sub foo () { [1,2,3] } for @{foo} -> $x { say(.elems) }
evalbot_8428 Error: No such method in class Int: "&elems"
luqui that's correct. so * isn't working correctly
dduncan weird 06:11
svnbot6 r8429 | audreyt++ | * Text.Parser.OpTable: mkTable implemented -- optable
r8429 | audreyt++ | built correctly.
r8430 | audreyt++ | * oops, prematurely checked in the jsperl hack that did
r8430 | audreyt++ | not quite work. Why doesn't SVK support per-chunk commit again?
dduncan okay, in my own test, the sub was working like the method
for some reason it was different earlier today
so, this syntax does the right thing: 06:13
?eval sub foo () { return [5,6]; } for @{foo()} -> $x { say $x.ref; say $x; }
06:13 evalbot_8428 is now known as evalbot_8429
evalbot_8429 OUTPUT[Int 5 Int 6 ] undef 06:13
dduncan I just wasn't sure if I actually needed to wrap foo() or whether that was a bug
?eval sub foo () { return [5,6]; } for *@{foo()} -> $x { say $x.ref; say $x; } 06:14
evalbot_8429 OUTPUT[Int 5 Int 6 ] undef
dduncan the splatty does work if used outside the @{}
but the result is the same either way
luqui *@foo is a no-op 06:15
er, most of the time
I guess * is being overloaded a bit
dduncan yes, except when used as an argument to a sub
luqui probably should do something about that
dduncan the only place I use * right now is in SQL::Routine, where I splat a hash ref so its member pairs bind to method named args 06:16
and according to the synopsis, that is what I should be doing
so my question right now is whether perl 6 spec says I have to say "for @{$aryref} -> $x {...}", or whether its only pugs currently requiring that? 06:18
luqui well, for $aryref -> $x {...} does not work by spec 06:19
so you need either for @$aryref (which is the same as @{$aryref}) or for *$aryref
dduncan fine, if that's what the spec says
okay, so that's what the spec says, great then I'll do that
svnbot6 r8431 | Darren_Duncan++ | r1577@Darren-Duncans-Computer: darrenduncan | 2005-12-24 16:42:55 -0800 06:26
r8431 | Darren_Duncan++ | /ext/Rosetta-Incubator : another small, similar syntax change
dduncan that was a mistake, and I was trying to reverse it but svk's giving grief 06:31
...
hmm, maybe this svk action worked ... 06:40
svnbot6 r8432 | Darren_Duncan++ | r1589@Darren-Duncans-Computer: darrenduncan | 2005-12-24 22:38:46 -0800
r8432 | Darren_Duncan++ | /ext/Rosetta-Incubator : try forcing svk to push a previous commit, reversing mistaken r8431, with an inconsequential same-file change
dduncan f, that didn't work 06:42
hey, that try (r8433) worked 07:04
svnbot6 r8433 | Darren_Duncan++ | r1591@Darren-Duncans-Computer: darrenduncan | 2005-12-24 22:52:43 -0800
r8433 | Darren_Duncan++ | /ext/Rosetta-Incubator : that didn't work; trying another thing
dduncan and in the process, I learned a bit of VIM 07:05
this particular solution was to further edit the same line I wanted committed, rather than a different line ... that led to a capital-G merge conflict, which I opted to resolve by editing (which opened VIM) and I edited the file to be the original commit / proper value for the line 07:07
not elegant, but it had the result I wanted
the actual problem ... 07:08
was that a change committed to an svk local repository, ...
was not pushed through to the mirror repo and openfoundry because pugs said it was an empty merge, when it actually wasn't
audreyt er, pugs would say no such things 07:09
probably svk said it :)
dduncan s/pugs/svk/
yes, that was a typo
audreyt *nod* probably a svk bug then
dduncan what I suspect tripped up svk was ... 07:10
clkao svk said what?
dduncan the incorrect commit was committed locally awhile ago, but pushed after I edited the checked out file back to what it should be
then I committed the checked out file, and tried to push that, to reverse the earlier pushed change, but svk said it was a lowercase-g empty merge 07:11
so both the change and reverse were pushed locally, but the second change wasn't pushed to openfoundry, as svk said it was empty
note that I'm still on svk 1.05 ... not sure if the bug fixed in 1.06 included this 07:12
clkao uhm.. how about push -l ? 07:14
dduncan "awhile ago" means "earlier today"
I don't know
I tried looking at what 'svk help' said and I couldn't figure out the command to push the older commit 07:15
is that an eye or an ell you typed?
I normally just say 'svk push' after 'svk commit', and according to 'svk help push', it is like smerge -lf 07:16
if that's true, then -l was being done
or I'm confused 07:17
were you suggesting that I try to push incrementally? 07:19
-I
pasteling "dduncan" at 24.108.164.7 pasted "transcript of svk use" (328 lines, 17K) at sial.org/pbot/15118 07:25
dduncan clkao, that may help you see what was happening
the only bit missing was the actual local commit of openfoundry/pugs commit r8431 07:26
clkao mmm
dduncan which happened prior to the transcript
obra prepares to release
dduncan the mistaken change removed the @{} 07:27
the fix put the @{} back
anything else you see for changes is superfluous
nothingmuch morning 07:28
dduncan local revision 1588, committed in the transcript, is the one that was never pushed through, but should have been 07:34
clkao looks a bit weird. i really need to write a merge visualisation tool 07:37
ingy audreyt: hello!
obra clkao: oo 07:38
dduncan clkao, thanks for looking into this matter 07:39
fyi, in my mind, the only thing that seems different about this time (prior to the push of r8431) than the past where svk worked correctly, is that I had a change in my checked out copy (relative to local commit) that happened to be the same as the one on openfoundry prior to that push 07:42
but I assumed that wouldn't matter, as I thought push/smerge didn't pay any attention to what was in my checked out directory
only what was committed in the local path relative to what was committed in the mirror aka openfoundry 07:43
perhaps that assumption was false
the fact that committing is a separate step from the push was the basis for the assumption of push ignoring the checkout dir
committing locally that is 07:44
but ...
I'm guessing that perhaps that pull I did at the start of the transcript, which does take into account the checkout dir, might have had a hand in this, though the pulled files were unrelated 07:45
only a guess
but suffice to say, the actual behaviour of svk seemed illogical from what I expected to happen
perhaps my assumptions of the way it should work are wrong, who knows 07:46
dduncan signing out soon, but good luck! 07:47
audreyt thanks!
dduncan 11:47pm, and the family wants me up earlier than usual tomorrow, given what day that is 07:48
merry christmas, to those of you that pay attention to it
and good other near-by holidays to everyone else 07:49
audreyt thanks! 08:07
audreyt goes meeting ingy
bbiab & 08:08
svnbot6 r8434 | audreyt++ | * Data.FastPackedString - much faster isPrefixOf. 08:32
r8434 | audreyt++ | * Text.Parse.OpTable - handle terms parsing -- compound operators coming RSN.
Mahmoud-Wrk hi, any one here? 08:47
just came here.. people in #perl look too busy. 08:48
i have little problem with Net::LDAP::Express
i'm able to get data from ldap server (thanks to ethereal)
but i'm not able to display it :/
sial.org/pbot/15120 08:49
dduncan Mahmoud-Wrk, this channel is specific to perl 6, parrot, pugs etc, ... general perl 5 issues, while not forbidden, are discouraged on this channel ... you should go back to #perl and ask there, or a list specific to net, or ldap, even if they are busy 08:58
also, I personally don't know the answer to your question 08:59
Mahmoud-Wrk i'm there too 09:03
but they are too busy
svnbot6 r8435 | gaal++ | remove warning 09:59
gaal asavige: ping 10:22
svnbot6 r8436 | audreyt++ | * Text.Parser.OpTable: handler for operators, pass #1 10:26
gaal asavige: hey 11:47
asavige hi gaal
gaal in your p6l post I think you mean @t[0] etc.
asavige Well, the code I posted works with Pugs (don't thinks it works with @t[0]) 11:48
gaal ah, oh wait
the iterant is $t
so it is right.
asavige i'm sitting where audrey sat at my house trying to get some inspiration ;-) 11:49
gaal but I wonder, should this work? for @lol -> @l {...} 11:50
asavige and i just noticed she left behind an apple plug connector thingy
gaal is that less or more yummy than leaving behind an applie pie thingy? 11:51
asavige maybe it should work but it doesn't work for me with pugs ... hence my question
given the way she travels and her absent-mindedness she probably leaves behind a trail 11:52
trail of her belongings all over the world ;)
gaal ?eval my @lol = ([1,2], [3,4]); for @lol -> @l { say @l }
11:52 evalbot_8429 is now known as evalbot_8436
evalbot_8436 OUTPUT[1 2 3 4 ] undef 11:52
gaal ?eval my @lol = ([1,2], [3,4]); for @lol -> @l { say "[@l]" } 11:53
evalbot_8436 OUTPUT[[@l] [@l] ] undef
gaal ?eval my @lol = ([1,2], [3,4]); for @lol -> @l { say "[ @l ]" }
evalbot_8436 OUTPUT[[ @l ] [ @l ] ] undef
gaal ?eval my @lol = ([1,2], [3,4]); for @lol -> @l { say "[ {@l} ]" }
evalbot_8436 OUTPUT[[ 1 2 ] [ 3 4 ] ] undef
gaal does work.
but you want to patmatch further, right?
asavige yeah, but i want to pass two params ($x, $y) to the block, not an array
i want to find some magic to flatten each list in the list 11:54
gaal right. took me a while but I understand you now :)
in haskell: (x, y):others 11:55
though this being a lol and not a list of tuples possibly compicates this. 11:56
luqui has been thinking about this kind of thing, I wonder what he has to say.
asavige ? eval my @l = (1,2,3,4); for @l -> $x, $y { say "x=$x y=$y" } 11:59
that's not what I want, just trying out this eval thing. 12:00
?eval my @l = (1,2,3,4); for @l -> $x, $y { say "x=$x y=$y" }
evalbot_8436 OUTPUT[x=1 y=2 x=3 y=4 ] undef
gaal come to think of it you can pattern match against lists in haskell, not just against tuples 12:01
that's the output you want, right? but not the syntax you want. 12:02
because you had to change the structure of your data for it to work.
asavige yeah. for a simple list selecting two at a time works fine, but not for a list of lists 12:03
gaal well, this should be available in formal sub args, not just abstractions (pointy blocks) 12:05
asavige k. i tried some simple named subs but then realised that flattening argument lists doesn't work yet in pugs 12:06
gaal I think an early syntax was sub foo ([$x, $y]) 12:07
which has arity one, so you could do 12:08
for @lol &foo 12:09
maybe the syntax for pointies oughta be
for @lol -> [$x, $y] { ... }
asavige i've just re-read the synopses after a six month break and they are mind bogglingly cool 12:10
Juerd gaal: IIRC, a comma is needed if you don't specify a literal block
asavige but mind boggling complex also
Juerd gaal: for @loo, &foo;
s/loo/lol/
nothingmuch ponders going for a walk 12:12
the rain is making a lovely noise
but i don't have an extra pair of pants to change to
and it's very very windy
Juerd This looks so surreal. 12:13
gaal nothingmuch: go barefoot all the way up 12:15
Juerd: right
nothingmuch gaal: heh
i don't have the right shoes for the rain either 12:16
just remembered
i can go sit on the bench for a while though
Juerd Idiot :) 12:17
nothingmuch ? 12:18
Juerd You WANT to go into the rain.
nothingmuch oh, the anti rain thing
yeah yeah
Juerd That's SO weird.
nothingmuch we've had a droughty year
C++ sucks 12:19
so much programmer overhead
every method needs to be declared in two places
gaal Juerd: we were wearing t-shirts last week 12:20
nothingmuch and last year i missed the winter 12:21
Juerd Still :)
Rain.
nothingmuch stayed inside too much
Juerd My mind has no trouble understanding why people want to believe in gods, why they want to change their bodies, etcetera 12:22
nothingmuch okay
so look at it this way
Juerd But understanding why anyone would like to get soaking wet outside... is hard.
nothingmuch can you understand fashion?
Juerd No
nothingmuch not soaking wet
can you understand the way people seek out things which are different from their lifestyle?
out of curiousity 12:23
interest
Juerd Sure :)
But rain? :)
nothingmuch excitement
xinming anyone here would suggest an file system for me? :-/ ext3 crashed. :-/
nothingmuch it's the same
Juerd Does rain excite you?
nothingmuch we don't get it often, so it's so nice to have it (the smell, the cold, etc) that I enjoy it
it's also a spartan thing
i am a masochist at heart
Juerd xinming: No filesystem is a good replacement for backups.
nothingmuch i like sufferring in a "tough" way ;-)
Juerd xinming: And ext3 is very stable.
nothingmuch: Ah 12:24
nothingmuch: Masochism I can understand, and through that, the love for rain :)
nothingmuch it makes me feel accomplished, the fact that i can enjoy the rain despite the physical discomfort
for the same reason I like camping, and laugh when I fall 12:25
Juerd I like rain only when I'm in a tent.
nothingmuch i think
Juerd Because of the sound.
The wetness is horrible.
nothingmuch yeah, i like the sound to
xinming Juerd: hmm, But In my opinion, It has some problem with dealing a file with holes, or maybe memory map. :-/
nothingmuch but I don't have fond memories of rain and tents together
xinming Juerd: do you use Vmware?
nothingmuch i only now bought a tent which is actually seam-taped
Juerd xinming: I do use vmware.
nothingmuch ;-)
Juerd nothingmuch: Well, tents in .nl are generally all rain proof. Otherwise they wouldn't be of much use :)
nothingmuch =) 12:26
car camping with the family we had two nights when we had to sleep in the car
Juerd It was funny during WTH that many foreigners had tents that were designed for dry weather only :)
nothingmuch WTH?
Juerd One of the congress tents was re-purposed as night shelter during the nights after the (extremely) heavy rain fall.
nothingmuch: WhatTheHack
xinming Juerd: hmm, while vmware running, It will create a file without any name in /tmp, you can du -h /tmp ; and ls -a to check it is not there,
Juerd A file without name? 12:27
nothingmuch i was a gadget-monkey recently and bought this: www.thenorthface.com/opencms/opencm...model=APE7
Juerd Then it's not in /tmp either.
xinming Juerd: But if the vmware is running, and sadly, the power is cut... then, ext3 gone sometimes. :-/ 12:28
Juerd nothingmuch: Ooh, nice :)
I have a cheap EUR 60 tent.
nothingmuch yeeah, it looks very sturdy, and it's light
but I only pitched it inside yet
i'm going camping next week
if plan goes OK
4 day hike from haifa to the kineret
Juerd My dad had a very small tent, with just enough room for one person 12:29
My mom made it
xinming Juerd: that's why I think I should do a switch on file system. :-/
Juerd His backpack was the most important structural part of the tent :)
nothingmuch hehe
that sounds cool
Juerd It looked like a coffin from the outside :)
nothingmuch got pictures? 12:30
Juerd And we called it "'t ukkie", which stands for "tukkie" (nap) and "het ukkie" (the small one)
nothingmuch: Hm... I'll ask
afk
nothingmuch are 1 man tents really just a weather proof sleeping bag? or more than that?
wrists? 12:31
gaal rehi 12:42
I have, uh, "exciting" memories of tent and rain.
hey, I'm happy to find that I was wrong: c# does have hashes in the language itself. 12:53
luqui: subscripting there uses the same syntax as array subscripting, too.
nothingmuch: when camping you need space for your rucksack and boots, and possibly a dry place to change clothes etc. 12:54
1-man tents are usually really cramped and inconvenient, the only reasons to take them and not bigger ones are space and weight. 12:56
if traveling with a partner splitting a duo is better.
nothingmuch gaal: makes sense 13:25
svnbot6 r8437 | asavige++ | update docs evil plan 13:48
asavige audreyt: ping 13:59
nothingmuch home hjome home! 14:14
dancing
araujo Hello. 14:38
What are you using for parsing perl6? 14:39
(merry christmas)
gaal araujo: we're using Parsec, a parser combinator library in haskell 14:45
# haskell.org/hawiki/ParsingInHaskell
sooner or later, there will be a grammar for perl 6 in perl 6 rules
araujo Oh, ok, that's what i wanted to know 14:46
I thought you were usign Happy too
gaal nope. most of the parser code is in Pugs.Parser 14:47
16:01 kanru2 is now known as kanru
Juerd 15:51 < gaal> sooner or later, there will be a grammar for perl 6 in perl 6 rules 16:10
Sooner, I think
gaal Juerd: are you working on it? 16:12
Juerd Not quite 16:23
It's just a feeling I have
integral I think quite a few people who could write at least some of it want one sooner rather than later too 16:24
cm yeehaw, journal update 17:11
the journey continues :o)
nothingmuch what would you name a method that allows access by force, from an access violation error handler 17:35
gaal trap? 17:44
what is "access by force" though? 17:45
nothingmuch gaal: sub access_denied { my ( $self, $what_was_denied_access_to ) = @_; if ( i_really_want_to_allow() ) { $self->forcibly_allow_access } } 17:54
audreyt rehi 17:57
the hackathon was a success!
audreyt releases YAML::Syck 0.01 to CPAN
with a parser that does not segfault, and a dumper that actually does something :)
nothingmuch =D 18:02
audreyt and it bundles syck
so should be much happy
ingy++
ingy audreyt: hello 18:13
how does minicpan work?
I think I have a minicpan in ~/CPAN 18:14
how do I sync it?
hmm I think I got it 18:15
yay
need that new Module::Install
audreyt: does YAML::Syck use YAML::Base as discussed? 18:16
audreyt ingy: no, I'll do it after the release 18:17
of YAML 0.50
as YAML::Syck 0.02
0.01 is self contained and 5.004 happy
ingy :p 18:18
where is the code checked in? 18:19
btw, will YAML 0.49_70 do?
I am about to release that 18:20
audreyt ingy: it's checked in in CPAN 18:22
and also svn.kwiki.org/audreyt/YAML-Syck/
pause.cpan.org/incoming/YAML-Syck-0.01.tar.gz
ingy ok 18:24
nothingmuch two released in 5 minutes 18:39
of the same module
nothingmuch never did that before ;-)
ingy hi nothingmuch 18:40
clkao ingy
ingy clkao!
nothingmuch hola ingy
ingy clkao: are you in taipei?
clkao yes
ingy me too
at $random_hotel 18:41
clkao: now that audreyt has released YAML::Syck we can be friends again 18:42
audreyt++
clkao good good
ingy maybe do some hotsprings
with no bothering me about stupid yaml breakage 18:43
Getopt-WonderBra???? 18:44
cpan is insane 18:45
audreyt hm, that reminds me, we need a Perl6 Getopt library that derives everything from the subroutine signature
nothingmuch sings the introspection song
audreyt :) 18:46
ingy does a little dance
audreyt: YAML::Syck is somewhat amazing to me
your crazy ass symbol binder thingy is cool 18:47
audreyt :)
ingy you've done this before?
audreyt it's 79 lines of perl, 200 lines of C
and we're all set
ingy is it your own technique?
audreyt yeah, it's from Language::MzScheme
yup
the store switch logic is from Storable.xs; the callback C interface in parser_handler is from Pugs 18:48
ingy you don't really need all those 1000 bindings do you?
audreyt no I don't... I presume I can build them lazily
the point though is other people may find uses for them
but sure, I think I can build it on demand
ingy nod
an autoload would be nice 18:49
audreyt commits welcome
ingy yeah, I'll be hacking that code soon
audreyt journal up re: tonight's hackathon
ingy crufting it up
audreyt now I need to 1)shower 2)sleep
ingy good night 18:50
audreyt 'night... :)
wolverian audreyt++ # journal 18:52
cm :-) 18:54
ingy audreyt: looks like YAML::Syck spins on dumping cyclic data 18:58
:(
audreyt ingy: I did mention that is one unresolved bug 19:00
I know how to fix this though (in the mark_node sequence)
just didn't get around to make it compile 19:01
tomorrow
but, sleep. :)
&
obra sleep well
wolverian ooh, YAML::Syck++ 19:03
hm, I can't see it in RT 19:04
ingy YAML-0.49_70.tar.gz on cpan 19:26
wolverian ingy++ # you too! 19:27
ingy thanks wolverian 19:29
perl -Ilib -MYAML::Syck -e 'print Dump *::' 19:43
audreyt: we need ^that^ to work like YAML.pm :) 19:44
obra whoa
obra tries that in yaml.pm
ingy: for extra points, can you serialize that to a file and read it back in to replace your perl environment? ;) 19:45
ingy obra: not sure how to load: 19:46
perl -Ilib -MYAML -e 'print Dump *STDIN'
obra understood. 19:47
Mostly, I was kidding.
ingy among other things
I know, but it was worth pondering
obra But the eventual goal of "serializable continuations with yaml in pelr5" is tasty
nothingmuch GAAAH
you guys are crazy
wolverian obra, you can pick it up from python? ;)
obra nothingmuch: also, kidding ;) 19:48
nothingmuch we need deparse to support closures first, though
obra goes off to write a release announcement 19:49
ingy perl -Ilib -MYAML -e '$YAML::UseCode=1; print Dump *::'
integral nothingmuch: Data::Dump::Stream supports some closure dumping.
nothingmuch demerphq++ 19:50
=( 19:56
i don't want to fix tests
cm is there a document along the lines of "Why Attribute Grammers Matter"? 19:59
e->a
rep grammers? 20:01
nothingmuch cm: i found Why Attribute Grammars Matter more of a "woah, haskell is cool" 20:02
just use AGs
that's the way to learn that they matter
when I wrote a type inferrencer in AGs i was hooked
cm mhm 20:07
rep, 21:11 < cm> e->a 20:09
rep :) 20:10
cm nothingmuch, oh, there *is* a Why Attribute Grammars Matter. doh :-) 20:14
nothingmuch =) 20:15
the monad reader++
nothingmuch goes for a walk
cm I think I even read that article ;) 20:20
ingy audreyt: I made 'ysh -R -MYAML::Syck' work 20:28
ferreira Trying to install YAML::Syck I've got q{Can't locate object method "_top" via package "MM" at inc/Module/Install/Base.pm - /usr/local/lib/perl5/site_perl/5.8.7/Module/Install/Base.pm line 52.} 21:01
And then trying to install Module::Install 0.48 I've got q{Can't locate object method "_top" via package "PACK001" at inc/Module/Install/Base.pm - lib/Module/Install/Base.pm line 52.}
Do you know about some issue with this new Module::Install? - This is perl, v5.8.7 built for cygwin-thread-multi-64int 21:02
s/Do you/Does anyone/ 21:03
ingy: a fix introduced in Module::Install::Can for Cygwin (ExtUtils::MM_Cygwin::maybe_command) is not working anymore and makes building with M::I to fail. If the extra code is removed, it works. I will try to find an explanation for this. 21:52
oh, the "fix" was introducing in Module::Install 0.40
s/introducing/introduced/ 21:53
sky ]autri? 23:22
audreyt: ?
obra sky: she's asleep
;)
sky I saw she is now a blogs.com user 23:23
did she get that comped?
obra no idea 23:28