|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! | Rakudo Star Released! Set by moderator on 11 August 2010. |
|||
|
00:00
Psyche^ joined
00:01
ruoso joined
|
|||
| ingy | greetinga | 00:04 | |
| greetings | |||
| :) | |||
| sorear | gratings. | 00:05 | |
|
00:07
araujo joined
00:08
colomon joined
00:10
fengshaun joined
|
|||
| [Coke] | ingy: hio | 00:30 | |
| ingy | hi [Coke]! | 00:36 | |
| greatings sorear | 00:37 | ||
|
00:42
redicaps joined
|
|||
| [Coke] | should .^methods work on an instance or just on the WHAT? | 00:48 | |
| tylercurtis | rakudo: 5.^methods.sort.join(', ').say | 00:49 | |
| p6eval | rakudo 6b318e: OUTPUT«, ACCEPTS, ACCEPTS, BUILD, BUILDALL, Bool, Bool, Bridge, CREATE, Capture, Complex, IO, Int, Num, Numeric, Numeric, Numeric, PARROT, Rat, Real, Seq, Str, Str, WALK, WHENCE, WHERE, WHICH, WHICH, abs, abs, acos, acos, acosec, acosec, acosech, acosech, acosh, acosh, acotan, | ||
| ..acotan, aco… | |||
| tylercurtis | [Coke]: S12 says "$obj.^methods();" works. | 00:51 | |
| [Coke] | k. so 66810 is still borked. | 00:54 | |
| rakudo: say .[1] | 00:55 | ||
| p6eval | rakudo 6b318e: OUTPUT«Any()» | ||
| tylercurtis | rakudo: our multi postfix:<?> ($question) { $question; }; say .WHAT? | 00:58 | |
| p6eval | rakudo 6b318e: OUTPUT«Any()» | ||
|
01:02
ash_ joined
01:17
ashleydev joined
01:19
plobsing joined
01:20
ashleydev joined
01:22
cognominal joined
01:24
alc joined
01:28
rurban joined
01:39
hercynium joined
|
|||
| [Coke] | rakudo: say 6 >== 2 | 01:47 | |
| p6eval | rakudo 6b318e: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/pcDfDrEhfG» | ||
| colomon | arrrrrr! | ||
| [Coke] | rakudo: say | 01:48 | |
| p6eval | rakudo 6b318e: OUTPUT«» | ||
| [Coke] | rakudo: [+] | 01:49 | |
| p6eval | rakudo 6b318e: OUTPUT«===SORRY!===Confused at line 22, near "[+]"» | ||
| [Coke] | phenny: ask pmichaud if he can review RT #74008, which is a patch for some laziness. | 01:52 | |
| phenny | [Coke]: I'll pass that on when pmichaud is around. | ||
| colomon | [Coke]: pretty sure that patch is ancient history. | 01:53 | |
| [Coke] | colomon: feel free to close it out. =-) | 01:54 | |
| (but you have to reply to the guy and thank him.) | |||
| colomon | ugh | 01:55 | |
| any idea why prove would return "Input/output error"? | |||
| I'm trying to write a new module, and discovering that all the tools seem to be broken on my MacBook. :( | 01:58 | ||
| ah, I see | 02:01 | ||
| sorear | now for the part where I have to come up with a sensible representation of character classes | 02:09 | |
|
02:19
jaldhar joined
02:20
rgrau joined
|
|||
| [Coke] | rakudo: my %h = {my => "x"}; # RT#74948 | 02:22 | |
| p6eval | rakudo 6b318e: OUTPUT«===SORRY!===Malformed my at line 22, near "=> \\"x\\"}; #"» | ||
| [Coke] | std: my %h = {my => "x"}; # RT#74948 | ||
| p6eval | std 31912: OUTPUT«ok 00:01 115m» | 02:23 | |
| [Coke] | can someone explain what std is parsing that as? | ||
| barewords are dead, yes? | |||
| ash_ | is trac.parrot.org/parrot/wiki/Creatin...h%20NQP-rx still rigt? | 02:24 | |
| right* | 02:25 | ||
| or does nqp-rx have closure support without doing manual newclosures ? | |||
| colomon | star: sub a(@b, $c) { say :@b.perl; say :$c.perl; }; a(1..3, 20); | 02:27 | |
| p6eval | star 2010.07: OUTPUT«"b" => 1..3"c" => 20» | ||
| colomon | star: sub a(@b, $c) { say :@b.perl; say :$c.perl; }; a((1, 2, 3), 20); | ||
| p6eval | star 2010.07: OUTPUT«"b" => (1, 2, 3)"c" => 20» | ||
| colomon | star: sub a(@b, $c) { say :@b.perl; say :$c.perl; }; a(1...3, 20); | ||
| p6eval | star 2010.07: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in 'a' at line 22:/tmp/v2qx0M4vkH in main program body at line 22:/tmp/v2qx0M4vkH» | ||
| colomon | star: sub a(@b, $c) { say :@b.perl; say :$c.perl; }; my @array = 1...3; a(@array, 20); | 02:30 | |
| p6eval | star 2010.07: OUTPUT«"b" => [1, 2, 3]"c" => 20» | ||
| [Coke] | RT: 671 total, 199 new, 17 need tests. | ||
|
02:34
ashleydev joined
|
|||
| ash_ | nqp: say(1); | 02:36 | |
| p6eval | nqp: OUTPUT«1» | ||
| ash_ | nqp: my $a := 4; my $b := sub { return $a; }; $a := 123; say($b()); | 02:37 | |
| p6eval | nqp: OUTPUT«Routine declaration requires a signature at line 1, near "{ return $"current instr.: 'parrot;HLL;Grammar;panic' pc 552 (src/cheats/hll-grammar.pir:205)» | ||
| ash_ | nqp: my $a := 4; my $b := { return $a; }; $a := 123; say($b()); | ||
| p6eval | nqp: ( no output ) | ||
| ash_ | nqp: my $a := 4; my $b := { return $a; }; $a := 123; say(1, $b()); | ||
| p6eval | nqp: ( no output ) | ||
| ash_ | rakudo: my $a := 4; my $b := { return $a; }; $a := 123; say(1, $b()); | 02:38 | |
| p6eval | rakudo 6b318e: ( no output ) | ||
| ash_ | rakudo: sub f($a) { return { return $a + 3; } }; say 4 f | 02:40 | |
| p6eval | rakudo 6b318e: OUTPUT«===SORRY!===Confused at line 22, near "say 4 f"» | ||
| ash_ | rakudo: sub f($a) { return { return $a + 3; } }; say f 4 | ||
| p6eval | rakudo 6b318e: OUTPUT«_block87» | ||
| ash_ | rakudo: sub f($a) { return { return $a + 3; } }; say (f 4)(); | 02:41 | |
| p6eval | rakudo 6b318e: ( no output ) | ||
| ash_ | rakudo: sub f($a) { return { return $a + 3; } }; say(f(4)()); | ||
| p6eval | rakudo 6b318e: ( no output ) | ||
| ash_ | nqp: sub f($a) { return { return $a + 3; } }; my $b = f(3); my $c = f(5); say($b()); | 02:42 | |
| p6eval | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " f(3); my "current instr.: 'parrot;HLL;Grammar;panic' pc 552 (src/cheats/hll-grammar.pir:205)» | ||
|
02:43
karb joined
|
|||
| plobsing | nqp: sub f($a) { return sub () {return $a + 3} }; say(f(1)()) | 02:46 | |
| p6eval | nqp: OUTPUT«4» | ||
| [Coke] | phenny: ask pmichaud if we can close 75030 now. | ||
| phenny | [Coke]: I'll pass that on when pmichaud is around. | ||
| sorear | nqp: sub k($x) { sub () { $x }; }; my $a := k(1); my $b := k(2); say($a()); | 02:47 | |
| p6eval | nqp: OUTPUT«1» | ||
| ash_ | ya, nqp-rx supports closures without having to call newclosure now (tested in my terminal) | ||
|
02:58
agentzh joined
02:59
drbean joined
03:09
masonkramer joined,
molaf joined
|
|||
| sorear | coming up with a sane representation of character classes: not easy | 03:10 | |
| sorear ponders <[一..七]> | 03:13 | ||
| ingy | :) | ||
| tylercurtis | .u … | 03:14 | |
| phenny | U+2026 HORIZONTAL ELLIPSIS (…) | ||
| ingy | 二。。八 | ||
| sorear | rakudo: say '丁' ~~ <[一..七]> | 03:15 | |
| p6eval | rakudo 6b318e: OUTPUT«0» | ||
| sorear | rakudo: say '二' ~~ <[一..七]> | ||
| p6eval | rakudo 6b318e: OUTPUT«0» | ||
| sorear | oh right I forgot the slashes | ||
| rakudo: say '二' ~~ /<[一..七]>/ | |||
| p6eval | rakudo 6b318e: OUTPUT«» | ||
| sorear | rakudo: say '丁' ~~ /<[一..七]>/ | ||
| p6eval | rakudo 6b318e: OUTPUT«丁» | 03:16 | |
| sorear | ok it's using codepoint order, not logical order | ||
| (that's kinda nice, making <[一..七]> match the correct 7(?) characters would be ... interesting) | 03:18 | ||
|
03:28
petdance joined
03:30
kar joined
03:33
cjk101010 joined
03:36
Axius joined
04:03
Axius joined
04:38
cjk101010 joined
04:39
dju joined
04:43
dju joined
04:44
mj41_ joined
04:45
pnate joined,
araujo joined
04:46
alc joined
04:51
REPLeffect joined
05:08
alester_ joined
05:09
kaare joined
05:14
Axius joined
05:59
wtw joined
|
|||
| moritz_ | good morning | 06:13 | |
| sorear | hello | ||
|
06:14
uniejo joined
06:16
Axius joined
06:23
dudulz joined
|
|||
| squeeky | morning! | 06:24 | |
|
06:29
ghyspran joined
06:30
Mowah joined
|
|||
| squeeky | Rakudo's now available for mac homebrew, 'brew update; brew install rakudo-star'. \\o \\o/ o/ | 06:31 | |
| moritz_ | \\o// | 06:32 | |
|
06:43
Casan joined
|
|||
| pugssvn | r31962 | moritz++ | [t/spec] tests for RT #RT #77160, flattening of quantified captures in Match objects | 06:44 | |
| moritz_ | phenny: tell bbkr that I improved a test of his in t/spec/S05-match/capturing-contexts.t in commit r31962 - isa_ok $thing, Any; is true for all $things except Mu and Junction - probably not what you want | 06:46 | |
| phenny | moritz_: I'll pass that on when bbkr is around. | ||
| pugssvn | r31963 | moritz++ | [t/spec] be even more explicit with undefinedness check | 06:47 | |
|
06:59
Axius joined
07:00
dual joined
07:14
drbean joined
07:20
foodoo joined
07:36
baest joined,
wamba joined
|
|||
| ingy | greetings | 07:37 | |
|
07:41
ash_ joined
|
|||
| moritz_ | $ ./perl6 -e '$_="abc"; say m:c/./; say m:c/./' | 07:47 | |
| a | |||
| b | |||
| \\o/ | |||
| sorear | ? | 07:52 | |
| moritz_ | I've implemented the default values for :c locally | 07:53 | |
|
07:56
ash__ joined
|
|||
| moritz_ | now I just need to move the implementation to where it belongs :-) | 08:00 | |
| pugssvn | r31964 | moritz++ | [S05] saner defaults for :c and :p; without a previous match, $/.to blows up | 08:02 | |
| moritz_ | use.perl.org/~pudge/journal/40493 use.perl.org is open for adoption | 08:06 | |
|
08:08
Mowah joined
08:09
masak joined
|
|||
| masak | oh hai, #perl6! | 08:09 | |
| moritz_ | oh hai | ||
| frettled | ia ia! | 08:14 | |
|
08:14
stereonaut joined
|
|||
| masak | how was it again, were numifications of non-numeric strings such as 'foo' going to throw a warning or an error of some kind? twitter.com/catherinedevlin/status/20941945707 | 08:14 | |
| moritz_ | it should warn | 08:15 | |
| masak | thanks. | ||
| moritz_ | a python programmer trying otut Perl 6. NOt bad :-) | 08:16 | |
| "Trying Perl 6. Wow, I expected it to be a little less... Perl." | |||
| so much for the "Perl 6 is not Perl" thing :-) | |||
| frettled | haha | 08:17 | |
| kaare_ | What does the :auth trait on a classname actually do? | 08:18 | |
| moritz_ | it can distinguish several modules with the same name | ||
| kaare_ | OK, thought so. Just couldn't find a description in the synopsis | 08:19 | |
| moritz_ | try S10 or S11 | ||
| kaare_ | It's mentioned in S12. But not explained. | 08:20 | |
| ... or maybe explained outside my attention span ;-) | 08:21 | ||
| moritz_ | yeah. Look in S11 instead | ||
| masak | moritz_: one could write your last spec change as +$/.?to :) | 08:22 | |
|
08:22
draxil joined
|
|||
| masak | (not saying one should...) | 08:22 | |
| moritz_ | masak: no | ||
| it's not the same | |||
| a failed match object might have a non-sensical .to | 08:23 | ||
| masak | oh, right. | ||
| moritz_ | one might write it as +($/ || $/.to) | ||
| but I don't think there's much to gain with golfing in this part of the spec | 08:24 | ||
| masak | true. | ||
| and that one depends on the numeric value of False. | |||
| which is, or ought to be, a code smell. | |||
| moritz_ | it's another thing that I first implemented according to the spec, and then I found it didn't work | 08:25 | |
| (actually I expected it to fail in that way, but I couldn't resist trying anyway) | |||
| masak | :) | ||
| moritz_ is pleased to announce that we now pass t/spec/S05-modifier/continue.t without any fudges | 08:26 | ||
| pugssvn | r31965 | moritz++ | [t/spec] unfudge :pos and :continue modifier tests for Rakudo | ||
| moritz_ wonders how :g:p is supposed to work | 08:28 | ||
| dalek | kudo: 69561ef | moritz++ | src/Perl6/Actions.pm: :continue and :pos now default to ($/ ?? $/.to !! 0) |
||
|
08:29
Alias joined
08:43
dakkar joined
|
|||
| jnthn | morning, #perl6 :-) | 08:43 | |
| moritz_ | morning jnthn | 08:44 | |
| masak | lolitsjnthn! | 08:46 | |
| jnthn | lol m's | 08:47 | |
| oha | morning | ||
| moritz_ | the spectests seem to assume that m:p:g/.../ matches multiple times, as long as there are no gaps in the matches | ||
| ie each match is tied to the end position of the previous match | |||
| now, what happens for a zero-width match? | |||
| masak | phenny: tell tadzik ufo pulled, including the newest commit. thanks. | ||
| phenny | masak: I'll pass that on when tadzik is around. | ||
| moritz_ | I'm inclined to say that a match fails then | 08:48 | |
| masak | moritz_: the Right Thing happens. | ||
| moritz_: couldn't it just ignore the zero-width match and move on? | |||
| a kind of always-progress criterion. | |||
|
08:48
Axius joined
|
|||
| moritz_ | masak: that's what it does now. But that violates the :p concept | 08:49 | |
| masak | oh, ok. | ||
| masak doesn't know what :p does | |||
| moritz_ | anchors to a specific position | 08:50 | |
| masak | but if it violates it, then an error sounds sane. | ||
| it's clearly better than just looping infinitely. | |||
| moritz_ | well, not error, just no match | ||
| masak | huh. ok. | ||
| oha | moritz_? | ||
| masak | I think I'd have to use it in practice to get a feel for what's useful. | ||
| moritz_ | oha? | ||
| oha | if the regex say match nothing, it should match | ||
| but if that means infinite loop, that would be better to error | 08:51 | ||
|
08:51
meteorjay joined
|
|||
| oha | when it happen an deep recursion, you get an error and not return undef | 08:51 | |
| moritz_ | I guess we'll tell people to use :c instead of :p if they want to have zero-width matches combined with :g | 08:52 | |
| anyway, it's a one-line change if we want any of the other possible behaviours | |||
| oha | moritz_, may i suggest to warn at least? | ||
| masak | for those of us who are still on use.perl: use.perl.org/~pudge/journal/40493 | ||
| pudge is looking to give it away to someone who can give it a 'good home'. | 08:53 | ||
| moritz_ | oha: warning seems like a good balance for now | 08:54 | |
| oha++ | |||
|
08:55
whiteknight joined
|
|||
| sorear | masak: hi! | 08:56 | |
| masak | sorear! \\o/ | ||
| sorear | masak: is it deliberate that I get access denied when trying to view commnts on your blog? | ||
| masak | sorear: definitely not. | 08:57 | |
| that sounds really odd. | |||
| moritz_ | sorear: I also have problems viewing use.perl.org comments right now | ||
| masak | viewing them logged in seems to work fine. | ||
| sorear | hello jnthn | 08:59 | |
| moritz_ | I see only my own comments, and replies to them | ||
| on a blog post by masak that shows "22 Comments | |||
| masak | I'm not sure what to do to get that fixed. | 09:00 | |
| jnthn | morning, sorear | 09:01 | |
| moritz_ | masak: I'll try active waiting first | 09:02 | |
| masak | rakudo: say '一'..'七' | ||
| p6eval | rakudo 69561e: | ||
| ..OUTPUT«(timeout)一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一� | |||
| masak | stuck on square one... :) | ||
| moritz_ | rakudo: say ('一'..'七').[^20] | 09:03 | |
| p6eval | rakudo 69561e: OUTPUT«一一一一一一一一一一一一一一一一一一一一» | ||
| moritz_ | rakudo: say '一'.succ | 09:04 | |
| p6eval | rakudo 69561e: OUTPUT«一» | ||
| moritz_ | that explains a lot :/ | ||
| sorear wonders what that *should* be | 09:05 | ||
| sorear can make a case for 丁 or 二 | |||
| masak | rakudo: class A { sub b { 0x10 }; has $!c = b; method foo { $!c } }; say A.new.foo | ||
| p6eval | rakudo 69561e: OUTPUT«16» | ||
| masak | \\o/ | ||
| jnthn thought he fixed that one a couple of weeks ago :-) | 09:06 | ||
| sorear wonders how long it will take #perl6 to notice that I only actually know about ten hanzi | |||
| jnthn | sorear: Don't worry, I only know enough to expect 二 next ;-) | ||
| sorear | .u 4e00 | ||
| phenny | U+4E00 CJK UNIFIED IDEOGRAPH-4E00 (一) | ||
| sorear | .u 4e01 | 09:07 | |
| phenny | U+4E01 CJK UNIFIED IDEOGRAPH-4E01 (丁) | ||
| sorear | that's the case for 丁 | ||
| jnthn | Oh. | ||
| masak: #75644 - I agree with your analysis there. | |||
| masak: I'd like a better error at some point. | |||
| But it's right to error out. | |||
| masak | aye. | ||
| moritz_ is buried in a flood of test-needing tickets | 09:08 | ||
| many of them would be so much nicer to test if we had exception objects... | 09:09 | ||
|
09:09
dolmen joined
|
|||
| sorear | wait, are you talking about hard-coding rakudo error messages in the implementation independant tests? ick | 09:10 | |
| oha | in src/builtin/Str.pir i see there are "ranges" where succ work on. if the ranges aren't found they just skip to other char: | 09:11 | |
| dalek | ecza: deb4f49 | sorear++ | Cursor.cs: First draft of the NFA generator and dumper for the LTM system |
||
| oha | rakudo: say '0一'.succ; | ||
| p6eval | rakudo 69561e: OUTPUT«1一» | ||
| sorear | mind you, it would not be correct to just treat the hanzi numerals as such a range | 09:12 | |
| because they don't use the place value system | |||
|
09:14
briang joined
|
|||
| squeeky | 四十二 = 4 10 2, 4 x 10 + 2 = 42 | 09:14 | |
| sorear | the successor of 十 is 十一, etc | ||
| ingy | si shi er | 09:17 | |
| masak | I think we should probably draw the line somewhere before that. | ||
| in fact, maybe all the non-ASCII behaviour of ranges and succ et al belongs in well-maintained non-core modules. | |||
| just a thought. | |||
| sorear | ideally written by someone who actually uses said numbers on a regular basis | 09:18 | |
| ingy | [<masak>..<sorear>] | ||
| moritz_ | +1 | 09:19 | |
| masak | three people in agreement! | ||
| squeeky | hmmm, tempting to procrastinate on work and port Math::Roman to p6.... | ||
| sorear | ingy: I was a bit unclear yesterday when talking about niecza's regex support | ||
| ingy: as I see it, niecza is an optimizing p6regex compiler | |||
| moritz_ | squeeky: somebody already submitted a Math::Roman-like subroutine to rosettacode | ||
| (in p6, that is) | |||
|
09:19
AndreasX joined
|
|||
| sorear | ingy: the fact that it also supports non-regex perl 6 code is secondary | 09:19 | |
|
09:20
tom_tsuruhara joined
|
|||
| ingy | sorear: I'm not sure I grok all that | 09:22 | |
| sorear: I'm just looking for an easy way to port pegex into a p6 impl | |||
| sorear: but it's not high on any current todo list | 09:23 | ||
| sorear: I'd like to play with niecza though | |||
| masak | phenny: tell szabgab that I've now pulled szabgab/html-template into masak/html-template. thanks for your help updating the module! | ||
| phenny | masak: I'll pass that on when szabgab is around. | ||
| masak | ooh! ooh! I've thought of a new badge for modules.perl6.org ! | 09:25 | |
| moritz_ | do tell | ||
| masak | this one will require a bit of manual editing each time, but it'll be worth it. | ||
| a "reviewed" badge, linking to the review. | 09:26 | ||
| mwhahaha | |||
| ingy | sorear: I think if you rename github.com/sorear/niecza/blob/master/README to README.pod, github will format it for you... | ||
| sorear | ingy: is something stopping you? | ||
| ingy: re. "I'd like to play with niecza though" | |||
| ingy | sorear: about 100 things ;) | ||
| squeeky | but a snitch ain't one of them | 09:27 | |
| dalek | ecza: 09faa31 | sorear++ | README: Rename README to README.pod (ingy) |
09:30 | |
| kudo: 9d7428f | moritz++ | src/core/Cool-str.pm: fix interaction between :g and :p regex modifiers in Cool.match similar to m/\\G$regex/g in p5 |
|||
| ingy | sorear: \\o/ | 09:32 | |
|
09:33
macroron joined
|
|||
| sorear | ingy: I don't suppose any of those 100 things can be helped? | 09:34 | |
| I'm lonely in this sandbox... | |||
| masak | sorear: a fate that often befalls the implementor of a non-mainstream Perl 6 implementation. | 09:35 | |
|
09:36
colomon joined
|
|||
| oha | masak, i've updated a bit the buf.pod | 09:36 | |
| moritz_ | indeed | ||
| masak | oha: will look. | ||
| moritz_ | it takes a lot of effort to make a p6 compiler usable, to the point where you can actually attract users | 09:37 | |
| oha | masak, just explained a bit well why i need that | ||
| i was thinking to add a http example too | |||
| masak | moritz_: aye. it's a bit of a bootstrapping Catch 22. | ||
| moritz_ | even more so since rakudo is failry usable | ||
| masak | oha: since no-one has picked up on the p6l thread, I'll write a response there now. | ||
| oha | masak, i was thinking that probably alot are on holydays | 09:38 | |
| but well, your replies are more then appreciated | |||
| masak | oha: to be honest, I'm thinking the email you sent could have done a bit more to attract well-deserved attention. :) | ||
| oha: but that's not your fault, it's your first email to p6l. | 09:39 | ||
| will try to correct that by explaining why the ideas are worthwhile. | |||
| oha | masak, i see what you mean. but i have very few knowledge about p6 spec. | ||
| masak | just hang in there. | 09:40 | |
| the road up the mountain is shorter than you might think. | |||
| oha | imho, this may be a virtue in some cases | ||
| but well, i can't propose something really :) | |||
| (anyway i confess i didn't read the archives to have an idea about how that ML works) | 09:42 | ||
| moritz_, regarding rakudo. i actually think that the poor IO is a big obstacle right now | 09:43 | ||
| i see application where speed isn't an issue, supposed you can do networking | |||
| moritz_ | oha: I know; and I plan to work a bit on it once masak++ has finished his gsoc project, and his work is merged into master | ||
|
09:44
daxim joined
|
|||
| moritz_ | at least I plan to work on the non-network IO. I don't know enough about networks to make it work | 09:44 | |
| ingy | sorear: I just mean that I have 100 project things and niecza is pretty deep on the stack right now. I'll keep your loneliness in mind though. It would be nice to see how my p6 modules fare on niecza | ||
| Casan | is perl6's augment like extends in java.. ? | ||
| oha | moritz_, i've remade IO::Socket::INET to make it usable for binary data, and i was able to write a Gearman::Client in just 2 hours after that. | ||
| but that depends on Buf | 09:45 | ||
| sorear | Casan: not at all | ||
| moritz_ | \\o/ | ||
| sorear | Casan: perl6's is is like extends in Java | ||
| bbkr | moritz_: thanks for correcting test in capturing-contexts.t | ||
| phenny | bbkr: 06:46Z <moritz_> tell bbkr that I improved a test of his in t/spec/S05-match/capturing-contexts.t in commit r31962 - isa_ok $thing, Any; is true for all $things except Mu and Junction - probably not what you want | ||
| sorear | class Sub is Super { ... } | ||
| augment allows you to modify classes in place. don't use without a good reason. | |||
| moritz_ | 'augment' is an in-place modification of the class (and generally considered evil, unless you have a good reason) | 09:46 | |
| oha | is augment scoped? | ||
| sorear | no | ||
| moritz_ | no | ||
| oha | nasty but fantasty :) | ||
| Casan | sorear: thanks for the clarification.. so my understanding is that augment kinda overrides/replaces the existing. | ||
| sorear | (which is most of why it's evil) | ||
| moritz_ | if you want something scoped, use a lexical (multi) sub instead | ||
| sorear | unfortunately, we don't have the ability to treat lexical subs and methods on an equal footing (yet) | 09:47 | |
| masak | oha: email sent. | ||
| sorear | (do any systems besides CLOS and C# support that?) | ||
| oha | masak++ | ||
| moritz_ | sorear: well, then don't use the method API, just sub calls | 09:48 | |
| you can always have a multi that falls back to calling a method | 09:49 | ||
|
09:50
briang left
|
|||
| oha | is there a way to override core mods in rakudo? | 09:52 | |
| i mean. i've written this IO2::Socket::INET | |||
| but i would like to replace IO::Socket* | |||
|
09:52
javs joined
|
|||
| masak | 'augment' adds to things, and 'supersede' replaces them. | 09:54 | |
| in theory, that should work with modules also. | |||
| but remember that it's antisocial to use MONKEY_TYPING | |||
| moritz_ | oha: submit a patch :-) | 09:55 | |
| oha | moritz_, not right now. still a mess here | ||
| moritz_ | there's likely some PIR magic that allows you to alias namespaces | 09:56 | |
| oha | i'll try to work around it | ||
| right now the IO::Socket::* is used anywhere? | 09:57 | ||
| moritz_ | yes | 09:58 | |
| mberends has a HTTP server on top of it | |||
| oha | i must try to make it backward compatible | 09:59 | |
| moritz_ | not necessarily | ||
| oha | iirw the actual revision have read and write which handle Str | 10:00 | |
| moritz_ | just discuss your changes with mberends when he shows up | ||
| oha | i've rewritten to use recv and send with Buf | ||
| i think i can make read and write syntactic sugar | |||
| moritz_, ok. i'll try to catch him | |||
|
10:00
redicaps left
|
|||
| moritz_ | that would certainly be nice (read/write as sugar) | 10:00 | |
|
10:04
NOTevil joined
|
|||
| bbkr | rakudo: sub infix:<0.0>(Int, Int) {say "\\o/"}; 0 0.0 0; # curious... | 10:05 | |
| p6eval | rakudo 69561e: OUTPUT«===SORRY!===Unrecognized backslash sequence: '\\o' at line 22, near "/\\"}; 0 0.0"» | ||
| bbkr | rakudo: sub infix:<0.0>(Int, Int) {say '\\o/'}; 0 0.0 0; # curious... | ||
| p6eval | rakudo 69561e: OUTPUT«\\o/» | ||
| bbkr | rakudo++ | ||
| cono | rakudo: grammar A { regex TOP {^<B>$}; token B { <C> | <D> }; token C { c }; token D { d }; }; my $m = A.parse("c"); $m<b><c>.say | 10:10 | |
| p6eval | rakudo 69561e: OUTPUT«Any()» | ||
| cono | Is it a bug? | 10:11 | |
| moritz_ | b vs. B | ||
| cono | oops ;) | ||
| moritz_: thanks | 10:12 | ||
| rakudo: grammar A { regex TOP {^<B>$}; token B { <C> | <D> }; token C { c }; token D { d }; }; my $m = A.parse("c"); $m<B>.keys.perl.say | |||
| p6eval | rakudo 69561e: OUTPUT«()» | ||
| cono | rakudo: grammar A { regex TOP {^<B>$}; token B { <C> | <D> }; token C { c }; token D { d }; }; my $m = A.parse("c"); %($m<B>).keys.perl.say | ||
| p6eval | rakudo 69561e: OUTPUT«("C")» | ||
| cono | ah | ||
| masak | lunch & | 10:16 | |
| oha | i've looked ad Cool.pm but i still can't understand what it does | 10:17 | |
| cono | Null PMC access in get_repr() Is that a critical error ? | 10:18 | |
| moritz_ | yes | ||
| seems it's time to blog about Cool | 10:21 | ||
| cono | rakudo: class A::B { has $.s = "hey" }; my $q = "B"; my $l = gather { take "A::$q".new; }; $l[0].s.say | 10:22 | |
| p6eval | rakudo 69561e: OUTPUT«Null PMC access in get_repr() in <anon> at line 22:/tmp/kBN02ALah1 in 'List::at_pos' at line 1 in 'Any::postcircumfix:<[ ]>' at line 1658:CORE.setting in main program body at line 1» | ||
| cono | Found how to reproduce ;) | ||
| moritz_ | just to have a place to point people to when people ask | ||
| rakudo: class A::B { has $.s = "hey" }; my $q = "B"; my $l = gather { take "A::$q".new; }; $l[0] | |||
| p6eval | rakudo 69561e: OUTPUT«Null PMC access in get_repr() in <anon> at line 22:/tmp/Brx41cXyGM in 'List::at_pos' at line 1 in 'Any::postcircumfix:<[ ]>' at line 1658:CORE.setting in main program body at line 1» | 10:23 | |
| moritz_ | rakudo: class A::B { has $.s = "hey" }; my $q = "B"; my $l = gather { take "A::$q".new; }; | ||
| p6eval | rakudo 69561e: ( no output ) | ||
| moritz_ | rakudo: class A::B { has $.s = "hey" }; my $q = "B"; my $l = gather { take "A::$q".new; }; $l.eager | ||
| p6eval | rakudo 69561e: OUTPUT«Null PMC access in get_repr() in <anon> at line 22:/tmp/7avPB0sgCd in main program body at line 1» | ||
|
10:23
krakan joined
|
|||
| cono | moritz_: it's only possible if prefix namespace present A::, without it, all good | 10:24 | |
| rakudo: class B { has $.s = "hey" }; my $q = "B"; my $l = gather { take "$q".new; }; $l[0].s.say | |||
| p6eval | rakudo 69561e: OUTPUT«hey» | ||
| gfldex | cono: rakudobug@perl.org | ||
| cono | ok, thanks | 10:25 | |
| oha | moritz_, apropos Cool: it would be welcome :) | 10:26 | |
| TiMBuS | is there a way to un-arrayify optional captures? 'ab' ~~ /(a)? b/; # $0 is an array | 10:32 | |
| oha | TiMBuS, (a||) works? | 10:34 | |
| TiMBuS | does it? I didn't think of that | ||
| oha | TiMBuS, should. lemme check | ||
| TiMBuS | oh. nothing isnt allowed | 10:35 | |
| of course | |||
| sorear | (a||<?>) | ||
| well, [(a)||<?>} | |||
| s/}/]/ | |||
| TiMBuS | that's the one | ||
| oha | rakudo: ("ab"~~/(a||'')b/).perl | 10:37 | |
| p6eval | rakudo 69561e: ( no output ) | ||
| oha | rakudo: ("ab"~~/(a||'')b/).caps | 10:39 | |
|
10:39
azert0x joined
|
|||
| p6eval | rakudo 69561e: ( no output ) | 10:39 | |
| oha | rakudo: say ("ab"~~/(a||'')b/).caps | ||
| p6eval | rakudo 69561e: OUTPUT«0 a» | ||
|
10:39
azert0x joined
10:40
azert0x joined,
exodist joined
10:47
Axius joined
10:51
cosimo joined
10:54
masonkramer joined
|
|||
| masak | rakudo: class Foo {}; say "Foo".new.perl | 10:55 | |
| p6eval | rakudo 9d7428: OUTPUT«Foo.new()» | ||
| masak | I don't think that should be allowed. | ||
| why should Str.new reasonably behave like that? | |||
| sorear | because that's the way Perl 5 worked, and the overriding principle of Parrot's design is "like Perl 5 unless noted" | 10:56 | |
| it should be noted that Perl 5 did not reify classes as user data objects; static method invocation involved using the string itself as an object | 10:57 | ||
| masak | I think I've seen a rakudobug protesting this behaviour. | 10:58 | |
|
10:58
jhuni joined
|
|||
| jnthn | It's Just Plain Wrong. | 10:59 | |
| No point patching it up though - it'll just die when we switch meta-model. | |||
| masak | \\o/ | ||
| I hope people won't grow dependent on it. | |||
|
11:00
whiteknight joined
|
|||
| dalek | ecza: 4ed6d14 | sorear++ | Cursor.cs: Allow deparsing of general character class terms |
11:02 | |
| ecza: 974578f | sorear++ | Cursor.cs: Implement char class nodes, tweak char class design |
|||
|
11:17
Mowah joined
|
|||
| dalek | kudo: 811c1c5 | moritz++ | src/core/Match.pm: remove warning from Match.perl. While Match.new() does not accept subcaptures so |
11:21 | |
|
11:26
tjyang joined
|
|||
| colomon | github.com/colomon/List-Utils # had fail when trying to add it to pls last night. :( | 11:32 | |
| bbkr | rt.perl.org/rt3/Ticket/Display.html?id=66620 - can i close this one? it's related to parrot bug fixed 10 months ago. | 11:33 | |
| moritz_ | sure | ||
| colomon: JSON doesn't like trailing commas, and you forgot to add a comma after the previous line | |||
| ... which is why I don't add my project as the list line in the file :-) | 11:34 | ||
| fixed. | |||
| colomon | wait, so it did push? | ||
| moritz_ | aye | ||
| colomon | then why does git keep on telling me ! [rejected] master -> master (non-fast forward) when I try to push it? | 11:35 | |
| moritz_ | github.com/masak/proto/commit/6f794...5d20c69a1b | 11:36 | |
| colomon: try git pull --rebase | |||
| colomon | huh. pushed and very clearly with bad commas. sigh. | 11:37 | |
| moritz_++ for fixing it. | |||
| bbkr | rakudo: use Test; class Thing {}; my $thing = Thing.new(); ok($thing.isa("Thing")); ok($thing.isa(Thing)); # checking rt.perl.org/rt3/Ticket/Display.html?id=69999 | 11:39 | |
| p6eval | rakudo 9d7428: OUTPUT«ok 1 - ok 2 - » | ||
| bbkr | rakudo: use Test; class Thing::something {}; my $thing = Thing::something.new(); ok($thing.isa("Thing::something")); ok($thing.isa(Thing::something)); | ||
| p6eval | rakudo 9d7428: OUTPUT«not ok 1 - ok 2 - » | ||
|
11:41
Axius joined
|
|||
| bbkr | hmm. can someone tell me if this is expected behavior? .isa("Thing::something") should behave as ~~Thing::something or ~~Str ? | 11:42 | |
| moritz_ | as ~~Thing::something I hope | 11:45 | |
| at least I don't see why it should behave differently for strings containing short and long type names | |||
|
11:51
rgrau_ joined
|
|||
| masak uses Møøse for $WORK | 11:58 | ||
| heady stuff. | |||
| moritz_ | handy stuff, too | 11:59 | |
| masak | ϶oϵ | 12:00 | |
|
12:03
M_o_C joined
12:08
chuhnk joined
|
|||
| chuhnk | Just read www.perl.com/pub/2010/08/people-of-...ngton.html and became intrigued | 12:09 | |
| masak | chuhnk: cool! | ||
| we're intrigued too, almost all the time :) | |||
| chuhnk | so perl6 is going to be a compiled language? | 12:10 | |
| masak | chuhnk: Perl 5 is a compiled language. | ||
| chuhnk | really I never thought of it like that | ||
| masak | but not everybody knows that. | ||
| moritz_ | Perl 6 is just a language. The matter of how it is executed is left to the implementor | ||
| chuhnk | I always thought of it just as a dynamic scripting language | ||
| masak | it is. | ||
| different axes :) | |||
| chuhnk | interesting | 12:11 | |
| masak | chuhnk++ # learned something new within 2 minutes :) | ||
| moritz_ | currently rakudo compiles Perl 6 code to bytecode, which it then executes in-memory | ||
| but you can write that bytecode to disc too, if you prefer | |||
| actually all Perl 6 implementations I know of are (mostly) compilers | |||
| masak | maybe Pugs started out as pure interpreter. | 12:12 | |
| I've heard other small project talking about executing from the AST, too. | |||
| chuhnk | so essentially its like scala? where you can do scalac source.scala and it compiles it into java bytecode or you can do scala source.scala and it compiles then runs it. | ||
| masak | aye. | ||
| chuhnk | very nice | 12:13 | |
| masak | that seems a reasonable comparison. | ||
| moritz_ | pugs compiled to an intermediate code, and then either interpreted that, ,or compiled to another backend | ||
| masak | even from the start? I don't remember. | ||
| moritz_ | not sure what it did in the beginning | 12:14 | |
| chuhnk | This is quite exciting because from that link above, theres talk of having threading and parallel programming support | ||
|
12:15
mj41_ joined
|
|||
| masak | tests 12-18 in t/spec/S32-io/IO-Socket-INET.t fail for me with latest Rakudo. known? | 12:16 | |
| moritz_ | masak: try to re-run it | ||
| masak does so | 12:17 | ||
| moritz_ | masak: i get some random failures from time to time, but usually only one fails | ||
| jnthn | chuhnk: Yeah, I hope Jonathan gets some work done on that at some point soonish. :-) | 12:18 | |
| moritz_ hopes so too :-) | 12:19 | ||
| chuhnk | ha my boss has just said perl will not go mainstream :p | 12:20 | |
| i disagree, but what do I know | |||
| moritz_ thinks that Perl is already mainstream | |||
| masak | chuhnk: is your boss very young or living under a rock? | 12:21 | |
| because that would explain why she doesn't already know that Perl is mainstream. | |||
| chuhnk | perl6* sorry lol. | ||
| masak | now that's another matter :) | 12:22 | |
| I'm on the fence there as well. | |||
| we need to get Rakudo or some other implementation fast, then we might have a chance. | |||
| rakudo: sub f(Int $x where Inf) { say "called" }; f(Inf); f(42) | 12:23 | ||
| p6eval | rakudo 9d7428: OUTPUT«Nominal type check failed for parameter '$x'; expected Int but got Num instead in 'f' at line 22:/tmp/R59qPo3sAx in main program body at line 22:/tmp/R59qPo3sAx» | ||
|
12:23
fod joined,
jaldhar joined
|
|||
| masak | how do we plan to solve the above? | 12:23 | |
| it's wrong, right? | 12:24 | ||
| moritz_ | it's wrong | ||
| Inf is kinda interesting | |||
| because it's both of type Num and Int | |||
| masak | aye. :) | ||
| jnthn | wtf? | 12:25 | |
| Multiple inheritance? | |||
| masak | rakudo: class myInf is Int is Num {}; say myInf ~~ Int; say myInf ~~ Num | ||
| moritz_ | magic? | ||
| jnthn | I...think that's going to end very, very badly. | ||
| p6eval | rakudo 9d7428: OUTPUT«11» | ||
| masak | :D | ||
| rakudo: sub f(Int $x = Inf) { say $x }; f(42); f() | 12:26 | ||
| p6eval | rakudo 9d7428: OUTPUT«42Inf» | ||
| jnthn | Think we still have an RT open about that one. | 12:27 | |
| I'm not sure how this will work out in the end, anyways. | |||
| masak | aye. | ||
| jnthn: we could typecheck at compile-time! :) | |||
| at least for literals. | |||
| jnthn | masak: Coming soon to a compiler near you! :P | ||
| Yes, should be do-able. :-) | 12:28 | ||
| masak makes sekkrit plans to do it in Yapsi | |||
| moritz_ | I guess we need to have that serialization stuff first :( | ||
| colomon | at one point, TimToady and I discussed making Inf a separate Numeric type. | ||
| I don't know that either of us actually thought through the details. | 12:29 | ||
| masak | colomon: wouldn't that make it match neither Int nor Num? | 12:30 | |
| moritz_ | unless it's multi-inerited | ||
| *inherited | |||
| colomon | as far as I can see, yes. | 12:31 | |
| jnthn | moritz_: Yeah. I expect that to happen soonish though. | ||
| masak | \\o/ | ||
| colomon | the thing is, we probably want Inf and NaN to be there for *every* Real type. | ||
| masak | colomon: that's a very good point. | ||
|
12:32
chuhnk left
|
|||
| moritz_ | jnthn: btw has your grant been approved? | 12:32 | |
| colomon | so solutions that require multi-inheritance are very limiting. | ||
| jnthn | moritz_: I got permission from allison++ while at YAPC::EU to do at lesat the most immediately required Parrot change to support it properly there. | ||
| masak | moritz_: I've re-run t/spec/S32-io/IO-Socket-INET.t about four times now. always failures on 12..18. | ||
| jnthn | moritz_: No but it's currently being voted on, I believe. | ||
| moritz_ | masak: :( | ||
| jnthn: great that allison isn't against it :-) | |||
| jnthn | moritz_: Yes, being able to grab a flip chart and scribble diagrams to explain what I was after and why I wanted it was a big help. meatspace++ :-) | 12:34 | |
| moritz_ | indeed | 12:36 | |
| just imagine how long our 5hrs discussion would have taken over email/irc :-) | |||
| jnthn | Yeah, plus having the post the stroopwafel packet between each other as we did it woulda been a drag too. | 12:37 | |
| masak still hasn't opened his | |||
| moritz_ | :-) | ||
| jnthn | masak: no, me either :-) | ||
| masak | guess I'm waiting for a girl to drop by so I can give her some stroopwafels. | 12:38 | |
| jnthn | masak: Though I only really got home yesterday. :-) | ||
| masak | but the girls are few and far between... :) | ||
| moritz_ | masak: I have a girl drop by every evening... :-) | ||
| jnthn | masak: I could do the same but I suspect they have an expirey date... :-) | ||
| moritz_ | she was very happy about the stroopwafels | ||
| :-) | |||
| masak has been afflicted by spring hormones in the past few days... in August! | 12:39 | ||
|
12:39
pmurias joined
|
|||
| jnthn avoids making a hormones => whoremoans pun | 12:40 | ||
| masak: Maybe it's the weather. Here it's been more springy than summery. :-) | 12:41 | ||
| (Though that mad me happy. It's colder. Phew.) | 12:42 | ||
| masak | jnthn: avoidance fail. | ||
| jnthn | *made | ||
| masak | jnthn: I suspect it might have been Italy. not sure how. | ||
| jnthn | :S | ||
| Well, just imagine if Kiev had won... :P | 12:43 | ||
| masak | oh well. hormones come and go. Perl 6 remains. :) | ||
| moritz_ | lol | ||
| [Coke] | "overriding principle of parrot's design" (Freudian slip) | 12:49 | |
| masak doesn't see the slip | 12:52 | ||
| or was the overriding principle that hormones come and go but Perl 6 remains? :P | |||
| moritz_ | colomon: btw List-Utils now appears on modules.perl6.org/ | 12:53 | |
| [Coke] | masak: he meant "Perl 6" | 12:54 | |
| masak | who did? | ||
| [Coke] | sorear: | ||
| at least, I assume he did. | |||
|
12:54
kensanata joined
|
|||
| masak | hm. maybe. | 12:55 | |
| Parrot does look a lot like Perl 5 to me, though. | |||
| I always thought of PIR as Perl 5 assembly :) | |||
| moritz_ | there's certainly a lot of inspiration from p5 in there | 12:56 | |
|
12:56
alc joined
|
|||
| [Coke] | yes, but you'd think if that was the overriding principle, we'd run p5 already. | 12:56 | |
| mathw | Well, that would have been easier if we actually understood what Perl 5 does | 12:57 | |
| moritz_ | except for the small fact that p5 is a universe of its own, without a spec | ||
| masak | mathw: whatever it does, it's blazingly fast! | ||
| I mean... wow! | |||
| moritz_ | and a small number of some hundred magic variabales | ||
|
12:59
drbean joined
|
|||
| moritz_ | did you know that $^N are stored by taking then ^N as an escape sequence, and using the result in the symbol table? :-) | 12:59 | |
| and other variables of the same format | |||
| masak | perl6: say "\\x263A" | 13:00 | |
| p6eval | pugs, rakudo 811c1c: OUTPUT«☺» | ||
| masak | \\o/ | 13:01 | |
| moritz_ hopes to add niecza to the 'perl6' target list soonish | 13:02 | ||
|
13:10
Holy_Cow joined
13:11
ruoso joined
13:12
meppl joined
13:13
coffeeyy joined
|
|||
| pmurias | ruoso: the smop docs (stuff in lowdoc) should be turned into POD only modules? | 13:17 | |
| pugssvn | r31966 | pmurias++ | [v6-mildew] cleanup | 13:26 | |
| r31967 | pmurias++ | [smop] add main module | |||
| r31968 | pmurias++ | [mildew] use smop's main module | |||
| r31969 | pmurias++ | [v6-mildew] remove trash | |||
| r31970 | pmurias++ | [smop] [Mildew-Setting-SMOP] update version numbers | 13:27 | ||
| PerlJam | from p6l: "we'd need a pure Perl implementation of the rules engine that could match either text or data" Aside from the speed penalty, I wonder how close GGE fits that bill. | 13:33 | |
| moritz_ mostly ignores Aaron Sherman on p6l. He has good ideas, but it's hard to get actual spec commit out of him | 13:34 | ||
| masak | jnthn: aww, Signatures talk not up yet? I wanted to refer to it in a p6l post :/ | 13:36 | |
| jnthn | masak: I made the PDF then lacked internets to upload it. | 13:38 | |
| masak: Will do it later on today. | 13:39 | ||
| (Gotta pop out for a moment right now...) | |||
| masak | no worries. sent email, might follow up later when PDF's online. | ||
| szabgab | masak, jnthn either of you might be available for a perl6 hackathon around 6-7/11 in Eindhoven or near-by? | 13:41 | |
| phenny | szabgab: 09:23Z <masak> tell szabgab that I've now pulled szabgab/html-template into masak/html-template. thanks for your help updating the module! | ||
| masak | PerlJam: the question isn't really well-posed as it is. with an actual description of how it should work, it might be possible to answer that. | 13:42 | |
| PerlJam: PGE had several different "engines": p5re, p6re, and file glob. GGE has the p6re one. all of those are centered around matching text, so it's sort of a design assumption. | 13:43 | ||
| szabgab | phenny: thank you too | ||
| moritz_ | aye; assuming that stuff can be easily changed just because it's in Perl 6 is a misconception | ||
| masak | szabgab: sounds like fun. I'm probably available then, but hesitant to tie myself up without further information. | 13:44 | |
| moritz_ | I mean change something that goes against a fundamental assumption of the module in question | ||
| szabgab | I don't have further information yet, just asked the organizers of www.t-dose.org/ | ||
| masak | I think one should think of grammars as an inspiration here, not necessarily the means to match binary/hierarchical data. | ||
| szabgab | for a perl stand and maybe for a room for a hackathong | ||
| if they approve good | 13:45 | ||
| if onlt the stand gets approved we can still offer some talks and find a place for a hackathon | |||
| and then I'll try to get some funding for it | |||
| masak | szabgab: using it as an opportunity to meet up with jnthn might be one way I could motivate it. | ||
| szabgab | so far I have one maybe from pmichaud :) | ||
| masak | consider it a maybe from me as well :) | 13:46 | |
| szabgab | 2 may-bees | ||
| moritz_ | github.com/moritz/perlgeek.de/commi...06b0d1ac4a is that clear/readable? | 13:49 | |
| colomon | ooo, hack-a-thong. | 13:51 | |
| baest | moritz_: very | 13:52 | |
| moritz_++ | 13:53 | ||
| moritz_ | \\o/ | ||
| pugssvn | r31971 | pmurias++ | [mildew] use Test::Script to make sure the mildew executable compiles | 13:54 | |
| moritz_ | then I haz blogged | ||
| perlgeek.de/blog-en/perl-6/cool.html | |||
| lol | |||
| baest | :) | 13:55 | |
| [particle] | moritz_: why is Cool a Class and not a Role? | 13:57 | |
| moritz_ | [particle]: to be mutable, and thus monkey-typable | 13:58 | |
| [particle] | i suspect enquiring minds want to know | ||
| that is, you explain why Cool exists, but not why it's a Class. | 14:00 | ||
|
14:00
alester joined
|
|||
| moritz_ | right | 14:00 | |
| moritz_ adds the explanation | 14:02 | ||
| [particle] gives moritz_++ karma points | |||
| moritz_ | [particle]++ | ||
| PerlJam | saying "Cool fills this role" sounds a little odd then ;) | ||
| [particle] | s/role/niche|need/ | 14:03 | |
| moritz_ | I dimly recall there being a second reason for it not being a role, but I can't remember what it was | ||
| moritz_ changes it to 'niche' | |||
| masak | moritz_: the fact that we now get to write 'class A is Cool'? :P | ||
| moritz_ | masak: as a role, it would have been called "Magic" | 14:04 | |
| so that we can write "class A does Magic" | |||
| I meant a technical reason :-) | |||
| masak | of course. | ||
| PerlJam | moritz_: you might add a little bit of text about why it's called "Cool" as I'm sure Other People react to the name without realizing there's a reason it has that name. | 14:06 | |
| moritz_ is not sure what to write about it | 14:07 | ||
| PerlJam either actually | 14:10 | ||
| [particle] | "These behaviors have long been considered cool by people new to Perl, so the class is appropriately named." ? | ||
| PerlJam | Perhaps crib "convienent object oriented loopbacks" and "I'm cool with an argument of that type" and other bits of the paragraph at S02:1744 | 14:12 | |
|
14:12
IllvilJa joined
|
|||
| moritz_ | PerlJam++ | 14:14 | |
| PerlJam | naming things like "bless" and "Cool" and such cause people outside of Perl to just think we're being cute and that's looked upon with disdain (much like camelia). I think somewhere we should say "yeah, it's cute. It's also memorable, and that's the point" (or something to that effect) | 14:15 | |
|
14:16
tadzik joined
|
|||
| tadzik | good {daypart(:local)} #perl6 | 14:16 | |
| phenny | tadzik: 08:47Z <masak> tell tadzik ufo pulled, including the newest commit. thanks. | ||
| tadzik | masak: I hope the newest is included, the elder is broken :) | ||
| PerlJam | (at least that's how it works for me so I assume Larry did it that way for that purpose ;) | ||
| moritz_ | PerlJam: you might want to add such a note to the book | 14:17 | |
| PerlJam | moritz++ | 14:18 | |
| moritz_ | in general I'd appreciate it if we had more explanations why stuff is like it is | 14:19 | |
|
14:20
Trashlord joined
|
|||
| PerlJam | If we can gather enough "whys" maybe we could explicitly incoporate that into the structure of the book. | 14:20 | |
| something like: through out the book you will see sidebars that looks like this. These sidebars contain further explanation of why something is the way it is. | 14:21 | ||
| tadzik | curiosity: Isn't (1..n).pick doing two array allocations itself? | ||
| it's quite an idiomatic way to write (n.rand + 1), could it be optimized to the latter, to avoid object juggling? | |||
| PerlJam | tadzik: when I first read what you just wrote, I thought, "no it isn't" (wrt idiomatic) because I would tend to not pick that method when it's 1..N. But I *would* choose it for N..M | 14:24 | |
| tadzik | yeah, n..m is even more fun | ||
| moritz_ | tadzik: you could submit a patch for Range.pick | 14:25 | |
| tadzik: that avoids flattening the list | |||
| tadzik | moritz_: what avoids? | 14:26 | |
| moritz_ | Range.pick | 14:27 | |
| masak | tadzik: yes, newest was included. that's why I wrote 'including the newset'. :) | ||
| yay, pmichaud's grant has been accepted: news.perlfoundation.org/2010/08/hag...sts-i.html | 14:28 | ||
|
14:28
plobsing joined
|
|||
| PerlJam | masak: that's a good slightly early birthday present | 14:28 | |
| tadzik | masak: I realized it's broken while being out of the net, yet I managed to login to GH from my friend's computer and make a commit using their web interface. Awful experience, I must say | ||
| jnthn | yay \\o/ | ||
| masak | tadzik: :) | ||
| tadzik | what will be a good name for a module with subs replacing common shell commands, like mkdir -p, rm -r, cp -r? I initially named it Shell::Utils, but not sure if it really fits it. Ideas? | 14:31 | |
| moritz_ | File::Utils? | 14:32 | |
| Path::Utils? | |||
| or ::Tools | |||
| ExtUtils | |||
| PerlJam | tadzik: Perl 5 puts those in File::Path. | ||
| (not a particularly good name IMHO) | |||
| moritz_ | otoh Shell::Tools isn't too bad | 14:33 | |
| tadzik | File::Tools? Or File::Utils | ||
| jnthn | Shell::Emulation | ||
| PerlJam | of course, they're also called "make_path" and "remove_tree" which I find oddly wrong too (why not remove_path?) | 14:34 | |
| tadzik | that sounds too generic imho | ||
| moritz_ | MinUS - Minimalist Unix Shell | ||
|
14:35
spq1 joined,
kensanata joined
|
|||
| PerlJam | I like FS::Tools personally. The ones mentioned so far aren't about files as much as they are about the file system. What other "common shell commands" will there be? | 14:35 | |
| moritz_ | FS sounds like it's file system manipulation - FAT, Ext3, RaiserFS etc. | 14:36 | |
| wow, www.reddit.com/r/programming/commen...dern_perl/ is top 5 in r/programming/ | |||
| at least for a short while :-) | |||
| tadzik | File::Tools sounds nice | 14:37 | |
| I'll put File::Copy in here (it's too small and simple to be a separate module imho), definitely 'mkdir -p' (I wrote it myself for neutro, and I see moritz did similar thing for Module::Starter), probably cp -r and rm -r too | |||
| [particle] | it can be renamed when it makes its way to :auth<CPAN> | ||
| PerlJam | File::Tools +1 | 14:38 | |
| moritz_ | +1 | 14:39 | |
| in Unix, a directory is a kind of file too :-) | |||
| tadzik | yep | ||
| So it shall be done | |||
| PerlJam | so ... File::Find will be included too? | 14:40 | |
| tadzik | hmm | 14:41 | |
| Survey: [ ] Include File::Find in File::Tools or [ ] Keep 'em separated | |||
| moritz_ | [X] bundle | 14:42 | |
| PerlJam | (I'm pro-include too) | ||
| moritz_ | PerlJam: then make your cross! | 14:43 | |
| [particle] | File::Tools is a distro, right? bundle File::Find. | ||
|
14:43
ashleydev_ joined
|
|||
| tadzik 's builtin regex engine recognizes only [.] | 14:43 | ||
| PerlJam | [particle]++ proper framing is important :) | ||
|
14:44
mhsparks joined
|
|||
| [particle] | i wish there was a way to distinguish distros from modules by name | 14:44 | |
|
14:44
mhsparks left
|
|||
| tadzik | I see 3 people for, 0 against | 14:44 | |
| [particle] | ...or some other marker | ||
| tadzik | the ancient council has spoken | ||
| moritz_ | now I feel old. Thank you. | 14:45 | |
| :-) | |||
| tadzik | shh! It was supposed to be epic and dramatic! | ||
|
14:46
mhsparks joined
|
|||
| moritz_ increaes the volume of the mysterious background music | 14:46 | ||
|
14:46
mhsparks left
|
|||
| szbalint | this demands strange unicode symbols! | 14:46 | |
| PerlJam searches for an excalibur unicode character (it must exist, right?) | 14:47 | ||
| tadzik | star: say "\\n\\n\\n\\n\\n\\n\\n\\n\\n" | ||
| p6eval | star 2010.07: OUTPUT«» | ||
| moritz_ | .sword | ||
| .u sword | |||
| tadzik | .u sword | ||
| phenny | U+2694 CROSSED SWORDS (⚔) | ||
| tadzik | yay! | ||
| masak | did I just miss an ancient council meeting? dang. :) | ||
| tadzik | there must be a module for this | ||
| moritz_ | use Council::Ancient <decide>; | 14:48 | |
| PerlJam | .u skull and cross bones | ||
| phenny | PerlJam: Sorry, no results for 'skull and cross bones'. | ||
| PerlJam | .u skull | ||
| phenny | U+2620 SKULL AND CROSSBONES (☠) | ||
| masak | tadzik: search.cpan.org/~audreyt/App-Uni-v0.12.0/ | ||
| tadzik | yay :) | ||
| .u ghost | |||
| phenny | U+2EE4 CJK RADICAL GHOST (⻤) | ||
| tadzik | a rectangle here :( | 14:49 | |
| PerlJam | .u grasshopper | ||
| phenny | PerlJam: Sorry, no results for 'grasshopper'. | ||
| tadzik | .u pearl | ||
| phenny | tadzik: Sorry, no results for 'pearl'. | ||
| PerlJam | .u onion | ||
| phenny | PerlJam: Sorry, no results for 'onion'. | ||
| tadzik | .u camel | ||
| phenny | tadzik: Sorry, no results for 'camel'. | ||
| masak | I like the sounds of 'radical ghost' :) | ||
| moritz_ | .u perl | ||
| phenny | moritz_: Sorry, no results for 'perl'. | ||
| PerlJam | clearly those unicode wonks have been slacking | ||
| tadzik | and that's how ancient council meetings end up. Damn you, unicode | ||
| moritz_ | .u camelia | 14:50 | |
| phenny | moritz_: Sorry, no results for 'camelia'. | ||
| masak | PerlJam: you must not have seen unicode.org/Public/6.0.0/charts/ver...U1F600.pdf | ||
| tadzik | I feel a need for Optimize::Fun, which would tell jokes during the long-taking opereations | ||
| PerlJam | does phenny take hex? | 14:51 | |
| .u 1f648 | |||
| phenny | PerlJam: Sorry, no results for '1f648'. | ||
| PerlJam | .u 0x1f648 | ||
| phenny | PerlJam: Sorry, no results for '0x1f648'. | ||
| moritz_ | phenny doesn't like codepoints > 0xffff iirc | 14:52 | |
| tadzik: sounds like a nice module | |||
| tadzik | yet I don't know how to detect long-running subs | ||
| moritz_ | all subs are long-running subs in rakudo :-) | 14:53 | |
| PerlJam | heh | ||
|
14:56
envi^home joined
14:59
rurban joined
15:04
Axius joined
15:06
kst joined
15:21
justatheory joined,
isBEKaml joined
|
|||
| isBEKaml | OHHAI, #perl6! | 15:22 | |
| oha | hi isBEKaml | 15:24 | |
| masak | isBEKaml! \\o/ | 15:27 | |
| oha | i've noticed something on net-io on rakudo test | 15:28 | |
| it was getting failed over and over, till i've realised that the process got hang | |||
| there are 2 issues | |||
| 1) the test launch a demon which hang there | |||
|
15:28
risou joined
|
|||
| oha | 2) the bind() didn't throw an error if the port is already bound | 15:29 | |
| i'm fixing the 2) | |||
|
15:30
kst joined,
Italian_Plumber joined
|
|||
| moritz_ | I guess you already have a commit bit to the pugs repo? | 15:31 | |
|
15:31
achromic joined
|
|||
| oha | moritz_, sorry? | 15:31 | |
| [Coke] | tell perljam to test something. | 15:32 | |
| isBEKaml | masak, oha: \\o/ | ||
| moritz_ | oha: do you have write access to the repository in which the tests are stored? | ||
| [Coke] | needs the botname, eh? | ||
| moritz_ | or do you want to fix bind(), not the tests? | ||
| oha | moritz_, no | ||
|
15:32
coffeeyy left
|
|||
| oha | moritz_, i'm going to fix the bind() | 15:32 | |
| which is the real issue imho | |||
| [Coke] | phenny: ask pmichaud if he has a schedule in mind for the grant. | ||
| phenny | [Coke]: I'll pass that on when pmichaud is around. | ||
| moritz_ | anyway, if you want access to that repo, just /msg me your email address and desired nickname | 15:33 | |
| tadzik | hmm. If File::Tools has 'use File::Find', and someone will 'use File::Tools', will he/she have access to File::Find functions | 15:34 | |
| ? | |||
| moritz_ | only if you re-export them somehow (don't ask me how that works...) | 15:35 | |
| isBEKaml | tadzik: hm, I guess File::Find is already available in pugs repo. Not sure how usable it is since that was so long ago. :) | ||
| tadzik | isBEKaml: it isn't :) | ||
| szabgab | $page.content ~= qq{<a href="{$elem.attributes<url>}">{$elem.attributes<url>}} ~ "</a>\\n"; | ||
| tadzik | isBEKaml: we wrote the new one, with lazy lists and pink unicorns | ||
| szabgab | I just fixed that line | ||
| isBEKaml | tadzik: isn't available or unusable? :) | ||
| szabgab | it used to be | ||
| $page.content ~= qq{<a href="{$elem.attributes<url>}">{$elem.attributes<url>}} ~~ "</a>\\n"; | |||
| ~ instead of ~ | 15:36 | ||
| tadzik | isBEKaml: iirc it doesn't work, and our File::Find is better anyway :) | ||
| szabgab | ~~ instead of ~ | ||
| tadzik | isBEKaml: afair pugs' File::Find is a verbatim port of this awful Perl 5's File::Find | ||
| isBEKaml | tadzik: hm, better to rewrite the awful into awesome and let the world know! :) | 15:37 | |
| tadzik++ | |||
| colomon | oooo, I didn't know Rakudo had pink unicorns yet. tadzik++ | 15:38 | |
| tadzik | colomon: actually, that's NYI | ||
| colomon | tadzik: dang. | ||
| tadzik | isBEKaml: nothing new, it's in R* | ||
| I'll be back later, to implement the invisible pink unicorns and stuff | 15:42 | ||
|
15:45
coffeeyy joined
15:46
pyrimidine joined
15:51
britneypire joined
|
|||
| alester | It would be swell if vim users were to try installing and using the Perl .vim files at github.com/petdance/vim-perl so I can get some eyeballs on them before vim 7.3 comes out. Just check out the repo and do a "make install" into your ~/.vim dir. | 15:52 | |
| isBEKaml | ooh, tadzik is yet to implement pink unicorns (makes a note to see them when they are out) :) | ||
| alester: I installed them from there. But found them too slow in displaying files when dealing with :set ft=perl6 :( | 15:53 | ||
| alester: tried fixing them, but gave up when I found the huuge vimscripts. :( | |||
| alester | A ticket describing your experiences in the github bit tracker would be welcome. | 15:54 | |
| Giving details re: slow. | |||
| isBEKaml | alester: sure, will post them when I get around to it next time. | ||
| alester: for now, I just use :set syntax=perl6 for faster loading of files. | 15:55 | ||
|
16:02
Axius joined,
ashleydev_ joined
|
|||
| isBEKaml | bugzilla.gnome.org/show_bug.cgi?id=626593 ## Lol | 16:10 | |
| masak | oha++ just found a place in t/spec/S32-io/IO-Socket-INET.pl which will never work if we do reading with Bufs. | 16:16 | |
| oha | my $s = $io.read(2)~$io.read(1); # this read 1 unicode char of 3 bytes. | 16:17 | |
| masak | apparently line 115 splits a character. | ||
| oha | it was working with the old implementation | ||
| s/old/actual/ | |||
| masak | the char is 3 bytes wide, but that line reads 2. | ||
| oha | but after i've tried to use Buf i obiously get an error | 16:18 | |
| Malformed UTF-8 string | |||
| masak | and that error is *correct* | ||
| oha | imho, yes | ||
| masak | because $babe is a Str. | ||
| and Strs aren't allowed to contain two thirds of a character. | 16:19 | ||
| so that test needs to be rewritten somehow. | |||
| oha | masak, i'm not sure how to change it to check the error | ||
| masak | oha: let me check who wrote that part. | 16:20 | |
| oha | the nice thing is that now $sock have .read(->Buf) and .recv(->Str) | ||
| masak | carlin++, it seems. | 16:21 | |
| oha | the second is sugar on the first, and give backward compatibility (where possible) | ||
| masak | I'm not savvy enough to comment on whether that's nice/desirable, but it sounds ok :) | ||
| oha | masak, honestly, i would prefer recv() by Buf and read() by Str | 16:22 | |
| masak | not sure we need the Str-returning things at all. | ||
| feels like a typical FAQ. | |||
| oha | masak, anyway IO.pm have read(->Buf); | 16:23 | |
| dakkar | what encoding would be used by the Str-returing methods? | ||
| masak | oha: yep. I wrote that one :) | ||
| dakkar: $?ENC, probably. | |||
| oha | dakkar: multi method recv(Int $bytes, Str $enc) | ||
| dakkar | oha: better :) | 16:24 | |
| oha | $enc default to UTF-8 | ||
| if not specified (again, for backward compatibility) | |||
| dakkar | default encondings are usually evil… | ||
| masak | aye. | ||
| oha | i do not want to break HTTP::Server::Simple | ||
| masak | I'm just doing what the spec says. | ||
| dakkar | Java went that way, and they had to deprecate half the API | ||
| masak | aye. | ||
| oha | i could add a warn, but i fear this will mess all the tests | 16:25 | |
| dakkar would add a FAIL | |||
| masak | not having a default encoding simply amounts to making the $enc parameter mandatory. | 16:26 | |
| dakkar | yes | 16:27 | |
| oha | masak, it's a bit better, if the $enc is missing, i call $buf.decode() so i delegate the problem to Buf.pm | ||
| dakkar | Buf has a 'decode' method without a mandatory encoding? | 16:28 | |
| dakkar should shut up before degenerating into a rant | |||
| oha | dakkar, actually yes | 16:29 | |
|
16:29
payload joined
16:30
patrickas joined
|
|||
| patrickas | ola | 16:30 | |
| dakkar | ugh | ||
| oha | hi patrickas | 16:31 | |
| patrickas | ola oha :-) | ||
| isBEKaml | patrickas! :) | ||
| patrickas | \\o/ isBEKaml! | ||
| dakkar | I'd love for an Encoding to be a couple of functions, coercible from Str via lookup… | 16:32 | |
| isBEKaml | patrickas: the deletes worked then! ;) | ||
| dakkar | so that we could pass around Encoding objects, or their names… | ||
| patrickas | it seems so! still waiting for the sky to fall :-) | ||
| isBEKaml | patrickas: erm, didn't break anything... ... (I really should watch things) | ||
| patrickas | that was a nice patch but did not solve much .... I got me another one that'd give us about 13 more test passes in series ... pending some twits from colomon to review and apply :-) | 16:34 | |
| ping moritz_ | 16:36 | ||
| isBEKaml | patrickas: \\o/ | ||
| patrickas | actually ping anyone with ideas :-) What would be a nice/standard way to present the USAGE information for scripts with both long and short forms of arguments? | 16:37 | |
| isBEKaml | GetOpts ? | 16:39 | |
|
16:39
rgrau joined
|
|||
| patrickas | good point ... let's steal from GetOpts :-) heading to CPAN | 16:39 | |
|
16:42
molaf joined
|
|||
| patrickas | getopts seems to only process single-character switches maybe Getopt::Long | 16:42 | |
| isBEKaml | patrickas: oh, man. I didn't realise GetOpts was a module on CPAN. I just threw it out. :-) | 16:45 | |
| patrickas: yes, GetOpt::Long is the way to go. | 16:46 | ||
| patrickas: GetOpt::Long::Descriptive also looks promising. | |||
|
16:49
jennyf joined
16:50
Mowah joined
|
|||
| patrickas | OK I'll steal the Usage on a line followed by a line for each short - long option | 16:50 | |
| also the short options always mean one letter right ? | 16:51 | ||
| [particle] | yes, short options are always one letter | 16:56 | |
| and if they're bundled, only the last one can take a value | |||
| isBEKaml | AFAIK, gnu programs always had it that way (single letter short options) and it's usually the case in other programs too. | ||
| [particle] | forget what you knew about gnu and read S19. there are similarities, but differences, too. | 16:57 | |
| [particle] really has to finish up his grant... been thinking about it quite a bit lately, just looking for tuits | |||
| but, by all means, if you want to implement parts of command line parsing for rakudo, feel free to beat me to it. | 16:58 | ||
| patrickas | [particle] I am working on the short options but I am sure I won't implement all of the possibilities ... just the most simple ones I guess | 16:59 | |
| [particle] | patrickas++ | 17:00 | |
|
17:00
Trashlord joined,
justatheory joined
|
|||
| rokoteko | how would you: close STDOUT; open STDOUT, ">", \\my $str or die $!; print "foo"; warn "str: $str" ... in perl6? | 17:03 | |
| ie. redirect $*OUT to a variable. | 17:04 | ||
|
17:04
Packetknife joined
|
|||
| patrickas | [particle] just to clarify I am working on short options passed to the perl script (parsed by MAIN) not to the perl executable | 17:06 | |
| [particle] | it's all the same, except where it's different. | ||
| patrickas | :-) | ||
|
17:09
nperez joined
|
|||
| rokoteko | temp NYI? | 17:14 | |
| patrickas | NYI IIRC | 17:15 | |
| masak | aye, NYI. | 17:16 | |
|
17:16
Axius joined
|
|||
| [particle] | NY, aye. | 17:17 | |
| rokoteko | rakudo: my $var = IO.new; $*OUT := $var; say "foo"; warn "foo is [$var.perl]" | ||
| p6eval | rakudo 811c1c: OUTPUT«foo is [IO()<0x6c0ce50>.perl] at line 22:/tmp/DPUonfFcAp» | ||
| pmichaud | rakudo: my $a = 5; temp $a = 6; | 17:18 | |
| phenny | pmichaud: 01:52Z <[Coke]> ask pmichaud if he can review RT #74008, which is a patch for some laziness. | ||
| pmichaud: 02:46Z <[Coke]> ask pmichaud if we can close 75030 now. | |||
| pmichaud: 15:32Z <[Coke]> ask pmichaud if he has a schedule in mind for the grant. | |||
| p6eval | rakudo 811c1c: OUTPUT«Could not find sub &temp in main program body at line 22:/tmp/zTGyvw4kLk» | ||
| [particle] | looks like IO needs a .perl | ||
| pmichaud | $var.perl won't interpolate | ||
| need parens | |||
| my $var = IO.new; say $var.perl; | 17:19 | ||
| rakudo: my $var = IO.new; say "$var.perl() $var.perl"; | |||
| p6eval | rakudo 811c1c: OUTPUT«IO.new(PIO => Any, ins => Any, autoflush => Any, path => Any, stat => IO;Stat.new(path => Any)) IO()<0x612fbd0>.perl» | ||
| rokoteko | rakudo: my $var = IO.new; $*OUT := $var; say "foo"; warn "foo is [" ~ $var.perl ~ "]" | ||
| p6eval | rakudo 811c1c: OUTPUT«foo is [IO.new(PIO => Any, ins => Any, autoflush => Any, path => Any, stat => IO;Stat.new(path => Any))] at line 22:/tmp/lTfNH9xMFu» | ||
| rokoteko | hmm. probably my $var = IO.new; is just completely wrong in my use case. | 17:20 | |
| just tried to hack in *somehow* the redirecting to a variable. but as it's IO it obviously is Input and Ouput instantly. maybe I could make it buffered and then read the buffer. .. really no-one can think of a way how redirecting $*OUT to a variable coule be be done when implemented? | 17:22 | ||
| TimToady | does it need to work for subprocesses? | 17:24 | |
| sjohnson | hi TimToady long time no see | ||
| rokoteko | TimToady: I have no further requirements yet. :) | 17:26 | |
| TimToady is finally back home, and is down to only 12 days of ir clogs | |||
|
17:26
_macdaddy joined
|
|||
| TimToady | my $*OUT = $handle works for a dynamic scope, but not for subprocesses | 17:26 | |
| rokoteko | TimToady: say $handle.WHAT .. ? | 17:27 | |
| Str() ? | |||
| that was one of the first things I tried, but NYI in rakudo, I guess. | 17:28 | ||
|
17:28
Axius joined
|
|||
| [Coke] | cheeze it, it's the larry.\\ | 17:29 | |
| TimToady | handle can be an IO returned by open | 17:31 | |
|
17:31
Axius joined
|
|||
| TimToady | errand & | 17:33 | |
| rokoteko | TimToady: could you please read the lastlogs for past 30mins. Id appreciate. ie. Im curious how would the IO store the data printed to it and how would retrieve it? that sounds merely like a hack to me. | ||
| 20:34 here now.. and: 20:03 < rokoteko> how would you: close STDOUT; open STDOUT, ">", \\my $str or die $!; print "foo"; warn "str: $str" ... in perl6? | 17:34 | ||
| [Coke] | rokoteko: or you could wait until he catches up, like everyone else. =-) | 17:36 | |
| rokoteko | [Coke]: Sure. I just thought I was lucky to be the last one asking when he happened to appear! | 17:37 | |
| [particle] | was it good luck or bad luck? | 17:38 | |
| rokoteko | [particle]: in case of 'bad' luck, I wouldve said unlucky. :/ | ||
| But surely, it's not an issue of this second. :) I was just curious. I can wait 6 days (I think TimToady handles 12 days of question in max 6 days).. ;) | 17:40 | ||
| pmichaud | rokoteko: I don't think IO by itself acts like a stringbuffer. | 17:42 | |
| rokoteko | pmichaud: me neither. | ||
| pmichaud | but the way that you would do it would be something like: | ||
| my $*OUT = IO::StringBuffer.new(); say; say; say 'what-you-want'; | 17:43 | ||
| i.e., you don't rebind the existing $*OUT -- you just create a new one. | |||
| rokoteko | how would I restore the old? | 17:44 | |
| pmichaud | you don't have to | ||
| rokoteko | store it in another IO object? | ||
| pmichaud | the old one will become visible again when the block exits | ||
| rokoteko | ahhh. | ||
| pmichaud | that's kind of the point of dynamic variables | ||
|
17:44
ruoso joined,
perl_4_life joined
|
|||
| pmichaud | rakudo: sub foo() { say $*abc; }; my $*abc = 'one'; foo(); { my $*abc = 'two'; foo(); }; foo(); | 17:45 | |
| p6eval | rakudo 811c1c: OUTPUT«onetwoone» | ||
| pmichaud | note that when foo() is called from the nested block, it sees the nested declaration of $*abc | ||
| but when called from outside of the nested block, it sees the outer one. | 17:46 | ||
| rokoteko | pmichaud: ok. and in lexical scope it's not yet known how it's going to work? ie. my $newout = IO::StringBuffer.new(); temp $*OUT = $newout; ? | 17:48 | |
| pmichaud: did you really mean "my $*OUT = IO::StringBuffer.new();" there ??? | 17:49 | ||
| pmichaud | rokoteko: yes. | ||
| rokoteko | the my $*OUT sounds/looks funny. | ||
| pmichaud | why? | ||
| it's just declaring a new variabled called $*OUT | |||
| *variable | |||
| that variable hides the previous declaration of $*OUT from the setting | |||
| (I don't understand the question about 'lexical scope') | 17:50 | ||
|
17:50
Axius joined
|
|||
| pmichaud | here's the difference between using 'my' and 'temp' with a dynamic variable | 17:51 | |
| if I use 'temp', then I'm actually modifying the existing dynamic variable in place | |||
| so, for example, temp $*OUT = ... would temporarily set $PROCESS::OUT to a new value, and then restore that value upon scope exit | 17:52 | ||
| however, my $*OUT = ... creates a new dynamic $*OUT variable, leaving $PROCESS::OUT unchanged | |||
| PerlJam wonders about the utility of temp these days | 17:53 | ||
| rokoteko | both makes $*OUT have the same scope? | ||
| pmichaud | $*OUT always has dynamic scope -- that's what the * means | ||
|
17:53
pyrimidine left,
pyrimidine joined
17:54
whiteknight joined
|
|||
| pmichaud | in my example above, note that $*abc in sub foo() isn't lexical. | 17:54 | |
| i.e., there's no $*abc lexically declared for sub foo(). | 17:55 | ||
| Khisanth | so our got replaced with a splat :) | 17:56 | |
| pmichaud | PerlJam: I agree, 'temp' seems much less necessary or desirable now that we have dynamic vars | ||
| Khisanth: not really :) | |||
| Khisanth: it's not a package variable, either. :-) | |||
| rakudo: class A { method xyz() { say $*abc; } }; { my $*abc = 'hello'; A.xyz(); } | 17:57 | ||
| p6eval | rakudo 811c1c: OUTPUT«hello» | ||
| PerlJam | Khisanth: Perl 6 has added (or formalized) a few extra axes for variables. Luckily we have these twigils to help us figure out which axis we're looking at. | 17:58 | |
| oha | PerlJam, i like the idea behind 'let' | 17:59 | |
| isBEKaml | rakudo: my $*foo="foo"; { $*foo = "bar"; say $*foo; }; say $*foo; | 18:00 | |
| p6eval | rakudo 811c1c: OUTPUT«barbar» | ||
| oha | i wonder what would happen to have a sort of committable transaction with threads | ||
| isBEKaml | rakudo: my $*foo="foo"; { my $*foo = "bar"; say $*foo; }; say $*foo; | ||
| p6eval | rakudo 811c1c: OUTPUT«barfoo» | ||
| rokoteko | { my $oldout = $*OUT; my $newout = IO::StringBuffer.new(); my $*OUT = $newout; say "foo"; my $*OUT = $oldout; } ... | ||
| .. hmm. accodring to S32 select() is gone. | |||
| revdiablo | PerlJam: Do you know offhand where the twigils documented? | 18:01 | |
| PerlJam | revdiablo: S02 | 18:02 | |
| S02:1865 looks like | |||
| revdiablo | Gracias | ||
| Found the relevant section | |||
| PerlJam | btw, looking at that list of variables .... does $<foo> really belong? Or am I suffering a hobgoblin of foolish consistency? | 18:04 | |
| TimToady | actually, temp on dynamic vars is special; temp $*foo is supposed to really mean my $*foo but initialized to the previous value | ||
| rokoteko | pmichaud: so my $*var is legal because $* stands for dynamic variable? | ||
| pmichaud | rokoteko: yes | ||
| and in the above | |||
| my $*OUT = $oldout; | |||
| TimToady | dynamic vars are really lexicals that allow themselves to be found dynamically | ||
| pmichaud | would likely be an error | 18:05 | |
| (and really isn't needed) | |||
|
18:05
colomon joined
|
|||
| rokoteko | pmichaud: .. unless you want to continue withing the block using the old $*OUT | 18:05 | |
| TimToady | temp/let on dynvars just emulate temp/let semantics using my declarations | ||
| pmichaud | rokoteko: if that's the case, just create a nested block | ||
| TimToady | but don't really do the save/restore trick | 18:06 | |
| let has to copy up to the outer dynvar on success | |||
| s/outer/old/ | |||
| pmichaud | rakudo: say 'hello'; { my $*OUT = ...; say 'this goes to the inner $*OUT'; }; say 'this goes to the original $*OUT'; | ||
| p6eval | rakudo 811c1c: OUTPUT«hello» | ||
| pmichaud | a better example might be: | ||
| rokoteko | TimToady: ok. I dont know of "let" yet. :) | 18:07 | |
| pmichaud | rakudo: say 'hello'; { my $*OUT = $*ERR; say 'this goes to the standard error'; }; say 'this goes to the original $*OUT'; | ||
| TimToady | nobody implements any kind of 'let' yet | ||
| p6eval | rakudo 811c1c: OUTPUT«hellothis goes to the standard errorthis goes to the original $*OUT» | ||
| pmichaud | rakudo: say 'hello'; { my $*OUT = open('temp', :w); say 'this goes to the temp file'; }; say 'this goes to original $*OUT'; say slurp('temp'); | 18:08 | |
| p6eval | rakudo 811c1c: OUTPUT«helloOperation not permitted in safe mode in 'Safe::forbidden' at line 2:/tmp/Wm9CiXRIdm in main program body at line 22:/tmp/Wm9CiXRIdm» | ||
| pmichaud | bah | ||
| rokoteko: anyway, the point is that you don't have to explicitly restore $*OUT | |||
| PerlJam | TimToady: how useful are the subtle distinctions of temp that they would get such a short keyword? | ||
| rokoteko | pmichaud: yes, you have a chance to specify a dynamic scope for it. I got it thanks. :) | ||
| TimToady | PerlJam: huffman is not my only razor. | 18:10 | |
|
18:10
Axius joined
|
|||
| rokoteko | rakudo: say 'STDOUT: foo 0'; warn 'STDERR: foo 1'; { my $*OUT = $*ERR; say 'STDERR: foo 2'; }; say 'STDOUT: foo 3'; | 18:11 | |
| p6eval | rakudo 811c1c: OUTPUT«STDOUT: foo 0STDERR: foo 1 at line 22:/tmp/loy1LTybO5STDERR: foo 2STDOUT: foo 3» | ||
| rokoteko | there's something wrong there. | ||
| pmichaud | ...why? | 18:12 | |
| gfldex | rakudo: grammar Grammar::Foo { | ||
| rokoteko | rakudo: say "foo 1"; warn "foo 2"; say "foo 3"; warn "foo 4"; | ||
| p6eval | rakudo 811c1c: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 22» | 18:13 | |
| rakudo 811c1c: OUTPUT«foo 1foo 2 at line 22:/tmp/43WEOVje61foo 3foo 4 at line 22:/tmp/43WEOVje61» | |||
| gfldex | rakudo: grammar Grammar::Foo { token foo { 'foo' }; }; say 'foo' ~~ /^<Grammar::Foo::foo>$/; | ||
| p6eval | rakudo 811c1c: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 22, near "::Foo::foo"» | ||
| rokoteko | pmichaud: ahh. nothing. I somehow misinterpreted the bot earlir. :) thank you a bnuch! | ||
| pmichaud | gist.github.com/521392 # example for rokoteko | ||
| gfldex | std: grammar Grammar::Foo { token foo { 'foo' }; }; say 'foo' ~~ /^<Grammar::Foo::foo>$/; | ||
| p6eval | std 31912: OUTPUT«ok 00:01 117m» | ||
| PerlJam | TimToady: So ... what razor are you using for temp that doesn't slice it from the language? :) | ||
| TimToady | my wait-and-see razor | 18:14 | |
| pmichaud | PerlJam: "much less useful" doesn't always mean "not useful" :-) | ||
| [Coke] | ... that would explain the crazy hair. | ||
| PerlJam | TimToady: good enough for me. :) | ||
| rokoteko | pmichaud++ | ||
| PerlJam | pmichaud: I know an asymptote when I see one. But maybe I'm wrong. | 18:15 | |
| pmichaud | rokoteko: note that if the nested block calls any functions that do 'print' or 'say', they also use the new value of $*OUT and not the global one | ||
| rokoteko | this was more trivial than I guessed. :) but Im only at S06, so let's forgive me ;) | ||
| pmichaud: yes. I understand the dynamic sence. this is related to the 'lexical scope' question you didn't understand earlier. :) | 18:16 | ||
| pmichaud | okay. | ||
| good | |||
| rokoteko | 20:48 < rokoteko> pmichaud: ok. and in lexical scope it's not yet known how it's going to work? ie. my $newout = IO::StringBuffer.new(); temp $*OUT = $newout; ? | ||
| where $newout is obviously lexical. but I didnt know yet that you can say my $*OUT = $newout; | 18:17 | ||
| pmichaud | TimToady: welcome back | ||
| rokoteko | .. so Im bit confused what happens to $newout when it falls out of lexical scope. :) | ||
| TimToady | down to 10 days of backlog... | ||
| rokoteko | s/6 days/1.5 hours/ | 18:18 | |
|
18:22
ashleydev__ joined
18:23
Packetknife joined
|
|||
| PerlJam | rokoteko: it drops beyond the horizon of your light-cone :) | 18:23 | |
|
18:25
mberends joined
|
|||
| rokoteko | ahh. So I can see it appearing above the horizon of my heavy-cone where everything is backwards. | 18:25 | |
|
18:25
tadzik joined
|
|||
| oha | hi mberends | 18:25 | |
| tadzik | hello | ||
| mberends | good * :) only 3.5 days backlog to go here... | 18:26 | |
| pmichaud | rokoteko: when $newout falls out of lexical scope, it acts like any other lexical var :-) | ||
| down to 33 messages in my inbox! woo hoo! | |||
| jnthn | o/ mberends | ||
|
18:27
jferrero joined
|
|||
| rokoteko | pmichaud: and at after that point when you say "foo"; it goes back to the original $*OUT ? | 18:27 | |
|
18:28
s1n joined
|
|||
| mberends | hi jnthn, should I break out my Java books yet ? ;) | 18:28 | |
| pmichaud | well, that depends on $*OUT more than $newout in your example | ||
| from what you wrote, though, the temp on $*OUT goes out of scope at the same time that $newout does | |||
| but the restoration of $*OUT to its previous value doesn't have anything to do with $newout | |||
| tadzik | what happens if 2 modules import themselves, is circular dependency an issue? | 18:30 | |
| jnthn | mberends: Soon. ;-) | ||
| rokoteko | pmichaud: I think I'll have to wait to be able to experiment with this in practice. :) but as you are the PM, my wish is to prioritize StrPos before and then IO::StringBuffer -- of course after all the other stuff that are more important on your list. :) | 18:31 | |
| pmichaud: thanks a lots for your time! :) | |||
| pmichaud | rokoteko: noted, and thanks! | 18:32 | |
| [Coke] | he's just /a/ PM. they grow on trees, you know. | ||
| rokoteko | As do programmers, if you ask from a PM. ;) | ||
|
18:32
hercynium joined
18:37
unenana joined
|
|||
| dukeleto | pmichaud: i sent you a msg in #parrot, just letting you know :) It is about turning the parrot github account into an org so we can have a proper git mirror of parrot | 18:39 | |
| PerlJam | [Coke]: I haven't seen many Patrick Michauds growing on trees. :) | 18:40 | |
|
18:40
wamba joined
|
|||
| tadzik | pb.rbfh.de/zUfzTnk3zJUd -- is it possible to get this to work? | 18:40 | |
| [particle] | there's one here in seattle | ||
| avar | dukeleto: parrot will be using github? | 18:41 | |
| [Coke] | avar: it's a git mirror of the official svn repo. | 18:42 | |
| (we're moving to git, but probably not github.) | 18:43 | ||
| (but maybe) | |||
| tadzik | or another thing: A.pm uses B.pm, B.pm has some exported functions. How to make it possible for the user to use subs from B.pm when using A.pm? | ||
|
18:46
Mowah joined
|
|||
| Tene | tadzik: if you want to use subs from another module without importing them, declare them as 'our sub', and then use a full namespace. | 18:47 | |
| tadzik: That not working is probably a bug. | 18:48 | ||
| tadzik | Tene: my case is the File::Tools distribution. It is going to contain File::Find, File::Copy and few other things. File::Find etc. are separate modules, but I'd be nice when someone uses File::Tools and gets all the subs from all the modules avaiable | ||
| Tene | tadzik: Check the specs, there's syntac (currently NYI) to indicate that you want things re-exported when using a module. | 18:50 | |
|
18:51
tylercurtis joined
|
|||
| PerlJam | [Coke]: If github is good enough for perl 5, it should be good enough for parrot :) | 18:52 | |
| [Coke] | cotto's in charge, I defer to him. | ||
| pmichaud | dukeleto: okay, I'm still recovering from travel and conferences | 18:53 | |
| [particle]: ping | 18:54 | ||
| (nm, see /msg) | |||
|
19:00
blaze joined
|
|||
| blaze | Hi | 19:00 | |
| moritz_ | hello | ||
| tadzik | hi blaze | ||
| Guest96786 | ohww whats that.. my nick got changed | ||
| [Coke] | welcome to freenode! | 19:01 | |
| Guest96786 | !nick blaze | ||
| #nick blaze | |||
| oh... cant change my nick | |||
| ok.. comming back to the purpose of being here.. | 19:02 | ||
| [Coke] | partcl-nqp: puts stderr what? | 19:03 | |
| p6eval | partcl-nqp: OUTPUT«what?» | ||
| Guest96786 | i was wondering if some one could help me point to a page where there is a comparision between perl5 and perl6 | ||
| whats been dropped in perl6 and whats added to perl6 | |||
| [Coke] | the synopses themselves are kind of written in that fashion. | ||
| moritz_ | perlgeek.de/en/article/5-to-6 | ||
| [Coke] | perl6.org -> docs -> synopses. | ||
| moritz_ | not quite what you want, but does contain some comparison | ||
| [Coke] | but moritz_'s article's probably much friendlier. =-) | 19:04 | |
| Guest96786 | many thanks moritz_ and Coke | ||
| pmichaud | Guest96786: just a note, the differences are fairly substantial | ||
| tylercurtis | Guest96786: perlcabal.org/syn/Differences.html may also be helpful. | ||
| Guest96786 | thank you too.. l'll go through the page as well | 19:05 | |
| [Coke] | pmichaud: looks like we can get a speedup if we change the one-char substr checks in pct & nqp-rx to be ords instead. do you forsee any issues there? | 19:06 | |
|
19:06
dakkar joined
|
|||
| pmichaud | [Coke]: no, but I think we could also get a huge speedup if we had an opcode that could do string comparisons in the middle of a string | 19:07 | |
| [Coke] | (potentially unicode issues, I suppose, depending on how clever we are.) | ||
| pmichaud | I'm thinking something like $I0 = strcmp $S0, $S1, $I1 | 19:08 | |
|
19:08
mberends joined
|
|||
| [Coke] | pmichaud: I'll try to remember that one too. | 19:08 | |
| pmichaud | which returns true (or -1,0,1) after performing a string comparison between $S0 and ($S1 starting at offset $I1) | ||
| right now pct and nqp have to do a lot of | |||
| $S1 = substr target, offset, length of $S0 | |||
| $I0 = cmp $S0, $S1 | 19:09 | ||
| ... | |||
| which involves creating a lot of extra strings | |||
|
19:09
thepler joined
|
|||
| pmichaud | [Coke]: anyway, patches to use ord instead of single-character substrings are okay with me | 19:09 | |
| pugssvn | r31972 | moritz++ | [S05] specify what .keys, .values and .kv do on Match objects | 19:10 | |
| [Coke] | k. substring is a lot more expensive than it used to be, so this should also help out. | ||
| pmichaud | right | 19:11 | |
| [Coke] | as should your suggestion. less substrings all around. | ||
| pmichaud | I did a quick scan of the files in nqp-rx/src/gen to see how many times 'substr' got called, and it was enough to make me say "we could probably avoid a lot of these if we just had a better opcode" | ||
| might want it to be 'substrcmp' instead of 'strcmp' | |||
| [particle] | parrot strings are immutable now, yes? | 19:12 | |
| moritz_ | yes | ||
| pmichaud | [particle]: yes | ||
| [particle] | should be a smop creating a new string header that points strstart to the middle of an existing string body | ||
| pmichaud | [particle]: we do that already | ||
| moritz_ | still a string header that could be avoided | ||
| pmichaud | but that still involves creating a string header | ||
| [Coke] | yes, but why create new headers at all if you don't have to. | ||
| [particle] | hokay | 19:13 | |
| [Coke] | heh. | ||
| pmichaud | and since we're talking about creating a new string header at *each* comparison, they can add up. | ||
| in particular, consider that every token of a source program ends up with a _lot_ of string comparisons before we figure out which token it is | |||
| (because it's not just the tokens that match, but also all of those that fail) | |||
|
19:15
masak joined
|
|||
| [Coke] | moritz_: that phrasing is a little odd. | 19:15 | |
| masak | ahoy! | ||
| moritz_ | [Coke]: better phrasing welcome | ||
| [Coke] | moritz_: I don't know what you're trying to say. =-) | ||
| just that .keys may return both numbers and strings? | 19:16 | ||
| jnthn | ahoj, masak :-) | ||
| moritz_ | [Coke]: hashes have positional (list) and named (hash) parts | ||
| masak | jnthn: you want to know how pack/unpack are going? they're going quite well :) | ||
| moritz_ | [Coke]: I want to say that .kv etc work on both parts | ||
| jnthn | I was about to termentor you about those. :-) | ||
| *tor | |||
| [Coke] | moritz_: at the same time, yes? so you might get 1, 2, 'spaf', 'baz' ? | ||
| masak | moritz_: s/involved/involve/ | ||
| jnthn | masak: You got something commited in your branch? | 19:17 | |
| moritz_ | [Coke]: yes | ||
| [Coke] | s/involved/include/ | ||
| masak | jnthn: a tiddle bittle. will commit more as the evening passes. | 19:18 | |
| [Coke] | "the keys may include both numbers and strings". (not sure identifiers is the right word there.) | ||
| jnthn | masak: Nice :-) | ||
|
19:18
justatheory joined
|
|||
| jnthn | masak: Let me know if you've anything you'd like me to review. | 19:18 | |
| masak | basically, I just need someone to bounce opinions off right now. | 19:19 | |
| many small decisions to make along the way. | |||
| and I'm trying to grok Perl 5's pack/unpack, I've never done that in depth before. | |||
| pugssvn | r31973 | moritz++ | [S05] attempt to clarify wording, and add an example | 19:23 | |
| mberends | \\o masak: I'm also very interested in what you're cooking up, and may be able to grok some of the funny binary formats. | ||
| masak | excellent. then I'll accost either you or jnthn, whatever's convenient. :) | 19:24 | |
| tadzik | github.com/tadzik/perl6-File-Tools -- further ideas welcome | ||
| jnthn | masak: Feel free. I'm doing Perl 6 hacking this evening anyways. :-) | ||
| tadzik | moritz_: I borrowed your mkdir-p implementation for this | ||
| moritz_ | mberends: there was lots of interesting in socket work here while you were gone | 19:25 | |
| tadzik: feel free | |||
| masak | tadzik: pls add to pls. :) | ||
| tadzik | masak: but it has no tests! :( | ||
| (yet) | |||
| masak | tadzik: that's no reason to withhold a good module from the public! :) | ||
| tadzik | :) | ||
| alright, alright :) | |||
| masak | tadzik: and you can always get the medal later :) | ||
| jnthn | tadzik: just make a t directory with anything in it and you still get teh medal. | ||
| Uh, I mean... :-) | 19:26 | ||
| masak | that page updates regulatly. | ||
| tadzik: or what cheating jnthn said :) | |||
| jnthn | <innocent look> | ||
| tadzik | masak: so it's ok to remove File::Find now? | ||
| masak | tadzik: I have a feeling I'm the wrong person to ask that. | ||
| tadzik: why do you want to remove it? | |||
| tadzik | masak: for it's in File::Tools now | 19:27 | |
| masak | tadzik: ah, ok. | ||
| tadzik: did you write File::Find? | |||
| tadzik | masak: yep | ||
| masak | then go right ahead. | ||
| tadzik | it has a watcher, what to do :O | ||
| oh, it hasn't *relief* | 19:28 | ||
| tadzik must remember to pull before commiting | 19:29 | ||
| moritz_ | tadzik: you'll get a friendly [rejected] if you don't :-) | 19:30 | |
| tadzik | moritz_: To be honest, I find it really unfriendly. Who likes to be rejected? :( | ||
| moritz_ | tadzik: think of it this way: it means that somebody else has done some work for you in the meantime | 19:31 | |
| tadzik | :) | ||
|
19:33
mgrabovsky joined
19:35
mgrabovsky left
|
|||
| tadzik | sorry for the paste | 19:35 | |
| > use File::Find; find(:dir<t/dir1>).elems | |||
| 6 | |||
| > use File::Find; find(:dir<t/dir1>).sort.elems | |||
| 7 | |||
| bug? | |||
| it has an additional Any() | 19:36 | ||
| using pmichaud++ range branch, if relevant | |||
| moritz_ | might be relevant | ||
| tadzik | let me recompile then | ||
| moritz_ | try my @a := find(:dir<t/dir1>); say @a.perl; say @a.sort.perl; | 19:37 | |
| tadzik | # On branch master # Your branch is ahead of 'origin/master' by 10 commits. | ||
| weird | |||
| moritz_: one Any() more | |||
| as I said | |||
| moritz_ | tadzik: well, you exected find() twice (so changes in the file system could change things) | ||
| I'm sure there's a bug somewhere | 19:38 | ||
| tadzik | any idea about this git? :| | ||
| moritz_ | masak: any reason why bin/ufo is not executable? | 19:39 | |
| masak | moritz_: nope. let me fix that immediately. | ||
| pmichaud | (extra Any) sounds familiar... I'm pretty sure the range branch still has a couple of bugs (which is why it hasn't merged to master) | ||
| tadzik | moritz_, masak: this commiting-via-github broke that | ||
| moritz_ | ah | ||
| tadzik | maybe a githb bug, or a feature | 19:40 | |
| pmichaud | af | 19:44 | |
| *afk | |||
| tadzik | alright, works on master | 19:47 | |
|
19:51
Packetknife joined
|
|||
| dalek | ok: 48d3cb3 | moritz++ | src/grammars.pod: [grammars] some simplifications; try to be clearer on .ast |
19:55 | |
|
19:56
offerkaye joined,
isBEKaml left
|
|||
| moritz_ | everybody, please test rakudo on top of the gc_threshold_tuning parrot branch | 19:56 | |
| and report your findings to chromatic on #parrot, or to me | |||
|
19:59
pyrimidine left,
pyrimidine joined
|
|||
| colomon | moritz_: can you tell us more? | 19:59 | |
| TimToady | <masak> by the way, what's so great about .parsefile that .IO.slurp.parse doesn't do? | 20:02 | |
| set the filename for error messages, mainly | |||
| masak | fairy nuff. | ||
| moritz_ | trac.parrot.org/parrot/ticket/1737 colomon, that's the longer story | ||
| I guess in theory it's also easier to get .parsefile lazy | 20:03 | ||
| masak | TimToady: what's an example of an error message occurring from within a grammar that would merit from having a file name of the file parsed included in it? | 20:04 | |
| moritz_: that would require some nice hooks down into nqp-rx. | |||
| TimToady | masak: uh, any error message from a file that could also be forcing the compilation of subfiles? The user generally likes to know which file failed. | 20:07 | |
| colomon | moritz_: so this is another optimization, not one of the ones chromatic has been tweeting about this week? \\o/ | ||
| masak | TimToady: the closest I can get to picturing this is a &die call inside a {} in a rule. how to automatically get the .parsefile file name in there? | 20:09 | |
|
20:10
jaldhar joined
|
|||
| Tene | masak: can you give me an example of an error message that would benefit by *not* having the file name included? | 20:11 | |
| TimToady | masak: the locmess method pulls it out of $*FILE<name> | ||
| masak | TimToady: oh, ok. | 20:12 | |
| Tene: it might be a file that the user doesn't know about and doesn't need to know about. | 20:13 | ||
|
20:14
_jaldhar joined
|
|||
| masak | by the way, over lunch I came to talking about dynamic/contextual variables with a friend of mine. the question that came of of that was: why does contextuals lookup have to go through successive OUTER:: scopes? couldn't the runtime just keep a single hash of stacks behind the scenes, and just do dynamic lookup on that hash? | 20:16 | |
|
20:17
Italian_Plumber joined
|
|||
| nperez | optimization? | 20:17 | |
| masak | I hope it's an optimisation. many lookups would probably be faster that way. | 20:18 | |
| there's a slight bureacracy overhead at block entry and exit, I guess. | 20:19 | ||
| nperez | right. no I believe I agree with you, just saying it might be premature, thats all :) | ||
| masak | I agree, it might. | 20:20 | |
| I should try it both ways with Yapsi. | |||
| when I get to dynamic variables. | |||
| but it's not hard to imagine that 100 stack frames down into a recursion, the single hash lookup might be faster than 100 hash lookups :) | 20:21 | ||
| TimToady | readonly dynvars can easily be cached locally, much like env vars | 20:23 | |
| and the main point of doing it this way is to avoid globals so we don't get threading issues | 20:24 | ||
|
20:24
Holy_Cow joined
|
|||
| TimToady | we automatically get thread-local storage this way | 20:24 | |
| masak | readonly dynvars? 'constant $*foo := 42;'? | 20:26 | |
| TimToady | my $*foo ::= 42; | ||
| masak | ah. | ||
| right, ::= means 'readonly' nowadays, not 'compile-time'. | 20:27 | ||
| TimToady | and for rw vars you can cache the location at least | ||
| so you only have to chase up the stack on first ref | |||
| masak | where's the cache situated? hooked onto the block? | ||
| TimToady | it can just be in a sekrit part of the lexpad | 20:28 | |
|
20:28
ruoso joined
|
|||
| TimToady | just as first ref to OUTER::OUTER::OUTER::<$foo> puts a secret $foo into the current pad | 20:29 | |
| masak | std: my $*foo; { say $*foo; my $*foo } | ||
| TimToady | std: my $foo; {{{ $foo; my $foo }}} | ||
| p6eval | std 31912: OUTPUT«ok 00:01 114m» | ||
| std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mLexical symbol '$foo' is already bound to an outer symbol (see line 1); the implicit outer binding at line 1 must be rewritten as OUTER::OUTER::OUTER::<$foo> before you can unambiguously declare a new '$foo' in this scope at /tmp/sa9gYIOwjq line | |||
| ..1… | |||
| TimToady | except of course that dynamic vars are dynamic | ||
| masak | :) | ||
|
20:30
jhuni joined
|
|||
| masak | std: { say $foo; say $^foo } | 20:30 | |
| TimToady | so I think it will be possible to implement them efficiently | ||
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mVariable $foo is not predeclared at /tmp/8taw5b2bQN line 1:------> [32m{ say $foo[33m⏏[31m; say $^foo }[0mCheck failedFAILED 00:01 114m» | ||
| masak | std: { say my $foo; say $^foo } | ||
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0m$foo has already been used as a non-placeholder in the surrounding block, so you will confuse the reader if you suddenly declare $^foo here at /tmp/gakQyw7Wzz line 1:------> [32m{ say my $foo; say $^foo[33m⏏[31m }[0mPotential difficulties: | ||
| ..$… | |||
| TimToady snickers | |||
| masak | 'confuse the reader' :) | ||
| I'm happy about now implementing lexicals efficiently in Yapsi. I wonder if any other Perl 6 implementation does that currently. | 20:31 | ||
| tylercurtis | masak: Bennu implements them fairly efficiently to the extent that it implements them at all. :) | 20:32 | |
| masak | please tell me more. | ||
| tylercurtis | Well, if you don't actually implement lexical closures... or containers... or multiple assignment... it's really easy to implement lexical variables efficiently. | 20:34 | |
| sorear | good * #perl6 | 20:35 | |
| Are the rules about exactly *what* \\w \\d \\s \\v et al match documented anywhere? | |||
|
20:36
KenGuru joined
|
|||
| masak | sorear: the corresponding Unicode traits? | 20:36 | |
| sorear | moritz_: ok, I'll put string escape sequences high on my list then. :) | 20:42 | |
| [Coke]: I did mean Perl 5, although it would have been more correct to say "parrot's current object system's design" | |||
| dukeleto | pmichaud: cool, thanks. There is no rush. | 20:44 | |
| sorear | alester: I use the vim-perl6 modules. My only complaint is that editing gets laggy in files over 500 lines or so; I don't suppose it would be possible to put in some kind of #vim: this line is outside any function, regex, comment, or string and can be used as a sync point marks? | 20:45 | |
| alester | I don't know. | 20:46 | |
| Make a ticket for it in github and then I have a place to remember. | |||
| sorear | pmichaud: ISTR TimToady saying something along the lines of temp $*foo being sugar for my $*foo = CALLER::<$*foo>; as a special case, *not* actually changing the old dynamic var | 20:48 | |
|
20:49
ashleydev_ joined
|
|||
| TimToady | I made that point later in the backlog | 20:50 | |
|
20:51
plluksie joined
|
|||
| sorear | pmichaud: Note that #parrot-land recently experimented with removing strstart and buffer sharing entirely. It's a significant win except for PCT. | 20:53 | |
| masak: The corresponding unicode traits are quite obviously wrong for this. (U+000A is not Space) | 20:56 | ||
| [Coke] | sorear: I'm not sure I would claim the original object system was designed with any goals in mind, other than a hatred of objects. | ||
| masak | sorear: no? I thought it was \\v | ||
| and hence \\s | |||
| [Coke] | and that wasn't a goal so much. ;) | ||
| sorear | U+000A is Cc (OtherControl) | 20:57 | |
| masak | I guess it's an exception, then. | ||
| there might be a finite number of those :P | |||
| sorear | yeah | 20:58 | |
| TimToady | we force the traditional properties within the ASCII range | ||
| sorear | I'd like a complete list ;) | ||
| TimToady | nothing outside of 0..127 is forced, iirc | ||
| sorear | \\w = N + L, \\d = N, what are \\s \\v? | 20:59 | |
| \\h too | |||
| masak | sorear: PGE has the complete list. | 21:00 | |
| sorear: I can give you the URL if you want. | |||
| in fact, GGE has it too, but nicer :) | |||
| TimToady | each \\s is either \\h or \\v; the only surprising one (to some folks) is that CR is considered \\h | 21:01 | |
| rokoteko | am I supposed to receive all the possible documentation when checking out Rakudo star from github, or do you have some share secrets somewhere? not talking about Synopsis etc, but just the actual implementation/ideas docs... ? | ||
|
21:02
kst joined
|
|||
| tadzik | when are filehandles autoclosed? | 21:02 | |
| cxreg | when they're ajar | ||
| no wait, wrong joke | |||
| masak | sorear: github.com/masak/gge/blob/master/li...gex.pm#L20 | ||
| rokoteko: not much of that, I'm afraid. most user documentation simply isn't written yet. | 21:03 | ||
| rokoteko: best you can do is probably read the Advent Calendar and/or moritz_++'s p5-to-p6 stuff. | |||
| sorear | tadzik: Process exit. | ||
| Nobody's come up with a better answer yet | 21:04 | ||
| tadzik | thanks sorear | ||
| masak | nobody really knows how DESTROY will work under a non-refcounting GC, it seems. | ||
| rokoteko | masak: I was meaning over-all documentation. Lately Ive found myself browsing through Perl-Pugs docs to learn about how things really are/could/should be implemented. they are way more extensive than what I receive with rakudo star. | ||
| sorear | At one point somebody (moritz?) recommended switching to a completely synchronous garbage collector, allowing filehandles to be reclaimed when they go out of scope | ||
| PerlJam | sorear: does that imply a gc run at the end of every scope ? | 21:05 | |
| masak | rokoteko: if there's anything that you would have liked us to have included in Rakudo Star, I'm sure people here will be happy to hear it. | ||
| rokoteko | masak: .. closest to that (in rakudo) are the core thingies written in perl6, which are quite self-explanatory, after you learn the syntax. | ||
| tadzik | masak: what do you think about github.com/tadzik/ufo/commit/4a9a5195 ? | ||
| masak looks | 21:06 | ||
| tadzik: that makes a whole lot of sense. | |||
| tadzik | I had some serious headscratching while inlining ufo in neutro, to avoid a dependency. Seriously, took me like an hour to figure it out with a help from someone I don't rememer who is | 21:07 | |
| run 'make' was then failing, but only in that process | |||
| masak: pull request? | |||
| masak | tadzik: yes please. | 21:08 | |
| a bit busy with pack/unpack right now, but will pull later. | |||
| tadzik | masak: done. Sure thing, no need to hurry | ||
| oh wait, I think I sent you pull for a wrong repo | 21:09 | ||
| tadzik-- | |||
| rokoteko | masak: well. I got about a year old Perl6-Pugs-6.2.13 downloaded at my current irc host. Ive been browsing through the docs/ dir. maybe you should take a look at there also. in rakudo I miss stuff like notes/ dir, not to mention all the random "what to read" files. etc random thoughts. I just wondered if they are not included in the rakudo package, but instead you store them somewhere else (not publicly available). | ||
| PerlJam doesn't grok "not public available" | |||
| rokoteko | maybe something like docs/unofficial/ in the distro, where the developers can let their thoughts flow? | ||
| PerlJam | publicLY even | 21:10 | |
| masak | rokoteko: Rakudo != Pugs | ||
| so Pugs having a given type of docs does not automatically mean that Rakudo has them. | |||
| rokoteko | I was just curious how the dev people share the thoughts if they are not in the distro. :) | 21:11 | |
| masak | that said, yes, we do keep some planning/roadmap/design docs in Rakudo's docs/ folder. | ||
| PerlJam | rokoteko: here :) | ||
| masak | rokoteko: what PerlJam said. | ||
| rokoteko | ok. | 21:12 | |
| pugssvn | r31974 | lwall++ | [STD] warn on smartmatch of Bool::True and Bool::False as well | ||
| [Coke] | I think if you want insight into the minds of the developers, this channel is probably the best bet I've seen. | ||
| sorear | huh, it appears that GGE doesn't actually implement \\w anywhere | 21:13 | |
|
21:13
Mowah joined
|
|||
| sorear | or rather, it translates it to ~~ /\\w/ in the output perl6 | 21:13 | |
| [Coke] | GGE? | ||
| PerlJam | rokoteko: also, if it's speculation on the design, some of that ends up in the synopses | ||
| masak | sorear: right. cheating there. sorry 'bout that. | 21:14 | |
| sorear: the README lingers a bit on that. | |||
| sorear | [Coke]: github.com/masak/gge | ||
| [Coke] misses having an infobot. | |||
| masak likes the peace and quiet | |||
| purl-- | |||
| KenGuru | i'm improving my vim skills (i'm a newby so far), and would like to use rakudo with vim. is there a plugin (not the syntax coloring one) for code completion, and compilation? | 21:15 | |
| jnthn | An infobot that responded only when talked to would be bearable. | 21:16 | |
| purl, OTOH... :-) | |||
| sorear | masak: this COOLTHINGS makes me wonder if gge and yapsi are related | ||
| KenGuru | I'm currently using the most current cream install 7.3 beta | ||
| masak | sorear: they used to be, more than they are now. | ||
| sorear: gge definitely led to yapsi, but I don't see yapsi really needing gge any more. | |||
| sorear | jnthn: I was the maintainer of one 3 years ago. Check /mode #perl6 +b, I think it's still in the list | ||
| masak | sorear: largely thanks to the advances in nqp-rx. | 21:17 | |
| [Coke] | jnthn: "speak only when spoken to" is fine. | ||
| or a glossary linked to in the topic. =-) | |||
| sorear | yep, she's still in the ban list | 21:18 | |
| twice. | |||
| masak | lamdabot? | 21:19 | |
| s/md/mbd/ | 21:20 | ||
| KenGuru | any vim user out here? | ||
| [Coke] | hai. | 21:21 | |
| masak | \\o | ||
| offerkaye | yes but a noob | ||
| [Coke] | but I don't have an answer to your autocomplete question. | ||
| I don't have that for /any/ languages. | |||
| tadzik | I liked it when I installed it, but have it for variable names and stuff | 21:22 | |
| KenGuru | ok, the autocomplete shouldnt be the prob | ||
| tadzik | actually, it just completes works | ||
| KenGuru | ok, then i should only have a look at how to configure vim the right way for executing the files with rakudo | 21:23 | |
| dwierenga | KenGuru: IIUC then ":h make" inside Vim should get you started | 21:24 | |
| tylercurtis | rakudo: role A { has $!foo; }; role B { has $!foo; }; class C does A does B; say 'alive'; | ||
| p6eval | rakudo 811c1c: OUTPUT«===SORRY!===Attribute '$!foo' conflicts in role composition» | ||
| KenGuru | whats ILUC? | ||
| Tene | IIUC = If I Understand Correctly | 21:25 | |
| dwierenga | KenGuru: If I Understand Correctly | ||
| tylercurtis | rakudo: role A { my $!foo; }; role B { my $!foo; }; class C does A does B; say 'alive'; | ||
| p6eval | rakudo 811c1c: OUTPUT«===SORRY!===Lexical 'self' not found» | ||
| KenGuru | japp | ||
| ok | |||
| masak | rakudo: role A { my $!foo }; class C does A {} | 21:26 | |
| p6eval | rakudo 811c1c: OUTPUT«===SORRY!===Lexical 'self' not found» | ||
| masak | tylercurtis: known bug? | ||
| tylercurtis | rakudo: role A { has $!foo; }; role B does A {}; role C does A {}; class D does B does C {}; say 'alive'; | 21:27 | |
| p6eval | rakudo 811c1c: OUTPUT«alive» | ||
| tylercurtis | masak: Don't know. | 21:28 | |
|
21:28
rgrau_ joined,
milki_ joined
|
|||
| masak submits rakudobug | 21:29 | ||
| rakudo: role A { my $!foo }; say "alive" | |||
| p6eval | rakudo 811c1c: OUTPUT«alive» | ||
| masak | rakudo: role A { my $!foo }; say A.new; say "alive" | ||
| p6eval | rakudo 811c1c: OUTPUT«Lexical 'self' not found in <anon> at line 10:/tmp/zY15QXjyOi in main program body at line 1» | ||
| masak | interesting. | ||
|
21:31
cosimo_ joined,
Juerd_ joined,
pmichaud_ joined,
pochi_ joined,
frettled_ joined
21:33
oha_ joined,
ashleydev__ joined
|
|||
| masak | observe how those are actually two types of errors. is the first parse-time and the second run-time, or something? | 21:34 | |
|
21:34
dual_ joined
|
|||
| tylercurtis | ::?CLASS is NYI, right? | 21:34 | |
| masak | right. | ||
|
21:34
Helios joined,
x3nU joined
21:35
LionMade0fLions joined,
jnthn_ joined,
dakkar joined,
Helios joined
|
|||
| tadzik | holy crap | 21:36 | |
| is anyone alive? | 21:37 | ||
| squeeky | they might be having dinner, or a pint. or both. | ||
| offerkaye | I'm alive, but dead tired :) good night! :) | ||
| tadzik | o/ :) | 21:38 | |
| Tene | tadzik: what's up? | 21:39 | |
|
21:39
azert0x joined,
buubot joined,
Helios joined,
dakkar joined,
jnthn_ joined,
LionMade0fLions joined,
oha_ joined,
frettled_ joined,
pochi_ joined,
pmichaud_ joined,
cosimo_ joined,
milki_ joined,
kst joined,
KenGuru joined,
jhuni joined,
Italian_Plumber joined,
pyrimidine joined,
masak joined,
thepler joined,
mberends joined,
tylercurtis joined,
s1n joined,
nperez joined,
payload joined,
spq1 joined,
exodist joined,
krakan joined,
meteorjay joined,
baest joined,
araujo joined,
Patterner joined,
mtve joined,
meinwald joined,
astinus joined,
cono joined,
Intensity joined,
arnsholt joined,
TimToady joined,
Sarten-X joined,
wayland76 joined,
proller joined,
yves joined,
HarryS joined,
rhr joined,
spinclad joined,
tylerni7 joined,
xinming joined,
lue joined,
takadonet joined,
perlygatekeeper joined,
dalek joined,
BooK joined,
sjohnson joined,
mantovani joined,
imarcusthis joined,
p6eval joined,
pjcj joined,
mdxi joined,
slavik joined,
hillu joined,
tomaw joined,
melte joined,
allbery_b joined,
jasonmay joined,
saaki joined,
zostay_ joined,
snarkyboojum joined,
eternaleye joined,
[particle] joined,
pragma_ joined,
Eevee joined,
jdv79 joined,
jettero joined,
szabgab joined,
buu joined,
ascent_ joined,
shelling_lab joined,
cibs joined,
Khisanth joined,
_sri joined,
lucs joined,
avuserow joined,
kirillm joined,
au|irc joined,
rcfox joined,
spacebat joined,
ingy joined,
fridim joined,
mmmpork joined,
hugme joined,
BinGOs joined,
shabble joined,
peters_mops joined,
chitragupt joined,
japhb joined,
grew joined,
wolverian joined,
nadim joined,
PerlJam joined,
cmadsen joined,
infrared joined,
cj joined,
gfldex joined,
zachy joined,
cxreg joined,
Getty joined,
kolibrie joined,
jjore joined,
zby joined,
fda314925 joined,
sbp joined,
phenny joined,
Gothmog_ joined,
Bucciarati joined,
dimid joined,
revdiablo joined,
frodwith joined,
m6locks joined,
lestrrat joined,
mulander joined,
mathw joined,
gabiruh joined,
cotto joined,
tewk joined,
perigrin joined,
sunnavy joined,
szbalint joined,
diakopter joined,
sorear joined
|
|||
| tadzik | Tene: the sky has fallen! /o\\ | 21:39 | |
|
21:40
ingyfoo joined,
perigrin_ joined
21:41
kolibrie_ joined,
mmmpork_ joined,
tewk_ joined,
cottoo joined,
imarcust1is joined,
pmichaud joined,
pochi joined,
mdxi joined,
jettero joined,
mtve joined,
chitragupt joined,
Sarten-X2 joined
21:42
phenny joined,
meteorjay joined,
buubot joined,
cmadsen joined,
c0nspiracy_ joined
21:43
moritz_ joined,
c0nspiracy__ joined
|
|||
| masak | rakudo: sub foo { gather { say "OH HAI"; take 42 } }; my $value = foo; say "before"; say $value | 21:44 | |
| p6eval | rakudo 811c1c: OUTPUT«beforeOH HAI42» | ||
| masak | oha++ taught me that trick :) | ||
| a lazy scalar. | |||
| tadzik | I don't get it | 21:45 | |
| oh, I get it | |||
|
21:45
sunnavy joined,
cj joined
|
|||
| masak | I hadn't realized gather would work on scalars. | 21:46 | |
|
21:46
saaki joined
|
|||
| tylercurtis | rakudo: my $foo = gather { say "evaluating"; take 42; }; say 'in the beginning'; my $a = $foo; say 'in the middle'; my $b = $foo; say 'in the end'; say $a; say $b; | 21:48 | |
| p6eval | rakudo 811c1c: OUTPUT«in the beginningin the middlein the endevaluating4242» | ||
| tylercurtis | rakudo: my $foo = gather { say "go"; 42 }; say $foo.WHAT | 21:49 | |
| p6eval | rakudo 811c1c: OUTPUT«List()» | ||
| masak | Lists are wondrous beasts. | ||
| tadzik | six six six, the number of the List9) | 21:51 | |
| oh noes, I has failed | |||
| pmichaud | it's not really a scalar -- it's a list containing a scalar. :) | ||
| masak | a scalar variable containing a list containing a scalar :) | 21:52 | |
| pmichaud | rakudo: my $foo = gather { say 'something'; take 42 }; say $foo ~~ Int; | ||
| p6eval | rakudo 811c1c: OUTPUT«0» | ||
| masak | ah, that's why it works. I feel better now. | ||
| sorear is annoyed at System.Collections.BitArray and non-Perl culture in general | 21:55 | ||
| I want to use bit sets as keys in a hash table. | |||
| This came completely for free with vec | 21:56 | ||
|
21:59
pyrimidine left
|
|||
| masak | right, &vec! I forgot about that one. | 22:03 | |
| should Perl 6 have one of those? | |||
| it should probably work on Buf as well... | |||
| tylercurtis | masak: by the way, regarding the difference in error for roles with my attributes between role A {...}; A.new; and role A {...}; class B does A {...};, I have a guess that may be incorrect: it's because in the former case, the class that the problem is occurring in is created at runtime, whereas in the latter, the composition of the role occurs at compile-time. | ||
| masak | tylercurtis: yes, I think that is so. | 22:04 | |
| when we can do real Proxy objects with STORE, we could even get the lvalue form of &vec to work \\o/ | 22:06 | ||
| sorear | I'd be happy with the four-arg form of &vec | 22:07 | |
| masak | perldoc doesn't mention such a form. are you thinking of substr? | 22:08 | |
| sorear | (vec doesn't actually have a four-arg form, but substr and splice do, and there's an obvious mapping) | ||
| masak | right. | ||
| ooh! all of these three do the same, don't they, but on different data structures. | 22:09 | ||
| that's very pretty. | |||
| hm, I guess &vec is the odd one out, since it doesn't expand/collapse data. | |||
| masak --> sleep | 22:10 | ||
|
22:11
tom_tsuruhara joined
|
|||
| tadzik | Perl articles can be easily recognised on reddit. They have slightly less downvotes than upvotes, and 90% of the comments are trolling downvoted beyond treshhold | 22:20 | |
|
22:24
mac| joined
|
|||
| mac| | hiho | 22:24 | |
|
22:24
Packetknife joined
|
|||
| tadzik | mac|: o/ | 22:25 | |
|
22:28
kst joined
22:53
rindolf joined
|
|||
| rindolf | Hi all. | 22:53 | |
| tadzik | hey rindolf | ||
|
22:54
Chillance joined
|
|||
| mac| is going to bed. G'nite for every1! | 23:06 | ||
|
23:07
risou joined
|
|||
| rindolf | tadzik: what's up? | 23:10 | |
| tadzik | rindolf: insomnia, as usual :) | ||
| rindolf | tadzik: ah. | ||
| tadzik | the thin line between "I don't feel like coding anymore" and "I'm sleepy" | ||
| this thin line happens tobe pretty thick in my case | 23:11 | ||
| ingy | rakudo: say foo => 'bar' | ||
| p6eval | rakudo 811c1c: OUTPUT«Unexpected named parameter 'foo' passed in 'say' at line 5179:CORE.setting in main program body at line 22:/tmp/XHvKXcvp0Y» | ||
| tadzik | on the night of 2010.07 release I was looking at the irc the whole night, then on 4 AM decided I won't sleep today and got out bikiing | ||
| ingy | rakudo: say(foo => 'bar') | 23:12 | |
| p6eval | rakudo 811c1c: OUTPUT«Unexpected named parameter 'foo' passed in 'say' at line 5179:CORE.setting in main program body at line 22:/tmp/uCDMVKbW8Z» | ||
| ingy | star: say(foo => 'bar') | ||
| p6eval | star 2010.07: OUTPUT«Unexpected named parameter 'foo' passed in 'say' at line 5066:CORE.setting in main program body at line 22:/tmp/SeosE9YJkP» | ||
| tadzik | rakudo: say (foo => bar) | ||
| p6eval | rakudo 811c1c: OUTPUT«Could not find sub &bar in main program body at line 22:/tmp/NhKRgUobc1» | ||
| tadzik | oh | 23:13 | |
| rakudo: say (foo => 'bar') | |||
| p6eval | rakudo 811c1c: OUTPUT«foo bar» | ||
| tadzik | ingy: is that what you expected? | ||
|
23:13
tylercurtis joined
|
|||
| pmichaud | rakudo: say 'foo' => 'bar' | 23:14 | |
| p6eval | rakudo 811c1c: OUTPUT«foo bar» | ||
|
23:14
orafu joined
|
|||
| tadzik | time to sleep. g'nite #perl6 | 23:16 | |
|
23:25
greatflamingfoo joined
23:27
estrabd joined
23:41
ashleydev_ joined
23:43
ashleydev__ joined
23:44
ashleydev__ joined
|
|||