6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | < audreyt> my fingers juxpatosed | Word of the Day: overgolfy
Set by Alias_ on 13 March 2006.
TimToady ayrnieu: q:w:s(a b $a) is not legal syntax if you're expecting (...) to be the quote delimiters. 00:00
ruoso s/is in/appears in/
TimToady q:w:s (a b $a) would work 00:01
ayrnieu oops, right. 00:02
TimToady and in fact it does work in my pugs.
Juerd Yet another reason for using [] as your favourite delimiters.
ayrnieu I normally use //
Juerd // is incredibly limited :/
TimToady [] not good enough here, since q:w:s[] would also feed [] to :s as its argument. 00:03
Juerd TimToady: Oh.
TimToady :foo<> etc. is the same syntax everywhere. Better to just get used to putting space if you want a bracket delim.
Juerd ayrnieu: If you work with HTML and javascript, you have lots of slashes in your strings: </foo> 00:04
ayrnieu Juerd - I change the delimeter in those cases :-)
Juerd TimToady: I've always found spaces between quoting operator and delimiters ugly; and it's bad for golf ;)
ayrnieu It's not as if I ever embed backwhacked delimeter-characters.
TimToady should be using here docs for multi-line HTML anyway... 00:05
ayrnieu Juerd - only for "perl goes here".elems golf.
Juerd TimToady: Well, maybe. I've ignored heredocs in perl 5 mostly.
ayrnieu: chars
TimToady hopefully they'll be a little more useful in Perl 6.
LeTo besides golf, it's just confusing and adds to the mentioned 10%
ayrnieu yeah. that. 00:06
00:06 eric256 left
ayrnieu LeTo - what 10% ? 00:06
Juerd TimToady: Well, they are better in Perl 6.
Fortunately HTML is whitespace agnostic, so I can indent the string itself one extra level.
LeTo the 100%-90% thingy above
ayrnieu LeTo - ... where? 00:07
Juerd ($foo = <<'BLAH';)
aoeu
BLAH
LeTo ayrnieu: < TimToady> It is nice to go back through perlmonks though and realize that just about 90% of the newbie traps are now closed. 00:08
ayrnieu ah. OK. 00:09
LeTo < TimToady> doubtless we've introduced other newbie traps, of course...
and that's imho for sure a bad one 00:10
TimToady but at least the :s() trap is consisten everywhere...
earlier we had some :foo taking args and others not, and that was going to be a much worse nightmare...
Juerd Weren't most of the old newbie traps also very consistent?
LeTo TimToady: don't listen to me, I'm not a perl programmar, just a poor parrot implementor ;) 00:11
TimToady Well, at least we shortened "use strict; use warnings" to "use v6"... :)
Juerd Hmmm 00:12
TimToady one recent change is that you can declare your own composite quote operators:
quote qws;
Juerd Do we get v-strings back then ;)
TimToady and then qws(a b $a) without
the s being taken as an adverb.
LeTo TimToady: is that also for P6 or already P7 ;) 00:13
Juerd TimToady: Hm, I would have thought that quote ops would get an &foo: category
TimToady: And that you would compose them with .assuming
And/or .wrap
TimToady They're just term: macros really... 00:14
LeTo why does it need core support then?
TimToady It's all sugar.
LeTo macros are there already
Juerd LeTo: Everything needs core support, because if the core isn't supported... ah, nevermind :)
LeTo why that much sugar? 00:15
Juerd LeTo: Well, if everything boils down to method calls, there's only one thing left to optimize ;)
TimToady Perl 6 is not minimalistic. It's trying to define a useful initial sublset.
LeTo TimToady: the 'useful' is currently beyond any reasonable grokability (for my poor mind) 00:16
TimToady As long as the useful subset you do grok doesn't interfere with the useful subset that someone else groks, it's okay if they two subsets are only partially intersecting. 00:17
*the
Juerd LeTo: But have you ever grokked all of Perl 5, then? 00:18
LeTo sure, but I don't think that all is needed for P6.0.0, the more that all is constructable by user already via macros 00:19
Juerd: certainly not
Juerd LeTo: Has that ever been a problem?
TimToady What we discovered with Perl 5 is that, where we don't supply a cultural convention, people supply their own conventions (plural). Sometimes that very plurality is a problem. See P5 OO, for instance... 00:20
Arathorn how often is dev.perl.org/perl6/doc/design/syn synced against svn.perl.org/perl6/doc/trunk/design/syn/ ? 00:21
LeTo Juerd: not at all of course, the problme is just that I'm trying to implement something that would run P6 ;)
TimToady As long as the convention is easily overridden, it's not like we've told people they *have* to do it this way...
Juerd LeTo: But if it desugars much, there's not that much to implement, right?
TimToady We're just trying to boil down a little more culture for them beforehand.
LeTo TimToady: 'k for the culture
Juerd LeTo: Everything that desugars to a method call requires no further implementation 00:22
Eh, no further special hackery for implementation :)
LeTo Juerd: yes, I hope so, but there are too many possible leaks for not being able to be desugared
Juerd I'm not sure I understand; what kind of leaks? 00:23
00:23 hexmode joined
LeTo e.g. a (possibly MMD) function call hits argument flattening that imposes further MMD 00:24
Juerd Hm 00:25
LeTo and what if one of the things isa Junction?
Juerd These are things I never thought about; mostly because I don't fully understand them. 00:26
LeTo where are the specs, how all this works together and doesn't fall onto the runtime?
TimToady But MMD is *supposed* to fall onto the runtime...
LeTo TimToady: sure, one level, but not, if after expansion of args, these start flattening and are in MMD position
is this case already prevented? 00:27
TimToady I suspect before you start MMD dispatch you have some idea of the number of arguments you might need from a lazy list. 00:28
(for a given short name).
LeTo yes, but I don't know types yet
TimToady but we can tell the list to figure out its first, say, three arguments. 00:29
LeTo a function call doesn't have any info about how many args are needed to MMD properly 00:30
TimToady but at some point it has to ask for the next value.
Juerd I'm going to try and get some sleep
Good night
LeTo and still: 'and what if one of the things isa Junction? ' 00:31
TimToady autothreading happens <mystical handwaving>
LeTo I really don't like that <mystical handwaving> 00:32
TimToady Language designers are really good at it.
ayrnieu or humans are really forgiving.
LeTo and autothreading is or course useful, if e.g. you got some spare CPUs to do it, but how? 00:33
00:34 avar joined
TimToady Can I get a PhD if I answer? 00:34
ayrnieu you can get a PhD, and then answer!
TimToady but by then the answer will be "it depends"... 00:35
Steve_p Hmmm..."magic happens here"
LeTo sorry, I'm not in the position of spending Phds - albeit it would be useful to at least have one (in .at)
TimToady I think the Junction vs MMD problem is pretty much solved by requiring the Junctional type to match exactly, but I tend to let Luke and Damian thrash that out... 00:37
LeTo TimToady: I see the future PC having a lot of CPUs (my shiny new Athlon X2 got 2 already), having just more M^HGhz tendency is already stopped, the 'autothreading' or whatever parallel construct should consider this 00:40
TimToady Certainly, that's one of the reasons we're installing gizmos like junctions, hyperops and such even though we don't entirely understand them yet.
pipe ops as well. 00:41
They're all ways of explicitly promising not to care about the
interactions between the parallel bits.
Once the program makes such promises, the optimizer can start thinking about splitting out microthreads in various ways... 00:42
LeTo TimToady: I see that exactly like above, OTOH it must be assured by lang semantics that there are no other bad side-effects 00:44
TimToady Some of this can be assured, some of it can only be promised by the programmer.
LeTo like exploding Junctions in some unwanted expression or whatnot 00:45
TimToady We'll do what we can to make it safe, and leave the rest to the programmer.
LeTo and to me it looks that this isn't really fully specced
TimToady Yeah, we can probably put some limits on exploding junctions in lexical scopes that aren't expecting them. 00:46
Right, it's not fully specced, because we're doing basic research of an experimental nature, and we expect some of the experiments to go *boom*.
Little bits of junction flying all over the place... :)
LeTo I'd prefer it the other way: a Junctiong might run parallel here and here ... and is forbidden ... 00:47
s/g//
TimToady At some point the culture comes up with new guidelines saying "use stricter", or we decide the defaults are wrong, and eventually we come up with Perl 7, or 6.1, or something... 00:48
LeTo what about the relationship to fortress ( lambda-the-ultimate.org/node/1320 ) - I'm seeing some with P6? 00:55
ayrnieu you think of them as connected, but don't know why you think of them this way? 00:56
LeTo not connected, but trying to implement new concepts
(or the same in a better way) 00:57
TimToady there are certainly some similarities there, not entirely accidental
A successful gene pool requires experimentation with incorporating new genes. This is often hard on the 00:58
individuals of the species.
Different gene pools try to balance that different ways. 00:59
Using "try" in abstract sense not including much intentionality, as
in the frequent statements of the form "The dinosaurs decided to evolve wings and become birds." and such. 01:00
LeTo P5 is already having the biggest gene pool, it's called CPAN, but that doesn't mean (IMHO) that the next organism should have almost all of it and try figure ;)
szbalint hm, in this context pmc started as a small evolutionary disadvantage which turned into a great evolutionary advantage a few years later. 01:02
TimToady Indeed not. But we can't lock genetic change out of the core either.
szbalint: potentially, thought the proof is in the pudding yet. 01:03
*though
LeTo but what is in (P6) core would need some evolution in that model though
TimToady Nevertheless, "a good tool is used for things unanticipated by its inventor" is
the cultural way to say that.
But it means you have to put enough variety into your gene pool for selective pressures to take over. 01:04
I made some good guesses with Perl 5 on that score, but also some bad guesses. Now we're making a different set of guesses, and some of them will be wrong, or at least wrong temporarily... 01:05
and some of them will be right temporarily, alas...
LeTo is just seeing some (handwavy 50%) of current Sd+ sugar should be delayed to undergo evolution for a P6.1 or even P7 01:06
TimToady I think the percentage is lower than that, but if we agree on everything, one of us is redundant. :) 01:07
A lot of these changes don't work well unless you also make the other changes. 01:08
LeTo well, I'm at bed anyways since hourhs - please dont care ;)
TimToady Well, I'll shut up now--all this philosophizing is giving me a headache... 01:09
LeTo nm - I don't care at all, unless it starts falling onto the runtime 01:10
(besides of course, what a runtime ought to do anyway) 01:12
01:27 mako132_ joined
LeTo re underspecced (sorry) $ grep -w junction design/syn/S06.pod |wc -l 01:36
2
g. night 01:37
s/-w/-i/ above please (same result) 01:39
01:41 LCamel joined
TimToady s/06/09/ gets more results 01:43
LeTo sure, but afaik should junction autothread on subs, which are covered in S06 01:46
e.g. what happens if the multi sub 'substr' also got some slurpy or named variants and is called with substr("camel", 0|1, 2&3) 01:49
/away now really 01:52
01:52 vel joined 02:04 foof joined 02:35 r0nny joined 03:09 mako132_ joined 03:14 FurnaceBoy joined 03:55 geoffb joined 03:56 xern joined, FurnaceBoy_ joined 03:57 K joined 04:01 K is now known as Quell 04:09 amnesiac joined 04:10 GabrielVieira joined 04:57 cnhackTNT joined 05:04 puetzk_ joined, puetzk joined
svnbot6 r9580 | ingy++ | r5680@bytes: ingy | 2006-03-14 21:07:40 -0800 05:09
r9580 | ingy++ | Removing old S26 attempts and adding Damian's more comprehensive one.
r9581 | ingy++ | r5682@bytes: ingy | 2006-03-14 21:14:15 -0800 05:15
r9581 | ingy++ | The artist formerly known
ingy seen TimToady 05:16
obra is kwid dead or part of damian's plan? 05:25
05:30 tcliou joined
arcady kwid seems to be mentioned as an option in the S26 that ingy just committed 05:30
so presumably it's part of the plan
PerlJam there's a plan? ; 05:35
;)
arcady at any given point in time, presumably yes 05:37
though not all these plans stay unchanged for very long
PerlJam no plan survives contact with reality (to paraphrase) 05:40
(grossly)
arcady but hopefully whacking successive iterations of the plan with reality causes it to converge to something 05:44
if we're lucky, it might even be something good
PerlJam "chance favors the prepared mind" --Louis Pasteur 05:46
as long as we have enough prepared minds, we'll get good things
arcady speaking of plans, is anyone planning on writing the remaining synopses? 05:51
PerlJam I haven't heard any specific plans, but anyone is free to stab at them. If the stab is good enough, it may be blessed by $Larry. 05:54
05:57 |cnhackT| joined
lypanov returns 06:01
oops. wrong room
06:03 hmisty joined 06:06 _cnhackT_ joined 06:09 _cnhack3 joined 06:30 avar joined 06:48 Aankhen`` joined 06:55 xinming joined 06:57 GeJ_ joined 07:01 beppu_ joined 07:03 xinming joined 07:10 GeJ joined 07:41 marmic joined
Quell I'm out. See ya later guys. 07:44
GeJ greetings folks 07:50
svnbot6 r9582 | audreyt++ | * repo-copy S26.pod and S29.pod into docs/Perl6/Spec/.
GeJ morning audrey
07:52 iblechbot joined
diotalevi Is cperl-mode semi-reasonable to use when pugs is in the shebang? 07:53
For emacs, of course.
ayrnieu diotalevi - alas, no.
diotalevi - I think rules confuse it.
diotalevi drat.
I can *almost* go to sleep. Just a few patches to the elisp in Perl Hacks and I can sleep soundly. :-/ 07:55
svnbot6 r9583 | audreyt++ | * Retire the docs/AES/ directory for real. Add a README:
r9583 | audreyt++ | The community-maintained Perl 6 Spec drafts no longer lives in this
r9583 | audreyt++ | directory, as they are now part of the Perl6::Doc tree at docs/Perl6/Spec/.
r9583 | audreyt++ | The few draft PODs here should probably be cleaned up into Spec-like
ayrnieu I used to say 'perl' in shebangs for optimism, but went back to 'pugs' when both cperl-mode and perl-mode failed.
svnbot6 r9583 | audreyt++ | formats and moved to Perl6::Spec space.
07:59 hmisty_ joined 08:07 ghenry joined 08:13 evalbot_9583 joined 08:16 nothingmuch joined 08:22 cm joined 08:40 kane___ joined 08:47 drrho joined
szbalint oooh 6pan draft! Uninstall! Finally ;) 09:08
09:39 blm joined 09:42 bsb joined
svnbot6 r9584 | pmurias++ | + complement 09:47
r9584 | pmurias++ | + a dummpy Term::ANISColor qw(:constants)
r9584 | pmurias++ | + attr alias-for
09:48 pawel joined, pawel is now known as pmurias
pmurias hi all 10:01
why is PIR so low-level? 10:02
10:04 foof left 10:05 tcliou joined
lypanov pmurias: because the more there is already the less you can write only using pir? 10:05
10:06 f joined 10:10 hugues23 joined
pmurias got to catch a bus,bbl 10:16
.exit
10:42 f0rth joined 11:07 foosroo joined 11:09 f is now known as fandango 11:15 SamB joined
nothingmuch moose 11:20
rgs mickey moose ? 11:21
nothingmuch www.forum2.org/moose/moose05.html
mickey møøse! 11:22
GeJ where is this moose-mania coming from in the first place? Anything to do with Holy Grail? 11:24
nothingmuch yes
it's all gaal's fault
GeJ # grep moose FreeNode-#perl6.log | awk '{print $4}' | sort | uniq -c 11:29
57 <gaal>
40 <nothingmuch>
you're pretty close though
but it's not the 24/7 logs... So I may be far from the real results 11:30
nothingmuch gaal and I are in the same time zone
so it should be pretty accurate
either way
i had a slight moose fixation before gaal
holy grail + swedish chef 11:31
but gaal helped it mature into a fully blown obsession
anatoly all part of the master plan
nothingmuch =) 11:34
GeJ Han, swedish chef... + moose... of course :)
I think my favorite's the chicky in thi basky 11:35
nothingmuch GeJ: yeah, it's wonderful 11:38
nothingmuch.woobling.org/chef.tar.gz
GeJ you sir, just made my day. 11:40
thank you :)
11:42 elmex joined 11:44 ruoso joined 11:55 rindolf joined
rindolf Hi all! 11:55
audreyt: here?
pasteling "rindolf" at 88.153.140.201 pasted "Another pugsbug" (26 lines, 244B) at sial.org/pbot/16329
audreyt rindolf: please commit it to t/pugsbugs/ 11:56
audreyt is getting ready for a perlcast interview
rindolf audreyt: OK. 11:57
audreyt: break a leg!
audreyt hm, anyone here on skype? I need to verify if my sound settings works etc
..probably not :) 12:01
nothingmuch audreyt: behind NAT 12:03
audreyt nothingmuch: skype doesn't care
nothingmuch firing it up
Ara5n is politically obliged to shun skype, what with working at a telco who supports open standards rather than random proprietary ming like skype 12:04
nothingmuch Ara5n: what telco is that? 12:05
Ara5n random small uk outfit called mxtelecom
nothingmuch audreyt: yuvalkogman
Ara5n mainly does messaging rather than voice/video, but i do voip stuff 12:06
life's hard enough with sip & h323 & xmpp without throwing skype going and screwing it all up ;)
audreyt ah. I'm not on skype, but perlcast demands it :)
12:06 _cnhackT_ joined
Ara5n grumbles 12:06
didn't Ekiga get released the other day?
nothingmuch audreyt: err, you wanna sign on?
audreyt nothingmuch: a sec, skype just crashed
nothingmuch Ara5n: voip is one of those fields I have managed to avoid debugging 12:07
audreyt: okies =)
audreyt mumbles something about win32
nothingmuch wonders how hard it is to get 'autreyt' logins... autrijus is pretty unique, after all
12:09 TimToady joined
nothingmuch i hear you 12:09
i said "moosage"
i think i hear balas
audreyt nope
nothingmuch i heard "cannot hear you at all"
audreyt yeah 12:10
nothingmuch ah there, you are
audreyt and I heard "blahblahblah"
nothingmuch that doesn't sound like you at all
audreyt latency is impossible
nothingmuch yeah, it is
i said blah blah blah before you said "cannot hear you at all"
audreyt :/
nothingmuch says goodbye to skype for another 6 months
audreyt hopes the perlcast guy has a better connection to here
Ara5n grumbles some more from the peanut gallery
Juerd I gave up on skype, and then after a month they destroyed my $10 credit. 12:11
nothingmuch audreyt: i'm behind a pretty fat pipe
Juerd That's how they make money.
nothingmuch we video conference with the US all the time
audreyt nothingmuch: maybe both-side-nat hurts?
nothingmuch no clue
hope not
obra: ping 12:12
audreyt decides to start recording voice track for the talks just for fun 12:14
svnbot6 r9585 | shlomif++ | Added the lexical array in inner block pugsbugs test, that tests for false
r9585 | shlomif++ | persistence of lexical array refs inside a function inner block.
audreyt <Pugs Haskell VB Mariner>
nothingmuch voice tracks?
as in, downloadable almost-videos? 12:15
audreyt yeah
probably flash
nothingmuch that would rock =)
audreyt not sure how to turn xul into flash
nothingmuch why?
audreyt or add voice tracks to xuls
nothingmuch can't xul contain that?
audreyt you mean I record one .mp3 for each slide?
nothingmuch i mean, you can prolly script the XUL transitions based on an array of delays
the slides are on the same page, right?
audreyt yes
you have the takahashi.js
nothingmuch so you can have an invisible div autoplay an mp3
audreyt mmm 12:16
nothingmuch and then you script the takahashi.js with an array of delays
audreyt right.
Ara5n would have thought using a media plugin (vlc or quicktime or whatever) to play an mp3 in the background's the best bet
audreyt however I'm somehow not motivated to hack js to do that
Juerd No, don't do it invisible. People with sane settings have players to default to *stop*, and want to hit *play* manually :)
nothingmuch audreyt: i'll have a look
audreyt Ara5n: but how does the user know when to scroll to next slide?
Ara5n it'd have to autoscroll in time to your soundtrack.
nothingmuch where can i find takahashi.js in some repo/
Juerd audreyt: Then hack Perl 6 to do it, and compile it to JS? :)
nothingmuch Ara5n: that 12:17
's exactly my thoughts too
audreyt Juerd: that crossed my mind :)
Ara5n audreyt: alternatively, I could hack up a XUL to flash renderer for you
audreyt Ara5n: takahashi doesn't quite work like that...
Ara5n no, i mean taking the XUL script
parsing it in actionscript
and dropping it into a .swf with your .mp3
audreyt wow. you can do that?
Ara5n yeah
nothingmuch impressive =)
Juerd There's a simpler solution, though
Flash can drive a browser 12:18
Ara5n is a flash hacker (as well as a voip hacker) for his day job
audreyt ok... try dubbing perlcabal.org/~autrijus/osdc/mariner.xul
Ara5n yeah, you could just use FSCommands from Flash to prod the browser
audreyt with random mp3
Juerd Have flash decide when to load the next slide
That saves you the trouble of writing a XUL parser and renderer
Ara5n that's certainly an easier solution - although it ends up being XUL only 12:19
so in terms of portability worst of both worlds
Juerd Well, Flash isn't portable either
So why bother?
Flash doesn't even work on the computer I'm using right now.
nothingmuch Juerd: flash is more portable than XUL
Ara5n well, Flash is more common than XUL, at any rate
Juerd Sure
nothingmuch and XUL+flash together are pretty decent
Juerd Though XUL works on more platforms than Flash. 12:20
Ara5n indeed
Juerd It's just that XUL doesn't work in all browsers that Flash supports.
Ara5n wonders how you'd compile all the mp3 snippets into the swf 'remote control' for the XUL without a proper version of Flash 12:21
Juerd Roughly, Flash exists for Windows, Mac OS X, linux-x86.
nothingmuch audreyt: i think i can hack "animation" for takahashi in ~10 mins
Juerd Not for linux-powerpc, for example.
Ara5n Juerd: gnash is coming on quite well
and the other opensource players - hell even swfplayer would be good enough for this
Juerd Ara5n: So far all segfault.
Ara5n Juerd: i run swfplayer on embedded platforms all over the place with pretty decent stability :) 12:22
(and non-embedded, for that matter)
although its ActionScript support is nonexistent
it does support FSCommands, which is all that's needed for this
nothingmuch: isn't the question whether audrey wants XUL to autoscroll, or let the user flip through the slides?
(and skip the audio to match) 12:23
Ara5n awaits clarification before leaping off into Flash land
foosroo isn't this for a version of the slides with a soundtrack? then they have to be synchronized 12:24
nothingmuch Ara5n: i think the thing will need to autoscroll for simplicity
foosroo: yes
synchronization is based on delays
and we can even have a "record" feature that records the delays for you
Ara5n nothingmuch: not if you used flash + fscommands, as juerd suggested, though 12:25
it'd be dead easy to skip from audio clip to audio clip as navigation buttons on the swf snippet were pressed
and then send fscommands through to the browser to run arbitrary javascript
nothingmuch that means slicing up the audio
which is not that easy
remember that takahashi slides change mid sentance 12:26
mid word even
Ara5n ah, of course
hum
Ara5n looks to audrey for clarification
(of course, working embedded media browser plugins are even rarer under *nix than working Flash plugins ;) 12:27
Juerd You need a single audiotrack, and an event track to drive the browser.
I thought Flash could easily do that? 12:28
Ara5n yeah, it can
but just as easily as recording a bunch of time offsets and doing it in XUL
nothingmuch yeah
we'll we'll multitask
i think yours will work better
but mine will be there in ~2 mins
Ara5n hehe 12:29
sounds like a challenge
Ara5n defers lunch to race
by far the hardest thing's going to be finding somewhere private to record the test audio :P 12:31
audreyt :D 12:33
I'll record the test audio here
12:33 KingDiamond joined
Ara5n perfect, then 12:34
audreyt I don't have a mic though, expect a lot of noise 12:35
nothingmuch okay, done
audreyt: this is probably going to go out of sync later
i don't know how to capture events from objects
but if you can split the audio into chapters
and start new chapters given points in time
pasteling "nothingmuch" at 212.143.92.226 pasted "basic takahashi automation" (26 lines, 538B) at sial.org/pbot/16330 12:36
nothingmuch tested on vb.xul
Juerd nothingmuch: Why would it go out of sync much?
nothingmuch Juerd: because there are no explicit sync points
and timer fuzz will accumilate
Juerd nothingmuch: But time is a worldwide agreed on standard :)
nothingmuch if the audio is slightly too fast, etc
HAHAHAHAHAHAHAHAAAAAA
seriously =) 12:37
Juerd Digital audio isn't slightly too fast :)
nothingmuch also, make the <command cmd_forward> thing *record* an array of delays
Juerd: yes it is
very often
Juerd It's video that tends to be too fast or too slow
nothingmuch try playing MP3s in two players at the same time
Juerd Audio is much more reliable
nothingmuch they go out of sync
much more, but not absolutely
Ara5n surely the latency of the media player starting up is the bottleneck 12:38
Juerd They differ maybe one second every 10 minutes?
Ara5n: "Please click the [play] button in 3, 2, 1, NOW."
Ara5n ew
Juerd ;)
nothingmuch hehe 12:39
Ara5n the only problem I see with the Flash technique is providing a way of getting the timings in
nothingmuch we need to catch events from the audio starting and ending etc
Ara5n it's dead easy if you have the flash authoring app to hand
nothingmuch Ara5n: can't flash things peek into a URI's query params
Ara5n yeah, amongst many other ways of shoving data into it
nothingmuch in which case js could query window.location with a big array of 10,2,4, etc
Ara5n i guess so - but it'd be much much nicer if you had the authoring app to hand, and could just look through the waveform and plonk an event on the timeline where necessary 12:40
Juerd Ara5n: Is it still not possible to play a flash movie and hit a hotkey to add random markings in the timeline?
Ara5n oh, i guess so
Juerd That's been a much wanted feature since day 1
Ara5n you can do that as of flash 4 or thereabouts
Ara5n will hack that up, then 12:41
Juerd has used the first few versions of flash
Ara5n joined the game at flash 3
Juerd When I still cared about GUIs and Windows
12:42 fglock joined
nothingmuch service.real.com/help/library/guide...01_emb.htm 12:42
hmm
seems like real audio can help us a lot
Juerd nothingmuch: Dragons. 12:43
nothingmuch: *hint*
:)
nothingmuch Juerd: it's just *a* platform
we're compiling to it
not making it canonical =)
Juerd Dragons!
nothingmuch OnPosChange 12:44
Ara5n don't touch Real :\ 12:46
gah
whee, this is working
Ara5n looks for some mp3
nothingmuch okay, so the canonicl slide timing format we'll be using is an array of delays, for writability, kies?
Ara5n: woot!
fglock stevan, audreyt: about the PCR Grammar class - which should be used: Class::MOP, Class::C3, plain p5? 12:47
nothingmuch fglock: prolly Class::MOP
theorbtwo Subsecond timing will be useful if we're talking about timing against continious audio.
nothingmuch or Moose
easiest to port to Perl 6
audreyt fglock: p5 first
nothingmuch theorbtwo: yes, it's in floats, i guess
prolly converted to milliseconds, since that's pretty standard
audreyt nothingmuch: where is Moose.pm? 12:48
nothingmuch stevan's repo
12:48 blm joined
nothingmuch err, i thought it was public, sorry 12:48
Ara5n theorbtwo: you can have whatever timing resolution you want
up to the scheduler or so
nothingmuch ask him to share it, i'm not sure I'm allowed
fglock audreyt: anonymous Grammar == 'hash of rules' is ok?
Ara5n 20ms granularity works almost reliably
nothingmuch fglock: noooooooooooooooooooooooooooooooooo
audreyt Ara5n: btw, perlcabal.org/~autrijus/osdc/mariner.mp3
fglock: sure thing
nothingmuch fglock: keep it extensible
please please pretty please 12:49
audreyt fglock: ignore nothingmuch, just get something working :)
fglock audreyt, nothingmuch: please agree on something :)
nothingmuch ugh
the get something working approach is really slowing us down with pugs
Juerd Ara5n: Re some mp3 to test with: I suggest that any Weird Al Yankovic fits any Takahashi talk ;)
audreyt it can be extensible when we need it extensible :)
nothingmuch i thought we were going to aim for slightly more future hackability this time
audreyt nothingmuch: er, have you looked at P::C::R?
nothingmuch yes
but not recently
like 1 week ago 12:50
before it was PCR
ruoso nothingmuch, 1 week ago it didn't exist...
nothingmuch, it was still just iterator_engine.pl
nothingmuch yes
audreyt fglock: an anonymous grammar probably wants some accessors, so probably bless it into P::R::Grammar
fglock audreyt: I need to rewrite some PCR parts to make rules==methods, so I need a 'Grammar' to exist
audreyt fglock: but internally it's a hash of rules
fglock audreyt: ok
audreyt fglock: I think for now, AUTOLOAD so it dispatches 12:51
fglock: we can hook to MOP later
when Moose.pm arrives to the repo
or to CPAN 12:52
fglock audreyt: Package rules can still be installed with *name = $rule->code, because code returns sub{ $grammar->$rule } 12:53
audreyt nothingmuch: it's pretty hard to hook into a MOP without a native method dispatcher, and without Moose it can't easily be made into conforming with Class::MOP later 12:54
Ara5n audreyt: thanks
audreyt nothingmuch: so instead of retooling, I think keeping the module interface at method calls level is the right call.
Ara5n cues it in
audreyt nothingmuch: I think that makes sense
nothingmuch lost context 12:55
audreyt fglock: cool
nothingmuch ah
well, whatever
make stevan release it
it's almost done
we can also use QTNEXT for QT
fglock audreyt: should I add a temp dir for non-yet-working implementations? maybe under pX?
nothingmuch as yet another slice-audio backend
www.apple.com/quicktime/tutorials/embed2.html
audreyt fglock: pX seems correct
Juerd nothingmuch: Baby dragons :) 12:56
Ara5n audreyt: your audibility's slightly screwy, i think
nothingmuch Juerd: yeah yeah, you hate everything, we know =)
Juerd nothingmuch: Not everything!
audreyt Ara5n: I'm using Asus's builtin mac
nothingmuch ;-)
Juerd I like Flash. I just don't like that I can't get it.
nothingmuch svg!
audreyt I mean, mic
Ara5n right - but you're sampling at 16kHz, but compressing to 112kbps
Juerd Ooh, animated svg would be useful.
Scalable vector audio!
nothingmuch heh
it's scripted with JS 12:57
audreyt Ara5n: wow.
nothingmuch animated with JS too
audreyt Ara5n: this is temp test anyway -- I'll rerecord properly when I'm back to .tw
Juerd meknows
Ara5n okay
fglock [OT] we should try voice conferencing some day
Ara5n whereas quality would be a lot better if you sampled at 44.1Khz and compressed to, uhm, 96kbps or something
nothingmuch developer.apple.com/documentation/Q...ion_7.html
Juerd 44.1 seems like overkill 12:58
nothingmuch also intruiging
Juerd A non-professional mike doesn't go much further than 25 anyway :)
nothingmuch Juerd: frequency, not sampling rate
Juerd Ohh, nevermind.
Indeed.
nothingmuch sampling rate should be ~~ 24x frequency
2-4
sorry
24x *IS* overkill
Juerd Heh
audreyt 24x is CD-R ;) 12:59
(totally different context)
nothingmuch www.ozoneasylum.com/8605
Ara5n uhm, a pro mike should be able to pick up frequences beyond 12.5kHz...
non-pro, even
audreyt this is not a mic even... it's embedded into the front panel of the laptop
consistently bad reception
Ara5n either way, the sibilance at 16kHz is pretty bad ;/
ruoso still fighting the broken macro rule 13:00
13:00 mako132_ joined
nothingmuch okay 13:01
i'm convincede dthat Ara5n's is the one true way to add audio
i'm afraid we'll have sync issues after 5 mins or so with the timeout stuff
Ara5n rofl 13:02
nothingmuch real player support is prolly not worth the effort
why?
Ara5n rather amusingly flash totally fails to understand the 16kHz sampling
and plays it back at 44.1kHz
nothingmuch eek
Juerd That makes the talk even faster!~
Ara5n s/flash/flash player/
yeah
v. amusing 13:03
Ara5n switches from using simple embedded .mp3 to streaming the mp3 on the fly and using macromedia's idea of cue points
c.f. www.macromedia.com/devnet/flash/art...rs_02.html
hm, although that seems to lose the time granularity :( 13:04
13:04 Ara5n is now known as Arathorn
nothingmuch as long as the granuality loss is not accumilating i think that's OK 13:05
that's the problem with the setTimeout algorithm: the sync loss accumilates on both sides: the video and the timeout, potentially
so they can become almost orthogonal after a while =)
Juerd nothingmuch: There is a setTimeout-like thing that automatically repeats. It's supposed to be better.
nothingmuch: Also, JS can read system time, and you could sync with that every 10 seconds, for example 13:06
nothingmuch Juerd: i was looking for that, it's non portable
Juerd Oh
nothingmuch yeah, but that means starting to implement fuzz algorithms
Arathorn brb 13:07
nothingmuch which is OK, but not a 3 minute hack like the code i nopasted earlier is
13:07 iblechbot joined
nothingmuch note that this actually works: slipgate.za.net/darcs/darcs_osdc/ 13:07
err
Juerd Use AJAX! ;)
nothingmuch fuck
stupid clipboard
Juerd Let a server send the events ;)
nothingmuch sial.org/pbot/16330
eeek
13:07 Limbic_Region joined
nothingmuch cool: www.treehugger.com/files/2006/03/ph...mokele.php 13:09
KingDiamond nothingmuch: where do I look for the core of the p5 module import stuff? 13:13
nothingmuch KingDiamond: searching 13:14
KingDiamond nothingmuch: I tried, but yeah, I'm just new :) 13:15
nothingmuch =)
aha 13:17
no wait
err
there we go 13:18
ruleUsePerlPackage
in Parser.hs
theorbtwo blinks.
I'd forgotten that autrijus/audreyt's voice would have changed. 13:19
KingDiamond nothingmuch: thanks
Arathorn back 13:20
theorbtwo Also, she lost his accent. 13:21
audreyt I've been working on my accent.
(after the pugs.blogs.com comment feedback from OSDC.il)
Juerd I'm bad at noticing changes like that -- all I know is that I understood audreyt better during GPW than in Amsterdam
audreyt is glad to hear that. 13:22
theorbtwo I didn't have any problems understanding you at the Toronto Hackathon.
rjbs Juerd: hey, I recently stumbled across Exporter::Tidy. neat 13:23
Juerd rjbs: Thank you 13:24
ruoso needs help with the macro rule...
theorbtwo ...though the next time I saw a Jet Li movie, he kept reminding me of Autrijus, which is an... interesting... pairing. 13:25
audreyt heh
cm my head pronounces "audreyt" like "outright" :( 13:26
svnbot6 r9586 | fglock++ | px/Common/Pugs-Compiler-Rule - devel version
audreyt I wish freenode can let me register "audrey"
Juerd My head pronounces audreyt as Audrey; I'm just too lazy to not use tab completion :) 13:27
Arathorn do freenode nicks ever expire? 13:28
Juerd Arathorn: One can request a long unused nick to be removed from the system
Arathorn and woo, pulling in the .mp3 from an external source seems to work
Juerd But afaik, not automatically
Arathorn nods
nothingmuch theorbtwo: i was surprised too, at the hackathon there was no voice change yet 13:29
i thought she was balas =)
KingDiamond: found out anything cool yet? 13:30
(over skype)
13:32 kolibrie joined 13:33 cognominal joined
KingDiamond nothingmuch: I'll need time... hoping to figure *something* 13:34
foosroo I thought it was kinda useful to have an AudreyT around
theorbtwo In case any Audreys need to be transformed? 13:35
foosroo no, in case bogons need to be detracted
nothingmuch KingDiamond: need splaining?
foosroo an AudreyT doesn't transform Audreys, it transforms other things
nothingmuch thinks of a tasteless jokes involving g^Hmonad lifting and voice changes 13:36
foosroo nothingmuch: free your mind and you know what follows
& 13:38
nothingmuch ciao
btw, KingDiamond: foosroo is the guilty party for all things use perl5: related nowadays, methinks
KingDiamond: but I can also kinda read through that code OK 13:39
KingDiamond heh
nothingmuch he is better known as gaal around here
KingDiamond I know gaal... through LJ
nothingmuch from before the conf?
KingDiamond yeah 13:40
he doesn't know me
nothingmuch cool
KingDiamond nothingmuch: basically one of the things broken(?) is that I cannot call mod funcs without doing &func = Module::Foo.can("func"), right?
anatoly you got a LJ perchance, nothingmuch?
nothingmuch KingDiamond: right 13:41
no importing
13:41 Nouk joined
nothingmuch anatoly: yes, but unused 13:41
yuval_kogman
it's just for reading gaal's journal
anatoly ah, k 13:42
nothingmuch tried getting into the blogging mindset but never managed
lypanov also just uses his for reading others 13:45
anatoly got into the blogging mindset too deeply, he thinks :) 13:46
lypanov used to have an emo-blog, but anything he wants to write in every day he doesn't like other people to read ;)
KingDiamond nothingmuch: so "fixing it" would (as in being able to do Data::Dumper::Dumper()) would involve playing with rulesUsePerlPackage, or...? 13:48
nothingmuch: I should've bugged gaal and you to explain a lot of things IRL there :)
audreyt KingDiamond: well, two things; one is
use perl5:Data::Dumper <Dumper>;
this is easier to implement 13:49
auto-import by bridging namespaces
is quite a bit harder
because p5 has no idea of p6 (lexical) receiving namespaces
Limbic_Region audreyt - I am pretty sure if you told Demerphq what he needed to know, he would create a version of Data::Dump::Streamer to do the right thing 13:50
audreyt Limbic_Region: uh, what?
Limbic_Region Data::Dump::Streamer is already far superior to Data::Dumper in doing the right thing with regular p5
audreyt that was just an example 13:51
use perl5:CGI <header>; # easier
use perl5:CGI; # hard
Limbic_Region oh - sorry, misunderstood
audreyt I do agree D::D::S is wonderful though :)
Limbic_Region because p5 has no idea of p6 (lexical) receiving namespaces
audreyt yeah
Limbic_Region I did a mental s/p5/D::D/
audreyt and their exporter would have a hard time glob-assigning to it
it can probably be emu'ed 13:52
nothingmuch KingDiamond: sorry, back
smalltalk
yes
the import thing is currently punted
Limbic_Region audreyt - mind if I /msg you a couple personal questions or are you busy ATM?
nothingmuch oh wait, audreyt is explaining =)
KingDiamond audreyt: hmm...
nothingmuch: yeah :)
audreyt Limbic_Region: /msg is fine 13:53
(though I'mm 5-way multiplexing as usual)
KingDiamond audreyt: hmm... so, yeah, hackage would be required in Parser.hs
nothingmuch: okay to /msg you for help, no? 13:54
audreyt KingDiamond: an idea is for require_perl5 to set up a pseudo NS 13:55
collect it, and then assign it to perl6-space
eg
use perl5:Data::Dumper; 13:56
Arathorn audreyt: did you record that audio to raw samples (PCM), or straight to mp3, btw?
audreyt if you put symbols into %Data::Dumper::EXPORTS in the p6-land
Arathorn: straight to mp3
with keys being '&Dumper' etc
and vals being ::Data::Dumper.can('Dumper') etc
then all will magically work 13:57
KingDiamond audreyt: ah, interesting
audreyt you can hack it in the require_perl5 Prim 13:58
try it with just a single hardcoded export of &Dumper first 14:00
see if that works, and go from there :)
KingDiamond audreyt: looking
audreyt ingy: M::I 0.61 is on CPAN; sorry for the delay 14:01
14:02 iblechbot_ joined
KingDiamond audreyt: you're talking about the require_perl5 in /src/Pugs/Prim.hs, right? 14:02
audreyt yes 14:04
KingDiamond audreyt: thanks 14:05
audreyt np - pair with nothingmuch should prove helpful... feel free to ask me anything here :)
14:06 elmex joined
audreyt interview starting 14:07
nothingmuch KingDiamond: yes
14:11 Qiang joined
nothingmuch KingDiamond: 14:13
Arathorn tries to work out how to embed swf into xul :/
14:13 nothingmuch joined
nothingmuch sorry, IRC broke 14:13
KingDiamond: sure, you can message
but it's better to IM since I occasionally lost /msgs
AIM: foobargorch, jabber, yahoo, msn, icq etc also available 14:14
KingDiamond nothingmuch: cool, thanks 14:20
rindolf audreyt: did you have the perlcast interview yet?
rindolf is back from a bike ride. 14:21
nothingmuch rindolf: you bike in the city?
stevan fglock: ping
rindolf nothingmuch: yes. 14:22
nothingmuch rindolf: for recreation?
rindolf nothingmuch: and for sport.
nothingmuch in the parks?
rindolf nothingmuch: in Park Ha'Yarkon, yes. But also there and back.
nothingmuch imagines biking in the city for any purpose other than commuting is prolly depressing
ah
nothingmuch bikes in Yaar Lahav and Gvaot Goral 14:23
lots of hills and places to explore
fglock stevan: pong
audreyt rindolf: yeah, just finished the interview 14:25
rindolf audreyt: how did it go? 14:26
audreyt will have a zeroth-cut preview version tomorrow
quite fun
rindolf audreyt: good. :-)
audreyt I jittered quite a bit toward the end though
fortunately josh says I can send in rerecordings and he'll mix it in 14:27
14:27 stennie joined
rindolf audreyt: OK. 14:28
14:30 gene9 joined
fglock audreyt: can PCR use Module::Install from CPAN? 14:33
nothingmuch can't listen to perlcast
the guy who does it has this voice which drives me nuts
instead of listening for the meaning i keep losing my concentration because of his pronounciation
osfameron yeah, me too 14:35
Arathorn can't work out how to make the <html:embed/> flash component display in the takahashi xul :(
svnbot6 r9587 | ruoso++ | debugging strange bug...
ruoso really weird
pasteling "ruoso" at 201.8.196.176 pasted "Strange bug...." (92 lines, 2.6K) at sial.org/pbot/16334 14:38
ruoso fglock, please take a look at sial.org/pbot/16334
nothingmuch audreyt: please briefly explain what the PerlSV resulting from eval_perl "require ..." is 14:39
it makes no real sense to me
fglock ruoso: looking
nothingmuch because perl 5's require doesn't reaturn anything meaningful
oh wait
oops
hehe
fglock ruoso: I've seen this before in other programs - but I can't explain it (Dumper changes the structure it dumps, maybe autovivifies something) 14:42
ruoso fglock, that's my bet...
fglock, but what
KingDiamond the internal eval method for p6 is Pugs::Internals::eval, yeah? 14:43
stevan fglock: ping (sorry, $client called just after my last ping)
fglock stevan: np 14:44
Arathorn bah
stevan fglock: re: Class::MOP, Moose, etc
foosroo KingDiamond: yes. See also Prelude.pm &eval
KindDiamond: and Pugs.Prim.Eval
Arathorn audreyt/nothingmuch/Juerd: can't work out how to <html:embed/> a flash player into a XUL <page/> like takahashi's 14:45
works fine in a <window/>, but not a <page/>
Arathorn goes to lunch, but won't guarantee anything :/
stevan fglock: I would suggest using Class::MOP, because it will handle class attributes for you (like p6 does)
fglock: Moose is nothing more than some sugar over the top of that 14:46
14:46 rjbs left
foosroo put the sugar on the Moose.. moose moose 14:46
stevan :)
fglock stevan: ok - that's for creating a Grammar class, which may end up being used by pugs
14:47 elmex_ joined
stevan fglock: Class::MOP is what you want then 14:47
fglock stevan: ok
stevan fglock: I can help you write it if you want,.. do you have any code-sketches? 14:48
14:49 diotalevi left
Arathorn gives up and just changes takahashi.xul to use <window/> :) 14:49
KingDiamond foosroo: on success, does Pugs::Internal::eval return a PerlSV?
stevan Class::MOP is fairly un-intrusive, it just *adds* to the p5 OO system, but doesnt' try and change it too much
ruoso wonders how to debug Data::Dumper autovivifications... 14:50
fglock stevan: I'm setting up a working dir at misc/pX/Common/Pugs-Compiler-Rule - the plan is to create Pugs::Runtime::Grammar (it's not there yet)
14:52 |mjk| joined
stevan fglock: ok, let me know when I can help, I should have some free time today 14:52
fglock stevan: if you could put a minimal example there, it would great, as I'm fixing up other files right now, in preparation to moving rules to OO 14:53
14:53 vel joined
stevan fglock: sure, any particular kind of example? 14:53
fglock lib/Pugs/Runtime/Grammar.pm - how about new, add_rule - I'm not familiar with Class::MOP yet 14:54
stevan fglock: ok 14:55
foosroo KingDiamond, PerlSV is a p5 thing :)
KingDiamond foosroo: yeah, figured :) 14:56
foosroo KingDiamond - it returns a Val
KingDiamond ah, thanks
fglock stevan: I've committed a ChangeLog file with some possible Grammar usage - check if it makes sense
stevan ok
rindolf OK, I have to restart KDE because I upgraded a few packages. 14:57
See you at the other side.
rgs he still thinks he'll be able to restart kde.
fglock stevan: re API: maybe Grammar->compile_rule( '.*' ) would call PCR->compile and add the rule to the grammar 14:58
stevan: rules are just methods - the problem is that you can have unnamed rules 14:59
stevan fglock: so you need unnamed methods? 15:00
fglock stevan: which will belong to an unnamed grammar, which inherits from the base grammar, I think
stevan fglock: ok, that will have to be built on top of Class::MOP, but it's simple enough
fglock: can you maybe sketch out the Grammer class in pseudo-p6? 15:01
class Grammar { has $.??; etc etc }
ingy audreyt++ # M-I-0.61
stevan no methods, just the attributes it would need, their default values maybe, etc etc
fglock stevan: maybe use a wrapper for unnamed rules: $rule = sub{ $nogrammar->norule(@_) }
stevan fglock: anon-classes are easy enough,.. and far less magical 15:02
foosroo how does curry-howard work with lists again? e.g. (a -> b) -> [a] -> [b] # map or filter etc.
stevan ingy++ # F-X-0.13a-25
foosroo how do you derive a from [a]?
15:03 rindolf joined
rindolf Hi all! 15:03
I'm back.
audreyt: here?
fglock stevan: a Grammar is just an empty Class - everything (rules) can be added later
nothingmuch foosroo: you mean the type info?
ingy stevan?
stevan ingy?
nothingmuch pets ingy
ingy what is F-X?
foosroo nothingmuch: i mean proofs-as-programs 15:04
stevan ingy: shhhh,... this is not a secure location
ingy omg sorry
nothingmuch oh
nothingmuch thinks
stevan drinks more coffee (I know i should stop, but but but.. it makes me feel funny)
foosroo alternate syntax: (a -> b) -> List a -> List b 15:05
nothingmuch basically the implementation of map proves that [a] -> [b] ?
stevan fglock: so the Pugs::Compiler::Rules needs to be able to create Grammars at runtime?
foosroo no, that given (a -> b) and [a], we can deduce [b]
nothingmuch that's what I meant =)
foosroo args are premises and -> is implication
the list type I don't grok 15:06
15:06 Nouk joined
foosroo oh wait, what's the type of [a] 15:06
svnbot6 r9588 | ruoso++ | now supports die... parameters checking in lrep.p6 working
fglock stevan: yes - it needs a place to store the rules it compiles, so that they can call each other
ruoso leaved the Data::Dumper->Dump there... it works this way, great... later I find out the problem...
foosroo @t (:)
nothingmuch learns about CH in wikipedia
stevan fglock: okay, I will hack out a base Grammar then
nothingmuch foosroo: #haskell 15:07
foosroo (:) :: a -> [a] -> [a]
doesn't help for these purposes
fglock stevan: nice!
foosroo nothingmuch: I'm sure they know.. but I kinda can't go there now
rindolf nothingmuch: what's CH? 15:08
nothingmuch Curry Howard
foosroo rindolf: Curry Howard isomprphism
rindolf foosroo, nothingmuch: I see.
15:11 pmichaud joined, nothingmuch joined
KingDiamond audreyt: there? 15:22
clkao audreyt: when do you arrive tokyo? 15:25
nothingmuch hmm 15:30
gaal: thanks
this curry howard stuff is helping me sort out some compilation issues in my head 15:31
foosroo any time. what for? :)
nothingmuch wikipedia++
foosroo ah yes
GabrielVieira fglock which SO u use?
foosroo not to mention I completely wrecked your prospective Compiler Writer Humiliation score
GabrielVieira *SO = OS :) 15:32
foosroo but when you figure out the higher-order type thing, please explain it to me. :)
anatoly hey gaal
foosroo hey toly
nothingmuch foosroo: okies =)
anatoly can prolly also do it, right? 15:33
foosroo anatoly: do you maybe understand that?
bsb hey pm.il-ers
anatoly do what?
foosroo heh.
yo bsb
bsb thanks for your great hospitality, all
foosroo anatoly: do you know Curry-Howard?
bsb lumi groks CH
foosroo summons lumi 15:34
svnbot6 r9589 | ruoso++ | $a = this(sub); working... one more line to lrep.p6
bsb If it wasn't such a lame, pomo thing to do, I'd quote myself, "Types are boring"
anatoly foosroo: yeah, but not necessarily well enough to explain :)
foosroo instead you are chic enough to ironically make a hypothetical suggestion about quoting yourlsef 15:35
bsb foosroo: remind me to print some stuff for the plane
foosroo anatoly: the Q is simple, how to derive a from [a]
i hope the answer isn't something trivial like [a] -> a is an axiom
nothingmuch hola bsb 15:36
bsb hi nothingmuch
GabrielVieira could someone tell me a great perl editor for win? 15:37
foosroo bsb: are dinner plans crystallyzing?
GabrielVieira: vim works on win
GabrielVieira foosroo tkz :) 15:38
anatoly gabrielvieira: google scite
foosroo: ... you're talking about howard-curry type inference in haskell.
rindolf audreyt: here? 15:39
anatoly foosroo: I don't know that stuff, I could wax poetic a bit on Curry-Howard as isomorphism between deductions and computations. Just a bit, not enough foundation there to apply this to Haskell. 15:40
bsb foosroo: dinner plans are still in solution
ruoso lunch 15:41
foosroo bsb: I got off the hook early and should be moving towards you soon 15:43
15:43 ruoso left
foosroo anatoly: the aspect of the isomorphism in question here is between logic and types 15:43
like, take any .hs function and :t it
read -> as implication 15:44
GabrielVieira anatoly tkz :) looks nice
foosroo the simple cases I understand.. but they're too simple
e.g. :t ($)
($) :: (a -> b) -> a -> b
which indeed obtains :)
anatoly foosroo: I don't understand what you don't understand.
foosroo anatoly: do you understand what I do understand in ($) ? 15:45
nothingmuch bsb: you guys are having a dinner?
foosroo nothingmuch: join us!
nothingmuch and you didn't invite me? assholes!
anatoly foosroo: are you saying you understand the meaning of notation (a->b) -> a -> b?
nothingmuch it's a possibility =)
where?
anatoly foosroo: or how this is obtained?
nothingmuch and when?
foosroo anatoly: I understand it as a tautology in logic 15:46
nothingmuch: TLV, tonight
bsb nothingmuch: early
foosroo anatoly: wanna also come?
anatoly: it's bsb's last night
nothingmuch bsb: define that more accurately please =)
i gotta arrange for a car
bus service is too flakey later in the evening 15:47
anatoly foosroo: 'd love to, but $work's keeping me late tonight, until 9pm probably
15:47 eric256 joined
rindolf nothingmuch: did you return Ran Eilam's book to him eventually? 15:47
foosroo I gotta moose. see you in ~47.338 minutes
&
bsb done by 9-9:30
nothingmuch rindolf: not yet =)
bsb: okies
where in TLV?
okay, suckage 15:49
i don't think i can make it
ride will be later
i'll ask my dad to pick me up from work
eric256 any of you geniuses know how to compute the start date of the current quarter in Oracle? 15:50
rindolf eric256: get the month. 15:51
eric256: divide it by 3, floor() it and multiply by 3.
nothingmuch rindolf: ?! 15:52
rindolf eric256: maybe you should subtract one beforehand.
eric256 stares at rindolf and begins scribbling on a peice of paper
stevan fglock: so should this be Pugs::Compiler::Grammer?
rindolf nothingmuch: I'm helping eric256.
nothingmuch rindolf: % 15:53
rindolf eric256: would a PostgreSQL expression that does that help you (/me doesn't have Oracle)
>
?
eric256 rindolf yea that might help 15:54
rindolf eric256: OK.
nothingmuch why not use mod? 15:55
month - ( month % 3 );
no need to involve deep floor magic
that has occasional edge cases
eric256 hehe oracle has a Q format that returns the quarter.. i just need to make that into a date, which should be (qtr-1) * 3 for the month.. thanks. /me was not going about this the right way 15:56
Arathorn gah 16:00
if i have to hear audrey recite earen^Wlarry was a mariner at 44.1/16 times speed again 16:01
Arathorn looks vaguely traumatised
eric256 perlbot nopaste 16:02
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "eric256" at 66.102.136.70 pasted "Date to Quarter Start Date" (7 lines, 149B) at sial.org/pbot/16337
Arathorn does anyone know how to invoke a javascript method at runtime?
16:03 cm left
Arathorn thought that var bar="methodname"; Foo[bar](args); would work 16:03
eric256 thansk rindolf .. thats what i came up with.. i've spent days trying to figure out how to generate a table of all the quarters etc.... and it was right there all along .lol
rindolf eric256: you're welcome.
eric256: does || concatenate strings in Oracle?
eric256 eya
PerlJam notes a dearth of perl6 talk on #perl6 this morning. 16:04
eric256 lol
rindolf PerlJam: yo!
PerlJam greetings
rindolf PerlJam: what's up? 16:05
PerlJam nothing much.
I'm sitting outside watching my son and his cousin trying to make baskets (in the basketball sense) 16:06
rindolf PerlJam: I see. 16:07
PerlJam: is it vacation in .us?
PerlJam Spring Break. 16:08
rindolf PerlJam: I see. 16:09
PerlJam: are you a university worker?
pmichaud heya, pj
rindolf Hi pmichaud
eric256 wants a spring break
rindolf eric256: where are you from? 16:10
eric256 colorado, US .....but no break for the working ;)
PerlJam hey pm
rindolf: yep.
eric256 does =begin DATA work yet?
i get a "no method in class Any &begin" error which is odd 16:11
PerlJam pm: Working on PGE today? Or just hanging out?
pmichaud pj: working on pge and p6 parser today
something broke pge so I'm trying to track that down
nothingmuch www.starfrit.com/upload/videos/Prod...hen/15.mpg 16:14
wow!
i never thought spray could change my life
but that woman's tone really convinced me
lumi Mu 16:15
List constructor [] is :: forall a. [] a 16:16
audreyt pmichaud: hi!
pmichaud greetings, audrey
audreyt pmichaud: result objects :)
PerlJam pm: any plans to make PGE more OOPy? 16:17
pmichaud audreyt: yes, I looked it over and I sent off a couple of questions about result objects to larry
eric256 misread that as poopy lol
TimToady saw it.
pmichaud hello, TimToady , glad to see you :-) 16:18
TimToady I'll answer it there.
audreyt which questions?
ooh cool :)
Arathorn audreyt: got your flash working :)
nothingmuch Arathorn: woot
Arathorn is just transcoding the audio to 44.1kHz/112
nothingmuch wanna see
Arathorn so it doesn't play at 4x speed (and pitch ;)
pmichaud audreyt: at any rate, I know I can get result objects into PGE, no sweat, I just had a couple of implementation questions and trying to understand where they're headed 16:19
audreyt Arathorn: ooh - but I got a new .mp3 :)
Arathorn ooh!
pmichaud audreyt: did my comments about {{...}} make sense?
rindolf audreyt: have you looked at my recent bug? I think it's pretty serious.
Arathorn did you record it at 11kHz, 22kHz or 44.1kHz sampling?
audreyt rindolf: no, not yet, sorry, a sec
Arathorn (either way, where is it?)
nothingmuch: the audio callback timing is accurate to about 200ms, which isn't ideal :\ 16:20
but on the plus side, it streams the mp3 from an external file, and the cuepoints work as you scrub & stuff
TimToady pmichaud: I'll go ahead and answer here since it was just on 6p.
pmichaud TimToady: excellent
TimToady You're basically spot on with the motivation.
nothingmuch Arathorn: consistently? or not consistently? 16:21
i.e. is it ±200ms?
TimToady Handiness of <(...)> with typing of {return...}
nothingmuch or a constant (per display) fudge that is within 200ms?
TimToady I'd say <(...)> doesn't take quantifiers.
Arathorn i think it's accurate to the mp3 frame length
nothingmuch ah, that makes sense
Arathorn not ideal, but hopefully good enough
nothingmuch remembers his MP3 days 16:22
fglock back
nothingmuch MPEG::Audo::Frame was my very first module =)
Arathorn :)
nothingmuch so, can we see XUL translated to SWF? 16:23
Arathorn sure - although I need the new audio
TimToady In fact, I think <( and )> are just special tokens, and maybe you could even have one without the other (syntactically, but maybe it's better social policy to require both).
Arathorn or alternatively i'll just transcode that which i have atm
pmichaud just a sec -- on phone
TimToady np
audreyt TimToady: <( means "reset .from ehre" and )> means "reset .to here" ? 16:24
pmichaud audreyt: that's how I've interpreted it...
audreyt rule { foo <( [ bar <( baz ]? } 16:25
nothingmuch oh wow! pmichaud! it's been a long while since you've been here
nothingmuch didn't notice
TimToady It means "I'm not using the {return...} mechanism, and instead I just want to return the string that starts at <( and ends at )> assuming everything else matches.
so pre-<( functions as lookbehind (but scanned forward), while post-)> functions as lookahead. 16:26
stevan fglock: ping
fglock stevan: pong 16:27
audreyt stevan: I want a Pony^WMoose
TimToady so, basically, yes, if .from and .to are the default result match methods.
stevan audreyt: I will try to do a Moose pre-release today
audreyt: I can give you a sneak peek if you want
audreyt I'd much rather you release :) 16:28
stevan audreyt: ok
audreyt call it 0.00_01, whatever :)
stevan 0.01 + CAVEATS is fine with me
audreyt k
pasteling "stevan" at 67.186.136.119 pasted "rough Grammer sketch" (15 lines, 396B) at sial.org/pbot/16338
stevan fglock: is this what you are thinking
audreyt stevan: Grammar here is working thru MOP? 16:29
stevan audreyt: it is delgating through Class::MOP mostly, yes
audreyt cool!
stevan not working yet,.. just example code
but shouldnt take too long
fglock stevan: grammar or grammer? (looking) 16:30
pmichaud okay, back from phone call (sorry about taht)
stevan was never very good at spelling :)
pmichaud hiya, nothingmuch -- good to be back again
stevan fglock: nothing is checked in yet
TimToady but we do have decide whether to impose a balancing constraint for sanity.
pmichaud TimToady: I'm not sure why <( ... )> needs to resort to a separate "result object".
it's no problem to do so, but it "feels" wrong somehow 16:31
audreyt I'd say they are orthogonal concepts
ingy TimToady: got time for a S26 question?
16:31 justatheory joined
pmichaud yes, I was thinking they're orthogonal as well 16:31
stevan ponders the phrase "impose a balancing constraint for sanity"
PerlJam stevan: Just think of grammar as a pirate word. GramAAAARRRRR ;-)
audreyt result object defaults to look at .from/.to if not set
pmichaud audreyt: exactly
ingy ELK!
fglock stevan: it looks right to me!
TimToady that's fine by me.
stevan PerlJam: my brain hears ER, and my fingers comply,.. 16:32
fglock: okay I will hack something together
pmichaud so, I'm wondering if S05 refers to result objects for <( ... )> because it's conceptually simpler for others to read, or ...? Because I found it a bit confusing
stevan fglock: what to do i need to install to make P::C::Rule work?
audreyt thinks it's confusing as well :)
pmichaud also, S05 seems to run into problems with the word "result" in other sections of the document :-)
TimToady we can clean that up.
pmichaud okay
as long as I have the concept okay then I think we're okay 16:33
let me see if I can rephrase it how I see it
16:33 kisu joined
pmichaud the <( ... )> sets the starts and end of the returned match object 16:33
thus / foo <( \d+ )> bar / results in a match object, but the start and end of the match object is around the digits
fglock stevan: you can install from CPAN or ~/perl5 - the version in pX is broken, until the OO transition is finished - just use the normal Makefile.PL 16:34
pmichaud A return statement in a closure sets a special result value for the match object; the match object then uses the result object for a variety of operations/coercions
stevan fglock: it is complaining about a missing v6.pm
TimToady I remember that part of the motivation for calling that "result" is the correspondence between the parens in <(...)> and $/(). 16:35
fglock stevan: it should stop complaining after 'make'
stevan ok
fglock: wow! it's magic !!!! 16:36
:P
I am writing some basic tests too,..
pmichaud Hmmm, is that sort of correspondence really useful?
audreyt ergonomitcally, yeah :)
TimToady Mnemonically, perhaps. Also:
foo <( \d+ )> bar { return $() + 1 } / 16:37
pmichaud wouldn't someone just be able to do / foo <( \d+ )> bar { return $/ + 1 } / ?
TimToady syntax error. 16:38
fglock stevan: re magic: it is - see audreyt latest blogs :)
TimToady maybe
audreyt stevan: they are Perl5 Magick Cookies :)
stevan happily eats the magic cookies
audreyt pmichaud: actually I think the orthogonality saves us here
stevan is feeling a little funny
audreyt pmichaud: the <( and )> sets .from and .to
TimToady but whether or not, $/ inside /.../ is visually confusing.
audreyt the "return $/+1" evaluates that 16:39
returns a Int
shuffle them inside the "result" slot in the match obj
s/them/it/
and signal a match success
pmichaud audreyt: yeah, that part makes sense
I guess I'm wondering if there's any real difference between $/ and $/() when <( ... )> is used
PerlJam I didn't have a problem with $/ inside /.../ in pmichaud's example just now (FWIW)
audreyt stevan: your fortune is now magick as well
gaal rehi
audreyt pmichaud: the idea is that +$/ and ~$/ dispatch to $() 16:40
(which is sugar for $/())
pmichaud: so no matter whether <( )> is used or not
TimToady I'd just like people to be able to match <(...)> consistently with $(). Otherwise we're falling back into the \1 vs $1 backref trap kind of thing.
audreyt $/ and $() would be different only on boolean, arrayderef, hashderef, and method calls
for string, numeric, and other coertion contexts, they are identical because $/ dispatches to $() 16:41
PerlJam TimToady: seems like you just answered yourself wrt requiring balanced <( )>
TimToady hmm, well, we also have to think through what <(...)> means matching array elements...
audreyt TimToady: what's wrong with the "<( sets .from, )> sets .to" concept? 16:42
pmichaud audrey: if $/ and $() are different only on boolean, arrayderef, hashderef, and method calls, they seem pretty close to the same for me (well, I guess not for method calls)
TimToady Hey, there you go, if you say /<(/ you have to say $( and if you say /)>/ you have to say $)... :P
pmichaud match objects were already "special" in this sense to begin with
audreyt pmichaud: p6 is mostly method calls :)
pmichaud or, more to the point $/ was already "special" in this sense to begin with 16:43
audreyt pmichaud: but indeed, this is mostly generalizing the ~$/ == +$/ idea
TimToady yes--it's just the "return" that refines what the Item in the match object is.
Arathorn audreyt/nothingmuch: going to have horrible problems with image preloading
audreyt if they are the same coercion for something, then we call that something the $(), and allows people to change it
pmichaud audreyt: yes, I do like the ~$/ == +$/ aspect 16:44
16:44 chris2 joined
fglock stevan: in 'my $grammar = Pugs::Compiler::Grammar->new('Foo');' - is 'Foo' optional? (can it create an unnamed class?) 16:44
audreyt or rather, override the default way of calculating it (which is by substr'ing the input with .from and .to)
stevan fglock: yes
fglock s/create/use/
TimToady right, but I'd still like to use $() within the return expression.
audreyt that's fine, as it forces calculation. 16:45
but it can still be rebound by the user code, for sure
TimToady I'm beginning to really hate $/ inside /.../
xerox ``chromatic says: My productivity increased when Autrijus told me about Haskell's trace function. He called it a refreshing desert in the oasis of referential transparency.'' *laugh*
TimToady but it's probably just my Perl 5 neurons freaking...
pmichaud okay, so what we have is: <( ... )> doesn't quantify (thankfully) 16:46
Arathorn audreyt/nothingmuch: arasphere.net/perl6/takahashi/mariner.xul
TimToady I think we've decided that <( and )> are actually two separable tokens. 16:47
Arathorn i only did the first minute of timing or so as a proof of concept
audreyt TimToady: you can call it $() most of the time :D
Arathorn (that's hosted off my home DSL connection, which has only 2M/s upstream, so be gentle ;)
audreyt (and $0 / $<x> on all other times)
pmichaud okay, having <( and )> separate tokens works for me
TimToady yes / \d+ { return $() + 1 } /
And as a first approximation we teach people that $() just means $&. 16:48
but without the "slowing down everything else" caveat.
audreyt why are we calling $/ $/ then 16:49
why not $?MATCH :)
(as it's now sugared away)
pmichaud audreyt: I've been wondering the same t hing -- why do we need $/ ?
Arathorn (it requires Flash 7 player - if you give focus to the flash media widget thing and start hitting 'p', it'll dump out to firefox's stdout chunks of XML which describe the cue points).
TimToady $?MATCH should be a compile-time constant. It's bogus the same way $?SELF is.
pmichaud a convenient de-sugared form of $(), $0, $<xyz>, etc?
audreyt its only context now is the boolean context, and for that we always encourage people to use it inside if() anyway 16:50
pmichaud I think we need a way to reference the result of the last match without constraining it down to one of its closure, boolean, arrayref, hashref, etc. forms
and that's what $/ does 16:51
TimToady $/ is the Match object, so it still is meaningful in any object context not otherwise specified.
agreed
pmichaud yeah, what TimToady said more concisely than I
audreyt oh, we need that. it's just that $?MATCH may describe it better :)
pmichaud s/I/me/
audreyt (but it's a minor point (and involves $?SELF) so I'd not argue :)) 16:52
pmichaud I'll leave it to you folks to decide what to call it :-)
PerlJam audreyt: wouldn't that be $*MATCH?
audreyt PerlJam: no, it's in the current lexscope.
TimToady: in my mind the ? twigil means lexically-scoped magickal.
not compile-time-constant.
it isn't a constant in &?SUB 16:53
and as you pointed out, isn't in $?SELF
so I think the constant connotation is already lost anyway :)
pmichaud audreyt: are you blocking on <( ... )> support in PGE for anything?
or, for that matter, what's blocking on PGE?
audreyt pmichaud: nope. I need return, not <( )>
pmichaud: search.cpan.org/src/FGLOCK/Pugs-Com...le/Rule.pm 16:54
pmichaud: note the "return" and "$()" there
pmichaud okay, but that's really going to be more for the perl6 engine to handle than PGE
TimToady so basically $?foo is a non-parameter $^foo...hmm...one could make them self-declaring.
but that's perhaps where we require the compiler to know the word.
pmichaud What I'll have to do is to have PGE see if a called closure returns a result, and if so to use that as the result object in the match 16:55
audreyt pmichaud: right. from PGE, it's just that a Match obj need to have one more slot
$:result
and a way to bind that result
using .return() or RETURN() or something.
also, __get_string dispatch there if it's not_null 16:56
16:56 FurnaceBoy joined
TimToady $!result ? 16:56
audreyt same for __get_integer and __get_number
TimToady or are you talkin' dirty?
audreyt TimToady: right, PGE havn't retwigiled the internals
pmichaud yes, I need to do that as well. I think I'll re-twigil things while I'm at it
PGE is still working from the earlier twigil definitions
audreyt pmichaud: btw, chromatic said you have a more updated perl6-parsing grammar locally... is that true? 16:57
TimToady let me know if there's any other way I can jerk you around. :-)
pmichaud audreyt: I was expecting to have it ready last week, but it's not quite there yet
I'm still tweaking operator precedence parser stuff
fglock audreyt: where does the base grammar go - Pugs::Runtime::Grammar::Base ? (this is where <ws> is defined) 16:58
audreyt pmichaud: ok... because fglock et al are working on the same thing
pmichaud I got my other tasks off my plate (thus I can reasonably hang out on irc again), and I'm really focused on trying to get my perl6-parsing grammar together
audreyt: yes, I've been watching the updates :-)
I want to finish up my version a little bit further, release it, and then we can see where/if it makes sense to combine them 16:59
audreyt pmichaud: cool! a commit bit is on your way
pmichaud thanks 17:00
fglock pmichaud: working together++
pmichaud fglock: I agree 17:01
TimToady yay
audreyt yay indeed :)
fglock: Pugs::Runtime::Grammar::Base sounds good, as it keys with the default-inheritance image
PerlJam So ... when will we see a production perl6 compiler? ;-) 17:02
TimToady by christmas
PerlJam heh
pmichaud I'm sure my version will have some differences, but none of them will be intended as "mine is better than others" -- it's just the way I put it together. We can then jointly work out improvements from there
eric256 he didn't mention christmas of what year though ;) 17:03
fglock pmichaud: we have an experimental grammar that can compiles itself - in misc/pX/Common/lrep
pmichaud fglock: yes, I noticed :-)
I really have been watching :-)
TimToady The limit of the number of christmases after Perl 6 comes out over the number of christmases before Perl 6 comes out goes to infinity. 17:04
pmichaud after perl 6 comes out, every day will be christmas :-)
PerlJam pmichaud: for who?
TimToady It just gets to infinity faster that way.
audreyt if what this sentences says is true, then today is christmas!
TimToady feels more like peeking. 17:05
audreyt # en.wikipedia.org/wiki/Curry's_Paradox
TimToady If Lewis Carrol were alive today, he would like that. 17:07
theorbtwo wonders if there's a reason for the "nearly" in "Natural languages nearly always contain all these features.", or if the author was just being cautious.
pmichaud some natural languages aren't ? 17:08
ingy TimToady: he would like being alive?
fglock audreyt: s/Pugs::Runtime::Grammar::Base/Pugs::Grammar::Base/ ?
audreyt theorbtwo: it's the wikipedian rhetoric
fglock: right.
TimToady nobody want to claim to be intimately familiar with 6000 human languages.
ingy If I were dead today, I would not like that.
pmichaud okay, back to see if I can figure out why PGE broke
TimToady: thanks for the quick confirmations 17:09
audreyt ingy: today is not yet over, better watch out :D
TimToady irc is great when it's not sucking
audreyt IRC hits you! -- More --
You lost five hours.
ingy TimToady: beware the ides of March
theorbtwo audreyt++
17:10 ruoso joined
svnbot6 r9590 | stevan++ | Pugs::Compiler::Grammer - first draft (P::C::Rules is breaking, so I cant test easily) + some basic tests in t/ 17:10
TimToady Isn't it already past the Ides of March where you are?
audreyt stevan: in-repo PCR is breaking?
ingy aye
I no longer need to worry
stevan audreyt: yup :)
TimToady so he can't be dead today...
audreyt horrors.
ingy :)
audreyt stevan: oh wait, you mean the pX one 17:11
stevan audreyt: yes
audreyt k
ingy TimToady: can I ask you that S26 question now :)
stevan audreyt: is there another one?
audreyt stevan: there's perl5/ one
stevan oh
:)
TimToady fire at will (rogers? he's safely dead)
stevan where should I have put Grammar?
audreyt well, ask fglock not me :)
TimToady roy too, for that matter. 17:12
stevan fglock: ping
ingy $*DOC will likely point to the Perldoc object for that class
TimToady what is "that class" 17:13
ingy I'm wondering what %*DOC would do if anything
well I'm not sure
my Perl 6 sux
what is the $Foo::DOC in p6?
eric256 if we can access pod directly from the program...can it write to it too? ;) writing your own DATA in the file could be fun
TimToady We were gonna give the = twigil to all of the doc object tree to play with. Not sure why you also want *. 17:14
ingy quick recap. what is = * and ?
TimToady if you want to get at the document object associated with some object, seems to me it'd be some method on the object.
rindolf audreyt: <nag /> on me pugsbug
TimToady $*foo is short for $GLOBAL::foo 17:15
17:15 cdpruden joined
ingy I think I want the PDOC object for a given class 17:15
TimToady $?foo I think of as (today) as a magical lexical whose name happens to be recognized by the compiler as not needing to be complained about.
and maybe the compiler gives it some special meaning. 17:16
ingy audreyt: where did you put S26?
theorbtwo I don't think it makes much sense for a class to have a doc object, only a file.
17:16 ghenry joined
TimToady $=foo means something fooish in the DOM. Haven't nailed down what the top level names mean though. 17:16
fglock stevan: pong 17:17
TimToady %=POD{foo} is one possibility for top-level POD, but maybe to unhuffmanly.
stevan fglock: did you want this in pX or perl5/?
PerlJam theorbtwo: I think it makes sense for a class to have a doc object.
fglock stevan: pX is ok - I'll move it back to perl5/ when it starts passing the tests 17:18
stevan ok
fglock: then you have a first draft then :)
PerlJam theorbtwo: Primarily because I want to be able to say "perldoc Foo" and see *all* of the methods available to the Foo object, including inherited and composed.
theorbtwo In that case, you need a well-specified, light way of adding documentation to individual methods (and suchlike thingies). 17:19
I'd love that, but it's not really the POD sort of model.
TimToady ingy: anyway, top-level names can be worked out between you and Damian. Since the current class is a lexically scoped name, maybe $?DOC could be short for $?CLASS.meta.fetch_doc() or some such. 17:20
theorbtwo (It is, of course, easy to do in a literal-programming-ish way, by just writing sub foo(...) is documented(<<<'BIG LONG STRING') ... BIG LONG STRING {...}
TimToady The Perl 6 pod model is to make the pod (and perhaps the comments) near a function accessible to that function easily.
theorbtwo ...but experince tells me that people are unlikely to use that.
ingy TimToady: ok thanks. I'll take it up with him. Sorry to ask a question when I don't know what the heck I'm really talking about yet. 17:21
theorbtwo But most people don't write their documentation near the thing it documents, for some strange reason.
TimToady np, some of us just fake it better than others. :)
to2: maybe we can fix that.
theorbtwo Well, a not so strange reason -- it gets in the way when what you want to see is the code and not the documentation.
PerlJam theorbtwo: It's because when you're programming, you want to read the code, not the documentation 17:22
right
pmichaud what we need is an editor that let's us easily hide the comments :-)
TimToady If there's consistent syntax then the editor can presumably hide it.
great minds...
PerlJam pmichaud: as long as that editor starts with "vi" we're good :-) 17:23
ingy I think proximity is somewhat orthoganal
pmichaud perljam: well, even vim would be able to handle it with syntax highlighting -- just have it change the color for comments to match the background color
ingy proximity just saves you from a name reference
pmichaud of course, then you'd be tempted to delete the "blank" lines :-)
TimToady when you have non-proximity, the document tends to get lost, and forgotten about, and never up-to-date.
integral vim has proper folding, pmichaud
TimToady that's the lesson of POD.
pmichaud integral: Well, now you know how much I use syntax highlighting (which is to say, not at all :-) 17:24
svnbot6 r9591 | stevan++ | Pugs::Compiler::Grammer - tweaking the way the rule/method is created
ingy TimToady: that might be do to poor tools though
17:24 kattana_ joined
stevan fglock: I have to do some $work, ping me if you need me, this should be enough to get you started :) 17:25
fglock stevan: thanks!
TimToady There's nothing that can't be fixed by another level of indirection except the problem of too many levels of indirection...
svnbot6 r9592 | fglock++ | PCR - added 'grammar' parameter in Rule::Compiler->compile
stevan fglock: no problemo :)
ingy I should be able to apply various filters to restructure my program without breaking the DOCument model
audreyt rindolf: ACK'ed the nag, but this is my final day at leo's, and I want to get all AbsPIR thing worked out first
rindolf: I'll get back to it.
audreyt is currently deep in the parrot metamodel (and noted even more brokeness) 17:26
ingy audreyt:
fglock stevan: "de nada" = portuguese
audreyt (but seems the container type can save us)
ingy where is S26??
TimToady I have to bbiab. &
eric256 ingy: if the pod is IN the function it is describing then such filters shouldn't break anything
theorbtwo BTW, I /would/ very much like interogatable documentation, don't let anything I'm saying confuse you as to that. 17:27
I just think a glance at CPAN will show you that people don't like putting their documentaion next to the code it documents in many cases. 17:28
Hm, I suppose there's nothing stopping you from writing sub foo, and then a very long way down in the code, writing &foo.docs = ...; 17:29
s/doc/s
17:29 pmurias joined
theorbtwo s/docs/doc/ 17:29
Anyway, I have to go. Later, TimToady, audreyt, all. 17:32
svnbot6 r9593 | fglock++ | PCR - renamed P::Compiler::Grammar -> P::Runtime::Grammar
r9593 | fglock++ | - created P::Grammar::Base
ruoso fglock, P::G::B is already the rules for perl 6 staments and terms? 17:33
fglock, or still just rules?
fglock ruoso: PGB is just <ws>, <space> - simple built in rules only 17:34
ruoso fglock, ok...
fglock, cause there is some statement grammars in lrep-compiler... 17:35
s/grammars/rules/
fglock, it may be usefull when implementing a more complete grammar
fglock ruoso: we'll have P:G:Base, P:G:Rule, P:G:Perl6... maybe P:G:P5Regex and others 17:37
ruoso fglock, I'm still aiming writing lrep.p6... and I'm extending a bit the grammar you wrote... 17:38
fglock ruoso: ok!
Arathorn audreyt: let me know if you get the chance to take a look at my ghastly xul/flash takahashi hybrid 17:45
17:45 hexmode joined
Arathorn trundles off to lunch 17:45
pmichaud lunchtime for me also -- bbiaw
svnbot6 r9594 | ruoso++ | sub lala { say "Hello World" }... already working... three more lines on lrep.p6 17:53
r9595 | ruoso++ | die usage(); working... 17:57
r9596 | fglock++ | PCR - some tests pass
fglock ruoso: cool!
svnbot6 r9597 | ruoso++ | return literal; was already working... 18:00
18:00 nothing_pasta joined
nothing_pasta FUCK! 18:00
18:00 elmex joined
nothing_pasta why is it that every time i upgrade fucking gentoo *SOMETHING* has to break 18:01
nothing_pasta is switching distros at his next oppertunity
now iptables is blocking all my output
gaal: ping
bsb: ping
gaal nothing_pasta: where are you?
nothing_pasta gaal: can't make it 18:02
dad's back hurts
gotta watch my sister
gaal too bad!
nothing_pasta unless i can get there at 21:30 or so
gaal no pasta for you honey
nothing_pasta but bsb said that's too late
gaal I think that's too late for mr brad here
nothing_pasta =(
can anyone help me?
i don't have NAT
i need to find out who did what to iptables on gentoo recently 18:03
and doing that with lynx will take me forever
gaal what do you need 18:05
?
nothing_pasta to unbreak my iptables 18:06
gaal be specific please :)
nothing_pasta i have no clue what's wrong
iptables -L looks OK
but when i turn it on i can't reach anywhere
Arathorn nothing_pasta: arasphere.net/perl6/takahashi/mariner.xul fwiw
nothing_pasta when I turn it off everything works
Arathorn focus on the flash widget and stab p and it'll chuck out timing XML fragments to gecko's stdout
nothing_pasta Arathorn: no internet
Arathorn ah, ok 18:07
gaal we're leaving in ten but if there's a particular doc I can relay to you...
Arathorn (if anyone is on a mac or *nix box with flash 7 player installed into their favourite mozilla variant, i'd be interested if that works)
18:11 nothing_pasta joined
nothing_pasta GREAT BIG WADS OF STUPIDITY 18:11
eric256 indexs a table and goes from 30 seconds to run a query to 2.6 ;) databases can be fun'
gaal nothing_pasta: I can get you that, sure, let me just mail nothingmuch < teh_internets 18:12
nothing_pasta gaal: please, i'm really not in the mood
my sister is driving me nuts
ruoso have another meeting... 18:13
nothing_pasta someone please find an example iptables NAT entry 18:14
SNAT --to-source
i think this entry is corrupted
gaal dinner & 18:15
nothing_pasta UTGHHHHHHHHHHHHEQW 18:16
now it broke my mutt too
*sigh*
this is absurd 18:17
kolibrie is afraid his NAT is mostly broken and only works while holding it with two hands to keep it balanced 18:19
18:20 nothing_pasta joined
svnbot6 r9598 | fglock++ | PCR - remove old (lrep) rule engine 18:21
audreyt stevan: ok, I understand the parrot metamodel now :)
Arathorn kolibrie: keeping track of all those connections by hand can get tedious
kolibrie Arathorn: if only I knew what I was doing, I could maybe fix it 18:22
svnbot6 r9599 | fglock++ | PCR - renamed Pugs/Runtime/Rule2 -> Pugs/Runtime/Rule 18:24
fglock audreyt: I'll rewrite the rule grammar in p5, as the lrep code is not compatible with PCR 18:30
audreyt fglock: sure! 18:32
fglock: but do remember to decompile it some day :)
eric256 lol. just did a complete rewrite of a query that used like 10 decodes into one that used two views and two subselects and it works twice as fast..../me loves oracle almost as much as pugs ;) 18:34
audreyt nice! 18:35
audreyt notes that sqlite views/subselects are quite rad as well
clkao i thought i was on #svk and this is about svk views
made me wondered a bit
:P
eric256 yea i'd always used mysql before which didn't have subselects until recently 18:36
audreyt *nod*
hm, sasada-san says he is not sure if I can pair-code with him, due to his nonfluency in spoken english 18:37
eric256 before now i'd never even written a query that didn't have a source table. lol just two subselects, much easier to read then a mess of decode functions to get a sort of cross-tab query
audreyt a 2005 quote of sasada: "Please ask Question in (1) Japanese, (2) Ruby, (3) C, or (4) Java. But I prefer not Java."
clkao you've learned so many languages, why not learn japanese as well :) 18:38
when are you arriving japan?
audreyt maybe he'll just learn perl6 and I ask questions in perl6 18:39
I'm thinking 27th
Arathorn did my flash takahashi abhorration work for any of the freebsd/mandriva/debian folks who tried it? 18:40
clkao ok. i need fun hacking
nothing_pasta does someone here have iptables? 18:41
Arathorn uses pf :/
stevan audreyt: so how scary is the Parrot mm? 18:42
audreyt stevan: they need a "super" op
and a tail-yield
stevan next-methopd
audreyt yup
stevan super is ambigious
audreyt .next() then 18:43
.next_method()
there is currently no compute_all_applicable_methods
need to use metaclass->get_mro->foreach(hack_iterate_ns)
but at least there is a get_mro
stevan yeah thats fine
audreyt the namespace doesn't distinguish between subs and methods 18:44
so we really need to use metaobject to keep method table
stevan audreyt: unless we can have a method which isa(sub) 18:45
audreyt stevan: prolly can't. 18:46
only Method things gets put in the .can table
and of them, the Submethods doesn't participate into children's MRO 18:47
kolibrie nothing_pasta: I do at home - but not accessible from here
stevan neither do plain subs too
audreyt sure
point is, the .can opcode in parrot is doing a simple hash-get on the namespace
if it's there it can d oit
stevan hmm 18:48
audreyt so the encoding is that we only put methods into the namespace
unadorned
stevan well I suppose that the metaclass can manage the namespace for us
assuming all class fiddling is desugared into meta-calls that should be fine 18:49
audreyt nod 18:50
rindolf nothing_pasta: can't you do an /etc/init.d/iptables stop ?
audreyt though it does mean that we need to invent ANON_* NSs for anon classes 18:51
stevan audreyt: why? for method dispatching?
nothing_pasta rindolf: please, no silly suggestions 18:52
i'm much more capable than that
audreyt no, because parrot's method tables all lives in namespaces
like in p5
rindolf nothing_pasta: did you try #linux, #debian, #gentoo, etc.? 18:53
nothing_pasta yes
stevan audreyt: ah,.. ok
nothing_pasta gentoo complained that i was not polite enough
linux, etc - no real point
it's a distribution issue
someone seriously messed up
and broke the behavior i was relying on
stevan I think that is reasonable, Class::MOP will have to do the same eventually too
nothing_pasta and now all I have to do (!) is to find out what that behavior actually was
clkao so is the v6.pm plan using the current perl5 backend? 18:54
audreyt clkao: no, an updated Moose backend
clkao where's that?
audreyt clkao: stevan claims if you sleep 86400;
then you get it in CPAN
(Moose.pm) 18:55
clkao mmmmm moose salami
stevan sweet moose
cause it's covered in sugar
audreyt stevan: also, parrot class slots are integers
(i.e. compile-time bound)
so we need an extra hash to hang runtime-added methods ikn 18:56
stevan class slots?
audreyt sorry, attr-slots
stevan ah
ok
18:57 fglock joined
clkao moose mousse... 18:57
quick - 2 weeks left for april 1st 18:58
18:58 arcady joined
clkao audreyt: find me a pugs task? i might be bored on the way to tokyo 18:58
eric256 FYI "nothing_pasta: rindolf: please, no silly suggestions" -- thats a good way to get no one to care to help you 18:59
clkao make =begin DATA work ;) or *hash = [ ]* captures in rules. ;) just my two little wishes 19:00
nothing_pasta eric256: =( 19:01
clkao something i can reuse my perl5 knowledge a bit, i guess :p
eric256 hehe ohh. ;) lunch, later 19:02
stevan wanders off to releng a Moose 19:04
they're big suckers,.. dangerous work :P
audreyt clkao: implement the Perl 6 calling convention with Data::Alias. 19:08
clkao: you can start with very simple sub ($x, $y) {...}
clkao: that's the core of the perl5 runtime's functional part
clkao: actually, it boils down to an infix "bind" 19:09
($x, $y, *@x) := ($a, $b, $c, $d)
clkao: you have the PIL1 "Param" type to play with 19:10
clkao: so it should be straightforward from there 19:11
if that works, we eliminate the O(N) method call overhead on perl5 method calls
and SVK can get instantly faster
Nicholas and I reviewed the D::A magic and it seems basically sane
19:13 szabgab joined
szabgab I have forgotten my password and rt.openfoundry.org/Foundry/Home/Gue...inder.html asks for my name too, that I probably have forgottent.... 19:14
can someone help me get back my password for [email@hidden.address] ?
audreyt sure...
done 19:16
(via /msg)
dinner. bbiab.
szabgab thanks 19:17
svnbot6 r9600 | szabgab++ | is rw is rw and is not copy 19:18
rindolf szabgab: hi 19:19
19:21 Cryptic_K joined
TimToady j 19:26
19:26 GeJ joined
TimToady er, s/j// 19:26
ingy audreyt: ping 19:31
audreyt ingy: pong
ingy whereis S26? 19:32
audreyt ingy: see README
19:32 weinig joined
ingy url? 19:32
audreyt it's in docs/Perl6/Spec/Documentation.pod
docs/AES/README
ingy: Perl6::Spec is going to supercede ::Bible
too many people look at E02 or sometihng
and mistake them as normative 19:33
so probably going to cut them out from the cpan dist
also it means we can split S12 out some day maybe
as it's not limited by camel chapters
ingy S26 was in progress this week 19:34
I wanted to hack on it with dconway
audreyt ingy: please commit to docs/Perl6/Spec/Documentation.pod
ingy that's why I put it in the repos
audreyt I just did a repo copy
it just changes the path, not the content
GabrielVieira fglock are u there?
audreyt ingy: also, I sent damian a commit bit, so he can commit there as well 19:35
ingy ok I see 19:36
same file
audreyt sure
ingy I thought you merged it with other docs
audreyt not at all 19:37
sorry for the confusion
ingy so damian knows the new url?
audreyt damian didn't have a commit bit
I just sent him one
ingy did you tell him the new url?
audreyt I did nt
(I didn't know he was working on the old url.)
ingy aye 19:38
fglock GabrielVieira: hi!
ingy I gave him the old url
he'll probably hit it around now
and find it mssing
audreyt I'll send him a mail.
GabrielVieira fglock could u help me with lrep? :) in private if possible
ingy thanks 19:39
19:39 rindolf joined
ingy wonders if dconway uses svn/svk 19:39
Arathorn discreetly waves his 'please tell me if the voiceover & synchronisation works on your mozilla of choice at arasphere.net/perl6/takahashi/mariner.xul' flag in the corner O:) 19:40
ingy one of my goals at YAPC is to try to bring damian up to speed on the new world order
audreyt Arathorn: I didn't succeed in getting it to run with fbsd's flash5 19:41
er, flash6
+mozfx1.5
szbalint heh Arathorn it just sig11-d my firefox :P 19:42
TimToady from across the room I was wondering what "sigiled my firefox" would mean... 19:43
GabrielVieira fglock wake up :D 19:44
Arathorn riight :/
it definitely requires flash 7 player, unfortunately 19:45
audreyt &firefox
Arathorn for the cueing to work
szbalint: what flash plugin are you using?
audreyt ok, switching to 7
Arathorn (about:plugins should reveal all)
ingy Arathorn: that xul file crashed my Mac 19:46
Arathorn hoorah :(
'tis a real shame if the *nix gecko build can't hack <embed/>ding flash in XUL, 'cos i think it works pretty well under win2k :/
ingy I hate you
Arathorn : (
ingy not really
Arathorn goes into a decline
ingy: what flash plugin & gecko version was that with? 19:47
ingy I don't know
Arathorn hum
Arathorn wonders if the problem is hiding the flash widget in the droppydowny toolbar
so much for randomly mixing & matching RIA technologies..
ingy hmm. mozilla talkback just filed a bug report for me 19:48
that was kinda kool
audreyt a bug report for ingy? 19:49
szbalint Arathorn: /me looks 19:50
audreyt oh, filed...for
szbalint Arathorn: Shockwave Flash 7.0 r25
Arathorn hum :/ 19:52
well, 7.0.6x is the most recent build, but i suspect that gecko's going to be the weak link 19:53
audreyt ooh, native support for JSON coming to syck
Arathorn i guess i'll have to debug it under *nix
audreyt no need for YAML::Syck hacks
Arathorn could anyone get it to work under non-windows?
audreyt fbsd gets a segfault. 19:54
audreyt reverts to flash6
Arathorn well, meh 19:55
apologies for the anticlimax
nothing_pasta woot! mooseness is spreading
audreyt Arathorn: thanks for trying
nothing_pasta someone on #catalyst just named himself a mooselester
audreyt . o O (SMIL)
nothing_pasta (a subtype of a moose f***er
Arathorn audreyt: gah
it's a shame, as it's really quite slick under windows 19:56
Arathorn rummages around for his debian desktop
audreyt mm, ambulant plays SMIL21
Arathorn hasn't checked SMIL in a few years, but it used to be pretty crippled 19:57
and certainly not interactive in the way that XUL (or flash, or combinations of the two) are 19:58
audreyt I hear SMIL2 is interactive in that way
Arathorn perhaps I should have just parsed the XUL markup into swf - especially given that flash has an HTML renderer built into it nowadays
Arathorn is out of the loop, then.
audreyt but is it gecko?
oh, you mean htmlize it
different box models makes that hard 19:59
you'll have to do it per-slide
Arathorn it's just a simple html textfield renderer - no box modelling
audreyt ahh. but you have autozoom aka takahashi?
Arathorn yeah, flash has always autozoomed
unless there's a special kind of takahashi autozooming i haven't found yet
but either way, this horrible hybrid should just work, anyway :P
nothing_pasta Arathorn: takahashi autozooming means: expand every slide to a given box 20:00
i.e. dynamically change the font size
audreyt yeah, seems like what flash does.
Arathorn oh, okay - you could do that in a oneliner in flash too, tho'
i guess faking the box model would be a bit tricky
audreyt maybe I should just use OOo Impress's Flash export ;)
Arathorn shudders
audreyt write XSLT to import XUL into OpenDocument 20:01
seems like Alias's domain
20:01 Ara5n joined
Ara5n pops up in debianland 20:01
audreyt hi Ara5n
Ara5n hia 20:02
Ara5n sets about segfaulting his geckos
audreyt hm, that means Aragorn's child woulbe Ara2n
fglock GabrielVieira: back
audreyt (or was that Ara1n)
Ara5n eldarion was aragorn's kid 20:03
audreyt I know. I was commenting on 5->3->2
Ara5n :)
audreyt (and because prime number stopped there, we don't know of any descendent of eldarion)
20:04 FurnaceBoy is now known as blubeuhoetubtohu
Ara5n the number series is more about crappy puns than primes, unfortunately 20:06
yay, i have a debugging moz tree on this box
Ara5n disappears into the void
20:06 Cryptic_K is now known as Quell
audreyt is impressed by the overall hacking prowess witnessed daily in #perl6 20:07
clkao: pugs-task-sanity-p? 20:08
GabrielVieira fglock :P 20:11
fglock can i talk private with u? 20:12
fglock GabrielVieira: ok 20:13
stevan nothing_pasta: Moose... it's the new Camel ":P
nothing_pasta nothing_pasta: we joked about that
that since in israel all the weird animals are named "camel of ..."
then in scandinavia camels must be named "desert moose" or something
audreyt pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | <stevan> Moose... it's the new Camel ":P 20:13
fglock stevan: the procedure for inheritance is: 'use metaclass; our @ISA = (...); ' ? 20:14
stevan fglock: no the metaclass pragma just install a .meta
fglock: just do what you would normally for inheritence 20:15
fglock: Class::MOP does not get in your way of doing normal p5 stuff 20:16
it only adds stuff
like .meta
and it will help you manage your attributes and create your instances, but only if you want it too
fglock stevan: so to make Pugs::Grammar::Base be a Grammar I just use (use base?) the module you started? 20:17
stevan yes pretty much
fglock stevan: I renamed it Pugs::Runtime::Grammar 20:18
stevan: ok!
stevan the .grammer is the meta-object though,.. so it lives in the meta level
oh wait
oop 20:19
s
fglock: I think I did something different than what you wanted
one sec.,.. $client called
fglock stevan: how about moving your implementation into Pugs::Grammar::Base - this may simplify things (all grammars inherit from it) 20:20
stevan I think that is not exactly how you should go about it
20:21 levengli joined 20:22 levengli left
Arathorn hm, the XUL works fine straight off on this firefox under debian: www.arasphere.net/perl6/mariner.jpg 20:22
audreyt purr :/
Arathorn and on a random build of moz 1.7.12
audreyt well then 20:23
Arathorn wonders if this is a 7.0.63 v. 7.0.25 problem
audreyt I'll boot to win32 tomorrow and try it out
Arathorn weird that nobody else has got it to work, though 20:24
Arathorn shrugs :(
gaal meow
GabrielVieira fglock :~) 20:26
stevan fglock: sorry,.. damn $client and their @needs 20:32
fglock: Grammar is a Class 20:33
which is a meta-level "thing"
fglock stevan: ok
stevan the Grammar::Base would be equivalent to Object
but I am not sure you actually need that
eric256 hates it when people send a simple email, then panic when its not done right away, when the original email didn't even look important. blah 20:34
stevan what I wrote will actually create the p5 package for you , and then add_rule will install a method into that package
fglock stevan: things I need:
anonymous classes, and C3 inheritance
stevan hmm 20:35
why C3?
fglock stevan: just for 'p6 compatibility' - not important now
stevan ok, cause C3 is tricky, it requires that we subvert perl's method dispatcher
which means AUTOLOAD, which means fragility and big performance drain 20:36
in other words,.. avoid it if we can
fglock stevan: np - performance is more important
stevan unless we can get putter or someone to hack p5 internals to add C3 support
fglock about rules - $rule is (in my vision) a method of an anonymous class that inherits from Grammar::Base - but I may be wrong :) 20:37
stevan what does Grammer::Base have?
in terms of methods, etc
fglock Grammar::Base have other rules: <ws>, <space> - things that are put in a grammar by default 20:38
stevan ok
audreyt rindolf: I got the bug.
?eval sub f ($j) { my $a = $j; { say $a } } f(2); f(3);
rindolf: if you remove the inner block it work
20:39 evalbot_9583 is now known as evalbot_9601
evalbot_9601 OUTPUT[2 2 ] bool::true 20:39
stevan fglock: I think I know what you want then
audreyt that's quite embarassing ;) will fix in a bit
fglock stevan: how about: $rule = sub{ $anon_grammar->rule( @_ ) } 20:40
stevan fglock: where is $anon_grammer?
fglock: which dir are you working in perl5/ or pX/? 20:41
fglock stevan: it can be lexical, or a package variable - it depends on how 'compile' was called, I think
stevan Rule->compile? 20:42
fglock stevan: pX
stevan: let's say you have $rule1 = PCR->compile(...); $rule2 = PCR->compile( ' <$rule1> ' ) 20:43
stevan: how does $rule2 knows in which place $rule1 is? (I think they need to share a grammar) 20:44
szabgab is there a replacement for Data::Dumper ?
stevan fglock: I would assume that $rule2 would know about $rule1 because they are in the same lexical scope 20:45
rule1 does not have a "name"
rindolf audreyt: hi
stevan I would think there is a difference between anon rules and named rules
fglock stevan: they are not in the same scope, because the compiler eval happens inside the PCR package
rindolf audreyt: thanks 20:46
stevan fglock: hmm, thats a problem maybe
fglock: how does rule2 know that rule1 is called $rule1?
fglock stevan: can PCR use caller() info to create a grammar in the caller scope?
stevan: dunno - by using PadWalker? 20:47
stevan fglock: yeah thats what I was thiking too
20:47 Maddingue joined
stevan then I am not sure you need a grammer so much 20:47
fglock stevan: or - $rule1 is installed in a hidden grammar in the same lexical scope than $rule2
stevan as you need to padwalk up your call chain to find a variable which matches
fglock: when is it installed? 20:48
$rule1 = PCR->compile() can't padwalk to find $rule1, it doesnt exist yet
LHS evaluates furst
s/u/i/
fglock stevan: the first PCR->compile would create the grammar
rindolf szabgab: $var.perl ?
stevan fglock: okay, so some kind of global grammer scope 20:49
but there is still the problem of finding the "name" of that first grammer
rindolf ?eval [5,6, {'hello' => "gabor"}, "shlomi"].perl
stevan s/grammer/rule/
evalbot_9601 "[5, 6, \{(\"hello\" => \"gabor\"),}, \"shlomi\"]"
stevan s/e/a/ foreach grammer
szabgab rindolf: thx
rindolf stevan: grammar not grammer 20:50
szabgab: you're welcome.
stevan grammOr
grammAAArrrr like PerlJam said
fglock stevan: maybe this needs some experimentation - the first rule don't need to know about anything - the second rule will lookup $rule1 at runtime...
rindolf gramøør
stevan gramøøse
rindolf elk
GabrielVieira fglock could u tell me which files i need to modify to get "print" function working in the lrep? :)
stevan fglock: so look in global grammer scope, if not found, do padwalking magic, if still not found die 20:52
fglock GabrielVieira: you need to have the "print" statement in the parser (this is to avoid a "syntax error")
stevan: and Grammar == Package, right?
stevan fglock: yes
fglock stevan: ok - I'll try that 20:53
stevan Pugs::Runtime::Grammer is the metaobject to manipulate a grammer with
instances of Pugs::Runtime::Grammer can be used to add rules (basically methods) to that Package 20:54
that instance of Pugs::Runtime::Grammer can be accessed by doing MyGrammer->grammer 20:55
assuming you created MyGrammar with Pugs::Runtime::Grammar->new('MyGrammar')
Arathorn meh
GabrielVieira fglock ive already modified Perl5.pm, Perl6.p6 and lrep.p6 where else? :) 20:56
fglock GabrielVieira: are you in Common/lrep-compiler ? 20:57
GabrielVieira yep 20:58
fglock GabrielVieira: you may have to add a perl5 representation in Emitter/Perl5.pm - you should actually ask ruoso for details :) 20:59
GabrielVieira hes gone ;~ 21:00
heheh
fglock there is a "sub node::_print {" there that ive modified
fglock GabrielVieira: that's the right place 21:03
GabrielVieira but stil didnt work 21:04
i'll be back, later.
:P
fglock GabrielVieira: see the old lrep at Common/lrep/p6compiler.pl for reference - print should work there (but it has a much dumber syntax)
21:04 levengli joined
GabrielVieira ok 21:04
when i get back 21:05
21:05 szabgab left
GabrielVieira cya 21:05
fglock GabielVieria: tchau!
GabrielVieira tchau :P
Arathorn is determined to get this takahashi working 21:06
audreyt admires Arathorn's persistence
21:10 szabgab joined 21:18 stevan_ joined 21:22 nothingmuch joined
pmurias what would be the best way to add an alternative frontend to lrep-compiler? 21:27
eric256 hammer and nails? 21:28
21:28 arcady joined
pmurias creating a Frontends directory or Grammar/Bar.p6? 21:32
fglock pmurias: what is a frontend? (user api?)
Arathorn right! 21:33
21:33 ghenry joined
Arathorn can anyone possible test arasphere.net/perl6/takahashi/mariner.xul and see if the voice over & synchronization works? (especially if it segfaulted your gecko last time 'round) 21:33
fglock Arathorn: sorry, no sound :( 21:34
Arathorn well, if it turns the pages at roughly the right time & doesn't segfault your browser, that's good enough for me ;)
Arathorn goes to find a mac to test on 21:35
pmurias fglock: sorry for any ambiguity, meant a language frontend 21:36
audreyt rindolf: fixed. checking in 21:39
audreyt needs to sleep soonish
6am plane tomorrow :/ 21:40
er, sorry, 6am wakeup tomorrow
fglock pmurias: lrep is not modular - but you can compile a grammar to p5 using it as an external program 21:41
audreyt: good night 21:42
audreyt rindolf++ # turning up interesting pugsbugs left and right
Arathorn pleads for people to sacrifice their mozillas on the altar of his flash/xul O:) 21:43
nothingmuch wonders how rindolf finds them
audreyt nothingmuch: by writing interesting perl6 programs, persumably 21:44
nothingmuch Arathorn: doesn't work for me
no slides change at all 21:45
if this works i'll use ti for all my slides
Arathorn nothingmuch: interesting
does the voicestream play back?
21:45 Cryptic_K joined 21:46 weinig is now known as weinig|away
Arathorn any errors in the javascript console 21:46
?
nothingmuch yes
iu'll check
Arathorn thanks :)
nothingmuch yes
plugin.SetWindow is not a function
Error: plugin.SetWindow is not a function
Source file: javascript: function jsScriptObject(obj) { this.wrappedJSObject = obj; } jsScriptObject.prototype = { evaluate : function(expression) { return new jsScriptObject(eval(expression)); } }; var plugin = document.embeds['takremote']; plugin.SetWindow(new jsScriptObject(window),1944427140);
eric256 Arathorn works here. but the sounds quality is pretty bad
nothingmuch Line: 1 21:47
pmurias fglock: is the modularity undesired? or can I add it if I write a frontend?
nothingmuch eric256: that's audreyt's fault ;-)
eric256 ohhh then nevermind, works good here WinXP Firfox 1.5.0.1 ;)
nothingmuch Arathorn++ 21:48
Arathorn hm, does that mean it started working?
nothingmuch no
eric256 lmao
nothingmuch it's for the effort and the style
Arathorn plugin.setWindow() is called by the depths of the flash plugin
what plugin version, gecko build & OS is this? 21:49
nothingmuch crapx0r
ff 1.5.0.
1
Arathorn what does about:plugins say for flash version(s)?
21:49 ruoso joined
Arathorn whee, found a mac 21:50
Arathorn tests it
nothingmuch Shockwave Flash
File name: Flash Player.plugin
Shockwave Flash 7.0 r24
Arathorn right - would you be able to upgrade that to 7.0 r63? (i think r24's pretty buggy :( ) 21:51
svnbot6 r9603 | audreyt++ | * lexical-array-in-inner-block.t passes; shlomi++ for
r9603 | audreyt++ | pointing out the immediate-executing code block
r9603 | audreyt++ | sub f ($x) { { say $x; } }
r9603 | audreyt++ | failed to capture the runtime environment.
nothingmuch oh, ok
fglock pmurias: re modularity: how about using Pugs::Compiler::Rule, which went to CPAN?
Arathorn hm, pageturning doesn't work on this mac (but at least it doesn't segfault) 21:52
svnbot6 r9604 | audreyt++ | * more parrot scribbling. 21:57
21:59 Muable joined
pmurias fglock: I'll try it tommorow, I badly need to go to sleep now 21:59
fglock pmurias: ok!
ruoso realizes rule engine must be optimized... a lot... taking almost 1 minute to compile Grammar::Perl6 22:01
fglock ruoso: I think it is backtracking - it seems to go fast first, and then slow down (it may be a problem with the grammar, but this is hard to track) - the backtracking control ':' should help with this 22:03
Arathorn woohah! got it working on the Mac 22:04
ingy: any chance you could check arasphere.net/perl6/takahashi/mariner.xul again to see if it melts your gecko? 22:05
szabgab how can I tel Pugs to forget a half command when it says ....>
s/tel/tell/ 22:06
eric256 szabgab ... what?
szabgab in interactive mode I type ? and press enter
ayrnieu szabgab - I hit C-d
szabgab sure, but I want to stay within pugs ... 22:07
C-d kills it
ayrnieu so do I.
I see. not here.
fglock &
szabgab good for you :-)
ruoso also realizes a refactoring in the rules is needed
like... code is made of statements 22:08
statements are made of expressions.
svnbot6 r9605 | fglock++ | PCR - removed lowercase namespaces
r9606 | ruoso++ | $input_file = IO::File.open($input_filename,<); now working...
ruoso code is also made of control structures
eric256 szabgab you are waiting for it to execute something but want to stop waiting?
integral C-d doesn't kill pugs for me :-)
Arathorn nothingmuch: fwiw, the slide timings are stored as arasphere.net/perl6/takahashi/mariner.xml and the mp3 likewise as a separate file
eric256 Arathorn does that file jump to that specific page? like you could have it go forward and backward etc.? 22:10
szabgab eric256: no, I made a typo and pressed enter already and it is waiting for some divine help
eric256 it doesn't hang on typos, thats why i'm confused
22:10 fglock left
szabgab e.g I typed ? and ENTER 22:11
Arathorn eric256: it should
if it doesn't, please tell me (although only the first 8 pages or so have been timed up)
eric256 szabgab just type anything and hit enter 22:13
szabgab eric256: hmm, this time it worked, thanks 22:14
eric256 anyone know what ? is suppose to do in interactive mode? i don't see it mentioned in the help
Arathorn (nothingmuch: i think i fixed the race condition that was causing your plugin.setWindow() to fail, if you refresh) 22:15
ayrnieu eric256 - szabgab just offered it as an example of where pugs would wait for complete example, I thought.
szabgab eric256: ah yes, that was an example, I was trying to get to the help, so where *is* the help ? 22:18
ayrnieu :h
eric256 except it doesn't realy. because if you do that in the middle of a string, then it prints the actualy '?' but also gives you another line to type on...its odd 22:19
ayrnieu ...
ruoso how is the syntax to read an entire file to a string? 22:22
do I still need to redefine line delimiter?
ayrnieu I believe so.
ruoso ayrnieu, but... which variable contains it? i couldn't find in the synopses... 22:23
szabgab $a = slurp "README"
ayrnieu ruoso - I don't know either :-) I'll look, but funnily: my $f = [~](=<$f>);
eric256 arg you beat me to it.... 22:24
rindolf audreyt: thanks for fixing my bug.
ruoso szabgab, could you point the synopsis? just to implement the rule as closer as I can to the spec...
nothingmuch Arathorn: it works now 22:25
with flash 8
eric256 ruoso feather.perl6.nl/~eric256/t_index/t...slurp.html
test file with passing status + link to E07
szabgab ruoso: slurp works, I am not sure in is in S* 22:26
ayrnieu ruoso - perl5's $/ is now $IN_FH.input_rec_seperator "...or some such"
by S28 22:27
ruoso eric256, hmmm... the Perl6::Slurp module accepts a filehandle... should slurp accepts also? 22:28
eric256 you officialy know as much about it as i do. i just found the test for it and worked back from there ;) 22:29
i google sear
ruoso :)
thaks
eric256 ch the S's though. hang on
szabgab can I execute a p6 file from within pugs ? 22:31
PerlJam If slurp isn't in a synopsis, it ought to be. (Just like File::Slurp should be part of the standard perl5 dist.)
szabgab should :l filename do it ?
Arathorn nothingmuch: cool :)
nothingmuch Arathorn: thanks, i will redo the darcs talk in takahashi plus audio
=)
Arathorn does it change page & stuff as you scrub the slider?
nothingmuch yes 22:32
Arathorn woo
in order to dump out timings, stab the 'p' key whilst the flash widget has focus
eric256 pop-meeting. later
Arathorn and it'll cough xml out to stdout
nothingmuch wow
!
Arathorn although you may have to config browser.dom.window.dump.enabled = true in about:config to see it 22:33
22:33 szabgab left
Arathorn hopes it'll work for enough people to be usable 22:34
nothingmuch Arathorn: i don't have that
Arathorn you have to add it
nothingmuch OSX and all
oh
Arathorn shouldn't matter
nothingmuch i hope it goes to Console
ayrnieu PerlJam - it is used in S17 and named in S29, but not documented.
Arathorn goes to wherever you run your firefox from
ayrnieu by Perl6-Bible-0.30
Arathorn (doubt it'll go to the console, although my osx-fu is crap) 22:35
nothingmuch Arathorn: apps in OSX have no STDOUT by default
Arathorn hm
nothingmuch but we'll see =)
Arathorn well, it worked fine for me running /Applications/Mozilla Firefox/lib/firefox or something from terminal
Arathorn shrugs
useful thing to have anyway, if you like seeing everyone's random javascript debugging output ;) 22:36
(and firefox's bleatings)
ruoso will consider slurp as in Perl6::Slurp... 22:37
nothingmuch Arathorn: works 22:39
gotta run it manually from the terminal though
which is OK
++
Arathorn :) 22:40
22:40 larsen joined 22:41 dolmen joined
svnbot6 r9607 | ruoso++ | $source = slurp $file; working...; two more lines to lrep.p6 22:44
22:45 stevan joined 22:46 blubeuhoetubtohu is now known as FB|afk
ayrnieu eric256 - www.perlmonks.org/?node_id=536981 22:49
svnbot6 r9608 | ruoso++ | commenting lrep.p6...
ayrnieu [<[1..2]>?\d] would match 29 :-) 22:50
eric256 being picky are we? lol 22:55
the sad part is i had a different regex, and then switched it when i read one of the replies 22:56
that would have been better.
22:56 Limbic_Region joined
ayrnieu why did you change it by that reply? 22:57
eric256 because it made it simpler, and i'm an idiot. lol 22:58
if closures where workingi could just have done \d**[1..2] { fail unless 0 < $() < 24 }
ayrnieu \d+ { fail unless $() =~ /[01][1-9]|2[0-4]/ } :-) /me realizing that his correction matches 00..24 23:00
also, ~~
(er, well, you know what I mean.) 23:01
eric256 why would you do that instead of just using that regex?
ayrnieu I wouldn't.
eric256 you just did
lol
ayrnieu no, I said something silly with a smiley on the end :-)
eric256 ahhh... smily got eaten by the regex...visual parse failed
23:02 FurnaceBoy_ joined
ruoso is near to parse lrep.p6 *with lrep.p6* 23:02
ayrnieu ruoso++ # craaazy
ruoso WORKED WORKED WORKED :) :) :) :) :) 23:04
Arathorn :D
ayrnieu :-) What happens now? 23:05
ruoso ayrnieu, lrep.p6 will emit lrep
then I throw away lrep.pl
and keep only lrep.p6
and the compiled version, of course 23:06
ayrnieu nods.
23:07 mlh joined
ruoso then is just a matter of keep working to rewrite the entire lrep-compiler tree in Perl 6 23:07
Arathorn it's aaalliiive :D 23:12
ruoso HAHAHAHAHAHAHA... I just re-created the compiled lrep with the compiled lrep... 23:14
and the files were absolutely equal 23:16
svnbot6 r9609 | ruoso++ | lrep.p6 compiles lrep.p6
TimToady ruoso++++++ 23:23
+++++++++++++++++++++++++ 23:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++
and everyone else who helped+++++++++++++ 23:25
meppl gute nacht
TimToady oyasuminasai!
clkao WHOOT
23:39 jisom joined
stevan audreyt nothingmuch: Møøse has been PAUSEd (pause.perl.org/incoming/Moose-0.01.tar.gz) 23:49
Limbic_Region . o O ( is it Christmas? ) 23:50
23:52 Maddingue joined 23:59 FurnaceBoy_ is now known as FurnaceBoy