perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/
Set by mncharity on 25 March 2009.
pasteling "japhb" at 76.191.190.8 pasted "Looking for a better way to handle great gobs of constants" (28 lines, 645B) at sial.org/pbot/36226 01:22
pugs_svn r26434 | lwall++ | [STD etc.] more gimme5/viv convergence 03:17
skids_ japhb: note Q 03:57
japhb: note Q:PIR is a quoting construct and might be able to interpolate 03:58
havn't tried that, but it may.
pugs_svn r26435 | lwall++ | [STD] nouns shouldn't dangle from terminator nodes 04:35
eternaleye perl6: my $foo = foo; qq:PIR { .say $foo }; 06:00
p6eval rakudo 705ecc: OUTPUT«Colons cannot be used as delimiters in quoting constructs at line 1, near ":PIR { .sa"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
..pugs: OUTPUT«*** ␤ Unexpected "{"␤ expecting ":", "(" or operator␤ at /tmp/j3TT4HtiFC line 1, column 23␤»
..elf 26435: OUTPUT«Parse error in: /tmp/t627xWUcWG␤panic at line 1 column 22 (pos 22): No previous operator visible to adverbial pair ([#<Match:0x81c7944 @on_str="my $foo = foo; qq:PIR { .say $foo };", @from=17, @to=21, @bool=true, @hash={:value=>#<Match:0x81c79bc @on_str="my $foo = foo; qq:PIR {
eternaleye perl6: my $foo = foo; qq:PIR { .say $foo };
grr
perl6: my $foo = "foo"; qq:PIR { .say $foo };
p6eval ...... 06:01
rakudo 705ecc: OUTPUT«Colons cannot be used as delimiters in quoting constructs at line 1, near ":PIR { .sa"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
..elf 26435: OUTPUT«Parse error in: /tmp/Sc3nYysnYz␤panic at line 1 column 22 (pos 22): No previous operator visible to adverbial pair ([#<Match:0x81c791c @on_str="my $foo = foo; qq:PIR { .say $foo };", @from=17, @to=21, @bool=true, @hash={:value=>#<Match:0x81c79a8 @on_str="my $foo = foo; qq:PIR {
......
..pugs: OUTPUT«*** ␤ Unexpected "{"␤ expecting ":", "(" or operator␤ at /tmp/tjfrsvZPbc line 1, column 23␤»
rakudo 705ecc: OUTPUT«Colons cannot be used as delimiters in quoting constructs at line 1, near ":PIR { .sa"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
..pugs: OUTPUT«*** ␤ Unexpected "{"␤ expecting ":", "(" or operator␤ at /tmp/OpBWZkPtf2 line 1, column 25␤»
..elf 26435: OUTPUT«Parse error in: /tmp/OG62zyKami␤panic at line 1 column 24 (pos 24): No previous operator visible to adverbial pair ([#<Match:0x81c8de4 @on_str="my $foo = \"foo\"; qq:PIR { .say $foo };", @from=19, @to=23, @bool=true, @hash={:value=>#<Match:0x81c8f60 @on_str="my $foo = \"foo\";
..qq...
eternaleye perl6: my $foo = "foo"; Q:qq:PIR { .say $foo };
p6eval elf 26435: OUTPUT«Parse error in: /tmp/Ik7lkTvGwb␤panic at line 1 column 26 (pos 26): No previous operator visible to adverbial pair ([#<Match:0x81dcf10 @on_str="my $foo = \"foo\"; Q:qq:PIR { .say $foo };", @from=18, @to=21, @bool=true, @hash={:value=>#<Match:0x81dcf4c @on_str="my $foo = \"foo\";
.....
..rakudo 705ecc: OUTPUT«Colons cannot be used as delimiters in quoting constructs at line 1, near ":PIR { .sa"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
..pugs: OUTPUT«*** ␤ Unexpected "{"␤ expecting ":", "(" or operator␤ at /tmp/WGTbbUar6Y line 1, column 27␤»
eternaleye buubot: spack quoting 06:03
buubot eternaleye: S02-bits.pod:10 S05-regex.pod:1 S06-routines.pod:4
eternaleye perl6: my $foo = "foo"; Q :qq :PIR { .say $foo }; 06:08
p6eval rakudo 705ecc: OUTPUT«Colons cannot be used as delimiters in quoting constructs at line 1, near ":PIR { .sa"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤» 06:09
..elf 26435: OUTPUT«Parse error in: /tmp/5TiyeJtiyi␤panic at line 1 column 28 (pos 28): No previous operator visible to adverbial pair ([#<Match:0x81dd208 @on_str="my $foo = \"foo\"; Q :qq :PIR { .say $foo };", @from=19, @to=22, @bool=true, @hash={:value=>#<Match:0x81dd244 @on_str="my $foo =
..\"foo\"...
..pugs: OUTPUT«*** ␤ Unexpected "$foo"␤ expecting operator or "}"␤ at /tmp/0eSYVOpV8E line 1, column 36␤»
eternaleye perl6: my $foo = "foo"; Q :PIR :qq { .say $foo };
p6eval pugs: OUTPUT«*** ␤ Unexpected "$foo"␤ expecting operator or "}"␤ at /tmp/OpwrUqgdTi line 1, column 36␤»
..rakudo 705ecc: OUTPUT«Colons cannot be used as delimiters in quoting constructs at line 1, near ":qq { .say"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
..elf 26435: OUTPUT«Parse error in: /tmp/hClW2syGUc␤panic at line 1 column 28 (pos 28): No previous operator visible to adverbial pair ([#<Match:0x81dd1cc @on_str="my $foo = \"foo\"; Q :PIR :qq { .say $foo };", @from=19, @to=23, @bool=true, @hash={:value=>#<Match:0x81dd21c @on_str="my $foo =
..\"foo\"...
eternaleye perl6: Q:PIR { .say "foo" };
p6eval elf 26435: OUTPUT«Parse error in: /tmp/2F3lFSHRY1␤panic at line 1 column 6 (pos 6): No previous operator visible to adverbial pair ([#<Match:0x81fcce8 @on_str="Q:PIR { .say \"foo\" };", @from=1, @to=5, @bool=true, @hash={:value=>#<Match:0x81fcd24 @on_str="Q:PIR { .say \"foo\" };", @from=2, @to=5,
.....
..rakudo 705ecc: OUTPUT«error:imcc:syntax error, unexpected DOT ('.')␤ in file 'EVAL_15' line 43␤»
..pugs: OUTPUT«*** ␤ Unexpected "{"␤ expecting ":", "(" or operator␤ at /tmp/5dbU45Jg07 line 1, column 7␤»
eternaleye perl6: Q:PIR { say "foo" }; 06:10
p6eval pugs: OUTPUT«*** ␤ Unexpected "{"␤ expecting ":", "(" or operator␤ at /tmp/sytbxi345I line 1, column 7␤»
..rakudo 705ecc: OUTPUT«foo␤»
..elf 26435: OUTPUT«Parse error in: /tmp/2S3UEc1AWr␤panic at line 1 column 6 (pos 6): No previous operator visible to adverbial pair ([#<Match:0x81fccfc @on_str="Q:PIR { say \"foo\" };", @from=1, @to=5, @bool=true, @hash={:value=>#<Match:0x81fcd38 @on_str="Q:PIR { say \"foo\" };", @from=2, @to=5,
..@b...
eternaleye Hm, it seems Q:PIR is special-cased rather than :PIR being an adverb on the quote operator like :w and :qq 06:10
mberends eternaleye: that's right, because PIR is specific to Parrot only. 06:18
pugs_svn r26436 | szabgab++ | Smart::Links more error messages 06:54
szabgab rakudo: say [*] 1, 2, 3 07:00
lambdabot szabgab: You have 1 new message. '/msg lambdabot @messages' to read it.
p6eval rakudo 705ecc: OUTPUT«6␤»
szabgab rakudo: say [^^] 1, 1
p6eval rakudo 705ecc: OUTPUT«say requires an argument at line 1, near " [^^] 1, 1"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
szabgab moritz_, the S32 specs are in perlcabal.org/syn/S32/ 07:18
pugs_svn r26437 | szabgab++ | point smarlink to S32::Str and add some more tests to p5chop 07:30
r26438 | szabgab++ | change some legacy smartlinks to new format 07:31
szabgab rakudo: chop("abc") 07:47
p6eval rakudo 705ecc: ( no output )
szabgab rakudo: say chop("abc")
p6eval rakudo 705ecc: OUTPUT«ab␤»
szabgab rakudo: say chop("")
p6eval rakudo 705ecc: OUTPUT«␤»
pugs_svn r26439 | szabgab++ | fix smartlink, add more chop() tests 07:50
wahnfrieden_ anyone use the perl wikipedia scraper in CPAN? 07:56
im having trouble parsing this site en.wikipedia.org/wiki/Phimosis 07:57
take a look, is there something in particular about it?
szabgab moritz_, btw I was looking for the index.html file that is in perlcabal.org/syn/ but I could not find it, is it in SVN ?
mberends wahnfrieden_, the wikipedia scraper is Perl 5, and this channel discusses only Perl 6. 07:59
wahnfrieden_ im trying the 6 trunk version
can you just follow the link?
pugs_svn r26440 | szabgab++ | link to the S32 html docs from the main page of /syn 08:13
pugs_svn r26441 | szabgab++ | point several smartlinks to the S32::Str specs 08:28
moritz_ takes a look at the Num smartlinks 08:40
masak happy Sunday, everbody!
moritz_ oh hai.
pugs_svn r26442 | moritz++ | [t/spec] fix a few S32-num smartlinks 08:41
szabgab moritz_, masak mberends hi 08:43
masak szabgab: o/
szabgab I think I fixed the main index page of perlcabal.org/syn/ to have links to the S32/ files but it still waits for the next run in 16 minutes or so 08:44
moritz_ unless I can do something about it ;-) 08:45
szabgab and for some reason I cannot see the smartlinks in the S32/ docs on the server even though I can see them on my own machine
szabgab then maybe you can also change the -css param to be /syn/perl.css 08:45
moritz_ I see lots of warnings 08:46
Use of uninitialized value in pattern match (m//) at /home/agentzh/svn-pugs/util/Smart-Links/lib/Smart/Links.pm line 608, <$in> line 108.
many pages of them
szabgab looking at it 08:47
pugs_svn r26443 | moritz++ | use absolute paths to css in the syn htmls 08:49
szabgab oh now the links are in S32
szabgab strange 08:50
szabgab I'll take a look at those warnings 08:50
moritz_ szabgab: would you like to see a complete transcript of the scripts output? 08:51
szabgab no thank
s
first I'll write a bunch of unit tests for that part of the code
moritz_ info: 811 smartlinks found and 811 broken in 702 test files (250 test files had no links). 08:52
pugs_svn r26444 | szabgab++ | no need to run the smartlinker on the S32 subdir
szabgab yeah, those stats are at the top of perlcabal.org/syn/stats.html too 08:53
interesting, the smartlinks disappeared again from the perlcabal.org/syn/S32/Str.html page 08:55
mberends masak, szabgab hi.pong(); # like the smartlinks 09:07
pugs_svn r26445 | azawawi++ | [S:H:P6] Bundled latest STD in version 0.46 09:10
pugs_svn r26446 | szabgab++ | Smart::Links move more code from the script to the module 09:28
masak hacking on proto today. 09:35
proto has now been updated to download Bratislava.
szabgab: if and when you have the time, I would happily discuss ways to make proto less... surprising... when it comes to downloading Rakudo without asking. 09:36
szabgab sure 09:36
masak there are a few overriding concerns that have led to the current design. 09:37
but I don't doubt that the same restrictions could lead to a saner way to do things.
@ask pmichaud no www.pmichaud.com/perl6/rakudo-2009-04.tar.this month? 09:42
lambdabot Consider it noted.
mberends masak: re: proto installing rakudo in a subdir, that shoots removing proto in the foot. How about proto trying to install rakudo in proto's parent dir. Then proto and rakudo are siblings instead of parent/child. a sibling dir next to itself. 09:47
masak mberends: that's basically the setup I've chosen on my box. I have all the Perl 6 projects as siblings, and only the Rakudo install in the projects dir. 09:48
mberends: up until now, I've been a bit reluctant to act outside of the proto dir by default. 09:49
it feels like we don't know at all what permissions and stuff we have there.
plus, it gives me bad vibes of DOS .zip files which didn't create a directory to play in, but instead just dumped eveything in . 09:50
mberends you can feel comfortable that wherever you were allowed to create a directory (proto) you will be allowed to create a few more. 09:51
masak indeed. 09:52
mberends agreed the .zip content pollution is bad, but our tools never do that afaik.
masak the question is basically: how violated will the user feel if that's the default?
right now we err on the side of extreme caution. 09:53
mberends totally unviolated here. I have other techniques for that ;)
masak well, do you have proto in your ~ ?
mberends yes
masak ok. :)
you're slowly convincing me. 09:54
mberends and rakudo next to it, and proto's rakudo several turtles down.
masak now the two approaches seem equally valid to me.
but I have no reason to choose one over the other. 09:55
mberends because I'm too stupid and lazy to RTFM about the RAKUDO_DIR thing when starting proto.
masak by the way, we should probably write down the design bylaws for proto somewhere.
mberends as a section of WTOP.
WTOL.
masak mberends: proto is designed with that in mind. "it should just work" is an overriding concern, only limited by "don't be evil". 09:56
mberends: well, WTOP is a bit more general and a bit more specific, I think. :)
this is more like "the philosophy of proto". we invent a set of hypothetical users, and then we go out of our way to please them. 09:57
mberends the sibling dir is less evil in the sense that proto can be replaced by proto+1 with less harm to the user's project directories. 09:58
(they just have a deps.proto file left over)
masak aye. 10:00
mberends: ok, let's do it that way instead. would you like the honour of patching the change into proto? 10:01
mberends ok, I have tuits and eagerness :) 10:02
masak :)
masak hm, proto failed to build rakudo on feather... 10:03
ah, virtual memory is exhausted on feather. 10:04
mberends how much memory is that? $ vmstat 10:05
masak swpd: 488, free: 628500, buff: 153416, cache: 879704. 10:06
ah well, using my already-installed rakudo for now. 10:08
mberends that's 628MB RAM free :( pmichaud or jnthn did mention that the pbc_to_exe was maxing out RAM on a few other machines. 10:09
masak proto wasn't too explicit in saying what was wrong. I should take the opportunity to make it more diagnostic. 10:10
argh, I'm stuck. my already-installed rakudo didn't have the fakecutable. 10:11
mberends :( o noes! 10:12
masak need to monkeypatch my proto to get it to work.
frettled masak: and then you should blog about it! :D 10:12
masak frettled: if only time were less limited... 10:13
frettled: in fact, I haven't had time to blog about proto yet.
frettled masak: hey, ten lines doesn't take many minutes.
masak frettled: you have a point.
frettled it's not mine, it's mst's :)
masak but I need to sort of introduce proto to the blogosphere first.
frettled: still, good point. 10:14
frettled just get writing, and pretend that it's already known. :)
masak I'll make sure to blog about proto today.
frettled \o/
masak frettled: hey, that's a fun idea. I'll blog about proto as if it were well-known.
"as everybody knows by now..."
frettled >:->
masak "the march of success of the proto installed was hardly offset by the global recession..." 10:15
s/ed/er/
frettled brilliant 10:16
mberends "At the stockmarket launch, Mr. Masak, founder of 'proto', gave hints about even greater software achievements that would be funded by the billions obtained as venture capital." 10:19
masak ok, another instance where just-work is pitted against no-evil: I got this message "the authenticity of host 'github.com' can't be established. are you sure you want to continue connecting (yes/no)?"
mberends in github we trust. amen.
masak now, we _could_ pipe 'yes' into that command, so that the user isn't inconvenienced by having to answer 'yes' there.
masak but is that... advisable? 10:20
it can be argued from an aesthetic viewpoint that we should, because it ruins the nice dotty progress bars that I've yet to write. 10:21
pugs_svn r26447 | szabgab++ | Smart::Links move create_index and make it use the actual filenames instead of hard coded names
masak note to self: proto fails at building all projects at present. need to fix.
mberends let's fix it first before starting to change it. 10:22
masak aye.
at the very least, it shouldn't claim success when it fails. 10:23
mberends Use of uninitialized value in string ne at ./proto line 128. 10:24
$config_info->{'Parrot revision'} is probably empty. 10:25
masak looks at line 128 10:26
masak I think it should die if it's empty. 10:27
because download_parrot assumes that it contains a directory. 10:28
mberends config.proto is not cloned from github, it is generated locally. This one must be defaulted by an old version of proto.
masak hm.
you can see by the config version when it was generated.
I think we've had three distinct config versions so far, all undocumented. 10:29
mberends 2009-03-17
masak that's the latest one.
oh, and the verbose comments are slightly out-of-date, I think.
masak ok, leaving for lunch now. 10:34
will be back in a few hours.
&
mberends o/
masak \o
pugs_svn r26448 | szabgab++ | Smart::Links small refactor 10:43
moritz_ szabgab++ # the smart links in S32/Str.html actually work ;-) 11:10
pugs_svn r26449 | szabgab++ | Smart::Links move the content of the smarlinks.pl script to the package keeping only a wrapper in the old place 11:30
moritz_ ERROR: Could not parse smartlink in line 21 '# L</S05/Modifiers/With the new C<:ov> (C<:overlap>) modifier,>' in file 't/spec/S05-modifier/overlapping.t'
what's wrong with that? 11:31
pugs_svn r26450 | moritz++ | [t/spec/S32-array] smartlinks 11:35
moritz_ hilights szabgab in hope for explanation ;-) 11:39
pugs_svn r26451 | szabgab++ | Smart::Links rename the syn-dir parameter to be pod-dir
szabgab lemme check
pugs_svn r26452 | moritz++ | [t/spec] more smartlink fixing
szabgab moritz_, leading / 11:42
moritz_ ah
thanks
pugs_svn r26453 | szabgab++ | Smart::Links add test case for leading slash 11:45
r26454 | moritz++ | [t/spec] more smartlink fixes
szabgab hmm previous run: 11:47
814 smartlinks found and 161 broken in 702 test files (248 test files had no links).
now:
808 smartlinks found and 136 broken in 702 test files (248 test files had no links).
moritz_ I fixed a few ;-)
szabgab broken are down by 25 while found links are up by only 6 11:48
moritz_ I removed some Apocalypses smart links 11:48
don't know if it were that many, though
hm 11:50
szabgab just let me know if you find links that are not accounted for in the display
moritz_ 6 smartlinks where remvoed
szabgab the diff I show is not for the last change only, but a few of the changes you made
moritz_ "814 smartlinks found" -> "808 smartlinks found" 11:51
that's what you pasted
szabgab ah, that went down too 11:52
I am not that good at math, you know
pugs_svn r26455 | moritz++ | [t/spec] more smartlink fixing 11:54
pugs_svn r26456 | moritz++ | [t/spec] corrected test as pointed out by PhatEddy++ 12:00
moritz_ szabgab: one more thing... there are some non-breaking spaces in section names (ie Perl\NS6)... could they be treated equal to normal spaces? 12:03
szabgab: they cause quite a lot of trouble, because most editors don't show the difference
szabgab I am not sure I understand
can you show an example?
s/show/point to/
moritz_ S03/Changes to Perl 5 operators/ 12:04
the space between Perl and 5 is a non-breaking space
when you write an ordinary blank in that point, the smart links used to fail
saying "no such section" or so
szabgab in which file is that ? 12:05
moritz_ the section header is in S03-operators.pod
szabgab and why would we want to write such things ?
moritz_ because we don't want line breaks between 'Perl' and '5'
and because TimToady is a linguist ;-) 12:06
t/spec/S03-operators/assign.t shows a good example for a smartlink to that
at least when in double quotes the space should be equivalent to non-breaking space IMHO 12:07
pugs_svn r26457 | szabgab++ | Smart::Links some Pugs specific things to be turned on if PUGS_SNARTLINKS is set 12:09
szabgab so if I understand you correctly you would like to write regular breaking space in the .t file in the smartlink 12:10
moritz_ aye
szabgab but allow that to match even if the target used non-breaking spaces
moritz_ right
pugs_svn r26458 | moritz++ | [S02] small POD improvement 12:11
szabgab I have not idea how to do that, but I'll add this as a TODO item for now
moritz_ turn space into the regex [ $nbsp] ? 12:12
szabgab maybe [\s$nbsp] ? 12:14
pugs_svn r26459 | moritz++ | [t/spec] more smartlink fixes 12:15
moritz_ yes
[\s$nbsp]+ actually ;-)
szabgab and how do I write the content of $nbsp in Perl ? 12:16
szabgab actually I think it would be more correct -linguistically- if we required the non-breaking spaces in the smartlinks as well 12:17
moritz_ use charnames ":full";
my $nbs = "\N{NO-BREAK SPACE}"
moritz_ szabgab: I know it's not correct, but would be *very* convenient ;-) 12:17
frettled Somehow, I think it's wrong to say that this is linguistics, it looks like typography to me. :) 12:18
szabgab isn't typography just written lingustics ? :-) 12:19
frettled NBSP is a hack for computer-created typography. ;)
pugs_svn r26460 | moritz++ | [t/spec/S32-num] fix all smartlinks in this dir
frettled szabgab: not really. Ligatures are (typically) typographic tricks. 12:20
the non-breaking space is a computer-typographic trick to enforce a specific rule in print.
The semantics of e.g. 􏿽xABPerl 6􏿽xBB is unchanged.
In other words, I think allowing a regular space to match (in context of smartlinks) would be correct. 12:21
pugs_svn r26461 | szabgab++ | Smart::Links -add the environment variable to the calling script as well
frettled (I also think that it's wrong to _require_ a non-breaking space in the documentation, unless there are sound typographic reasons for doing so.)
</soapbox>
pugs_svn r26462 | moritz++ | [t/spec] fix smartlinks in S32-str
pugs_svn r26463 | moritz++ | [t/spec] fix smartlinks in S32-list 12:22
r26464 | moritz++ | [t/spec] fix smartlinks in S32-hash 12:24
frettled szabgab: perhaps the ws subrule would be better for matching? 12:26
moritz_ frettled: it's still written in Perl 5
frettled woops. 12:27
well, at least nbsp is a defined entity in Perl 5 regexps, IIRC. 12:28
moritz_ frettled: how so? 12:29
frettled moritz_: I thought it was included in [[:space:]]
pugs_svn r26465 | moritz++ | [t/spec] fix some of the S12/Roles smartlinks
frettled Maybe I'm misremembering. Hmm. *fiddle*
frettled Yep, I'm misremembering. 12:31
\s matches the non-breaking space iff the string being matched is UTF-8 encoded. 12:32
moritz_ perl -Mcharnames=:full -wE 'say !! "\N{NO-BREAK SPACE}" ~~ /[[:space:]]/'
# empty line
hurm
mberends @tell masak proto, rakudo and projects all install in same directory now.
lambdabot Consider it noted.
moritz_ enough smartlinks fiddling for today, at least for me ;-) 12:33
down to 68 broken 12:34
frettled If I only could recall how to generate a non-breaking space on my Mac. Hrms. 12:35
moritz_ in vim it's Ctrl+k NS 12:39
frettled pastebin.com/dbc4cd03 12:42
buubot frettled: The paste dbc4cd03 has been copied to erxz.com/pb/17247
frettled (that's 5.8.8, btw)
huh, neat paste grabber. 12:43
frettled (okay, the test I wrote is FUBAR, since it was written with a single space in mind) 12:44
Anyhoo, the point is that even in Perl 5.8, \s matches the nbsp in the current synopses documents. 12:46
PhatEddy moritz_: So at least the tests in the ticket directory seem to be tests for tickets that have no other tests and I am wondering what to do with them ... 12:47
moritz_ PhatEddy: I'd say merge them into other test files where similar features are tested, and fudge them for rakudo 12:48
frettled moritz_: \s even works with Latin-1, apparently.
moritz_ frettled: in theory perl5 is encoding-agnostic as long as the strings have been decoded 12:49
PhatEddy In case I start to worry about breaking "make spectest", is there anything wrong with submitting the tests as patches on replies to the tickets? 12:53
moritz_ don't worry about breaking rakudo; just merge them, try it, and when it breaks, fudge them. If you can't get it run, ping me, and I'll fix it. 12:54
tests in the test suite are much more convenient than patches in RT
PhatEddy thx ... I'll try that way then ... 12:55
mberends @tell masak updated proto builds Rakudo r38250 using 1.4GB RAM on amd64, installs november and form ok. 13:00
lambdabot Consider it noted.
pugs_svn r26466 | baest++ | Fix number of tests 13:22
baest the version of parrot (38282) rakudo uses, segfaults on freebsd. The newest version of parrot 38367 doesn't segfaults and rakudo built on top on that passes all spectests, so is it possible to bump build/PARROT_REVISION? 13:24
jnthn Don't see any reason why not. 13:25
baest jnthn: cool, I can submit a ticket if that's easier 13:26
jnthn ah, you were asking for somebody to do it rather than permission :-) 13:30
baest both 13:32
I can't do it myself
:)
jnthn baest: OK, doing it. 13:33
baest jnthn: yeah, thanks
pugs_svn r26467 | pmurias++ | [re-smop] added Capture.elems 13:40
LylePerl For those who don't monitor #parrot, we managed to narrow down and fix the realclean issue on Win32 14:05
jnthn: ping 14:06
jnthn LylePerl: hi 14:08
LylePerl jnthn: Hi 14:09
LylePerl I read your bio recently, very impressive acedemics 14:09
acedemics = academics (mine aren't so good)
jnthn :-) 14:10
LylePerl I'm starting a masters in software dev this year, so hopefully I can catch up :)
jnthn Ah, nice. :-)
jnthn isn't missing the university life just yet, though hasn't ruled out going back some day. 14:11
LylePerl I was wondering if you had chance to look at my $*CWD and chroot patches
LylePerl feels bad he's being impatient
It's just that it's holding me back putting november on IIS 14:13
Well I'm 27 and I'm only just doing my masters... 14:14
LylePerl hopes he won't look too out of place at uni 14:15
azawawi masak: ping 14:16
jnthn heh, most people think by looking at me that I'm a bunch older than I am
No, I didn't look at the patches yet. I'm still catching up on sleep and non-Perl 6 stuff from after NPW at the moment...
pugs_svn r26468 | pmurias++ | [re-smop] ported over the PRIMITIVES:: package 14:17
LylePerl ok. I'm sorry I missed the NPW, looks like it was a lot of fun. Wish I had the time/money :/ 14:21
azawawi wishes to see any blog posts on what happened in NPW 14:22
skids_ Yeah, feed the cube rats, someone :-)
jnthn I just scribbled this post: use.perl.org/~JonathanWorthington/journal/38875 14:25
skids_ jnthn: thanks a bunch, I'll look forward to the new ROADMAP then. 14:28
Did the .leave and other control structures get much attention? 14:29
moritz_ jnthn: ... 'is that the prefix: operator is now dead' I HAZ EATED TEH <=> 14:30
skids_ thinks japhb's dillemna with constants is going to pop up often. 14:33
jnthn oh, I hate use.perl.org... 14:35
moritz_: Fixed, thanks. 14:36
skids_: .leave was mentioned 14:37
skids_: What other control structures are you thinking of?
FIRST { ... } blocks, for example?
skids_ Well of course my favorite is take :-) 14:38
jnthn Ah, the take in a while loop issue? 14:38
skids_ Specifically being able to LABEL.take
jnthn No discussion on that one, no. 14:39
Or I should say
None that I was part of.
It may have happened when I was elsewhere though.
masak reappears 14:40
lambdabot masak: You have 2 new messages. '/msg lambdabot @messages' to read them.
masak ooh, LABEL.take. yes, please. 14:41
skids_ On the typed array thing I did find a corner case that got missed, RT#65128
masak @messages
lambdabot mberends said 2h 8m 18s ago: proto, rakudo and projects all install in same directory now.
mberends said 1h 40m 33s ago: updated proto builds Rakudo r38250 using 1.4GB RAM on amd64, installs november and form ok.
masak mberends++
jnthn oh hai masak
masak oh hai
masak jnthn: ako sa máš? 14:42
jnthn my Num List sub f () { return () }; # compile error?
std: my Num List sub f () { return () };
p6eval std 26468: OUTPUT«##### PARSE FAILED #####␤Malformed my␤Multiple prefix constraints not yet supported at /tmp/qT9wqsJX5d line 1:␤------> my Num List sub f () { return () };␤ expecting typename␤FAILED 00:02 35m␤»
jnthn masak: dobry, dakujem...ale trochu unaveny. a ty? 14:43
masak jnthn: that one is in RT already.
jnthn masak: Yeah. Seems I can deal with the ticket easy enough by making us Fail. ;-)
masak jnthn: tiez dobry.
jnthn I guess they meant List of Num
masak guess so.
jnthn masak++ # learning slovak
pugs_svn r26469 | szabgab++ | Smart::Links remove the hardcoding of S26, recognized perl 6 pod based on content
masak :) 14:44
szabgab jnthn, hi
jnthn std: my List of Num sub f () { return ("A") };
p6eval std 26468: OUTPUT«ok 00:04 35m␤»
jnthn rakudo: my List of Num sub f () { return ("A") };
p6eval rakudo da2c6c: OUTPUT«Use of protoobject as value␤»
jnthn oh, ah, yes...because List can't akshually be parametric until The Refactor happens. 14:45
szabgab: hi
szabgab how is Padre installation progressing ?
jnthn Well, padre.perlide.org/wiki/Download crashes my Firefox, which doesn't help things... 14:46
masak thinks a crashing Firefox is par for the day 14:47
szabgab jnthn, talk to your vendor
FF crashes quite often for me but not on that page 14:48
yet
www.wxperl.co.uk/repository www.perlide.org/download/ppm/ there are the two ppm repos you need to add
and then install Padre should work 14:49
on ActivePerl 5.10
jnthn OK, added them to my repository list
And installing the WX things now...let's see how this works. 14:50
jnthn oh, damm, I still only have 5.8.8 here 14:51
pugs_svn r26470 | ron++ | add test for override of builtin, RT 58948 14:54
masak that's, like, so 2006. 14:55
jnthn szabgab: so, upgrading my Perl now, then will give this another shot.
PhatEddy That was my first spec test commit (ron) if anyone may feel concerned ... 14:56
masak PhatEddy++ 14:59
jnthn watches ppm install a bunch of packages 15:00
Installing File-Slurp-9999.13 # now there's a version number... 15:02
szabgab: OK, I have installed and can run Padre. 15:07
:-)
jnthn changes the current line marker to a slightly more pallatable shade of yellow, but otherwise thinks it looks ok. :-) 15:11
szabgab jnthn, great, then you might want to install some of the Plugins as well, unfortunatelly they are not yet packaged as ppms 15:19
jnthn szabgab: Yeah, I noticed that. Guess I will need to grab 'em from CPAN.
szabgab: Is the Perl 6 on Rakudo plug-in still shelling out to Parrot or is it using embedding? 15:21
szabgab neither 15:22
azawaw hijacked it back to use STD again
we are just discussing it how to make the two stichable 15:23
switchable
jnthn oh, I thought there were two seperate plug-ins and you picked one...
OK, I dont' have any tuits right now to hack on things anyway.
szabgab no I was too lazy for that 15:23
szabgab np 15:24
jnthn But might find some to help with the embed-not-run effort later
Since it'd probably get a decent performance win.
szabgab I hope in a few days we'll have the both highlighters work and fight for attention
jnthn cool :-) 15:25
szabgab for now I back to play with smartlinks
jnthn will probably do a Rakudo Day on Tue 15:26
masak YaY 15:27
jnthn And antoher Thu or Fri I guess.
masak a good week to look forward to, sounds like.
jnthn Hopefully. :-) 15:28
Am planning to do lots of Rakudo stuff in May too.
masak will it be a feature month or an RT month?
moritz_ featrmonth? ;-) 15:29
masak how do I detect which release of Rakudo I'm running? 15:30
rakudo: say $?VERSION 15:31
p6eval rakudo dac188: OUTPUT«Scope not found for PAST::Var '$?VERSION' in ␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:104)␤»
jnthn masak: Both. :-)
masak jnthn: I should have seen that one coming. :) 15:32
pugs_svn r26471 | szabgab++ | Smart::Links add documentation and some smartlinks to point to the documentation 15:58
skids_ On constants from NCI APIs: 16:09
In an ideal world, one could dispense with the library prefixes on constants when they are tedious, e.g. "GLUT_" 16:10
And at the same time still work with them outside of the class
And at the same time not pollute the namespace 16:11
(somehow, have the cake and eat it too)
One way might be to somehow allow the class namespace to leak into the argument () area. 16:12
(on the class's methods) 16:13
Or there might be a macro-ish solution with the currently specced tools that is not too onerous. 16:15
skids_ Like maybe we should allow parameters to take an "is parsed" trait. Done at compile time, if the constraints are tight enough. 16:53
And the "is parsed" would happen in the namespace of the class that owns the method/sub.
skids_ So you could have e.g. glutInitDisplayMode(DOUBLE | RGBA); even though DOUBLE and RGBA are not in the invoking namespace. 16:54
japhb skids_: Just FYI, not able to chat right now, but am following your comments, and will read back later, so please do continue to muse .... :-) 17:00
skids_ :-) 17:01
I think that the issue is going to have a pretty big impact on the "ick factor" of API shim code in Perl6. 17:02
pugs_svn r26472 | szabgab++ | Smart::Links add more smartlinks 17:09
azawawi hi 17:22
jnthn: thanks for writing use.perl.org/~JonathanWorthington/journal/38875. It was really informative. 17:23
pugs_svn r26473 | szabgab++ | fix some more smartlinks in the spec tests 17:24
jnthn azawawi: welcome. :-) 17:27
mberends szabgab: for Padre, is wxWidgets 2.8.8 very necessary? Debian Stable (Lenny) has only 2.8.7 :(
szabgab I think yes
of course you can try to force install and see what blows up 17:28
azawawi szabgab: and rakudo/PGE syntax highlighting will be back soon once i finish the STD method/attribute parsing...
mberends good idea :) will do it shortly
szabgab azawawi++
mberends, of course any crash you'll encounter we'll blame on the old version of wxWidgets... 17:30
jnthn azawawi: Great. Once it's back, I may find tuits to hack on getting the Parrot based one to be done through embedding.
szabgab azawawi, we should strive for a more generic Parrot based highlighter for any language using the Compiler Toolkit 17:31
azawawi szabgab: sure... 17:32
azawawi jnthn: To see Padre Perl6 STD syntax highlighting, padre.perlide.org/wiki/Screenshots 17:35
pmurias skids_: | creates a junction in Perl6 it's not a binary or 17:40
jnthn azawawi: Nice! 17:41
mberends szabgab: Debian testing and unstable also use wxWidgets 2.8.7 :( The Ubuntu site has help for getting 2.8.8 from apt.wxwidgets.org, trying that next... 17:54
masak frettled: as promised: use.perl.org/~masak/journal/38876
mberends masak++: :-) 17:57
azawawi masak: about testing November with STD, i will add within this weekend November to t/spec syntax highlighting cron job. and will provide a log file of the results.
jnthn masakposts. They get more random each time. :-)
moritz_ ;-) 17:58
aye
but in a nice way
masak jnthn: I'd like to asymptotically approach _why's writing if I can.
jnthn oh yes :-)
jnthn can't wait for the one without any nouns
masak jnthn: I hope I get a good reason to write one. 17:59
and one without prepositions, perhaps. 18:01
azawawi: excellent.
azawawi masak++ # for the last post :) 18:02
masak azawawi: I've just set up automated testing on feather. still haven't figured out how to generate the Smolder HTML, but I know Pugs does it, so I will look there.
I'm glad you all like my post. :)
I'm glad mst++ started the Ironman challenge, it has made me re-appreciate blogging. 18:04
moritz_ speaking of blogging, I'm preparing another tidings post right now. 18:15
masak YaY
moritz_: I'll come right out and make another promise: I want to mirror your recent "Things that work in Rakudo now" with a "Things I would like to see implemented in Rakudo" 18:16
sort of a good-cop/bad-cop thing. 18:17
moritz_ ;-)
nopaste.snit.ch/16413 # tidings preview 18:19
corrections and addtions welcome ;-)
masak loves previews
moritz_: should 'join builtin' perhaps be 'join method'? 18:21
(since it's not possible not to provide the join sub with a delimiter)
moritz_ good catch
jnthn "...thus enabling for example the Trig export, so that
you can now say <code>use Num :Trig;</code> to import trigonometric
functions." - oh awesome, I didn't know that had been done! 18:22
cspencer++
moritz_ rakudo: say acos(0.2)
p6eval rakudo c4f676: OUTPUT«Could not find non-existent sub acos␤current instr.: '_block14' pc 60 (EVAL_16:41)␤»
moritz_ rakudo: use Num :Trig; say acos(0.2)
p6eval rakudo c4f676: OUTPUT«1.36943840600457␤»
jnthn ftw! 18:23
moritz_: Post looks good.
masak moritz_: good post. I like.
moritz_++
moritz_ did mst already put up his aggregator? 18:24
jnthn ironman.enlightenedperl.org/ 18:26
masak ooh, nice! 18:27
moritz_ one more item for my rss feed ;-) 18:29
masak is really hungry now 18:33
time to head home.
jnthn suggests nom
masak see you tomorrow, #perl6!
masak likes the idea about nom
jnthn o?
o/ # oops
masak jnthn: that upper one looks like a person scratching their head ;) 18:34
masak goes to find nom
jnthn masak: Yeah, I thought the same... ;-) 18:35
moritz_ ouch, that RSS feed is *really* slow 18:36
or maybe it's my connection that's so slow
azawawi moritz_: so my and our attributes inside a p6 class are like static variables in Java, right? 18:42
moritz_ azawawi: yes
pasteling "skids" at 71.192.212.78 pasted "zip/roundrobin, now actually return LoL not LoArray" (144 lines, 4.5K) at sial.org/pbot/36234 18:43
azawawi moritz_: thx 18:44
moritz_ ouch, it seems the ironman feed has picked up all of my old blog posts :/ 18:45
skids_ pmurias: as to what | does above, it would be up to the module implementing the "is parsed", though most would probably use Perl6 ops rather than implement a full C style bitops set. 18:53
oops, I'll timed.
pugs_svn r26474 | moritz++ | [t/spec] a few more fixed smartlinks; down to 56 broken 18:56
azawawi moritz_: added support for private method and attributes, feather.perl6.nl/~azawawi/Padre-Plu...ibutes.png 19:21
alester /join #gcc 19:34
meppl good night 19:40
moritz_ kills dalek in the hope that the respawned dalek does a better job at reporting 20:10
moritz_ std: Foo::_foo() 21:15
p6eval std 26474: OUTPUT«Undeclared name:␤ Foo::_foo used at 1 ␤ok 00:02 35m␤»
pmurias skids_: in Perl6 use imports into the lexical scope by default 21:20
so namespace polution is not an issue
skids_: passing flags as or'ed integers is a Cism and can be replace with named arguments in most cases 21:25
jnthn Named arguments would probably make quite a nice interface.
skids_ Yes if you are going to "do it right" you'd want to rework the entire API. 21:33
But that may be more effort and/or some module writers may want a feel-alike. 21:34
skids_ That and some APIs may be autogen from headers. 21:36
pmurias skids_: one might want to write my $flags = DOUBLE | RGBA;glutInitDisplayMode($flags);
skids_ Yeah, that would be $flags = new Glut::Mode (DOUBLE | RGBA). 21:37
erm, well Glut::Mode.new
pmurias polluting the lexical scope isn't a very big thing 21:38
skids_ Depends whether the API you are doing will create collisions with keywords.
And other API defines.
(constants) 21:39
pmurias skids_: making constants visible only inside arguments lists seems to me too much of a magic rule 21:40
* argument
skids_ Yeah well, I'm not sold on it myself, just a suggestion. We'll see what the first few attempts at NCI interfaces yield and whether they "make Perl6 proud" 21:42
Maybe the existing spec will be cleverly utilized. Maybe there will be holes.
The biggest problem I see with an "is parsed" param trait is that you have to lock down the MMD by making it not a multi or typing carefully your vars. 21:43
Otherwise the parse would have to be runtime.
Personally the part about special syntax in parameter lists does not bother me because people can do it anyway with a Str param. 21:44
This would just be allowing it to compile efficiently (and to not use the quotes)
pmurias skids_: you can quasi-quotes your custom languages 21:46
skids_ The quotes are not serious consideration here, just a fringe benefit. 21:47
pmurias skids_: macros can already do what you are proposing
skids_ Yes this would just be a way to fit a macro in where you really want it. 21:48
I guess we will know if NCI implementers start resorting to marco-izing their whole APIs. 21:49
Then something like that would be more worth consideration, to discourage that.
japhb skids_: GL (and all of its various hangers-on) is one of those APIs that people definitely want feel-alike wrappers for; the most I see shim authors do is convert all of the glFoo[1234]{type} in the C layer to just glFoo (and have the shim either dynamically or via MMD determine the proper variant to call) 21:56
pmurias hOpenGL does it and it's pretty annoying 21:57
japhb Fundamentally, it's an API that wants to be fully exported, because it's pretty good about namespace prefixes, and as a performance-critical API, any overhead is strictly to be avoided.
pmurias: "it"?
pmurias dropping the {type} 21:58
as one has to cast floats into GLfloats all over the place
japhb pmurias: Oh yeah. Silently assuming float everywhere doesn't allow you to optimize e.g. space required for index arrays. 21:59
A lot of GL shims use their language's C type array facility (ctypes or numpy for Python, PDL or OpenGL::Array for Perl, and so on). But if you can't choose any data type other than float, you lose a lot of power there. 22:00
pmurias: blech. You should never have to do casting to use GL. The few places where coersion is desired, the API has entry points explicitly for that. 22:01
pmurias japhb: hOpenGL didn't now if 0 was a float or an int so you had to cast it into GLfloat
japhb EWWW. 22:02
japhb SDL::OpenGL used to have bugs that interacted badly with Perl 5's constant attempts to int-ify internally. They'd pull the intval and call the float entry point, or vice versa. 22:03
pmurias japhb: Perl 6 has buf* types so passing raw data shouldn't be a problem 22:05
hopengl used Ptr () which is just a haskell version of void* 22:06
japhb In any case, I still need to figure out what to do about the GL constants. My local install defines 4248 of them. I need to find a way to express that to Rakudo that isn't going to run smack into compile-time scalability problems, while still being efficient at run time. 22:06
Then again, maybe I *should* expose any compile-time scalability problems. :-) 22:07
pmurias: nodnod. Unfortunately, I get the strong feeling that buf* will be a long time coming. Especially since Parrot's NCI data types model is not nearly as general as Perl 6 wants. 22:08
jnthn japhb: You're not the first to want Buf.
japhb: I'm kinda aware it's wanted... 22:09
Not worked out exactly what it needs or how to do it yet.
skids_ :-)
japhb jnthn: I didn't mean to imply that the Rakudo team was the blocker. Rather, I think Parrot NCI is the blocker.
jnthn That may well be the case.
japhb It's hard to express something in an HLL that the VM can't wrap its head around. :-) 22:10
pmurias japhb: does turning the constants into subs cause problems?
japhb pmurias: Hadn't tried yet (I've been distracted with @family) ... was going to ask if that was the consensus recommendation.
skids_ Inlines, one would hope -- but do we do inlines yet? 22:11
jnthn skids_: No, but I expect anything declared with constant we will make a good effort to inline sooner than any more general mechanism for inlining appears. 22:13
japhb jnthn: what syntax should I use ... I'm going to hack up something to convert the PASM macro file into something Rakudo can eat. 22:15
jnthn rakudo: constant foo = 123; 22:22
p6eval rakudo c4f676: OUTPUT«Malformed declaration at line 1, near "foo = 123;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
jnthn rakudo: constant $foo = 123;
p6eval rakudo c4f676: ( no output )
jnthn rakudo: constant $foo = 123; say $foo;
p6eval rakudo c4f676: OUTPUT«123␤»
jnthn japhb: The second one works now, though it ain't inlining and stuff yet.
jnthn japhb: If the first (without the sigil) is much better to you, I don't think it's so much work for me to implement. 22:23
Had pondered getting it in place recently anyway, then got distracted with something else.
japhb jnthn: that would definitely be happy-making
thank you
jnthn OK, I'm hacking on Rakudo on Tuesday, will try and do it then.
japhb excellent
jnthn Don't promise inlining, but may manage that too. 22:24
skids_ Where are sigil-less constants specced? 22:27
moritz_ in S03, S04 and S06 are examples 22:29
moritz_ probably S04 22:29
skids_ I've only found sigiled examples so far. 22:31
Ah, yes, S04 22:32
moritz_ S04 22:33
102: constant Num π = atan(2,2) * 4;
japhb What is the scope of constants? Are they 'our', and thus exportable? 22:35
skids_ "lexically scoped name for a compile-time constant" 22:36
moritz_ lexically scoped = like "my"
moritz_ bed & 22:36
japhb Hmmm. That leaves the problem of how I make a module of them.
I mean, it's nice for a setting and all, not so much for a normal module. 22:37
frettled @tell masak (expt masak 2) for that blog post 22:44
lambdabot Consider it noted.