Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-04-26

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:26 eternaleye joined #perl6
00:36 rewt` joined #perl6
01:22 pasteling "japhb" at 76.191.190.8 pasted "Looking for a better way to handle great gobs of constants" (28 lines, 645B) at http://sial.org/pbot/36226
01:22 sri_kraih_ joined #perl6
01:58 perlmonkey left #perl6
02:06 amoc joined #perl6
02:26 s1n1 joined #perl6
02:37 alester_ joined #perl6
03:01 Eevee joined #perl6
03:07 meppl joined #perl6
03:15 meppuru joined #perl6
03:17 pugs_svn r26434 | lwall++ | [STD etc.] more gimme5/viv convergence
03:57 skids_ japhb: note Q
03:58 skids_ japhb: note Q:PIR is a quoting construct and might be able to interpolate
03:58 skids_ havn't tried that, but it may.
04:20 kate21de joined #perl6
04:20 mberends joined #perl6
04:35 pugs_svn r26435 | lwall++ | [STD] nouns shouldn't dangle from terminator nodes
04:59 davidad joined #perl6
05:01 szabgab joined #perl6
05:12 justatheory joined #perl6
05:28 Eevee joined #perl6
05:40 Eevee joined #perl6
05:50 goksie joined #perl6
06:00 meppl joined #perl6
06:00 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)␤»
06:00 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "{"␤    expecting ":", "(" or operator␤    at /tmp/j3TT4HtiFC line 1, column 23␤»
06:00 p6eval ..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 {
06:00 eternaleye perl6: my $foo = foo; qq:PIR { .say $foo };
06:00 eternaleye grr
06:00 eternaleye perl6: my $foo = "foo"; qq:PIR { .say $foo };
06:01 p6eval ......
06:01 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:01 p6eval ..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 {
06:01 p6eval ......
06:01 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "{"␤    expecting ":", "(" or operator␤    at /tmp/tjfrsvZPbc line 1, column 23␤»
06:01 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:01 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "{"␤    expecting ":", "(" or operator␤    at /tmp/OpBWZkPtf2 line 1, column 25␤»
06:01 p6eval ..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\";
06:01 p6eval ..qq...
06:01 eternaleye perl6: my $foo = "foo"; Q:qq:PIR { .say $foo };
06:01 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\";
06:01 p6eval .....
06:01 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:01 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "{"␤    expecting ":", "(" or operator␤    at /tmp/WGTbbUar6Y line 1, column 27␤»
06:03 eternaleye buubot: spack quoting
06:03 buubot eternaleye: S02-bits.pod:10 S05-regex.pod:1 S06-routines.pod:4
06:08 eternaleye perl6: my $foo = "foo"; Q :qq :PIR { .say $foo };
06:09 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 p6eval ..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 =
06:09 p6eval ..\"foo\"...
06:09 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "$foo"␤    expecting operator or "}"␤    at /tmp/0eSYVOpV8E line 1, column 36␤»
06:09 eternaleye perl6: my $foo = "foo"; Q :PIR :qq { .say $foo };
06:09 p6eval pugs: OUTPUT«*** ␤    Unexpected "$foo"␤    expecting operator or "}"␤    at /tmp/OpwrUqgdTi line 1, column 36␤»
06:09 p6eval ..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)␤»
06:09 p6eval ..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 =
06:09 p6eval ..\"foo\"...
06:09 eternaleye perl6: Q:PIR { .say "foo" };
06:09 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,
06:09 p6eval .....
06:09 p6eval ..rakudo 705ecc: OUTPUT«error:imcc:syntax error, unexpected DOT ('.')␤     in file 'EVAL_15' line 43␤»
06:09 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "{"␤    expecting ":", "(" or operator␤    at /tmp/5dbU45Jg07 line 1, column 7␤»
06:10 eternaleye perl6: Q:PIR { say "foo" };
06:10 p6eval pugs: OUTPUT«*** ␤    Unexpected "{"␤    expecting ":", "(" or operator␤    at /tmp/sytbxi345I line 1, column 7␤»
06:10 p6eval ..rakudo 705ecc: OUTPUT«foo␤»
06:10 p6eval ..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,
06:10 p6eval ..@b...
06:10 eternaleye Hm, it seems Q:PIR is special-cased rather than :PIR being an adverb on the quote operator like :w and :qq
06:18 mberends eternaleye: that's right, because PIR is specific to Parrot only.
06:21 ejs joined #perl6
06:37 davidad joined #perl6
06:39 zamolxes joined #perl6
06:54 pugs_svn r26436 | szabgab++ | Smart::Links more error messages
07:00 szabgab rakudo: say [*] 1, 2, 3
07:00 lambdabot szabgab: You have 1 new message. '/msg lambdabot @messages' to read it.
07:00 p6eval rakudo 705ecc: OUTPUT«6␤»
07:00 szabgab rakudo: say [^^] 1, 1
07:00 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)␤»
07:18 szabgab moritz_, the S32 specs are in http://perlcabal.org/syn/S32/
07:26 eternaleye joined #perl6
07:30 pugs_svn r26437 | szabgab++ | point smarlink to S32::Str and add some more tests to p5chop
07:31 pugs_svn r26438 | szabgab++ | change some legacy smartlinks to new format
07:37 eternaleye joined #perl6
07:47 iblechbot joined #perl6
07:47 szabgab rakudo: chop("abc")
07:47 p6eval rakudo 705ecc:  ( no output )
07:47 szabgab rakudo: say chop("abc")
07:47 p6eval rakudo 705ecc: OUTPUT«ab␤»
07:47 szabgab rakudo: say chop("")
07:47 p6eval rakudo 705ecc: OUTPUT«␤»
07:50 pugs_svn r26439 | szabgab++ | fix smartlink, add more chop() tests
07:51 eternaleye joined #perl6
07:54 eternaleye joined #perl6
07:55 AzureStone joined #perl6
07:56 wahnfrieden_ joined #perl6
07:56 ejs joined #perl6
07:56 wahnfrieden_ anyone use the perl wikipedia scraper in CPAN?
07:57 wahnfrieden_ im having trouble parsing this site http://en.wikipedia.org/wiki/Phimosis
07:57 wahnfrieden_ take a look, is there something in particular about it?
07:57 szabgab moritz_, btw I was looking for the index.html file that is in http://perlcabal.org/syn/ but I could not find it, is it in SVN ?
07:59 mberends wahnfrieden_, the wikipedia scraper is Perl 5, and this channel discusses only Perl 6.
07:59 wahnfrieden_ im trying the 6 trunk version
07:59 wahnfrieden_ can you just follow the link?
08:07 eternaleye joined #perl6
08:12 wahnfrieden_ left #perl6
08:12 eternaleye joined #perl6
08:13 pugs_svn r26440 | szabgab++ | link to the S32 html docs from the main page of /syn
08:17 zamolxes joined #perl6
08:26 abra joined #perl6
08:28 pugs_svn r26441 | szabgab++ | point several smartlinks to the S32::Str specs
08:29 rfordinal joined #perl6
08:33 charsbar_ joined #perl6
08:37 masak joined #perl6
08:40 * moritz_ takes a look at the Num smartlinks
08:40 masak happy Sunday, everbody!
08:40 moritz_ oh hai.
08:41 pugs_svn r26442 | moritz++ | [t/spec] fix a few S32-num smartlinks
08:43 szabgab moritz_, masak mberends hi
08:43 masak szabgab: o/
08:44 szabgab I think I fixed the main index page of http://perlcabal.org/syn/ to have links to the S32/ files but it still waits for the next run in 16 minutes or so
08:45 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
08:45 M_o_C joined #perl6
08:45 szabgab then maybe you can also change the -css param to be  /syn/perl.css
08:46 moritz_ I see lots of warnings
08:46 moritz_ 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.
08:46 moritz_ many pages of them
08:47 szabgab looking at it
08:49 pugs_svn r26443 | moritz++ | use absolute paths to css in the syn htmls
08:49 szabgab oh now the links are in S32
08:50 szabgab strange
08:50 szabgab I'll take a look at those warnings
08:51 eternaleye joined #perl6
08:51 moritz_ szabgab: would you like to see a complete transcript of the scripts output?
08:51 szabgab no thank
08:51 szabgab s
08:51 szabgab first I'll write a bunch of unit tests for that part of the code
08:52 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
08:53 szabgab yeah, those stats are at the top of http://perlcabal.org/syn/stats.html  too
08:55 szabgab interesting, the smartlinks disappeared again from the http://perlcabal.org/syn/S32/Str.html page
09:03 abra joined #perl6
09:07 mberends masak, szabgab hi.pong(); # like the smartlinks
09:08 DemoFreak joined #perl6
09:10 pugs_svn r26445 | azawawi++ | [S:H:P6] Bundled latest STD in version 0.46
09:10 eternaleye joined #perl6
09:20 sri_kraih joined #perl6
09:28 pugs_svn r26446 | szabgab++ | Smart::Links move more code from the script to the module
09:32 fridim_ joined #perl6
09:35 masak hacking on proto today.
09:35 masak proto has now been updated to download Bratislava.
09:36 masak 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:37 abra joined #perl6
09:37 masak there are a few overriding concerns that have led to the current design.
09:37 masak but I don't doubt that the same restrictions could lead to a saner way to do things.
09:42 masak @ask pmichaud no http://www.pmichaud.com/perl6/rakudo-2009-04.tar.this month?
09:42 lambdabot Consider it noted.
09:45 eternaleye joined #perl6
09:47 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:48 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:49 masak mberends: up until now, I've been a bit reluctant to act outside of the proto dir by default.
09:49 masak it feels like we don't know at all what permissions and stuff we have there.
09:50 masak 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:51 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:52 masak indeed.
09:52 mberends agreed the .zip content pollution is bad, but our tools never do that afaik.
09:52 masak the question is basically: how violated will the user feel if that's the default?
09:53 masak right now we err on the side of extreme caution.
09:53 mberends totally unviolated here. I have other techniques for that ;)
09:53 masak well, do you have proto in your ~ ?
09:53 mberends yes
09:53 masak ok. :)
09:54 masak you're slowly convincing me.
09:54 mberends and rakudo next to it, and proto's rakudo several turtles down.
09:54 masak now the two approaches seem equally valid to me.
09:55 masak 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.
09:55 masak by the way, we should probably write down the design bylaws for proto somewhere.
09:55 mberends as a section of WTOP.
09:55 mberends WTOL.
09:56 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 masak mberends: well, WTOP is a bit more general and a bit more specific, I think. :)
09:57 masak 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:58 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 mberends (they just have a deps.proto file left over)
09:59 sri_kraih joined #perl6
10:00 masak aye.
10:01 masak mberends: ok, let's do it that way instead. would you like the honour of patching the change into proto?
10:02 mberends ok, I have tuits and eagerness :)
10:02 masak :)
10:03 masak hm, proto failed to build rakudo on feather...
10:04 masak ah, virtual memory is exhausted on feather.
10:05 mberends how much memory is that? $ vmstat
10:06 amoc joined #perl6
10:06 masak swpd: 488, free: 628500, buff: 153416, cache: 879704.
10:08 masak ah well, using my already-installed rakudo for now.
10:09 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:10 masak proto wasn't too explicit in saying what was wrong. I should take the opportunity to make it more diagnostic.
10:11 masak argh, I'm stuck. my already-installed rakudo didn't have the fakecutable.
10:12 mberends :( o noes!
10:12 masak need to monkeypatch my proto to get it to work.
10:12 mjk joined #perl6
10:12 frettled masak: and then you should blog about it! :D
10:13 masak frettled: if only time were less limited...
10:13 masak frettled: in fact, I haven't had time to blog about proto yet.
10:13 frettled masak: hey, ten lines doesn't take many minutes.
10:13 masak frettled: you have a point.
10:13 frettled it's not mine, it's mst's :)
10:13 masak but I need to sort of introduce proto to the blogosphere first.
10:14 masak frettled: still, good point.
10:14 frettled just get writing, and pretend that it's already known.  :)
10:14 masak I'll make sure to blog about proto today.
10:14 frettled \o/
10:14 masak frettled: hey, that's a fun idea. I'll blog about proto as if it were well-known.
10:14 masak "as everybody knows by now..."
10:14 frettled >:->
10:15 masak "the march of success of the proto installed was hardly offset by the global recession..."
10:15 masak s/ed/er/
10:16 eternaleye joined #perl6
10:16 frettled brilliant
10:19 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)?"
10:19 mberends in github we trust. amen.
10:19 masak now, we _could_ pipe 'yes' into that command, so that the user isn't inconvenienced by having to answer 'yes' there.
10:20 payload joined #perl6
10:20 masak but is that... advisable?
10:21 masak 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
10:21 masak note to self: proto fails at building all projects at present. need to fix.
10:22 mberends let's fix it first before starting to change it.
10:22 masak aye.
10:23 masak at the very least, it shouldn't claim success when it fails.
10:24 mberends Use of uninitialized value in string ne at ./proto line 128.
10:25 mberends $config_info->{'Parrot revision'} is probably empty.
10:26 * masak looks at line 128
10:27 masak I think it should die if it's empty.
10:28 masak 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.
10:28 masak hm.
10:28 masak you can see by the config version when it was generated.
10:29 masak I think we've had three distinct config versions so far, all undocumented.
10:29 mberends 2009-03-17
10:29 masak that's the latest one.
10:29 masak oh, and the verbose comments are slightly out-of-date, I think.
10:34 Jedai joined #perl6
10:34 masak ok, leaving for lunch now.
10:34 masak will be back in a few hours.
10:34 masak &
10:34 mberends o/
10:34 masak \o
10:43 pugs_svn r26448 | szabgab++ | Smart::Links small refactor
10:55 eternaleye joined #perl6
11:10 moritz_ szabgab++ # the smart links in S32/Str.html actually work ;-)
11:16 eternaleye joined #perl6
11:22 eternaleye joined #perl6
11:30 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'
11:31 moritz_ what's wrong with that?
11:35 pugs_svn r26450 | moritz++ | [t/spec/S32-array] smartlinks
11:39 * moritz_ hilights szabgab in hope for explanation ;-)
11:39 pugs_svn r26451 | szabgab++ | Smart::Links rename the syn-dir parameter to be pod-dir
11:39 szabgab lemme check
11:39 pugs_svn r26452 | moritz++ | [t/spec] more smartlink fixing
11:42 szabgab moritz_, leading /
11:42 moritz_ ah
11:42 moritz_ thanks
11:45 pugs_svn r26453 | szabgab++ | Smart::Links add test case for leading slash
11:45 pugs_svn r26454 | moritz++ | [t/spec] more smartlink fixes
11:47 szabgab hmm previous run:
11:47 szabgab 814 smartlinks found and 161 broken in 702 test files (248 test files had no links).
11:47 szabgab now:
11:47 szabgab 808 smartlinks found and 136 broken in 702 test files (248 test files had no links).
11:47 moritz_ I fixed a few ;-)
11:48 szabgab broken are down by 25 while found links are up by only 6
11:48 amoc joined #perl6
11:48 moritz_ I removed some Apocalypses smart links
11:48 moritz_ don't know if it were that many, though
11:50 moritz_ hm
11:50 szabgab just let me know if you find links that are not accounted for in the display
11:50 moritz_ 6 smartlinks where remvoed
11:50 szabgab the diff I show is not for the last change only, but a few of the changes you made
11:51 moritz_ "814 smartlinks found" -> "808 smartlinks found"
11:51 moritz_ that's what you pasted
11:52 szabgab ah, that went down too
11:52 szabgab I am not that good at math, you know
11:54 pugs_svn r26455 | moritz++ | [t/spec] more smartlink fixing
11:56 PhatEddy joined #perl6
11:56 cognominal joined #perl6
11:57 mjk joined #perl6
12:00 pugs_svn r26456 | moritz++ | [t/spec] corrected test as pointed out by PhatEddy++
12:03 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 moritz_ szabgab: they cause quite a lot of trouble, because most editors don't show the difference
12:03 szabgab I am not sure I understand
12:03 szabgab can you show an example?
12:03 szabgab s/show/point to/
12:04 moritz_ S03/Changes to Perl 5 operators/
12:04 moritz_ the space between Perl and 5 is a non-breaking space
12:04 moritz_ when you write an ordinary blank in that point, the smart links used to fail
12:04 moritz_ saying "no such section" or so
12:05 szabgab in which file is that ?
12:05 moritz_ the section header is in S03-operators.pod
12:05 szabgab and why would we want to write such things ?
12:05 moritz_ because we don't want line breaks between 'Perl' and '5'
12:06 moritz_ and because TimToady is a linguist ;-)
12:06 moritz_ t/spec/S03-operators/assign.t shows a good example for a smartlink to that
12:07 moritz_ at least when in double quotes the space should be equivalent to non-breaking space IMHO
12:09 pugs_svn r26457 | szabgab++ | Smart::Links some Pugs specific things to be turned on if PUGS_SNARTLINKS is set
12:10 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
12:10 szabgab but allow that to match even if the target used non-breaking spaces
12:10 moritz_ right
12:11 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
12:12 moritz_ turn space into the regex [ $nbsp] ?
12:14 szabgab maybe [\s$nbsp]  ?
12:15 pugs_svn r26459 | moritz++ | [t/spec] more smartlink fixes
12:15 moritz_ yes
12:15 moritz_ [\s$nbsp]+ actually ;-)
12:16 szabgab and how do I write the content of $nbsp in Perl ?
12:17 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";
12:17 moritz_ my $nbs = "\N{NO-BREAK SPACE}"
12:17 abra joined #perl6
12:17 moritz_ szabgab: I know it's not correct, but would be *very* convenient ;-)
12:18 frettled Somehow, I think it's wrong to say that this is linguistics, it looks like typography to me.  :)
12:19 szabgab isn't typography just written lingustics ? :-)
12:19 frettled NBSP is a hack for computer-created typography.  ;)
12:19 pugs_svn r26460 | moritz++ | [t/spec/S32-num] fix all smartlinks in this dir
12:20 frettled szabgab: not really.  Ligatures are (typically) typographic tricks.
12:20 frettled the non-breaking space is a computer-typographic trick to enforce a specific rule in print.
12:20 frettled The semantics of e.g. �Perl 6� is unchanged.
12:21 frettled 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
12:21 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.)
12:21 frettled </soapbox>
12:21 pugs_svn r26462 | moritz++ | [t/spec] fix smartlinks in S32-str
12:22 iblechbot joined #perl6
12:22 pugs_svn r26463 | moritz++ | [t/spec] fix smartlinks in S32-list
12:24 pugs_svn r26464 | moritz++ | [t/spec] fix smartlinks in S32-hash
12:26 frettled szabgab: perhaps the ws subrule would be better for matching?
12:26 moritz_ frettled: it's still written in Perl 5
12:27 frettled woops.
12:28 frettled well, at least nbsp is a defined entity in Perl 5 regexps, IIRC.
12:29 moritz_ frettled: how so?
12:29 frettled moritz_: I thought it was included in [[:space:]]
12:29 pugs_svn r26465 | moritz++ | [t/spec] fix some of the S12/Roles smartlinks
12:29 frettled Maybe I'm misremembering.  Hmm.  *fiddle*
12:31 frettled Yep, I'm misremembering.
12:32 frettled \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:]]/'
12:32 moritz_ # empty line
12:32 moritz_ hurm
12:32 mberends @tell masak proto, rakudo and projects all install in same directory now.
12:32 lambdabot Consider it noted.
12:33 moritz_ enough smartlinks fiddling for today, at least for me ;-)
12:34 moritz_ down to 68 broken
12:35 frettled If I only could recall how to generate a non-breaking space on my Mac.  Hrms.
12:39 moritz_ in vim it's Ctrl+k NS
12:42 frettled http://pastebin.com/dbc4cd03
12:42 buubot frettled: The paste dbc4cd03 has been copied to http://erxz.com/pb/17247
12:42 frettled (that's 5.8.8, btw)
12:43 frettled huh, neat paste grabber.
12:43 eternaleye joined #perl6
12:44 frettled (okay, the test I wrote is FUBAR, since it was written with a single space in mind)
12:46 frettled Anyhoo, the point is that even in Perl 5.8, \s matches the nbsp in the current synopses documents.
12:47 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:48 PacoLinux joined #perl6
12:48 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.
12:49 moritz_ frettled: in theory perl5 is encoding-agnostic as long as the strings have been decoded
12:53 iblechbot joined #perl6
12:53 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:54 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 moritz_ tests in the test suite are much more convenient than patches in RT
12:55 PhatEddy thx ... I'll try that way then ...
13:00 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.
13:01 eternaleye joined #perl6
13:06 M_o_C joined #perl6
13:07 maja_ joined #perl6
13:18 abra_ joined #perl6
13:20 eternaleye joined #perl6
13:22 pugs_svn r26466 | baest++ | Fix number of tests
13:24 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:25 jnthn Don't see any reason why not.
13:26 baest jnthn: cool, I can submit a ticket if that's easier
13:30 jnthn ah, you were asking for somebody to do it rather than permission :-)
13:32 baest both
13:32 baest I can't do it myself
13:32 baest :)
13:32 pmurias joined #perl6
13:33 jnthn baest: OK, doing it.
13:33 baest jnthn: yeah, thanks
13:40 pugs_svn r26467 | pmurias++ | [re-smop] added Capture.elems
13:40 abra joined #perl6
13:44 abra joined #perl6
13:49 abra joined #perl6
13:51 abra joined #perl6
13:53 abra joined #perl6
13:57 eternaleye joined #perl6
14:05 LylePerl For those who don't monitor #parrot, we managed to narrow down and fix the realclean issue on Win32
14:06 LylePerl jnthn: ping
14:08 jnthn LylePerl: hi
14:09 LylePerl jnthn: Hi
14:09 rindolf joined #perl6
14:09 LylePerl I read your bio recently, very impressive acedemics
14:09 LylePerl acedemics = academics (mine aren't so good)
14:10 jnthn :-)
14:10 LylePerl I'm starting a masters in software dev this year, so hopefully I can catch up :)
14:10 jnthn Ah, nice. :-)
14:11 * 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
14:11 * LylePerl feels bad he's being impatient
14:13 LylePerl It's just that it's holding me back putting november on IIS
14:14 LylePerl Well I'm 27 and I'm only just doing my masters...
14:15 * LylePerl hopes he won't look too out of place at uni
14:15 azawawi joined #perl6
14:16 azawawi masak: ping
14:16 jnthn heh, most people think by looking at me that I'm a bunch older than I am
14:16 jnthn 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...
14:17 pugs_svn r26468 | pmurias++ | [re-smop] ported over the PRIMITIVES:: package
14:21 LylePerl ok. I'm sorry I missed the NPW, looks like it was a lot of fun. Wish I had the time/money :/
14:22 * azawawi wishes to see any blog posts on what happened in NPW
14:22 skids_ Yeah, feed the cube rats, someone :-)
14:25 jnthn I just scribbled this post: http://use.perl.org/~JonathanWorthington/journal/38875
14:28 skids_ jnthn: thanks a bunch, I'll look forward to the new ROADMAP then.
14:29 skids_ Did the .leave and other control structures get much attention?
14:30 moritz_ jnthn: ... 'is that the prefix: operator is now dead' I HAZ EATED TEH <=>
14:31 payload joined #perl6
14:32 AzureStone joined #perl6
14:33 * skids_ thinks japhb's dillemna with constants is going to pop up often.
14:35 jnthn oh, I hate use.perl.org...
14:36 jnthn moritz_: Fixed, thanks.
14:37 jnthn skids_: .leave was mentioned
14:37 jnthn skids_: What other control structures are you thinking of?
14:37 jnthn FIRST { ... } blocks, for example?
14:38 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
14:39 jnthn No discussion on that one, no.
14:39 jnthn Or I should say
14:39 jnthn None that I was part of.
14:39 jnthn It may have happened when I was elsewhere though.
14:39 eternaleye joined #perl6
14:40 * masak reappears
14:40 lambdabot masak: You have 2 new messages. '/msg lambdabot @messages' to read them.
14:41 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
14:41 masak @messages
14:41 lambdabot mberends said 2h 8m 18s ago: proto, rakudo and projects all install in same directory now.
14:41 lambdabot mberends said 1h 40m 33s ago: updated proto builds Rakudo r38250 using 1.4GB RAM on amd64, installs november and form ok.
14:41 masak mberends++
14:41 jnthn oh hai masak
14:41 masak oh hai
14:42 masak jnthn: ako sa máš?
14:42 jnthn my Num List sub f () { return () }; # compile error?
14:42 jnthn std: my Num List sub f () { return () };
14:42 p6eval std 26468: OUTPUT«##### PARSE FAILED #####␤Malformed my␤Multiple prefix constraints not yet supported at /tmp/qT9wqsJX5d line 1:␤------> [32mmy Num List [31msub f () { return () };[0m␤    expecting typename␤FAILED 00:02 35m␤»
14:43 jnthn masak: dobry, dakujem...ale trochu unaveny. a ty?
14:43 masak jnthn: that one is in RT already.
14:43 jnthn masak: Yeah. Seems I can deal with the ticket easy enough by making us Fail. ;-)
14:43 masak jnthn: tiez dobry.
14:43 jnthn I guess they meant List of Num
14:43 masak guess so.
14:43 jnthn masak++ # learning slovak
14:43 pugs_svn r26469 | szabgab++ | Smart::Links remove the hardcoding of S26, recognized perl 6 pod based on content
14:44 masak :)
14:44 szabgab jnthn, hi
14:44 jnthn std: my List of Num sub f () { return ("A") };
14:44 p6eval std 26468: OUTPUT«ok 00:04 35m␤»
14:44 jnthn rakudo: my List of Num sub f () { return ("A") };
14:44 p6eval rakudo da2c6c: OUTPUT«Use of protoobject as value␤»
14:45 jnthn oh, ah, yes...because List can't akshually be parametric until The Refactor happens.
14:45 jnthn szabgab: hi
14:45 szabgab how is Padre installation progressing ?
14:46 jnthn Well, padre.perlide.org/wiki/Download crashes my Firefox, which doesn't help things...
14:47 * masak thinks a crashing Firefox is par for the day
14:47 szabgab jnthn, talk to your vendor
14:48 szabgab FF crashes quite often for me but not on that page
14:48 szabgab yet
14:48 szabgab http://www.wxperl.co.uk/repository http://www.perlide.org/download/ppm/   there are the two ppm repos you need to add
14:49 szabgab and then install Padre should work
14:49 szabgab on ActivePerl 5.10
14:49 jnthn OK, added them to my repository list
14:50 jnthn And installing the WX things now...let's see how this works.
14:50 FurnaceBoy joined #perl6
14:51 jnthn oh, damm, I still only have 5.8.8 here
14:54 pugs_svn r26470 | ron++ | add test for override of builtin, RT 58948
14:55 masak that's, like, so 2006.
14:55 jnthn szabgab: so, upgrading my Perl now, then will give this another shot.
14:56 PhatEddy That was my first spec test commit (ron) if anyone may feel concerned ...
14:59 masak PhatEddy++
15:00 * jnthn watches ppm install a bunch of packages
15:02 jnthn Installing File-Slurp-9999.13 # now there's a version number...
15:07 jnthn szabgab: OK, I have installed and can run Padre.
15:07 jnthn :-)
15:07 Psyche^ joined #perl6
15:10 jan_ joined #perl6
15:11 * jnthn changes the current line marker to a slightly more pallatable shade of yellow, but otherwise thinks it looks ok. :-)
15:13 Auzon joined #perl6
15:15 nihiliad joined #perl6
15:19 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.
15:21 jnthn szabgab: Is the Perl 6 on Rakudo plug-in still shelling out to Parrot or is it using embedding?
15:22 szabgab neither
15:22 szabgab azawaw hijacked it back to use STD again
15:23 szabgab we are just discussing it how to make the two stichable
15:23 szabgab switchable
15:23 jnthn oh, I thought there were two seperate plug-ins and you picked one...
15:23 jnthn OK, I dont' have any tuits right now to hack on things anyway.
15:23 szabgab no I was too lazy for that
15:24 szabgab np
15:24 jnthn But might find some to help with the embed-not-run effort later
15:24 jnthn Since it'd probably get a decent performance win.
15:24 szabgab I hope in a few days we'll have the both highlighters work and fight for attention
15:25 jnthn cool :-)
15:25 szabgab for now I back to play with smartlinks
15:26 * jnthn will probably do a Rakudo Day on Tue
15:27 masak YaY
15:27 jnthn And antoher Thu or Fri I guess.
15:27 masak a good week to look forward to, sounds like.
15:28 jnthn Hopefully. :-)
15:28 jnthn Am planning to do lots of Rakudo stuff in May too.
15:28 masak will it be a feature month or an RT month?
15:29 moritz_ featrmonth? ;-)
15:30 masak how do I detect which release of Rakudo I'm running?
15:31 masak 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)␤»
15:31 jnthn masak: Both. :-)
15:32 masak jnthn: I should have seen that one coming. :)
15:50 goksie joined #perl6
15:53 kidd` joined #perl6
15:55 fridim_ joined #perl6
15:58 eternaleye joined #perl6
15:58 pugs_svn r26471 | szabgab++ | Smart::Links add documentation and some smartlinks to point to the documentation
16:05 eternaleye joined #perl6
16:09 skids_ On constants from NCI APIs:
16:10 skids_ In an ideal world, one could dispense with the library prefixes on constants when they are tedious, e.g. "GLUT_"
16:10 skids_ And at the same time still work with them outside of the class
16:11 skids_ And at the same time not pollute the namespace
16:11 skids_ (somehow, have the cake and eat it too)
16:12 skids_ One way might be to somehow allow the class namespace to leak into the argument () area.
16:13 skids_ (on the class's methods)
16:15 skids_ Or there might be a macro-ish solution with the currently specced tools that is not too onerous.
16:16 abra joined #perl6
16:37 cspencer joined #perl6
16:53 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 skids_ And the "is parsed" would happen in the namespace of the class that owns the method/sub.
16:54 skids_ So you could have e.g. glutInitDisplayMode(DOUBLE | RGBA); even though DOUBLE and RGBA are not in the invoking namespace.
16:55 eternaleye joined #perl6
17:00 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:01 skids_ :-)
17:02 skids_ I think that the issue is going to have a pretty big impact on the "ick factor" of API shim code in Perl6.
17:09 pugs_svn r26472 | szabgab++ | Smart::Links add more smartlinks
17:10 azawawi joined #perl6
17:22 azawawi hi
17:23 azawawi jnthn: thanks for writing http://use.perl.org/~JonathanWorthington/journal/38875. It was really informative.
17:24 pugs_svn r26473 | szabgab++ | fix some more smartlinks in the spec tests
17:27 jnthn azawawi: welcome. :-)
17:27 mberends szabgab: for Padre, is wxWidgets 2.8.8 very necessary? Debian Stable (Lenny) has only 2.8.7 :(
17:27 szabgab I think yes
17:28 szabgab 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...
17:28 mberends good idea :) will do it shortly
17:28 szabgab azawawi++
17:30 szabgab 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.
17:31 szabgab azawawi, we should strive for a more generic Parrot based highlighter for any language using the Compiler Toolkit
17:32 azawawi szabgab: sure...
17:35 eternaleye joined #perl6
17:35 azawawi jnthn: To see Padre Perl6 STD syntax highlighting, http://padre.perlide.org/wiki/Screenshots
17:40 pmurias skids_: | creates a junction in Perl6 it's not a binary or
17:41 jnthn azawawi: Nice!
17:54 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: http://use.perl.org/~masak/journal/38876
17:57 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.
17:57 jnthn masakposts. They get more random each time. :-)
17:58 moritz_ ;-)
17:58 moritz_ aye
17:58 moritz_ but in a nice way
17:58 masak jnthn: I'd like to asymptotically approach _why's writing if I can.
17:58 jnthn oh yes :-)
17:58 * jnthn can't wait for the one without any nouns
17:59 masak jnthn: I hope I get a good reason to write one.
18:01 masak and one without prepositions, perhaps.
18:01 masak azawawi: excellent.
18:02 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.
18:02 masak I'm glad you all like my post. :)
18:04 masak I'm glad mst++ started the Ironman challenge, it has made me re-appreciate blogging.
18:15 moritz_ speaking of blogging, I'm preparing another tidings post right now.
18:15 masak YaY
18:16 masak 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:17 masak sort of a good-cop/bad-cop thing.
18:17 moritz_ ;-)
18:19 moritz_ http://nopaste.snit.ch/16413 # tidings preview
18:19 moritz_ corrections and addtions welcome ;-)
18:19 * masak loves previews
18:21 masak moritz_: should 'join builtin' perhaps be 'join method'?
18:21 masak (since it's not possible not to provide the join sub with a delimiter)
18:21 moritz_ good catch
18:21 jnthn "...thus enabling for example the Trig export, so that
18:21 jnthn you can now say <code>use Num :Trig;</code> to import trigonometric
18:22 jnthn functions." - oh awesome, I didn't know that had been done!
18:22 jnthn cspencer++
18:22 moritz_ rakudo: say acos(0.2)
18:22 p6eval rakudo c4f676: OUTPUT«Could not find non-existent sub acos␤current instr.: '_block14' pc 60 (EVAL_16:41)␤»
18:22 moritz_ rakudo: use Num :Trig; say acos(0.2)
18:22 p6eval rakudo c4f676: OUTPUT«1.36943840600457␤»
18:23 jnthn ftw!
18:23 jnthn moritz_: Post looks good.
18:23 masak moritz_: good post. I like.
18:23 masak moritz_++
18:24 moritz_ did mst already put up his aggregator?
18:26 jnthn http://ironman.enlightenedperl.org/
18:27 masak ooh, nice!
18:29 moritz_ one more item for my rss feed ;-)
18:33 rgrau` joined #perl6
18:33 * masak is really hungry now
18:33 masak time to head home.
18:33 * jnthn suggests nom
18:33 masak see you tomorrow, #perl6!
18:33 * masak likes the idea about nom
18:33 jnthn o?
18:33 jnthn o/ # oops
18:34 masak jnthn: that upper one looks like a person scratching their head ;)
18:34 * masak goes to find nom
18:35 jnthn masak: Yeah, I thought the same... ;-)
18:36 moritz_ ouch, that RSS feed is *really* slow
18:36 moritz_ or maybe it's my connection that's so slow
18:42 azawawi moritz_: so my and our attributes inside a p6 class are like static variables in Java, right?
18:42 moritz_ azawawi: yes
18:43 pasteling "skids" at 71.192.212.78 pasted "zip/roundrobin, now actually return LoL not LoArray" (144 lines, 4.5K) at http://sial.org/pbot/36234
18:44 azawawi moritz_: thx
18:45 moritz_ ouch, it seems the ironman feed has picked up all of my old blog posts :/
18:53 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 skids_ oops, I'll timed.
18:53 Eevee joined #perl6
18:56 pugs_svn r26474 | moritz++ | [t/spec] a few more fixed smartlinks; down to 56 broken
19:01 payload joined #perl6
19:02 viklund joined #perl6
19:21 azawawi moritz_: added support for private method and attributes, http://feather.perl6.nl/~azawawi/Padre-Plugin-Perl6-with-attributes.png
19:25 jferrero joined #perl6
19:31 kst joined #perl6
19:34 alester /join #gcc
19:35 msmatsko joined #perl6
19:40 meppl good night
19:58 ejs joined #perl6
20:09 dalek joined #perl6
20:10 * moritz_ kills dalek in the hope that the respawned dalek does a better job at reporting
20:10 abra joined #perl6
20:14 ZuLuuuuuu joined #perl6
20:16 PhatEddy left #perl6
20:16 abra left #perl6
20:39 eternaleye joined #perl6
20:56 eternaleye joined #perl6
21:13 eternaleye joined #perl6
21:15 pmurias joined #perl6
21:15 moritz_ std: Foo::_foo()
21:15 p6eval std 26474: OUTPUT«Undeclared name:␤      Foo::_foo used at 1 ␤ok 00:02 35m␤»
21:18 goksie joined #perl6
21:20 pmurias skids_: in Perl6 use imports into the lexical scope by default
21:20 pmurias so namespace polution is not an issue
21:25 pmurias 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.
21:28 goksie_ joined #perl6
21:33 skids_ Yes if you are going to "do it right" you'd want to rework the entire API.
21:34 skids_ But that may be more effort and/or some module writers may want a feel-alike.
21:34 braceta joined #perl6
21:36 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);
21:37 skids_ Yeah, that would be $flags = new Glut::Mode (DOUBLE | RGBA).
21:37 skids_ erm, well Glut::Mode.new
21:38 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.
21:38 skids_ And other API defines.
21:39 skids_ (constants)
21:40 pmurias skids_: making constants visible only inside arguments lists seems to me too much of a magic rule
21:40 pmurias * argument
21:42 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 skids_ Maybe the existing spec will be cleverly utilized.  Maybe there will be holes.
21:43 skids_ 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 skids_ Otherwise the parse would have to be runtime.
21:44 skids_ 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 skids_ This would just be allowing it to compile efficiently (and to not use the quotes)
21:46 pmurias skids_: you can quasi-quotes your custom languages
21:47 skids_ The quotes are not serious consideration here, just a fringe benefit.
21:47 pmurias skids_: macros can already do what you are proposing
21:48 skids_ Yes this would just be a way to fit a macro in where you really want it.
21:49 skids_ I guess we will know if NCI implementers start resorting to marco-izing their whole APIs.
21:49 skids_ Then something like that would be more worth consideration, to discourage that.
21:56 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:57 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.
21:57 japhb pmurias: "it"?
21:58 pmurias dropping the {type}
21:58 pmurias as one has to cast floats into GLfloats all over the place
21:59 japhb pmurias: Oh yeah.  Silently assuming float everywhere doesn't allow you to optimize e.g. space required for index arrays.
22:00 japhb 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:01 japhb 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
22:02 japhb EWWW.
22:04 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:05 pmurias japhb: Perl 6 has buf* types so passing raw data shouldn't be a problem
22:06 pmurias hopengl used Ptr () which is just a haskell version of void*
22:06 jhuni joined #perl6
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:07 japhb Then again, maybe I *should* expose any compile-time scalability problems.  :-)
22:08 japhb 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:09 jnthn japhb: You're not the first to want Buf.
22:09 jnthn japhb: I'm kinda aware it's wanted...
22:09 jnthn Not worked out exactly what it needs or how to do it yet.
22:09 skids_ :-)
22:09 japhb jnthn: I didn't mean to imply that the Rakudo team was the blocker.  Rather, I think Parrot NCI is the blocker.
22:09 jnthn That may well be the case.
22:10 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?
22:10 japhb pmurias: Hadn't tried yet (I've been distracted with @family) ... was going to ask if that was the consensus recommendation.
22:11 skids_ Inlines, one would hope -- but do we do inlines yet?
22:13 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:15 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:21 jferrero joined #perl6
22:22 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)␤»
22:22 jnthn rakudo: constant $foo = 123;
22:22 p6eval rakudo c4f676:  ( no output )
22:22 jnthn rakudo: constant $foo = 123; say $foo;
22:22 p6eval rakudo c4f676: OUTPUT«123␤»
22:22 jnthn japhb: The second one works now, though it ain't inlining and stuff yet.
22:23 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 jnthn Had pondered getting it in place recently anyway, then got distracted with something else.
22:23 japhb jnthn: that would definitely be happy-making
22:23 japhb thank you
22:23 jnthn OK, I'm hacking on Rakudo on Tuesday, will try and do it then.
22:23 japhb excellent
22:24 jnthn Don't promise inlining, but may manage that too.
22:27 skids_ Where are sigil-less constants specced?
22:29 moritz_ in S03, S04 and S06 are examples
22:29 goksie joined #perl6
22:29 moritz_ probably S04
22:31 skids_ I've only found sigiled examples so far.
22:32 skids_ Ah, yes, S04
22:33 moritz_ S04
22:33 moritz_ 102:    constant Num π  = atan(2,2) * 4;
22:35 japhb What is the scope of constants?  Are they 'our', and thus exportable?
22:36 skids_ "lexically scoped name for a compile-time constant"
22:36 moritz_ lexically scoped = like "my"
22:36 Limbic_Region joined #perl6
22:36 moritz_ bed &
22:36 japhb Hmmm.  That leaves the problem of how I make a module of them.
22:37 japhb I mean, it's nice for a setting and all, not so much for a normal module.
22:44 frettled @tell masak (expt masak 2) for that blog post
22:44 lambdabot Consider it noted.
23:20 payload left #perl6
23:33 payload1 joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo