pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | <stevan> Moose... it's the new Camel ":P | .pmc == PPI source filters!
Set by Alias_ on 16 March 2006.
00:07 pjcj_ joined 00:15 kane_ joined 00:25 pankaj_ joined
svnbot6 r9690 | fglock++ | pX/.../PCR - integrated changes that were in PCR-dev (Grammar::Rule transition to OO) 00:34
00:50 Kattana joined 01:20 hexmode joined 01:23 integral_ joined 01:55 Ara4n is now known as Aragon
Aragon um 01:55
01:55 Aragon is now known as Aragone
TimToady keep at it, pretty soon you'll get to Oregano. 01:58
jisom the kind you put in your pasta or the other kind? 01:59
02:12 _cnhackT_ joined 02:15 GabrielVieira joined 02:16 Toaster is now known as Ara4n
Ara4n TimToady: and beyond Oregano i'd find myself as Tarragon? ;) 02:17
02:38 guevolt joined
guevolt hi! i need a help! i put on my "/etc/environment" the variable: "PERL5LIB=${PERL5LIB}:/usr/local/censor/packages" . But when i try use my application through the browser i get this error: Can't locate setup.pm in @INC .... But when i try run the script from shell it work(i tried do it using the user www-data, apache user). What i do ? 02:38
02:40 nirgle joined 02:44 guevolt left
svnbot6 r9691 | fglock++ | pX/.../PCR - more backslashed chars 02:50
03:03 mako132_ joined
xinming anyone here have a mobile phone which is running linux please: 03:12
03:44 KingDiamond joined 03:59 whiteg joined 04:02 xinming joined 04:08 _cnhackT_ joined 04:18 justatheory joined 04:25 pankaj_ is now known as spo0nman 05:15 amnesiac joined 05:29 avar joined 05:30 Quell joined 05:54 justatheory joined
gaal we need more pugs hackers in hawaii 06:07
that way audrey can always go west on her tours, and not be jetlagged for ages when she gets home 06:08
spinclad even seattle/vancouver would help, though not as much 06:14
06:17 avar joined 06:21 penk joined 06:36 pen1 joined 06:38 nothingmuch joined 06:45 Quell joined
nothingmuch mĆøĆøse 06:49
merlyn mƶƶse 06:50
gaal caribou! 06:52
merlyn mĆ³Ć³se
06:53 iblechbot joined
gaal can't PAR::Dist be persuaded to, uh, par up a dist *with dependencies* and make me an executable? 06:53
06:53 penk joined
merlyn mƓƓse 06:53
gaal alternatively, can't pp be easily told to look in blib?
surely I am missing something
06:54 GeJ joined
merlyn mĆ²Ć³se 06:54
get the eyebrows right
gaal yeah, I got that look too
spo0nman X-( 06:55
gaal wait, did I just get my portrait done by merlyn? whee. :)
and with that happy thought, I must away to $work & 06:56
GeJ morning folks 06:57
07:02 avar joined 07:04 wilx joined 07:19 avar joined 07:33 drrho joined 08:17 FurnaceBoy left 08:19 nothingmuch joined 08:22 cm_ joined 08:33 handon joined 08:48 kane__ joined 08:56 pdcawley_ joined 09:36 handon joined 09:37 |cnhackT| joined 09:50 kanru joined 09:53 |cnhackT| joined 09:56 _cnhackT_ joined 10:03 _cnhackT_ joined 10:04 nnunley joined 10:19 integral joined, kanru joined 10:34 theorbtwo joined 10:42 elmex joined 10:53 marmic joined 11:02 miyagawa joined
meppl guten morgen 11:29
11:29 Ara5n joined
Ara5n tries to catch up on the current state of play on PCR 11:29
11:30 b_jonas joined 11:31 pjcj_ is now known as pjcj 11:59 miyagawa joined 12:03 iblechbot joined 12:11 nirgle left 12:13 pdcawley_ joined 12:20 miyagawa joined 12:25 ruoso joined 12:27 chris2 joined 12:54 fglock joined
fglock Ara5n: ping 12:59
ruoso: ping
ruoso fglock, pong 13:01
fglock, news? 13:04
fglock ruoso: PCR t/04-rule.t #15 is failing - it's a regex for matching not-newline - can you help? 13:05
svnbot6 r9692 | fglock++ | pX/../PCR - added more 'not implemented' messages 13:08
ruoso fglock, I'll take a look 13:10
line 106? is it? 13:11
13:13 Lorn__ joined
fglock ruoso: the error happens in Pugs::Runtime::Rule line 279 - you can add a print there 13:14
ruoso: it should match [^\n], but it is doing something different 13:15
ruoso looking 13:17
why is the AST so complex?
shouldn't it be really simple? 13:18
nothingmuch ruoso: is this a philosphical question?
ruoso it's just a single special character match...
nothingmuch ;-)
ruoso nothingmuch, the AST for '\N'
svnbot6 r9693 | fglock++ | pX/.../PCR - more unimplemented messages
nothingmuch ruoso: i know, i know... i was just kidding =) 13:19
ruoso nothingmuch, :)
Aragone fglock: pong 13:20
(sorry - was at lunch)
fglock ruoso: it maps to how the grammar was implemented
Aragone: are you trying to use/grok PCR? 13:21
Aragone grok, certainly
use; only in a test rig context at the moment
fglock Aragone: I cleaned up the code a bit yesterday
Aragone cool :) 13:22
fglock preparing to release 0.02
I'm adding error messages now
Aragone svn ups and will have a play this arvo 13:24
13:24 Limbic_Region joined
ruoso fglock, in line 280 you have 'qr(^($_[0])(.*)$)s;' 13:25
why is the ^ there?
as the \n is the first char 13:26
it won't match
fglock, shouldn't it try to match anywhere in the string? 13:27
fglock ruoso: I'm implementing \N - it should fail if the first char is \n
ruoso: the matching engine subrules always match at the start of the string 13:28
ruoso fglock, and only at the start? 13:29
fglock, well... it indeed failed the match...
fglock, something else is matching the x
fglock ruoso: it works in the command line :( 13:30
Ara5n fglock: this is probably a very stupid question, but: why does perl -I/usr/local/src/pugs/misc/pX/Common/Pugs-Compiler-Rule/lib/ -MPugs::Compiler::Rule -e '$r=Pugs::Compiler::Rule->compile("<word> <ws> <word>");' 13:32
13:32 cognominal joined
Ara5n fork a pugs, which then sits there doing nothing? 13:32
nothingmuch pug forking 13:33
13:33 Lorn__ is now known as Lorn_
ruoso fglock, the problem is in the AST 13:34
fglock Ara5n: it works here. btw, <word> is not a standard rule - you have to define it
ruoso fglock, not the match itself
nothingmuch resists googling for "pug f****r"
Ara5n perl -I/usr/local/src/pugs/misc/pX/Common/Pugs-Compiler-Rule/lib/ -MPugs::Compiler::Rule -e '' # hangs likewise, though
fglock ruoso: looking
ruoso fglock, in the first match it makes 2 tries
fglock, the first with the \n in the start... in the second try, the \n is not there anymore 13:35
Ara5n this is with a new pugs build - but with whatever gets installed in /usr/local/share/perl/5.8.7/Pugs having been removed in order to try to eliminate clashes between the development & production versions of PCR
Ara5n was only using <word> as he noticed it defined in the grammar as a quick test 13:36
ruoso is still surprised by the fact that "nxyz" ~~ /N/ shouldn't match "x"
Juerd nothingmuch: Don't worry, pug-forker - did not match any documents.
ruoso fglock, to me, the match is correct...
Juerd ruoso: Why surprised? 13:37
nothingmuch Juerd: i'm more worried about the non geek slang version
fglock ruoso: you are right!
Juerd ruoso: \N is just [^\n]
nothingmuch: pug-fscker? :)
fglock ruoso: audreyt modified the user-side match - I forgot it
Juerd Oh, that's still geek :)
Did you mean: pig-fucker
nothingmuch haha 13:38
ruoso fglock, :)
Juerd FRSD Message Board - Does pugfucker kill threads?
We're not implementing threads with forks, right? ;)
fglock ruoso: only submatches match at the start
ruoso: I'll fix the test - thanks! 13:39
nothingmuch Juerd: no =) 13:40
svnbot6 r9695 | fglock++ | pX/.../PCR - fixed \N test - ruoso++ 13:42
ruoso fglock, I think the abort in a subrule is aborting the entire match 13:47
13:47 mako132 joined
ruoso fglock, I'm running lrep with -d:ptkdb 13:48
fglock, it's a pita
fglock ruoso: I can't debug functional programs with a debugger :(
ruoso: can you paste a small failing test?
ruoso I'll try to reproduce it in a test 13:49
the debugging I'm doing is in lrep
fglock ruoso: it's hard to debug what a 'return' is doing 13:53
svnbot6 r9696 | fglock++ | pX/../PCR - TODO update 13:57
ruoso fglock, I think I have a failing test 13:59
fglock, I'll commit it inside 04-rule.t 14:01
fglock ruoso: ok
ruoso done
fglock looking.. 14:03
svnbot6 r9697 | ruoso++ | new failing test
fglock ruoso: you reverted my \N fix 14:04
ruoso fglock, sorry
didn't notice in the diff
fglock fixing... 14:05
14:05 b_jonas left 14:06 Qiang joined
fglock ruoso: it's a grammar error - it is parsing as: a? [bg]? 14:07
ruoso fglock, noticed it now 14:08
fglock ruoso: I wonder if this is correct in p6, since you can now write /a? b g?/ 14:09
ruoso fglock, ok... this test produced another error, not the one I expected...
fglock, you're right, i think... 14:10
fglock, I don't know if the unnamed capture is needed in this case
fglock ruoso: I'll leave this test failing for now 14:15
ruoso: I think the actual behaviour will depend on the rule switches 14:26
lunch & 14:30
14:46 vel joined
ruoso how to get a removed file back to life in svn? 14:49
fglock, I found out the problem
fglock, is 'package Pugs::Runtime::Rule;' really necessary in the emitted code? 14:50
gugod ruoso: do a "svn cat" directly to repository on it's last revision number
theorbtwo ruoso: If you mean deleted locally, svn revert filename. 14:51
Don't know how to restore a file deleted on the repo.
ruoso gugod, and how can I know it's last version number?
gugod, svn log didn't help
gugod ruoso: how about do svn log to it's upper-level dir ? 14:52
svn log -v , rather
ruoso loves CVS even more... each second I use svn... 14:54
osfameron svn up to the file at a version where it existed 14:56
14:57 hcarty joined, hcarty left
ruoso recovered the file after eye-parsing on all changes in the directory 14:58
ruoso wonders if really there is not a way to see one file's log 14:59
ingy hola
seen audreyt
PerlJam ruoso: you can "svn merge" it back to life (complete with history to the point of deletion) 15:00
15:09 |mjk| joined, justatheory joined
ruoso fglock, I think I'm really near 15:27
fglock, I think it's just a matter of access to the capture variable
svnbot6 r9700 | ruoso++ | alright... still not working... but now it can match... the capture is wrong... not emitting code... 15:34
r9701 | ruoso++ | updating TODO 15:43
15:47 kisu joined 16:07 KingDiamond joined 16:38 chris2 joined
Ara5n if anyone can suggest why running /usr/bin/perl -w -I/usr/local/src/pugs/misc/pX/Common/Pugs-Compiler-Rule/lib/ # would fork a: pugs -e my$Z= =$*IN;while 1{$_=perl eval eval=$*IN;print$Z;say$!//$_;print$Z;flush$*OUT} 16:40
and just sit there
i'd be very interested :)
perl -I/usr/local/src/pugs/misc/pX/Common/Pugs-Compiler-Rule/lib/ -MPugs::Compiler::Rule -e ''
even
16:41 FurnaceBoy joined 16:48 FurnaceBoy_ joined 16:51 TimToady joined 16:53 orafu joined 16:55 qu1j0t3 joined 17:09 FurnaceBoy_ joined 17:12 SamB joined 17:15 ruoso joined
ruoso fglock, ping 17:16
Ara5n, I don't even have pugs installed and it simply works... 17:18
Ara5n, are you sure it's related?
Ara5n, wait... it's devel version or cpan version? 17:19
Ara5n the devel.
Ara5n is very confused
Ara5n uninstalls pugs to see what happens
17:20 DesreveR joined
Ara5n or at least i would if pugs had a make uninstall 17:20
ruoso try this inside PCR dir: perl -Ilib/ -MPugs::Compiler::Rule -e 'print(Pugs::Compiler::Rule->compile('\n')->{perl5})'
Ara5n same 17:21
ruoso Ara5n, does make test works?
Ara5n, do a make clean && perl Makefile.pl && make test
Ara5n # Failed test 'escaped char \N' 17:22
otherwise okay
Ara5n svn updates
which changes the failure for that test slightly
however, the oneliner now works 17:23
Ara5n boggles
i wonder what changed...
Ara5n assumed that Module::Install was trying to use pugs to compile lib/Pugs/Grammar/Rule/Rule.pm to lib/Pugs/Grammar/Rule/Rule.pmc or something 17:24
but...
Limbic_Region wonders if anyone ever built a Win32 binary build for eric256
ruoso is still using .p6 for perl 6 sources and .pm for perl 5 sources 17:25
Ara5n sorry - i meant ./lib/Pugs/Runtime/Rule.p6 17:26
either way, i was wondering if somehow something was trying to invoke pugs to compile it to .pmc 17:27
because of the .pmc looking stale or similar
ruoso Ara5n, maybe the use v6-pugs; does it
Ara5n, BTW... fglock uses .pm for perl 6 and .pmc for perl 5... the file is Pugs/Runtime/Rule.pm 17:28
and the compiled is Pugs/Runtime/Rule.pmc
I still think it's confusing to have perl 5 and perl 6 syntax for .pm files 17:29
Ara5n ah, right. there's also Pugs/Runtime/Rule.pm which seems to be the same thing - but written in p5 17:30
how excitingly confusing :)
ruoso Ara5n, heh 17:31
in lrep-compiler subtree perl 6 is .p6 and perl 5 is .pm
svnbot6 r9702 | ruoso++ | better documenting of the failing test... ambiguous rule "a?bg?". "a?[bg]?" or "a? b g?"? 17:32
ruoso TimToady, /a?bg?/ should be the same as /a?[bg]?/ or /a? b g?/? 17:36
17:38 nothingmuch joined
Juerd I'd want it to mean [bg]?, but historical instincts scream NOOOOOOOO!!! 17:38
ruoso Juerd, [bg] is not alternation anymore... but unnamed capture... 17:39
it groups bg as a single entity
Juerd ruoso: I know.
Is it unnamed *capture*?
I thought it was *non-capturing* group!
ruoso Juerd, yes... that... :)
17:40 pmichaud joined
Juerd Pfew 17:40
*wipes sweat from forehead*
ruoso btw... PCR as it is today makes the first option
17:41 elmex joined
ruoso if we forget about perl 5 the first option is certainly better... 17:41
Juerd I'm not entirely sure 17:42
nothingmuch [ ] is the circumfix identity function ;-) 17:43
Juerd It would imply [] around space separated groups, which makes [] less useful to have :)
pmichaud is the discussion about quantifiers on literals in rules?
pmichaud came in late
ruoso hmmm... thinking better... if we think like this... it should be parsed as /[a?[bg]]?/ 17:44
17:44 qu1j0t3 joined
nothingmuch pmichaud: how do you think of quantifiers etc? 17:44
are they higher order rules?
pmichaud quantifiers are operators applied to the previous "expression"
17:44 ghenry joined
pmichaud so, I think of them as operators. In fact, PGE implements and parses them that way -- as postfix operators 17:44
ruoso Juerd, the second should be the correct...
nothingmuch what about captures? 17:45
are they a type of operator or a special construct?
pmichaud captures are operators
nothingmuch yummy
pmichaud (again, PGE implements them as operators)
nothingmuch operators are really just functions with weird names, right?
that accept a rule as a param?
pmichaud captures and groups in rules are in PGE as circumfix:( ) and circumfix:[ ] 17:46
nothingmuch yay yay hurray
nothingmuch was going to bring exactly that up in a second
can I define my own postfix:<mĆøĆøse> rule?
pmichaud a?bg? parses as [a?] b [g?] 17:47
avar multi sub postfix:<mĆøĆøse> () { ... } ?
pmichaud nothingmuch: I haven't worked out all of the details on that yet, but in PGE it should be possible to derive a new parser and add additional syntactical constructs
nothingmuch avar: not a perl sub, and extension to the rule DSL 17:48
wait
pmichaud the perl 6 rule parser is just an operator precedence parser, and all of the syntactical constructs are operators
nothingmuch is [ ] a rule?
i see 'a' as a rule that matches 'a' and it's a primitive
that is it must be implemented by the below layer
because you can't define it without the notion of strings
otoh + is a combinator
it takes any rule, and has some programatic hooks to match that rule 17:49
and try again if it backtracks
it's a "soft" thing
pmichaud PGE implements + as a combinator, that repeatedly attempts to match the expression it quantifies
nothingmuch that is, it can be implemented as 'method postfix:<+> ( $subrule ) { ..... }' 17:50
and it just happens to have a more efficient version that is hard coded in PGE
is that accurate?
pmichaud to some approximation, yes.
nothingmuch okay
so my question is: can we define e.g. 'method postfix:<mĆøĆøse> { }' that does something similar 17:51
pmichaud more accurately, in PGE the quantifier is a special node in the rule expression tree, and when one generates code for a quantifier it handles the looping, backtracking, and passing control to the thing it quantifies
nothingmuch like, err
17:51 fglock joined
nothingmuch match only fibbonaci numbers of repitiions? 17:51
okay
that could be refactored though
pmichaud so, in PGE (not worrying about p6 syntax at the moment), one could add a custom rule expression node type, with its own code gen function 17:52
nothingmuch ;-)
aye
do you know of my grand master plan for emission/ffi?
pmichaud one would add "postfix:<moose>" to the rule parser, and have it return an expression node of type "PGE::Exp::Moose"
nothingmuch ... and that could potentially be any parrot language
as long as you extend the reducer 17:53
okay
sounds good
pmichaud++
pmichaud parsing perl 6 rules became a lot simpler (and more powerful) when I added the generic operator precedence parser to PGE :-)
nothingmuch do you know of my grand master plan for emitting ASTs in Perl 6?
pmichaud nothingmuch: I only know bits and pieces of it; I've been focused on parrot things of late
nothingmuch the idea is more of a design thing 17:54
in that all the emitter backend is very generic
pmichaud is there a doc on it somewhere?
nothingmuch yes, but they suck
it's on my todo list ;-)
i have a talk though
the idea is that the emitter has the oppertunity to replace any code object it wants with a native type
svnbot6 r9703 | ruoso++ | "a?bg?" should be the same as "a? b g?"
nothingmuch or, for that matter, any AST node 17:55
so everything, from unboxed types to foreign functions to primitive ops is unified
which forces a cleanliness
that's basically it in 2 lines
but there are more specific ideas
soon I will have more time to braindump on fglock at all
pmichaud that sounds somewhat similar to what allison is trying to do with tge
ruoso fglock, ping! 17:56
nothingmuch allison should really lurk here... =/
Juerd What's tge?
nothingmuch it seems like instead of sharing ideas we duplicate them
Juerd nothingmuch: Leave that to audrey. She's done the impossible a few times already :)
nothingmuch Juerd: i know, i was there with Larry ;-)
Juerd (that being inviting to irc.)
nothingmuch i tried to convince him 2-3 times to join IRC
Juerd audreyt: *mark*
pmichaud it's the tree grammar engine... where PGE does pattern matching and processing of linear sequences of tokens, TGE is designed to do pattern matching, unification, and processing of tree structures 17:57
nothingmuch and he almost convinced *me* that it's wiser for him to not join
pmichaud: oh, jsut AG
Juerd nothingmuch: Hah; for what reasons?
nothingmuch but with some twists for dynamic languages
Juerd pmichaud: Oooooh! That's like... a dream.
nothingmuch Juerd: the archivability, his level of throughness, yadda yadda
it was more his rhethorics that convinced me, i gues
s
pmichaud Juerd: yes, last summer we quickly realized that we really wanted a language for processing tree structures (and attribute grammars) 17:58
nothingmuch pmichaud: could you try to pressure her to join #perl6?
i have tons of thoughts on exactly that
i thought the tree stuff was dead
since I haven't heard of it since around YAPC::NA
pmichaud not at all, it's been the "plan" since YAPC::NA
nothingmuch right =) 17:59
that's why she should join here
her ideas could really help fglock et all with pX right now
pmichaud I think allison's been pretty busy of late (she tends to stay pretty busy). But I'll see what I can do
nothingmuch err, lrep
throw some buzzwords related to effort duplication 18:00
and provide circumstantial evidence
=)
pmichaud we know we want to have a tree-transformation-engine available, I think we're struggling with finding a syntax that is "perlish" enough for what we're wanting to do
the stuff that allison is doing with punie is intended to explore the space a bit and figure out what we'd like it to look like
nothingmuch see
i didn't know that was punie's intent
i think most people didn't
we thought it was trying to test PGE, not TGE 18:01
pmichaud not at all, I'm pretty comfortable with PGE :-)
nothingmuch or at least this seems to be the general impression that most people get
from what I'vve seen
pmichaud PGE has plenty of tests and seems to work pretty well, although I'm ripping out the operator precedence parser today and updating it a bit
18:01 bernhard joined
nothingmuch pmichaud: does she hang out on #parrot? 18:02
or is this just from cabal stuff?
pmichaud nothingmuch: not frequently
nothingmuch: a lot of it was cabal, but the punie/tge development takes place publicly as part of the parrot svn
nothingmuch: there just hasn't been a lot of discussion on it either way, if only because it's so experimental and it takes a bit to work it out 18:03
although Coke on #parrot is currently working to implement APL on parrot based on PGE and TGE and Punie
nothingmuch i forgot 18:04
APL syntax is supported in Unicode, right?
pmichaud nothingmuch: yes, I believe so. I hope so, otherwise we won't get very far
:-)
nothingmuch well, he could always port J instead
pmichaud that's an excellent idea
nothingmuch that would be easier to type, but similar to implement at least on the data futzing level 18:05
lots of vectorizations and stuff
i know someone from the python user group here in Israel that is an APL guy
and he is interested in Perl stuf 18:06
f
i'll try to prod him into talking this over with Coke
pmichaud that would be excellent
nothingmuch because I suspect it will be useful to Perl 6
pmichaud absolutely.
nothingmuch he found replacements in Python for most of his APL loves
pmichaud anyway, I saw the pugs commit about a?bg? and thought I'd check in here to see if I could clear anything up. :-)
Juerd pmichaud: Do you and allison realise how much the world will be shaken by this? :) 18:07
nothingmuch Juerd: what is "this" ?
Juerd A generic language for processing trees.
18:07 FurnaceBoy_ joined
pmichaud Juerd: I'm certain I don't realize it, but I think that tree processing would be mighty cool. I think allison and @Larry have a better appreciation for it. 18:08
nothingmuch 's list of steal for tree stuff:
AGs as roles (i tried to write up something like that)
ruoso thinks it's simpler to have different languages talking to each other than to try to have a single language that understands everything...
nothingmuch XPath
making sure hyper operators are useful for this stuff 18:09
ruoso thinks in a P6SyntaxTree -> ParrotSyntaxTree converter
pmichaud ruoso: I agree entirely. Perl is probably an example of that :-)
Juerd ruoso: Count the number of minilanguages in Perl :)
nothingmuch Juerd: 2?
pmichaud perl 6 rules is one language, perl 6 is another, and we hopefully we can come up with a tree transformation language 18:10
ruoso Juerd, such a mini-language should be able to convert to some existing syntax tree... like perl 6 syntax tree
Juerd, after that, the standard translators will do the job
nothingmuch ruoso, pmichaud: nothingmuch.woobling.org/perl6_comp/
Juerd nothingmuch: Perl 5: regexes (with several minilanguages in them!), prototypes, formats, pod, meta comments, shebang, ... 18:11
nothingmuch my biggest point is that the Perl 6 system needs to deal with more than one kind of tree
prototypes?
Juerd In regexes: []-charsets
nothingmuch: ($$@)
nothingmuch oh, those
pmichaud nothingmuch: yes, I agree about dealing with more one kind of tree; that's my impression of what TGE is supposed to do
nothingmuch: thanks for the talk slides -- I'll look at them later today
nothingmuch ... that point continues:
pmichaud right now I need to get back to my parser
nothingmuch basically perl 5's biggest issue is that it splats the parse tree into an op tree, and is lossy in the process 18:12
ruoso nothingmuch, where should I click?
nothingmuch slides/start.html, i think
it's s5
that tends to piss firefox off
Juerd nothingmuch: That's not the *biggest* issue :)
nothingmuch Juerd: from an implementation standpoint i think it is
not in the language level
purely in perl(1) vs perl6(1) 18:13
18:13 GeJ joined
pmichaud the current plan (as I understand it) is: source --pge--> parsetree --tge--> abstract syntax tree --tge--> opcode syntax tree --tge--> parrot code 18:13
the second --tge--> step can target different backends
nothingmuch believes that ast should be two stage 18:14
Juerd Ooh, annotated arrows :)
nothingmuch one has language construct affinity, and the other has a sort of intermediate core language feel
pmichaud nothingmuch: It may turn out to be that way
PerlJam good afternoon #perl6 people
nothingmuch from messing around with blondie my biggest mistake was confusing the two
Juerd PerlJam: Hi.
nothingmuch hi PerlJam
pmichaud welcome, perljam
ruoso PerlJam, hi 18:15
PerlJam My timing looks good for interesting discussion :)
Although, this *is* #perl6 :)
Juerd PerlJam: Just admit you've been lurking all day... :)
pmichaud PerlJam: alas, I'm on my way out, I think -- I only have 40 minutes to work on the parser before I have to go look at a house
Juerd We should avoid this kind of metadiscussion, though, as metadiscussion often makes real discussion stall.
PerlJam cracks the whip over pmichaud's head
pmichaud I'll be back online later after the house inspection 18:16
PerlJam pmichaud: stop your IRCing and get to parsering. :)
nothingmuch ciao
Juerd Bye, pmichaud
PerlJam pm: why are you looking at a house?
pmichaud PerlJam: it's for paula's mom
nothingmuch it's been a while since i posted this:
nothingmuch.woobling.org/cute_moose.jpg
PerlJam pmichaud: She moving up there?
nothingmuch just to make sure everybody appreciates moose
Ara5n claws at his eyes
ruoso nothingmuch, is there a way to jump through the transitions inside each slide? 18:17
nothingmuch ruoso: sorry, it's ingy-themed regular spork
ruoso: i dunno
there's both start.html which is regular spork
and s5.html which is s5
which you may prefer
(i do)
PerlJam nothingmuch: I like slide #4 btw :-) 18:18
18:18 pmichaud left
nothingmuch =) 18:18
ingy elk
Limbic_Region nothingmuch - being from maine and having actually been close enough to touch one (on several occassions) - I haven't ever seen a moose quite that cute
nothingmuch Limbic_Region: =D 18:19
ruoso nothingmuch, oh... much better...
nothingmuch PerlJam: i think you're going to like slide 39 18:20
everybody does
;-)
PerlJam clicking my way there now.
Juerd url? 18:21
nothingmuch Juerd: scroll up a bit
Juerd ok 18:22
PerlJam nothingmuch: heh. 18:23
Juerd Just for the record: I dislike slides that have subslides. 18:25
(i.e. "continued" slides.)
PerlJam Juerd: I think that's just a S5ism.
nothingmuch Juerd: they could be takahashi instead
they're takahashi flattenned into spork
in terms of how it's presented the idea is the same
(audrey brainwashed me over the first 2 days of the conf)
(i wrote this the night before the talk, on the 3rd day)
i didn't have time to learn a technology, but the general principal is the same 18:26
PerlJam nothingmuch: I like slide #50 too
Juerd PerlJam: It's not the tool, it's the result that I dislike.
PerlJam: Many presentation programs can do this. Many presenters demand the feature. 18:27
nothingmuch PerlJam: i prefer 51
sorry
resolved 50
Juerd: oh
Juerd: use s5.html, instead of start.html 18:28
i don't like spork for exactly that reason
it's too jumpy and flickery and slow
18:28 rgs joined
nothingmuch hola rgs 18:28
rgs hi nothingmuch
PerlJam I wonder if anyone has thought of exporting TGE and the liketo other languages much the same way we've heard about how parrot will be a universal backend for other languages. 18:29
I guess there would be the same social problems in doing so though. 18:30
Juerd nothingmuch: ou
s/u$/k/
nothingmuch PerlJam: i think that question confuses the language with the impl
the *engine* to run TGE should be portable
the domain specific language is probably harder 18:31
PGE is mostly an engine
you could enjoy the wealth of PGE even with a different rule syntax
in another language 18:32
18:33 siosiosios joined
nothingmuch goes to melt his brain a bit 18:33
wrists started hurting yesterday, they haven't in a long wihle
i think i'm spending too much time typing lately
Juerd nothingmuch: Using dvorak yet? 18:34
PerlJam nothingmuch: develop that neural interface so that you don't have to type
Limbic_Region nothingmuch - wrists sounds like CT and not RSI - could likely be addressed with an ergonomic keyboard and proper hand positioning
Juerd Limbic_Region: RSI is one name for many things, including CT. 18:35
Also, there is no way to diagnose this properly without actual testing. 18:36
nothingmuch Juerd: no
Limbic_Region Juerd - well, I will just have to disagree with you due to nit picking semantics
nothingmuch Limbic_Region: i haven't been biking lately, that's all
not enough time
so my wrists have become weak
on the other hand i don't hiave enough time because i spend too much on the computer
Limbic_Region designed a wrist band with a vial of conducting fluid that would close a circuit if the inclination or declination of your writst was beyond the recommended levels - training you to type properly 18:37
Juerd nothingmuch: Dvorak, once you know it (and now might not be the right time to invest the time in learning) lets you type almost twice as much before the hurting starts.
Limbic_Region won 1st place in the science fair
nothingmuch Juerd: it's not normal... i can usually type for days on without hurting if i use proper posture
Juerd Limbic_Region: Isn't a splint easier?
Limbic_Region Juerd - you can get CT from little to no typing as it has very little to do with repetition - a necessity for RSI
nothingmuch the "price" of learning dvorak has always been too high
i start lagging behind with everything
so i give up "just for a few minutes"
and that becomes the rest of the day 18:38
Limbic_Region no Juerd - it doesn't train you to do it properly so you are always dependent on it
nothingmuch i can touch type dvorak very very slowly
Juerd Limbic_Region: That's very different from the many things I've read...
PerlJam I must not be typing enough, as I've never had any difiiculty (other than that caused by lack of brain power :-)
nothingmuch but now my muscles are kinda flabby
18:38 FurnaceBoy joined
Limbic_Region Juerd - carpal tunnel is called that because of the bones that are involved 18:38
Juerd nothingmuch: dvorak.nl, one hour per day, reasonable speed within 2 weeks or money back ;)
nothingmuch PerlJam: i normally don't either
well 18:39
i'll take back my money even if i succeed
you won't notice
but an hour a day is tough
right now
Juerd Yes
nothingmuch on the 12th of april i'll be unemployed though
that's going on the todo list ;-)
Juerd That's why I said that right now is probably not a good time to start learning something that requires extra typing while learning.
18:39 elmex joined
nothingmuch ooh, that doesn't bug me 18:40
Juerd Limbic_Region: Any url re your device?
nothingmuch i've been typing since 8 am today
with only a 30 minute lunch break
and as I said i'm out of shape
and it's starting to feel tired
not hurty
Limbic_Region Juerd - no, the internet wasn't exactly what it is now back in 92
Juerd Limbic_Region: I hoped you had pictures online
Limbic_Region Juerd - I still have the prototype (never attempted to market it) up in Maine
I will be there in June - perhaps I will post some pics 18:41
Juerd I'd like that
nothingmuch Juerd: what do i do on dvorak.nl?
Juerd nothingmuch: Start the course
Limbic_Region the problem is that learning to hold your hands right only helps prevent 1 kind of injury
nothingmuch oh
that's pretty well hidden
Juerd nothingmuch: It's a no-nonsense typing tutor based on lots of theory that I should some time explain somewhere. 18:42
Though you'll be able to figure out the theory from the results, I guess :)
Limbic_Region the gap of the carpal tunnel bones is cut off by bending your wrist too far one way or the other pinching stuff - getting inflamed and what not - it doesn't help the problems that result from just too much of something
nothingmuch hehe
i'll try
nothingmuch 's wrists are almost streight when typing 18:43
Limbic_Region 's pain with typing are on the top of his hands (opposite side of palm) and occassionally in the joints of his fingers 18:45
Limbic_Region checks out the course as well
nothingmuch Juerd: i think it's working out pretty well 18:47
(had to try)
18:48 KingDiamond joined
Limbic_Region is pretty amazed that he is typing homerow words without looking after only a few minutes 18:51
Juerd - do you find it difficult switching between qwerty/dvorak or do you just not bother? 18:53
18:54 qu1j0t3 joined
nothingmuch is at 88/200 18:54
with relatively low errors
nothingmuch was waiting for testes to show up ;-) 18:55
nothingmuch got the stay on home row stuff 18:58
but not the fingers
svnbot6 r9704 | ruoso++ | one more failing test to PCR... capture is not working as expected... 19:01
Limbic_Region I don't remember learning to type using the qwerty keyboard to be quite this easy and would have thought learning a new layout after qwerty would have been even more difficult
ruoso fglock, please take a look at this new test I added to PCR...
theorbtwo I think that's in part because most typing tutor programs I've seen suck. 19:06
For example, they don't let you backspace, much less go back.
Ara5n imo CTS (or RSI or whatever you like to call it) is a whole lot more with your back posture & sitting posture than wrist angle
nothingmuch Ara5n: that's true 19:07
you need to sit right for your wrists to be OK 19:08
elbows above desk is the most important thing for me
and i have a hard time with that at $job
the chair doesn't go up high enough
Limbic_Region just came across testes
obra Ara5n: are you a doctor?
obra gets twitchy when people give "opinions" about what causes RSI in others. 19:10
fglock back - ruoso: looking 19:11
ruoso obra, IANAD, but there are some common mistakes that are known to cause RSI
Limbic_Region statements WRT CT (not RSI) are after extensive research albeit 12+ years ago
obra ruoso: sure. listing off things that are known to cause issues is different than saying that wrist angle isn't a cause ;)
ruoso :) 19:12
Limbic_Region CT is specific to the wrists and specifically to a set of bones and so there are specific things that cause problems there - I do not pretend to understand about RSI and other parts of the body
though IANAD either
ruoso btw, wrist angle is one of the known mistakes...
19:13 nnunley joined, hcarty joined
Limbic_Region is confused as to why teenage boys don't develop some problems with RSI shortly after puberty 19:13
Limbic_Region ducks
ruoso Limbic_Region, heh 19:14
fglock ruoso, pmichaud - thanks! - fixing... 19:16
Juerd Limbic_Region: Hm, I did... :P 19:23
svnbot6 r9705 | fglock++ | pX/.../PCR - implemented \w,\W; fixed 1 test
nothingmuch gives his friend a ride
Juerd: good job
Juerd nothingmuch: Ehhhhh... 19:24
nothingmuch Juerd: i doubt you did because of what Limbic_Region was joking about
i mean, in the dvorak tutorial
not getting RSI or masturbating
Juerd "nothingmuch gives his friend a ride" in the context of masturbation is, eh, funny :)
nothingmuch does not ride his friends
;-)
Juerd Re "good job" - thank you 19:25
Re what I got RSI from... I did type much, much more than masturbate.
Like, all day. 19:26
fglock ruoso: $() in /some (text)/ is "some text"; $0() is "text"
but PCR $() is wrong
ruoso thought $() was the capture and $/ the match 19:27
Juerd And that's why %(*^&#^ is confusing: it's highly undescriptive. 19:28
fglock ruoso: the match is the object that contains the whole data structure; the capture is "everything in the string that was not rejected", unless you have a return block
ruoso fglock, hmmm... got it 19:29
Juerd, isn't it supposed to exist some aliases to these? or only with "use English" 19:30
fglock, so in (<subrule>), if the subrule returns a hashref, then $() contains "some",$hashref 19:31
s/\(\<s/some\(\<s/
or just $hashref? 19:32
fglock ruoso: $0 contains a hashref; $() contains the substring that was matched: "sometext"
ruoso: no - $0() contains a hashref 19:33
$0 contains a match object
ruoso fglock, so... if I capture (<@terms>) and each element of @terms returns something different what happens? 19:34
fglock ~$0 eq "text"; ref($0()) eq "Hash"; ?$0 == bool::true 19:35
ruoso: you get an array of different things
ruoso fglock, so I must use $0() to get the arrayref
right?
fglock $0() is an arrayref 19:36
ruoso: see Pugs::Runtime::Match.pm 19:37
ruoso thinks he understood...
svnbot6 r9706 | fglock++ | pX//PCR - more tests; $() may be broken - ruoso++ 19:44
fglock ruoso: fixed 19:50
matches are taking about 20% more time because of the a?bg? fix 19:52
svnbot6 r9707 | fglock++ | pX//PCR - fixed $()
ruoso fglock, $0() is written as $_[0][0]() at this moment... is it? 19:55
fglock ruoso: yes - I'm planning some king of Inheritance trick to let you redefine the closure parser - subclassing the emitter is an easy way, but it looks like rule defining a 'rxclosure:<{ }> { ... }' is more perl6ish - so I'm not sure how to do it yet 19:59
ruoso fglock, in a later stage, the closures needs to be parsed as regular perl 6 code 20:00
at least for lrep 20:01
fglock ruoso: currently, the rule AST contains the closure as an unparsed string - I'm not sure at what stage the closure should be parsed/emitted
ruoso it can be emitted at the same time the rule is emitted 20:02
fglock nothingmuch would know that
ruoso the rule AST should contain the closure as Perl 6 AST in lrep
then the emitted code will contain the closure already 20:03
fglock ruoso: if we had a Pugs::Compiler::Perl6 and Pugs::Emitter::Perl6::Perl5, it would be easier 20:04
ruoso fglock, that's what lrep is supposed to be 20:05
fglock ruoso: how about refactoring lrep into PCP6 :) 20:06
ruoso fglock, we need to make it work first :)
fglock, but besides that, it's just a rename
fglock, it's already modular
20:07 justatheory joined
ruoso Grammar::Perl6 and Emitter::Perl5 is what you mean 20:07
fglock ruoso: the lrep in PCR-dev.tar.gz can be used to migrate code to the new engine
ruoso fglock, I'm already migrating to the new engine
fglock, I'm near to finishing it 20:08
fglock, it's only missing the capture thing to be fixed in Perl6.pm
fglock Pugs::Grammar::Perl6, Pugs::Emitter::Perl6::Perl5 - the emitter gets the 'from' and 'to' languages
ruoso fglock, and the push @list, \&rule thing
fglock, I mean, Grammar::Perl6 and Emitter::Perl5 is the packages that already exists in lrep
fglock ok 20:09
svnbot6 r9708 | fglock++ | pX//PCR - added a test for \D (fail) 20:16
fglock another weird bug - \d works, \D doesn't 20:18
GeJ whereis audrey currently? back in .tw or in .jp? 20:20
did she went back to $work?
fglock heh - the test was wrong (again)
ruoso fglock, in /(<subrule1>)(<subrule2>)/ how can I match all the captures at once? 20:21
s/match/get/ 20:22
svnbot6 r9709 | fglock++ | pX//PCR - fixed the \D test
fglock ruoso: $/ (or $_[0] in p5) returns the whole match - @$/ is the array of unnamed captures 20:23
ruoso fglock, the same as $() in the old lrep/PCR... 20:24
fglock ruoso: @{$_[0]} or %{$_[0]} or $_[0]
20:26 kanru joined
ruoso fglock, as a hash to get the named captures? 20:27
fglock ruoso: yes 20:28
ruoso thinks he has the tools to finish the lrep pcr transition... 20:31
fglock ruoso: you asked if Pugs::Runtime::Rule was necessary in the emitted code - it implements backtracking, and variable lookups 20:39
ruoso trying to compile Perl6.p6 20:43
it matchs, but still didn't emit any code... 20:44
ruoso keeps working
20:45 integral is now known as ntgrl
ruoso $match->{capture} contains the whole source code, instead of the AST 20:47
it must be because the 'grammar' rule doesn't have a esplicit return
fglock ruoso: yes - that's the default capture 20:48
ruoso I'm getting smart :)
fglock :) 20:49
ruoso fglock, I need help writing the perl 5 code to the return block 20:50
fglock ok
ruoso fglock, please check Grammar/Perl6.pm in lrep-compiler 20:51
I recently committed
fglock, the 'grammar' rule should return the captures 20:52
svnbot6 r9710 | ruoso++ | near working...
20:52 hexmode joined
fglock you mean Perl6.p6? 20:53
20:53 whiteg joined
ruoso fglock, Perl6.pm is still hand-written... 20:53
fglock, as lrep is not working
fglock, and I know how Perl6.p6 should looks like 20:54
fglock, the problem is that I must write the equivalent Perl 5 code to be able to re-compile it
20:55 dduncan joined
fglock ruoso: the code is ok - but quantified captures are not implemented in Match.pm yet - the data is there, but the accessor was not written 20:56
ruoso fglock, but it still needs the return-magic on the 'grammar' rule
fglock, or else the capture won't contain the AST 20:57
fglock ruoso: you can use $$match to get the raw data 20:58
ruoso fglock, hmmm
fglock ruoso: or fix Match.pm :) 20:59
ruoso fglock, not a scalar
fglock, $$match didn't work 21:00
fglock ruoso: there is a problem - one sec.. 21:01
21:02 larsen joined
fglock ruoso: Perl6.pm uses unboxed matches - you need P:R:Match->new( $match ) to make a Match 21:06
to create a new rule method in PCR you use: *rule = Pugs::Compiler::Rule->compile( '((.).).' )->code; 21:07
21:07 FurnaceBoy joined
fglock the code() method does the trick 21:08
21:16 FurnaceBoy_ joined
fglock ruoso: maybe code() should be called get_method() 21:17
or as_method() 21:18
ruoso fglock, it makes sense 21:20
svnbot6 r9711 | fglock++ | pX//PCR - added \s, \S 21:25
21:29 qu1j0t3 joined
svnbot6 r9712 | fglock++ | pX//PCR - TODO, more 'not implemented' messages 21:32
r9711 | fglock++ | pX//PCR - added \s, \S
21:34 FurnaceBoy joined 21:43 hcarty left 21:49 FurnaceBoy left 21:53 Grrrr joined 22:16 pjcj joined 22:17 ruz joined 22:19 Limbic_Region joined 22:21 KingDiamond joined 22:22 stevan_ joined
ruoso fglock, ping 22:33
fglock ruoso: pong 22:35
ruoso fglock, the rules compiled by PCR are very similar to the one I'm trying to use 22:36
fglock, what did you mean by unboxed 22:37
fglock ruoso: see the PCR pod - you need a wrapper to make the rule behave as a p5 method
ruoso: see PCR->code() implementation - you can use that 22:38
22:40 ntgrl is now known as integral
fglock ruoso: I'll look for food 22:43
22:44 fglock left 22:50 nothingmuch joined 22:58 justatheory joined 22:59 siosiosios joined 23:01 justatheory joined 23:06 FurnaceBoy joined 23:07 jisom joined 23:20 ruoso left
nothingmuch seen liz? 23:34
Juerd I saw her two weeks ago, irl :) 23:37
nothingmuch Juerd: =) 23:41
doesn't really help me ;-)
nothingmuch keeps forgetting there's no seen bot
gugod: we want jabbot!
gugod: jabbot is dead, long live jabbot!
nothingmuch is happy... bug opened in RT, i closed it in 10 minutes
23:42 GabrielVieira joined
nothingmuch shit, it's almost 2 am again 23:43
*sigh* 23:44
nothingmuch will never learn
Juerd Same here 23:46