pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/
Set by Tene on 29 July 2008.
bbkr hi, i need to debug some grammar and print the captures value from token. but "token foo { someregex <{ say $1 }> }" syntax returns parse error on today's SVN rakudo. what am i doing wrong here? 00:11
[particle] bbkr: try using .panic. <{...}> isn't implemented in rakudo yet 00:43
bbkr how to use it? it compiles but doesn't print anything 00:47
S05 only describes "The new :panic modifier causes this regex and all invoked subrules to try to backtrack on any rules that would otherwise default to not backtracking" .... 00:49
i guess it's not what you mean?
some other method to print whole parsed tree would also be sufficient 00:51
[particle] <panic: "foo bar"> iirc 00:52
it'll end there, though 00:53
if you want to inspect your parse tree, you can pass --target=parse to perl6.pbc
seems from rereading your question, that is what you really want 00:54
errands &
bbkr something is wrong with today's SVN version (it ain't matching basic grammar). i switched to 0.71 release but there it says - "Unable to find regex 'panic'". i'll try this --target option 01:00
and what i really want to do is to write some *.ini to hash mapping just like in PERL5 Parse::RecDescent or Parse::Eyapp where some code can be executed on token match... looks like Rakudo is not mature enough yet :( 01:04
mberends bbkr: if today's Rakudo is broken for regex don't despair - regression testing will restore it soon. Have a read of the November wiki engine for some examples of Rakudo regex in action... 01:08
bbkr browsing it ATM:) 01:09
bbkr and i'm not despairing, just trying to do some studies project on P6 (i love to piss off C/Java professors with oneliners :P) 01:15
literal does Perl 6 have a nifty way to return a list of all permutations of another list? 01:43
TimToady literal: not built in, no 02:11
literal ok, so a port of Algorithm::Permute would be needed... 02:13
TimToady it would hopefully be much easier to write in Perl 6 :) 02:16
FireMinion Is there an easy way to find out what has been implemented so far for Rakudo without doing trial and error ? 02:37
TimToady look at the tests and see which of them have been "fudged" into todo 02:39
FireMinion Thank you 02:42
eternaleye literal: I think this will work in Pugs: my $string_length = 3; my @list = ( 1, 2, 3 ); say ( [X] (map {[@list]}, ^${string_length}) ).perl 03:36
pugs: my $string_length = 3; my @list = ( 1, 2, 3 ); say ( [X] (map {[@list]}, ^${string_length}) ).perl
p6eval pugs: OUTPUT[*** ␤ Unexpected "{"␤ expecting "::"␤ at /tmp/bPtvC8RiUY line 1, column 76␤]
eternaleye pugs: my $string_length = 3; my @list = ( 1, 2, 3 ); say ( [X] (map {[@list]}, ^$string_length) ).perl
p6eval pugs: OUTPUT[((1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 1, 1), (2, 1, 2), (2, 1, 3), (2, 2, 1), (2, 2, 2), (2, 2, 3), (2, 3, 1), (2, 3, 2), (2, 3, 3), (3, 1, 1), (3, 1, 2), (3, 1, 3), (3, 2, 1), (3, 2, 2), (3, 2, 3), (3, 3, 1), (3, ...
eternaleye There we go. 03:37
literal neat
eternaleye No Algorithm::Permute, just a oneliner :D
literal why does it return stuff like (2, 2, 2) ? 03:38
that's not a permutation of the set (1, 2, 3)
eternaleye Oh, that's what you wanted 03:39
eternaleye Mine was every possible array of length $string_length in which valid values are listed in @list 03:40
literal ah, that is indeed different
eternaleye Might /examples/algorithms/combinations.pl in the Pugs distribution do what you want? 03:46
literal it might, if I understood the code...
eternaleye I don't quite understand it either, but it might be. If only run.pugs.org was still up! 03:47
*run.pugscode.org 03:48
literal pugs: @list = (1, 2, 3); my @ans; for 1 .. 2**@list.elems-1-> $num { push @ans, [ @list[ (0 .. sqrt($num)).grep:{ $num +& (2**$_) } ] ]; @list.perl
p6eval pugs: OUTPUT[*** ␤ Unexpected " ="␤ expecting "::"␤ Variable "@list" requires predeclaration or explicit package name␤ at /tmp/RyTh3lFclT line 1, column 6␤]
literal pugs: my @list = (1, 2, 3); my @ans; for 1 .. 2**@list.elems-1-> $num { push @ans, [ @list[ (0 .. sqrt($num)).grep:{ $num +& (2**$_) } ] ]; @list.perl
p6eval pugs: OUTPUT[*** ␤ Unexpected end of input␤ expecting operator or "}"␤ at /tmp/LTK02TX9Bs line 2, column 1␤]
literal pugs: my @list = (1, 2, 3); my @ans; for 1 .. 2**@list.elems-1-> $num { push @ans, [ @list[ (0 .. sqrt($num)).grep:{ $num +& (2**$_) } ] ]; } @list.perl 03:49
p6eval pugs: RESULT["\\(1, 2, 3)"]
literal not quite
eternaleye www.perlmonks.org/?node_id=24270 has something that might be translatable into perl6 03:54
lambdabot Title: Permutations and combinations
eternaleye Nope, on running it, it seems that it does the same thing as mine except that the acceptable characters list for each position are passed in as a separate arrayref. I'll keep looking. 04:04
Doesn't look like there's anything specific to Perl 6 out there to permute a list. The examples in recipe 4.19 of the Perl [5] Cookbook shouldn't be too far from valid Perl 6, but there are probably ways to make a Perl 6 implementation more terse. (Perl 6 seems to be good at terseness - like the oneliner above that does nested loops) 04:19
literal perhaps check out Algorithm::Permute and try to make a Perl 6 one-liner out of it :P 04:28
meppl good night 05:16
wayland76 Rejoice, for the next Rakudo release is near! 06:06
(well, I read somewhere that it's on the 21st, anyway :) ).
wayland76 oops, s/near/nigh/ :) 06:06
literal rakudo has releases? 06:27
azawawi ping 07:01
pugs_svn r22661 | azawawi++ | [src/perl6] svn:ignore *.log 07:15
r22662 | azawawi++ | [src/perl6] set svn:ignore property to ignore temporary files 07:22
azawawi moritz_: ping 08:26
pugs_svn r22663 | pmurias++ | [mildew] removed incorrect FETCH of arguments to methods 08:45
r22663 | pmurias++ | [smop] bool and S1P::Str supports FETCH, defaultblocksignature uses BIND to install the scalar in the lexicalpad
azawawi_ pmurias: hi 08:46
gr1d wasup w/ perl6 09:05
gr1d when is it droppin? 09:05
infid3l whats up 09:06
gr1d word
gr1d n e 1 know when the new perl6 is droppin? 09:07
broquaint Xmas 09:09
pugs_svn r22664 | azawawi++ | STD_syntax_highlight has a javascript parse tree viewer ;-) 09:33
pugs_svn r22665 | azawawi++ | added --clean-html to generate external javascript files 10:38
r22665 | azawawi++ | cleaned up code a little
azawawi_ @seen moritz_ 10:46
lambdabot moritz_ is in #perl6. I last heard moritz_ speak 13h 11m 11s ago.
azawawi_ @seen pmurias
lambdabot I saw pmurias leaving #perl6 12h 9m 29s ago, and .
azawawi_ @tell moritz_ i added the js tree viewer that we talked about yesterday. 10:50
lambdabot Consider it noted.
pugs_svn r22666 | azawawi++ | [STD_syntax_highlight] increased the % width for larger trees. 11:07
moritz_ azawawi++ 12:09
lambdabot moritz_: You have 1 new message. '/msg lambdabot @messages' to read it.
moritz_ I know lambdabot, thank you.
azawawi ping 12:27
moritz_ Destination Net Unreachable 12:28
azawawi ;-)
moritz_ wonders if t/spec/S05-modifier/ignorecase.t is actually correct 12:29
it assumes that a :i has recursive meaning in subrules
I don't think that's the case.
moritz_ wonders why it takes so many rules to match variables 12:31
azawawi "The :i (or :ignorecase) modifier causes case distinctions to be ignored in its lexical scope, but not in its dynamic scope. That is, subrules always use their own case settings."
moritz_ right, that's what I had in mind.
literal moritz_: does the '...' construct have Unicode shorthand of '…' in Perl 6? 12:32
pugs_svn r22667 | moritz++ | [STD_syntax_highlight] some color changes/additions 12:32
moritz_ azawawi: I like the match tree in the html output ;) 12:33
literal: not that I'm aware of
literal: I think most "Unicode" builtins actually map to Latin-1, like «...»
literal I don't think … is in Latin-1, though 12:34
moritz_ aye
literal why would that be a problem, though? 12:35
moritz_ it wouldn't
&infix:<…> ::= &infix<...> # eh voila!
literal ... is also used as a code placeholder in methods, right? 12:36
moritz_ yes
azawawi moritz_: what's the perl6 program that uses most of the perl6 syntax [to be used as a test case for syntax highlighting]
moritz_ but I think it's not an infix in that case
azawawi: STD.pm 12:37
azawawi moritz_: i think we should re-organize src/perl6 into src/perl6/highlighter or something like that 12:38
moritz_ azawawi: yes, but that's premature optimization ;)
pugs_svn r22668 | moritz++ | [t/spec] correct ignorecase.t 12:41
azawawi is executing 'perl STD_syntax_highlight STD.pm'
moritz_: Malformed UTF-8 character (unexpected end of string) in match position at (eval 1562) line 31. 12:42
pasteling "azawawi" at 212.38.144.4 pasted "'perl STD_syntax_highlight STD.pm' output" (7 lines, 369B) at sial.org/pbot/32726 12:45
moritz_ azawawi: that's the first occurence of the ¢ character 12:46
now running it myself... so far no error 12:49
pugs_svn r22669 | azawawi++ | [STD_syntax_highlight] a box is now shown when you hover over the span node 13:04
moritz_ azawawi: it's a bit unfortunate that the list of rules doesn't scroll... 13:07
when I'm a bit further down the file I can't see the list at all
explorer is away: Ocupado... ahora vuelvo... 13:09
explorer is back (gone 00:10:54) 13:20
explorer is away: Ocupado... ahora vuelvo...
moritz_ explorer: please don't spam us with your away messages ;) 13:22
pugs_svn r22670 | azawawi++ | [STD_syntax_highlight] sticky-note colors and box width is no longer fixed 13:37
pugs_svn r22671 | azawawi++ | [STD_syntax_highlight] the parse tree viewer is now a tooltip 14:05
azawawi moritz_: ? 14:14
moritz_ azawawi: yes?
azawawi moritz_: i noticed that you removed 'identifier' from the coloring table.. Any reason for that?
moritz_ azawawi: yes.. it colored basically everything that's not quoted 14:15
azawawi: so variable names, sub names, package names etc... that was a bit too broad for my taste
azawawi moritz_: i think this tool is quite educational... i learnt quite a lot about the Perl6 grammar since yesterday... 14:17
pmurias++, moritz++
moritz_ indeed
and azawawi++ for implementing it ;)
moritz_ it's nice, even interpolated variables are coloured correctly 14:19
azawawi being generic can sometimes have its merits ;-) 14:20
so STD.pm is the perfect perl6 script that uses most of the grammar 14:21
moritz_ not quite
but it's one of the biggest nonetheless
doesn't use meta ops, for example
azawawi ponders about running STD_syntax_highlighter on t/spec 14:22
moritz_ ETOOMUCHTIME ;)
azawawi one of the nice things about google chrome browser is that it shows you how much memory each tab consumes... 14:24
pmurias azawawi: STD doesn't use the fancy stuff 14:25
azawawi t/spec/S02-names_and_variables/varnames.t is like 10-12M on chrome
pmurias azawawi: why do you recreate the whole tree when the topmost rule is highlighted? 14:31
azawawi pmurias: because it is not optimized ;-) 14:32
pugs_svn r22672 | pmurias++ | [STD_syntax_highlight] the tree is not recreated when the topmost node is highlighted 14:37
pmurias azawawi: i rewrote the event handler hopes i hope it works correctly now
azawawi pmurias: ah; now the tooltip is not going to work 14:39
pmurias fixing
azawawi sees lots of red lines in perlcabal.org/svn/pugs/revision/?rev=22672
lambdabot Title: revision: /pugs (Rev: 22672, via SVN::Web)
azawawi pmurias: i need to do that to display the parse tree viewer tooltip on each mouseover of the span 14:40
pmurias: it is tested and it is lightweight... sorry i didnt understand your question earlier 14:41
pmurias: $("span").mouseover attaches mouseover for all span 14:42
pmurias azawawi: i misunderstood the code and tried to be too smart, reverting... 14:43
azawawi pmurias: worst case is that we have lots of braces (statementlist,statement,...)
moritz_ std: 3! 14:44
p6eval std 22672: OUTPUT[parse failure␤]
moritz_ std: sub postifx:<!>($x) { [*] 1..$x }; 3! 14:45
p6eval std 22672: OUTPUT[Out of memory!␤]
[particle] hee
moritz_ :/
pugs_svn r22673 | pmurias++ | [STD_syntax_highlight] reverted previous commit 14:46
azawawi wonders how much memory is needed to not get the "Out of memory" errors ;-)
moritz_ azawawi: look in evalbot.pl or the modules it loads... 14:48
pmurias moritz_: it would have been a parse failure anyway post>>i<<fx 14:49
moritz_ std: sub postfix:<!>($x) { [*] 1..$x }; 3! 14:50
pmurias: thanks
p6eval std 22673: OUTPUT[Out of memory!␤] 14:51
moritz_ std: sub postfix:<!>($x) { 1 }; 3!
p6eval std 22673: OUTPUT[parsed␤]
pmurias moritz_: btw. how is the mildew evalbot growing? 14:52
azawawi why is STD.pm a bit slow? 14:53
moritz_ azawawi: because the regex engine isn't suitable for longest token matching 14:54
pmurias azawawi: when you do stuff like postfix:<!> it generates a new grammar
moritz_ pmurias: not at all, I should change that
pugs_svn r22674 | moritz++ | [evalbot] pixie is gone, mildew is the new player in town. 14:57
pmurias mildew: $OUT.print("hello from mildew\n"); 14:59
moritz_ pmurias: won't work yet, I guess
evalbot control restart 15:00
pmurias mildew: $OUT.print("hello from mildew\n"); 15:00
pmurias mildew: $OUT.print("hello from mildew\n"); 15:00
p6eval mildew: OUTPUT[Can't create mildew.log: Permission denied at ../../src/perl6/Cursor.pm line 89.␤BEGIN failed--compilation aborted at ../../src/perl6/Cursor.pm line 92.␤Compilation failed in require at ../../src/perl6/STD.pm line 34.␤BEGIN failed--compilation aborted at ../../src/perl6/STD.pm li...
pmurias ruoso: hi 15:01
ruoso hi pmurias
pugs_svn r22675 | moritz++ | [evalbot] mildew likely needs a umask...
ruoso sorry... been off the rest of the weekend, I've seen that you had much progress 15:02
moritz_ evalbot control restart
moritz_ mildew: $OUT.print("hello from mildew\n"); 15:02
p6eval mildew: OUTPUT[Can't locate Data/Dump/Streamer.pm in @INC (@INC contains: src ../../src/perl6 /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at src/AST.pm line 53.␤BEGIN failed...
moritz_ mildew: $OUT.print("hello from mildew\n"); 15:03
p6eval mildew: OUTPUT[Can't exec "../smop/m0ld/dist/build/m0ld/m0ld": No such file or directory at mildew line 345.␤print() on closed filehandle $m0ld_exe at mildew line 346.␤]
ruoso moritz_, ./Setup configure --flags=SMOP; ./Setup build inside ../smop/m0dl 15:04
*m0ld
moritz_ ruoso: there's no ./Setup in v6/smop/m0ld/ 15:05
ruoso moritz_, sorry... ghc --make Setup.lhs
moritz_ Setup: At least the following dependencies are missing: 15:06
utf8-string >=0.3.1.1
pmurias ruoso: i think we are just a few features away from running a rephrased P6Meta.pm
moritz_ man, this is just as bad as cpan :/
ruoso pmurias, that's very cool 15:07
pmurias hmm, cabal is suposed to automatic dependency checking...
moritz_ should a 'cabal install utf8-string' fix that?
pmurias yes
ruoso moritz_, apt-get install even
libghc6-utf8-string-dev
moritz_ thanks, doing that now 15:08
apt++
mildew: $OUT.print("hello from mildew\n");
p6eval mildew: OUTPUT[unable to fetch SMOP__S1P__RootNamespace␤unable to fetch SMOP__S1P__RootNamespace␤] 15:09
pmurias moritz_: do you have a recently make'd smop in the evalbot?
moritz_ ah no, make gives an error
rm -rf build/; make # trying again now 15:10
pmurias if i'm sshed to www.timtoady.org how should i enter the evalbot environment?
pasteling "moritz_" at 89.13.207.138 pasted "smop build failure" (7 lines, 293B) at sial.org/pbot/32738 15:10
moritz_ pmurias: sudo chroot /chroot; su - evalenv 15:11
pmurias ruoso: what would be nice for the sanity of the C part of smop would be to have the GlobalInterpreter exists before at least all of the s1p stuff is initialised
ruoso I see 15:12
moritz_, it might be related to STD lex cache 15:13
moritz_ I removed that, and now I get Can't locate sm0p5.pm in @INC
ruoso you have to 'make' in src/perl6 15:14
moritz_ pmurias: did you happen to run some commands in ~evalenv/pugs/v6/smop as root? 15:15
pmurias yes
moritz_ don't do that ;)
pmurias i shouldn't...?
pugs_svn r22676 | azawawi++ | Added a ETOOMUCHTIME script to test STD_syntax_highlight over t/spec.
moritz_ no
pmurias moritz_: OK
moritz_ pmurias: only user evalenv should modify that directory, otherwise we get a permission mess 15:16
I've delete the root owned build/ now
pmurias moritz_: the problem was that a make in v6/smop/sm0p is nessesary due to my sloppiness
moritz_ mildew: $OUT.print("hello from mildew\n"); 15:17
p6eval mildew: OUTPUT[unable to fetch SMOP__S1P__RootNamespace␤unable to fetch SMOP__S1P__RootNamespace␤] 15:18
ruoso and a lack of a not-crappy build system...
moritz_, rm m0ld/dist -rf
?
ruoso wonders why old bugs seem to appear there
pmurias cabal is a none-crappy build system unfortunatly it's haskell only
moritz_ ok, removed m0ld/build/, and re-built 15:19
mildew: $OUT.print("hello from mildew\n"); 15:20
p6eval mildew: OUTPUT[hello from mildew␤]
ruoso cool
this is a step in the very right direction
now we need to populate the runtime (er... just after implementing multi) 15:21
mildew: $OUT.print(1 < 2)
p6eval mildew: OUTPUT[unimplemented at mildew line 22␤ Mildew::XXX() called at mildew line 264␤ Mildew::EXPR('VAST::EXPR=HASH(0xa409c88)') called at mildew line 268␤ VAST::EXPR::emit_m0ld('VAST::EXPR=HASH(0xa409c88)') called at mildew line 301␤
..VAST::statement::emit_m0ld('VAST::statement=HASH(0xa341ea...
ruoso oops 15:22
pugs_svn r22677 | azawawi++ | STD_syntax_highlight is now an exectuable script (svn:executable)
pmurias ruoso: multis could be implemented in p6, couldn't they? 15:23
ruoso pmurias, yes... they could
pmurias, in fact, if not in p6, at least in m0ld 15:24
in C it's very unlikely to be doable
but it's basically $s1p_multi.()
where the $multi holds some variants and a pointer to its outer scope 15:25
and its name
pmurias it's better to do stuff in p6 then in m0ld 15:25
ruoso then it goes traversing the scopes to find all variants
grep { $_.signature.ACCEPTS($capture) }, @variants 15:26
ruoso lunch &
pmurias why does it need to traverse scopes it can just hold a pointer to the outer variant 15:27
pmurias buys some chocolate 15:28
pugs_svn r22678 | azawawi++ | Improved the usability of teststd by catching pesky CTRL-Cs from child process 15:30
explorer is back (gone 02:13:47) 15:34
moritz_ TimToady: STD.pm doesn't like S03-operators/also.t, even though it knows about infix:also 15:45
ah, it should be sym<also<
pmurias: which steps does the rebuild script for mildew need? 15:47
pugs_svn r22679 | azawawi++ | ETOOMUCHTIME now writes all of its results into an 15:59
r22679 | azawawi++ | html directory like t/spec
azawawi is running ETOOMUCHTIME to generate html for t/spec... 16:03
pugs_svn r22680 | moritz++ | [STD.pm] fix infix:<also> 16:05
masak moritz_: in rt.perl.org/rt3/Ticket/Display.html?id=57652 , does bacek mean "leave" instead of "break"? 16:08
lambdabot Title: #57652: [BUG] successfull 'when' does not skip the following tests.
moritz_ masak: I hope so ;) 16:10
masak good. I'm thinking of implementing that, that's why I'm asking. 16:11
gotta run
pmurias moritz_: cd v6/smop/sm0p;make;cd v6/smop;make;cd v6/smop/m0ld;... 16:11
... being rm -fr dist;ghc --make Setup.lhs;./Setup configure --flags=SMOP; ./Setup build 16:12
ruoso pmurias, it needs to traverse because it needs to find all the variants... 16:13
pmurias, if we just make a "lookup" we won't find *all* the varianta 16:14
pmurias ruoso: the outer multi would have a pointer for the one outer for it 16:16
pmurias it's propably easier to just use the lexical scope for now 16:16
ruoso pmurias, yeah... I thought using the scope is easier 16:17
ruoso later&
azawawi moritz_: the script is now at S03-operators/assign.t 16:28
moritz_: 25 mins to reach there
[particle]1 does it run in parallel? 16:29
azawawi nop 16:30
[particle] it's probably all cpu time, so || would speed it up if you have manycore
azawawi look at feather1, cpu is like 70% 16:31
[particle] oh, you're running on feather
better to be nice to other users, then
azawawi load avg: 2.20
pmurias azawawi: how is it possible to browse the results thus far? 16:32
[particle] rakudo: my $a = 2; $a **= 10; say $a 16:33
p6eval rakudo 31963: OUTPUT[2␤]
[particle] grr
azawawi pmurias: /home/azawawi/pugs/src/perl6/html/ 16:34
pmurias azawawi: you should make it avalible through the web browser 16:35
azawawi sure through feather3
pmurias OTOH i could just make generate a local copy of stuff i want to look at
pasteling "azawawi" at 212.38.144.4 pasted "html file byte size and line count so far" (92 lines, 4.8K) at sial.org/pbot/32742 16:38
azawawi ./S03-operators/assign.html is the biggest so far (lines:1067, bytes:708711) 16:40
pmurias azawawi: you know what would be really cool, integrating the syntax highlighting with www.perlcabal.org/syn 16:53
lambdabot Title: Official Perl 6 Documentation
azawawi pmurias: gr8 idea 16:54
moritz_ and before somebody asks - that page is generated by util/smartlinks.pl ;) 16:55
azawawi pmurias: where is the code that does the smartlinking and syn stuff?
moritz_: lol
moritz_: judging from speed of things, we need to have a smart update of the html output... 16:57
moritz_ I wouldn't add more stuff the the S\d\d.html pages themselves, they are already rather heavy-weight (and take some time to load on slow browsers) 16:58
azawawi moritz_: we dont wanna slow down your precious ;-)
moritz_ rather add a link to an index of the syntax hilighted files
azawawi moritz_: ajax comes to the rescue...
[particle] ajax++
pmurias moritz_: slow browser = slow internet connections? 16:59
[particle] it'd be nice to have syntax-highlighted examples and inlined tests
moritz_ pmurias: no, slow page building
ajax only makes that worse
azawawi i think we could cut a lot of fat from the Sxx pages when we ajax them
pmurias moritz_: you seem to like obsolete technology a lot ;) 17:00
moritz_ pmurias: I like usable technology a lot. If it's all coloured and animated but takes 20s to load, I'm out.
azawawi investigating how to speed up things 17:01
pmurias azawawi: js or STD_syntax_highlight? 17:04
azawawi S11 scores A on YSlow FF plugin ;-) moritz_++
how about p6_hilite?
pmurias isn't A the best score? 17:05
moritz_ S11 is quite small - use S12 or S05 for testing
or even S03 ;)
azawawi lol YSlow borked on S12 17:06
pmurias we could have a static css only highlighted version
azawawi still 95 (A) on S12
moritz_ heads off to play some table tennis, ttfn folks
pmurias azawawi: i don't think it's worth spending time to optimise js 17:10
azawawi pmurias: yeah, i will look into it... 17:11
pmurias azawawi: your answer was a bit contradictory 17:12
azawawi sorry i was looking at something else
im not going to optimize js
pmurias ok
azawawi the key thing here is updating output html when the spec file is changed and putting the output on a webserver... 17:14
i.e. when the test .t is actually changed, generate the html 17:15
TimToady well, the fact of the matter is that as long as STD is implemented in P5, we have to compile close to 3 megabytes of P5 code to start up. 17:19
[particle] pmc! 17:20
azawawi STD takes forever on t/spec/S05-mass/rx.t (2720 lines) 17:21
pmurias TimToady: TRE leaks memory so running a persistent STD is not really an option
CD 17:22
sorry
(caps lock--)
TimToady it really depends on how TRE leaks memory 17:24
pmurias having checked it in a while put when i run a persistent STD a long time before it eat >2G of it and segfaulted 17:25
TimToady we can cut out 1meg of whitespace by making gimme5's indent an identity function 17:26
it would appear that it still works after that
Cursor caches all lexers it has ever generated, so maybe you were seeing that 17:27
pmurias maybe, the TRE using part is the one i don't undestand much so it's likely i just blamed the leaks on the unknown ;) 17:28
TimToady (at the moment I'm working on cutting down the number of lexers it needs to build, so we can have a series of macros efficiently)
oops, gotta commute to work right now & 17:29
azawawi pmurias: t/spec/S05-mass/rx.t is the worst case so far [455m memory] 17:31
pmurias the memory used or the size of the highlighted output?
azawawi it is virt memory used; the output is flushed at the end 17:32
azawawi has anyone tried to run t/spec/S05-mass/rx.t with STD? does it ever finish? 18:04
TimToady certainly
STD parses everything in t
azawawi time estimate?
TimToady hang on (in a meeting) 18:05
azawawi ok 18:06
TimToady if lex cache already exists, 27 seconds on my machine. 2-3 times longer if it has to generate lexers 18:08
are you short on memory?
azawawi feather1... dont think so
pasteling "azawawi" at 212.38.144.4 pasted "STD_syntax_highlight summary so far..." (164 lines, 9.3K) at sial.org/pbot/32746 18:09
TimToady if you're using something that traverses the std tree, could well have an infinite loop in it 18:10
azawawi it is basically stuck at 460mb virtual memory and just continues to eat CPU 18:11
63:21.06 cpu time so far...
TimToady you've gotta be looping somehow then 18:12
azawawi and yes it is traversing the std tree to generate the syntax hilighted html... 18:13
TimToady some of the routines in Cursor like ->clean are known to have infinite loops for some inputs
are you using STD directly or viv?
azawawi STD and DumpMatch 18:14
directly i guess since i dont know the other one ;-)
STD_syntax_highlight in src/perl6 18:15
pmurias TimToady: it's a STD5_dump_match mutant 18:18
TimToady well, you could run it under perl -d and ^C it when you think it's looping to see where it is 18:19
maybe set STD5DEBUG=-1 to get debugging log to screen 18:20
TimToady removing indent in STD.pmc speeds startup by about 25% 18:26
azawawi it finished 18:28
2822 1554141 ./html/S05-mass/rx.html
lines,bytes
TimToady well, the .t is 2720 lines 18:29
pmurias js and stuff
we could always rewrite parts of STD_syntax_highlight in C... 18:31
TimToady it's a trivial change to Cursor to map positions to what reductions were done at that position, since the _ array is already indexed by position
TimToady so it would be easy to implement a scan of positions that were not matched by any subrule of the current rule 18:41
pmurias ruoso: do you think multis are necessary for P6Meta? 18:54
ruoso pmurias, well... we could have some only subs installed in the prelude scope for it to work
and then we could overwrite it
pmurias, one thing I've been thinking is how to build the src-s1p files... 18:55
and I think we should have a .so file built for each .pm file 18:56
with two methods in its api
init_order() and initialize()
then smop would find all .so files in the s1p directory, load them, sort by init_order and call initialize in each one of them...
pugs_svn r22681 | ruoso++ | [smop] we dont really need feed or gather/take in P6Meta.can 19:03
pmurias ruoso: alternatively we could link the haskell m0ld parser in and use it to dynamicly load .m0ld files in 19:07
ruoso pmurias, I'm not sure about that... because I do think the s1p part will always be compiled down to C 19:08
or else it will mean parsing the prelude *everytime*
azawawi pmurias: nearly finished, processing S29-scalar ;-)
ruoso which doesn't seem optimal
pmurias parsing .m0ld files is fast 19:09
ruoso I know, but not parsing them is even faster ;) 19:10
pasteling "azawawi" at 212.38.144.4 pasted "Pass/fail & html file sizes report for STD_syntax_highlight over all of t/spec" (407 lines, 21.2K) at sial.org/pbot/32750 19:16
pmurias ruoso: do you think we should have a seperate simpilfied P6Meta? 19:18
azawawi done ;-)
ruoso pmurias, I think it doesn't need to be separate...
we can have it simplified
and then we complexify it as we evolve
pmurias ruoso: ok 19:20
pugs_svn r22682 | azawawi++ | svn ignore generated html directory under src/perl 19:21
pmurias gather/push can be turned into eager @array.push
and types can be droped
pugs_svn r22683 | pmurias++ | [smop] turned gather/take in P6Meta.pm into Array.push 19:26
azawawi who would have guessed S29-str/index.t -> index.html ;-)
ruoso pmurias, yeah... we can also drop the types... 19:28
pugs_svn r22684 | ruoso++ | [smop] removing some types left in the signature... 19:30
pmurias ruoso: the compiler could've just ignored them but np 19:31
ruoso better to have the code simplified than the compiler with misimplementations to support that 19:32
pugs_svn r22685 | ruoso++ | [smop] small typo got by STD5_dump... 19:33
pmurias ruoso: what do you think of implementing Str in perl6 with a bug 19:34
s/bug/buf/
ruoso pmurias, I do think that every builtin type wilkl be written in Perl 6
needs to be
(every one except the native ones, of course)
azawawi here it is: feather.perl6.nl/~azawawi/ 19:35
lambdabot Title: My humble homepage (Ahmad Zawawi on feather1.perl6.nl)
ruoso azawawi++ 19:36
pmurias azawawi: one annoying thing is that the tooltip/highlight doesn't disappear when move the mouse from under the code 19:37
azawawi but dont go to rx.html... it will break the 15-second time for sure...
pmurias: will fix it soon 19:38
ruoso er... while the tooltip is cool... it is kinda heavyweight...
azawawi what browser r u using? 19:39
ruoso firefox
azawawi 3?
ruoso yesajh
S02-builtin_data_types/nested_arrays.html
this one is a heavy one
pmurias azawawi: i went to rx.html but the tooltip is a bit sluggish 19:40
ruoso yeah... I think the tooltip needs a different visualization 19:41
maybe not being a tooltip
but rather a side tree
azawawi it was a side tree in the beginning ;-)
ruoso that you can expand and see the referring code
azawawi but somebody thought it was a good idea to make it a tooltip ;-) 19:42
ruoso heh...
azawawi for scrolling reasons
ruoso make it collapsed by default
and the user goes expanding it as pleased
and while the user expands it the referring code for that node of the tree is highlighted 19:43
azawawi got it... side tree... on expand hilight... 19:43
pmurias: do u think getting pod comments in the syntax tree a bit too much? 19:46
pmurias it would mean using a modified STD 19:47
azawawi: do you think it's important?
azawawi not that much 19:48
i think being able to see a syntax tree visually is way more important
pmurias pod doesn't require very much highlighting 19:49
azawawi google chrome (chromium) dev release does not run rx.html well
memory keeps rising on its tab 19:50
but after a while, tooltip is way too fast on chrome compared to firefox 19:53
must be the inlining/caching that have in their v8 engine
pmurias azawawi: should i commit fixes to the tooltip? 19:54
azawawi sure 19:55
pugs_svn r22686 | pmurias++ | [STD_syntax_highlight] the tooltips is 30% transparent and closes when doesn't have the cursor over the code 19:57
azawawi --clean-html must be enabled by default since it doesnt inline javascript and that's more easier to maintain
pmurias azawawi: the changes are ok? 20:01
azawawi pmurias++
3:10 hours to finish a full STD_syntax_highlight on all of t/spec (feather1) 20:02
pmurias hmm, we could try using inline C 20:04
literal can example results from this syntax highlighter be seen somewhere?
azawawi feather.perl6.nl/~azawawi/html/
lambdabot Title: Index of /~azawawi/html
literal neat 20:05
pmurias OTOH if the javascript and the CSS will be kept seperated speed shouldn't be a big issue
azawawi yeah that's why --clean-html must be on by default 20:06
azawawi working on reversing logic to --inline-js
Juerd_ Orange is hard to read on a bright background 20:07
Other than that, pretty stuff!
azawawi thx
Juerd_ Also, impressive if this was written in 3 hours :)
Tooltip doesn't fit on my small screen :) 20:08
(smaller letters could help perhaps)
pmurias Juerd_: the initial version was propably written in much less
3:10 hours is the time it took to generate the syntax highlightning 20:10
ruoso: the HOW api needs an add_method 20:11
pugs_svn r22687 | azawawi++ | ETOOMUCHTIME now uses --clean-html for better maintenance 20:16
[particle] www.infoworld.com/article/08/10/13/...res_1.html 20:18
lambdabot Title: Dynamic programming futures | InfoWorld | Analysis | 2008-10-13 | By Peter Wayne ..., tinyurl.com/3qfawf
azawawi running ETOOMUCHTIME again. Updated results will come in 3 hours 20:19
ruoso pmurias, er... good point 20:21
azawawi [particle]: nice article... reading... 20:24
ruoso later & 20:45
pmurias SU 21:18
pugs_svn r22688 | azawawi++ | [STD_syntax_highlight] removed unused modules 22:19
pugs_svn r22689 | azawawi++ | [ETOOMUCHTIME] added benchmarks and improved messages 22:37
ruoso Hello! 22:43
literal does rakudo (or any other implementation) make it easy to write one-liners? 22:58
like perl(1)'s -n, -p, -i, etc 22:59
ruoso .oO(running make test in src/perl6 is not a good idea) 23:01
[particle] literal: rakudo supports -e
but only -c -h -e -v 23:02
literal ok 23:03
will code executed with -e be treated the same as code from a file? i.e. same level of strictness 23:04
[particle] yes
literal ok
[particle] you need -e6 to turn off strict, which is not implemented
literal ok
is the "loose mode" discussed anywhere in the synopses? 23:05
[particle] yes, search for e6
apparently it's mentioned in S11 23:06
once, and that's it
literal yeah, saw that
[particle] how i remember this stuff, i don't know 23:06
literal will there 'strict' and 'warnings' pragmas? 23:09
will there be* 23:10
[particle] hrmm, actually, S02 says strict is in effect by default, except for one-liners 23:14
literal yeah, I knew about that
[particle] so, S11 seems wrong about -e6
literal but I was wondering if there will be a strict pragma so that you could turn of some strictures manually
literal ah 23:14
[particle] yes, there will be a way to adjust strictures and warnings by category 23:15
TimToady the only one you could possibly have from p5 is 'vars', since refs and syms aren't handled the same way in p6 23:16
literal has there been any discussion about pragmas? I see there's no apocalypse/synopsis draft
TimToady there are a few pragmas mentioned here or there, but generally we considered the need for a pragma to be a design smell 23:17
literal I see
TimToady there's a general principle that if you're going to have a pragma that modifies a builtin with keyword "foo", the pragma should also be named "foo"
TimToady "use open :x" modifies the meaning of open(), for instance 23:18
[particle] so, you could modify all quoting ops to warn on undefineds by something like "use Q :warn<undef>" i suppose 23:20
perhaps :WARN
TimToady that looks like an abuse of pair syntax to me 23:21
but my brain is in sideways at the moment due to migraine, so ignore most of what I say 23:22
[particle] i'll keep my arthritis, you can keep your migraine 23:23
TimToady I got that too...
[particle] just don't ask me to turn my head or lift my arms over my shoulders today 23:24
TimToady I'm seeing a specialist for my shoulder tomorrow...
hopefully they'll actually do something after a year of "conservative" treatment... 23:25
(not strictly arthritis, this shoulder...)
actually calcific tendon
[particle] urk 23:26
i'll get treated for the arthritis wednesday, and have another six pain-free weeks followed by another painful one
the cycle continues...
TimToady osteo or rheumatoid? 23:27
[particle] crohn's. like rheumatoid, but non-destructive 23:29
TimToady now why does making macro languages anonymous cause the fates to come out all wrong, grr...
wayland76 @tell pmichaud Any chance someone could update the perl6 ROADMAP before the Parrot release later today? 23:50
lambdabot Consider it noted.
[particle] the parrot release is ~18-24 hours away 23:51
what needs updating? anything specific?
[particle] heads out to do errands & 23:55