|
perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ Set by mncharity on 25 March 2009. |
|||
|
00:04
kate21de1 left,
ejs left
00:06
FurnaceBoy left,
skids left
00:08
samlh left,
skids joined
00:10
ruoso joined
00:19
samlh joined
00:30
Limbic_Region joined
00:41
Eevee joined
00:49
DemoFreak left
01:02
samlh left
01:16
payload left
01:18
Southen_ left
|
|||
| literal | perl6: my @list = qw<a b c>; say @list.perl | 01:32 | |
| p6eval | pugs: OUTPUT«\("a", "b", "c")» | ||
| ..rakudo 616c0b: OUTPUT«["a", "b", "c"]» | |||
| ..elf 26253: OUTPUT«Undefined subroutine &GLOBAL::qw called at (eval 125) line 3. at ./elf_h line 5881» | |||
| pugs_svn | r26254 | hinrik++ | [util/perl6.vim] don't require whitespace before angle in qw<a b c> | 01:36 | |
|
01:45
justatheory left
01:46
justatheory joined
01:51
wknight8111 left
01:58
hercynium joined
|
|||
| pugs_svn | r26255 | hinrik++ | [util/perl6.vim] add notice about new location | 02:03 | |
|
02:04
Limbic_Region left
02:15
StephenPollei joined
|
|||
| literal | perl6: print join(q/,/,@INC); | 02:19 | |
| p6eval | pugs: OUTPUT«,» | ||
| ..elf 26255: OUTPUT«Parse error in: /tmp/aP7oE1Kbizpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: print join(q/,/,@INC);WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | |||
| ..STD_red/std.r... | |||
| ..rakudo 616c0b: OUTPUT«Scope not found for PAST::Var '@INC' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | |||
|
02:19
eternaleye joined
|
|||
| Tene | perl6: print join(',',@INC) | 02:22 | |
| p6eval | elf 26255: OUTPUT«Global symbol "$a_INC" requires explicit package name at (eval 125) line 3. at ./elf_h line 5881» | ||
| ..pugs: OUTPUT«,» | |||
| ..rakudo 616c0b: OUTPUT«Scope not found for PAST::Var '@INC' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | |||
|
02:26
alanhaggai joined
|
|||
| skids | perl6: print join(',',@*INC) | 02:29 | |
| p6eval | rakudo 616c0b: OUTPUT«.» | ||
| ..elf 26255: OUTPUT«Undefined subroutine &GLOBAL::join called at (eval 125) line 3. at ./elf_h line 5881» | |||
| ..pugs: OUTPUT«,» | |||
| literal | oh right, the * | ||
|
03:24
cspencer joined
03:41
orafu left,
orafu joined
04:02
meppl joined
04:18
Kisu left
04:19
Kisu joined
04:27
alanhaggai left,
alanhaggai joined
|
|||
| dalek | kudo: f2c5829 | (Cory Spencer)++ | src/ (4 files): Move chr and ord methods to the setting. |
04:37 | |
|
04:47
b7j0c joined
04:48
pyrimidine joined
|
|||
| b7j0c | any idea why i see "No rule to make target `/home/sergej/community.cvs/devel/parrot/src/parrot-1.0.0/parrot', needed by `perl6_s1.pbc'" when trying to build rakudo from git?? | 04:50 | |
| skids | did you perl Configure.pl --gen-parrot? | ||
| b7j0c | yup | 04:51 | |
| pyrimidine | rakudo: class X {}; class Y {method a (X *@a) { say 1} }; Foo.new.a(Z.new); | 04:53 | |
| p6eval | rakudo f2c582: OUTPUT«Could not find non-existent sub Foocurrent instr.: '_block14' pc 53 (EVAL_19:37)» | ||
| pyrimidine | rakudo: class X {}; class Y {method a (X *@a) { say 1} }; Y.new.a(X.new); | ||
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to acurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | 04:54 | |
| pyrimidine | Am I calling slurpys wrong? | ||
| skids | funny I don't see a parrot/src/parrot-1.0.0 in my built tree | ||
| b7j0c | well i got parrot from arch linux repos | 04:55 | |
| pyrimidine | rakudo: class X {}; class Y {method a (X *@a) { say 1} }; Y.new.a((X.new)); | ||
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to acurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| b7j0c | and i have never downloaded rakudo from git before tonight | ||
| skids | You should let rakudo checkout and build it's own parrot, it's still lockstep with particular parrot versions. | ||
| b7j0c | but why is "sergej" being hardcoded in a Makefile? why would building my own parrot address that? | 04:56 | |
| skids | That should have been done when you ran Configure.pl with --gen-parrot, though | ||
| pyrimidine | I just built rakudo today from the latest parrot (seemed fine) | ||
| b7j0c | well i will uninstall the arch linux parrot and try again | ||
| skids | Makefil should be autgen, not hardcoded | 04:57 | |
| You shouldn't have to uninstall. | |||
| b7j0c | oh, the git version needs subversion (?) | 04:58 | |
| skids | Yeah parrot is still svn. | ||
| b7j0c | ok getting that too... | ||
| pyrimidine | rakudo: class X {}; class Y {method a (*@a) { say 1} }; Y.new.a((X.new)); | 04:59 | |
| p6eval | rakudo f2c582: OUTPUT«1» | ||
| pyrimidine | rakudo: class X {}; class Y {method a (X *@a) { say 1} }; Y.new.a(X.new); | ||
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to acurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| pyrimidine | hrmmm.... | ||
| skids | rakudo: class X {}; X.new.WHAT.say | 05:00 | |
| p6eval | rakudo f2c582: OUTPUT«X» | ||
| skids | class X {}; class Y {method a (*@a of X) { say 1} }; Y.new.a(X.new); | 05:01 | |
| rakudo: class X {}; class Y {method a (*@a of X) { say 1} }; Y.new.a(X.new); | |||
| p6eval | rakudo f2c582: OUTPUT«1» | ||
| skids | Yeah, hrm. | ||
| pyrimidine | type constraints shouldn't require 'of' | 05:02 | |
| skids | Well, definitely not on simple decls. Checking docs now about param decs. | ||
| pyrimidine doing same... | 05:03 | ||
| b7j0c | strange...after blowing away arch's parrot, building seems fine. harumph. let me guess, i am the only one other that 'sergej' to try it. anywho, what can we do with rakudo today? i dropped out of p6 around the pugs era, interested to know what state it is in | 05:04 | |
| pyrimidine | rakudo: class Y {method a (Str *@a) { say 1} }; Y.new.a('foo); | ||
| p6eval | rakudo f2c582: OUTPUT«Statement not terminated properly at line 1, near "('foo);"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| pyrimidine | rakudo: class Y {method a (Str *@a) { say 1} }; Y.new.a('foo'); | ||
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to acurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| pyrimidine | rakudo: class Y {method a (Str *@a) { say 1} }; my Str $foo = 'bar'; Y.new.a($foo); | ||
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to acurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | 05:05 | |
| pyrimidine | rakudobug? | ||
|
05:06
szabgab joined
|
|||
| skids | Yeah on a skim I don't see any "but you can't do it this way" for that for slurpies. | 05:07 | |
| pyrimidine | rakudo: sub a (Str *@a) { say 1}; my Str $foo = 'bar'; a($foo); | 05:08 | |
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to acurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| skids | rakudo: class X {}; my X @a; @a.push(X.new); | ||
| p6eval | rakudo f2c582: ( no output ) | ||
| skids | rakudo: class X {}; my X @a; @a.push(X.new); @a.perl.say | ||
| p6eval | rakudo f2c582: OUTPUT«[X.new()]» | ||
| skids | rakudo: class X {}; my X @a; @a.push(X.new,2); @a.perl.say | ||
| p6eval | rakudo f2c582: OUTPUT«Type check failure in pushcurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| skids | now for the unfun part, searching RT :-/ | 05:09 | |
| pyrimidine | This is fairly recent (within the last week or two). | 05:10 | |
| found it: github.com/rakudo/rakudo/commit/fb5...b799c405ef | |||
|
05:11
b7j0c left
|
|||
| pyrimidine | so, this now works with .of (but breaks constraints otherwise) | 05:12 | |
| skids | 58278, closed ticket, jnthn mentions it at the end. If I don't find another, maybe re-open that ticket. | ||
| Yeah typed array support is new. | 05:15 | ||
| pmichaud | Are slurpies allowed to have type constraints? | 05:16 | |
| skids | rakudo: class X {}; class Y {method a (X @a) { say 1} }; Y.new.a([X.new]); | 05:17 | |
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to acurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| skids | rakudo: class X {}; class Y {method a (@a of X) { say 1} }; Y.new.a([X.new]); | ||
| p6eval | rakudo f2c582: OUTPUT«1» | ||
| skids | ok not unique to slurpy | ||
| pyrimidine | yes, found that as well | 05:18 | |
| pmichaud | I'm not sure that [X.new] has Positional[X] | ||
| i.e., I'm not sure that we dynamically check all of the elements of a list to make sure they're type compatible when doing a bind of a Positional[Any]. | 05:19 | ||
| (or just Positional) | |||
| pyrimidine | this did work at one point (but that doesn't mean it's correct) | ||
| pmichaud | you mean it worked at one point in Rakudo? | ||
| pyrimidine | yes | 05:20 | |
| pmichaud | I suspect it's just that Rakudo wasn't doing type constraints. | ||
| (on arrays) | |||
| pyrimidine | yes | ||
| pmichaud | I guess I'll ask jnthn/TimToady about it a bit later today. | 05:21 | |
| pyrimidine | It may be a spec issue (nothing is mentioned about it re: arrays or hashes) | 05:22 | |
| and .of seems to work | |||
| rakudo: class X {}; class Y {method a (@a of X) { say 1} }; Y.new.a(X.new); | |||
| pmichaud | rakudo: say [X.new].of | ||
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to acurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | 05:23 | |
| rakudo f2c582: OUTPUT«Could not find non-existent sub Xcurrent instr.: '_block14' pc 53 (EVAL_16:37)» | |||
| pmichaud | it may be that 'of X' simply isn't doing the type constraint either. | ||
| pyrimidine | rakudo: class X {}; class Y {method a (*@a of X) { say 1} }; Y.new.a(X.new); | ||
| p6eval | rakudo f2c582: OUTPUT«1» | ||
| pyrimidine | ding! | ||
| pmichaud | rakudo: class X {}; sub foo(@a of X) { say 1 }; foo([Int.new]); | 05:24 | |
| p6eval | rakudo f2c582: OUTPUT«1» | ||
| skids | rakudo: class X {}; class Y {method a (*@a of X) { say 1} }; Y.new.a(3); | ||
| p6eval | rakudo f2c582: OUTPUT«1» | ||
| skids | yeah of is a noop. | ||
| pyrimidine | okay, makes sense. I'll hold off on the bug report until jonathan/TImToady is asked | 05:27 | |
| pyrimidine sleep | |||
| pmichaud | it's okay to file the bug report so it's not forgotten :-) | 05:28 | |
| or you can wait. | |||
| pyrimidine | ok | ||
|
05:28
Kisu left
|
|||
| pmichaud | I'm just curious what the answer will be :-) | 05:28 | |
| skids | And there seems to be none that touches it yet. | ||
| (no RT ticket at least) | |||
|
05:28
Kisu joined
|
|||
| pyrimidine | well, it's either a bug or a spec issue that needs clarification (or both) | 05:29 | |
| so to RT I go | |||
| (or rakudobug) | |||
| skids | spec issues can go in RT, that's fine. | ||
| Tene | pmichaud: any idea on the 'right' way to define subs that have unusual names? | ||
| pmichaud: right now I'm just using hash access on the namespace. | 05:30 | ||
|
05:31
lambdabot left
05:34
lambdabot joined
05:41
arnsholt left
05:42
pyrimidine_ joined
05:44
pyrimidine_ left
05:45
cspencer left
05:53
lambdabot left
05:55
lambdabot joined
05:59
pyrimidine left
|
|||
| pmichaud | Tene: you mean in Perl 6? I think that's the normal way to do it. | 05:59 | |
| Tene | Hmm. Okay. | ||
| pmichaud | If I don't get too distracted with other things, I'm thinking of hacking in support for custom ops this weekend. | 06:00 | |
| Tene | In this specific case, I was looking at defining additional sub traits, which in rakudo means defining a '!sub_trait_foo' sub | ||
| I don't know how that's specced to be done. | |||
| pmichaud | in the general case, they're just roles, I think. | 06:01 | |
|
06:01
eternaleye left,
skids left
|
|||
| pmichaud | the reason we have !sub_trait_foo in place now is because we either want to optimize that particular trait or our implementation of roles isn't quite up to the task yet. | 06:02 | |
|
06:05
moritz_ sets mode: +oo pmichaud Tene
06:17
kate21de joined
06:21
justatheory left
06:22
szabgab left
06:25
hercynium left
06:42
stas joined,
stas is now known as Guest22879
07:01
c9s_ joined
07:02
cognominal left,
Guest22879 left
07:03
stas joined,
stas is now known as Guest73590
07:04
SamB left,
awwaiid left
07:05
awwaiid joined
07:07
shachaf left
07:10
SamB joined,
ejs joined
07:16
_SamB_ joined
07:19
SamB left
07:28
iblechbot joined
07:29
masak joined
|
|||
| masak | OH HAI from the post-NPW hackathon and szabgab's Perl 6 training session! | 07:29 | |
| wayland76 | Oh HAI from Australia! | 07:32 | |
| mikehh | and hi from just accross the North Sea | 07:33 | |
| omega | oh hai from the conference room down the hall from teh training session :p | 07:36 | |
|
07:36
ejs left
|
|||
| masak | heh. the students here did a quick round of introductions. the more known you are, the less you need to say. I talked for a minute I think. pmichaud said "I'm pmichaud, the lead developer for Rakudo, the Perl 6 impl on Parrot. And that's all you need to know". TimToady said "I'm Larry". :) | 07:41 | |
| omega | haha :p | ||
|
07:43
mberends joined
|
|||
| masak | I'm eager to finally learn Perl 6, by the way. It seems to be a neat language. | 07:43 | |
| mberends | :) | ||
| wayland76 | masak: Faker :) | 07:44 | |
| masak | wayland76: indeed. | ||
|
07:45
Guest73590 left
|
|||
| masak | on a more serious note, I'm having high expectations for the hackathon weekend. | 07:46 | |
| many plans are flying around, and if even a third of them get done, that's great. | |||
|
07:46
Guest73590 joined
07:48
payload joined,
szabgab joined
07:49
cosimo joined
|
|||
| masak | szabgab: hi :) | 07:49 | |
| wayland76 | masak: Depending on which third? | ||
|
07:49
PaxAnima_ joined
|
|||
| TimToady | the fun third, likely | 07:49 | |
| masak | wayland76: no, it hardly does. all the thirds are interesting. | ||
| wayland76 | TimToady: Or the necessary third :) | ||
|
07:50
mib_iqqueh joined,
haakonsk joined,
mib_i7k0dt joined
|
|||
| TimToady | some people's idea of fun is to do the hard, necessary third :) | 07:50 | |
|
07:50
mib_iqqueh left
|
|||
| mib_i7k0dt | rakudo: 42.say | 07:50 | |
| p6eval | rakudo f2c582: OUTPUT«42» | ||
| wayland76 | Is the IRC channel on an overhead projector or something? | ||
| TimToady | std: .=flip | ||
| masak | TimToady: we like those people. | ||
|
07:50
maxim joined
|
|||
| p6eval | std 26255: OUTPUT«ok 00:02 35m» | 07:50 | |
| masak | wayland76: aye. | ||
| masak waves | |||
| wayland76 | Hi everyone :) | ||
| literal | Hi NPW | ||
| wayland76 | (from Australia) | 07:51 | |
|
07:51
maxim is now known as Guest91326
|
|||
| wayland76 | Happy hacking! | 07:51 | |
| masak ☺ | |||
| baest | how long is the training going to take? | ||
| TimToady | it will never end | 07:52 | |
| baest | OMG | ||
| masak | I think we'll stay till we run out of pizza. | ||
| baest | TimToady: I think szabgab will get reaaaally tired then | ||
| wayland76 | Now you know what the Eternal Student does when he leaves Uni :) | ||
| masak | awww, no more overhead. :) | ||
| oh wait... still there. | 07:53 | ||
|
07:53
Guest91326 left
|
|||
| masak | std: 1..^Inf | 07:53 | |
| p6eval | std 26255: OUTPUT«ok 00:02 35m» | ||
| cosimo | rakudo: say 1..5 | ||
| p6eval | rakudo f2c582: OUTPUT«12345» | ||
| cosimo wonders what happens with 'say 1..*' | 07:54 | ||
| masak | cosimo: will likely just hang. | ||
| cosimo: it prints line-wise. | |||
| jnthn | OH NOES | ||
| TimToady | depends on how the buffering works | ||
| masak | oh, true. | ||
| TimToady | and the implementation of say | ||
| jnthn | I've had an alarm clock usage fail... | ||
| TimToady | I would not expect say to do a join | 07:55 | |
|
07:55
KyLe48 joined
|
|||
| masak | TimToady: the stringification of 1..* might. | 07:55 | |
| baest | jnthn: you're sure it wasn't a whiskey fail? :) | ||
| jnthn | Say calls $*OUT.say with the args I guess... | ||
| baest: I assure you the whisky was a win... | |||
| TimToady | if it's implement by just fprintfing each value, then flushing on newline, you'll still get intermediate results | ||
| when the buffer fills | |||
|
07:55
mib_i7k0dt left
|
|||
| TimToady | it's likely the stringificaiton of 1..* will "go meta" | 07:56 | |
| baest | jnthn: hehe, if you say so :) | ||
|
07:58
eternaleye joined,
payload1 joined,
payload left
07:59
sjn joined
08:03
c9s_ left
08:04
c9s_ joined,
eternaleye left,
eternaleye_ joined
08:10
DemoFreak joined
|
|||
| masak | rakudo: my @a = ^4; say @a[1..*].perl | 08:11 | |
| cosimo | i think i just found a problem in `perl Configure.pl --gen-parrot' on windows | ||
| p6eval | rakudo f2c582: OUTPUT«[1, 2, 3, undef]» | ||
| jnthn | masak: Think that bug is already filed. ;-) | ||
| masak | jnthn: aye. | 08:12 | |
| just checking that it hasn't changed since then. | |||
| jnthn figures his punishment for sleeping through his alarm is that he has to find the way to the Hackathon alone | |||
|
08:14
projector joined
|
|||
| omega | omg, HAI projector | 08:14 | |
| sjn wonders where everyone is... | |||
|
08:15
eternaleye joined
|
|||
| masak | omega: no projector any more, I'm afraid. | 08:15 | |
| std: multi sub infix:<∧> ($lhs, $rhs) { $lhs && $rhs }; if 1 + 1 == 2 ∧ 42 == 42 { say "OH HAI" } | |||
| p6eval | std 26255: OUTPUT«ok 00:04 38m» | ||
| masak | STD++ | 08:16 | |
| omega | masak: muaha, I see you on the bigscreen in this room :p | ||
| cosimo | --gen-parrot seems to be working now for me... | 08:17 | |
|
08:18
eternaleye left
|
|||
| jnthn | sjn: My part of the everyone is on its way soon. | 08:18 | |
| omega | -gen-parrot worked to days ago for me | 08:19 | |
| masak will henceforth refer to himself as 'my part of the everyone' | |||
| cosimo | i had to fix it, didn't work for me (i'm on win32) | 08:20 | |
| omega | ahh | ||
| method add (Array @rules) { | |||
|
08:20
pnu joined
|
|||
| omega | does that mean an array of Arrays? | 08:20 | |
| pmichaud | it does. | 08:21 | |
| masak | omega: yes. | ||
| omega: is it Dispatcher code? | |||
| er, Dispatch. | |||
| omega | masak: no, I fixed Dispatcher now | ||
| working on Tags failure | |||
| jnthn | Rakudo only started enforcing that this means a Positional of Array recently. | 08:22 | |
| masak | great. | ||
| omega | so if I want an Array of Str, it woul be method add (Str @array)? | ||
| masak | aye. | ||
| we should really rename Tags to November::Tags. | |||
| jnthn | omega: Yes, ish, but note that really you're asking for a Positional of Str | ||
| Where Positional is a role that Array happens to do (but also List, etc) | |||
| omega | but I guess I don't really care if its Array or List? | 08:23 | |
| masak | no. | ||
| jnthn | Right, which is why there's a Positional role. ;-) | ||
| omega | :) | ||
| jnthn | Anyone know if it was possible to buy the tram tickets on the tram with card, or must I go find cash first? | 08:24 | |
| omega | you can stop by 7-11 for instance, and get a tram ticket there | ||
| mberends | or you can walk like we did ;) | ||
| jnthn | mberends: Oooh! Is it far? | 08:25 | |
| masak | jnthn: not really. | ||
| mberends | 45 mins | ||
| masak | and the weather is beautiful. | ||
|
08:25
ihrd joined
|
|||
| pmichaud | 3.5km | 08:25 | |
| masak | rakudo: class A {}; sub foo(@bar) {}; foo(A.new) | ||
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @bar in call to foocurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| masak | rakudo: class A does Positional {}; sub foo(@bar) {}; foo(A.new) | 08:26 | |
| p6eval | rakudo f2c582: ( no output ) | ||
| masak | rakudo++ | ||
| jnthn++ | |||
| wayland76 | You could even run :) | ||
| ihrd | rakudo: my $foo = 'foo'; $foo R~= '!'; | ||
| p6eval | rakudo f2c582: ( no output ) | ||
| ihrd | hm | 08:27 | |
| masak | rakudo: my $foo = 'foo'; $foo R~= '!'; say $foo | ||
| p6eval | rakudo f2c582: OUTPUT«foo» | ||
| cosimo | i just tried to submit a bug to [email@hidden.address] is that correct? | ||
| ihrd | rakudo: my $foo = 'foo'; say $foo R~= 'a'; | 08:28 | |
| p6eval | rakudo f2c582: OUTPUT«0foo» | ||
| ihrd | zero?! | ||
| masak | :P | ||
| ihrd: care to submit a bug? | 08:29 | ||
| ihrd | rakudo: my $foo = 'foo'; say $foo = 'foo' R~ 'a'; | ||
| p6eval | rakudo f2c582: OUTPUT«afoo» | ||
| jnthn studies the Google Map and ponders the walk. | |||
| TimToady | std: 42 ? 43 : 44 | ||
| p6eval | std 26255: OUTPUT«##### PARSE FAILED #####Obsolete use of ?: for the conditional operator; in Perl 6 please use ??!! instead at /tmp/C7kiXGTEbE line 1:------> 42 ? 43 : 44FAILED 00:02 35m» | ||
| pmichaud | rakudo: 42 ? 43 : 44 | ||
| p6eval | rakudo f2c582: OUTPUT«Statement not terminated properly at line 1, near "? 43 : 44"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| ihrd | masak: hi, I will submit | 08:30 | |
|
08:30
hanekomu joined
|
|||
| omega | pastie.org/450612 | 08:30 | |
| shouldn't that work? | |||
| masak | rakudo: 42 ?? 43 : 44 | ||
| p6eval | rakudo f2c582: OUTPUT«ResizablePMCArray: Can't pop from an empty array!current instr.: 'parrot;PGE;OPTable;parse' pc 1809 (compilers/pge/PGE/OPTable.pir:504)» | ||
| omega | it dies with the Non-positional or positional error | ||
| masak | pmichaud: that's the one. | ||
| ihrd: great. | |||
| TimToady | std: 42 ?? 43 : 44 | ||
| p6eval | std 26255: OUTPUT«##### PARSE FAILED #####Illegal use of colon as invocant marker at /tmp/ATtZvviQo3 line 1:------> 42 ?? 43 : 44FAILED 00:02 35m» | ||
| TimToady | std: 42 ?? 43 :: 44 | 08:31 | |
|
08:31
Guest73590 left
|
|||
| p6eval | std 26255: OUTPUT«##### PARSE FAILED #####Found ?? but no !!; possible precedence problemPlease use !! rather than :: at /tmp/hA8zwVEnYw line 1:------> 42 ?? 43 :: 44 expecting any of: infix or meta-infix infix stopper standard stopper terminatorFAILED 00:02 | 08:31 | |
| ..35m» | |||
|
08:32
krunen_ joined,
krunen_ left
|
|||
| omega | rakudo: sub add(Str @a) {}; my @r = <a b c>; add(@r); | 08:33 | |
| p6eval | rakudo f2c582: OUTPUT«Non-Positional argument or Positional of wrong element type for @a in call to addcurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| omega | why? | ||
| baest | pmichaud: can you tell me where the parsing of grammars take place? I would like to look through and see if I understand enough to look at the <something> ** ',' | ||
| omega | ahh | ||
| rakudo: sub add(Str @a) {}; my Str @r = <a b c>; add(@r); | |||
| p6eval | rakudo f2c582: ( no output ) | ||
| masak | baest: src/parser/grammar.pg | 08:34 | |
| omega: it can be argued that your first attempt should also work. | 08:35 | ||
| omega: but at present, it doesn't. | |||
| jnthn | actually I think compilers/pge/src/... if you want something inside a regex. | ||
| masak | baest: what jnthn said. | ||
| jnthn | masak: That's unspec and I need to bother Larry about it. ;-) | ||
| baest | jnthn,masak: thanks :)( | ||
| jnthn | baest: And that's in the Parrot tree not the Rakudo one btw | ||
| baest | :) | ||
| yeah, I figured | |||
| jnthn | ok I failz at map understanding | 08:36 | |
| omega | masak: Well, it was un-intuituve at least to a simple minded norwegian :p | ||
| yay, different fail now :p | |||
| Null PMC access in find_method() | |||
| masak | omega: what's the program? | ||
| omega: and, more importantly, did you submit a rakudobug yet? | |||
| omega | masak: november tests | 08:37 | |
| masak: for? | |||
| masak | omega: oh. :/ | ||
| omega++ | |||
| pmichaud | baest: compilers/pge/PGE/Perl6Regex.pir | ||
| masak | masak-- | ||
| omega: I'd like to see that, I think. | |||
| it sounds bad. | 08:38 | ||
| omega | pastie.org/450616 | ||
| masak | gracias. | ||
| I suspect that one is filed already... | |||
| find_method() does that sometimes. :/ | |||
| masak looks at the method in question | |||
| omega | masak: I pasted my diff of Tags.pm | 08:39 | |
| jnthn | rakudo: class A { has @.a is rw handles /m/; }; my $x = A.new; $x.a = 1,2,3; say $x.map(*-2); | ||
| p6eval | rakudo f2c582: OUTPUT«Use of uninitialized valueParameter type check failed for expr in call to mapcurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| jnthn | rakudo: class A { has @.a is rw handles /m/; }; my $x = A.new; $x.a = 1,2,3; say $x.a.map(*-2); | ||
| p6eval | rakudo f2c582: OUTPUT«Use of uninitialized valueParameter type check failed for expr in call to mapcurrent instr.: 'die' pc 17324 (src/builtins/control.pir:222)» | ||
| omega | masak: in the same pastie | 08:40 | |
| jnthn | rakudo: class A { has @.a is rw handles /m/; }; my $x = A.new; $x.a = 1,2,3; say $x.a.map(*+2); | ||
| p6eval | rakudo f2c582: OUTPUT«345» | ||
|
08:40
projector2 joined
|
|||
| jnthn | rakudo: class A { has @.a is rw handles /m/; }; my $x = A.new; $x.a = 1,2,3; say $x.map(*+2); | 08:40 | |
| p6eval | rakudo f2c582: OUTPUT«3» | ||
| masak | omega: ah, I see it. | ||
| jnthn | rakudo: class A { has @.a is rw handles /m/; }; my $x = A.new; $x.a = 1,2,3; say $x .= map(*+2); | ||
| p6eval | rakudo f2c582: OUTPUT«get_number() not implemented in class 'A'current instr.: 'infix:+' pc 23068 (src/builtins/op.pir:284)» | ||
| jnthn | There's probably some rakudo bugs in there somewhere... | 08:41 | |
| omega | if you point somewhere, I will look :p | ||
|
08:43
sitaram joined
|
|||
| jnthn | I think the patch I've got spectest running through at the moment will fix one of 'em... | 08:44 | |
| baest | pmichaud: ok, thanks. Is P6Rule.grammar outdated, it seems wrong? | ||
|
08:46
c9s_ left,
c9s_ joined
|
|||
| jnthn | OK folks, I'm making my way to the hackathon. See you all soon :-) | 08:47 | |
| masak | jnthn: o/ | 08:48 | |
| jnthn | (If I don't get epicly lost... ;-)) | ||
| masak | just follow the tracks. | ||
| jnthn | yeah, I figured that from the map... :-) | ||
| masak | omega: getting the same Null PMC access after applying your patch. | 08:49 | |
| omega: investigating. | |||
| moritz_ | good morning | ||
| masak | moritz_: hello! | 08:50 | |
| moritz_: wish you were here. there was a moritz_-shaped hole at NPW. | |||
| moritz_ | masak: :/ | 08:51 | |
|
08:51
sitaram left
|
|||
| moritz_ wishes he was there too, but I need six more weeks to get to Oslo | 08:51 | ||
|
08:51
sitaram joined
|
|||
| masak | moritz_: you don't have to _walk_ all the way here. | 08:52 | |
| moritz_ | masak: actually we'll take car and ferry | ||
| masak | good plan. | 08:53 | |
|
08:54
imarcusthis joined
|
|||
| pugs_svn | r26256 | moritz++ | [perl6-projects.org] use camelia; a few other improvements | 08:54 | |
| dalek | kudo: afd8ff1 | pmichaud++ | build/gen_parrot.pl: Avoid problems with newlines in build/PARROT_REVISION on windows (RT #64816) |
08:57 | |
|
08:57
krunen left
|
|||
| moritz_ | pmichaud: what do you think about the 'make tickettest' patch (RT #64810)? | 08:59 | |
|
08:59
krunen joined
|
|||
| moritz_ | to me it feels a bit like a wrong approach, but I don't work on tickets that often, so I can't really tell | 08:59 | |
| masak | pmichaud: I looked in trac.parrot.org for the get-output-from-child-process, but did not find any ticket about it. do you happen to know where it is? | 09:00 | |
|
09:01
krunen left
09:02
krunen joined
09:03
rhr left,
Diederich left,
pugs_svn left,
jrockway left,
simcop2387 left
09:04
simcop2387 joined,
rhr joined,
jrockway joined,
Diederich joined,
pugs_svn joined
09:10
PacoLinux joined
|
|||
| pmichaud | masak: it's in RT, I think. | 09:11 | |
| (it's that old) | |||
| dalek | kudo: 8a3a9a9 | pmichaud++ | build/gen_parrot.pl: Oops. *This* commit fixes RT #64816. |
||
| masak | pmichaud: oh! Parrot still uses RT? :) | 09:12 | |
| masak looks there | |||
|
09:14
sitaram left
|
|||
| masak | mberends: qpsmtpd. | 09:14 | |
| mberends likes Pure Perl daemons for most protocols | 09:17 | ||
| masak | mberends: that's the name of the fourth component on RT, apart from perl5, perl6, and parrot. | ||
| mberends | time to port 'em all to Rakudo | ||
| masak | :) | 09:18 | |
|
09:18
sitaram joined
|
|||
| masak | 1. port everything to Rakudo 2. ??? 3. Profit! | 09:18 | |
| wayland76 | mberends: No, wait until we have S17 :) | ||
| masak | wayland76: 'wait' is not in the list of our supported operations. :P | 09:19 | |
| wayland76 | Ok, try this: 0. Finish and implement S17 1. port everything to Rakudo 2. ??? 3. Profit! | ||
| masak | rakudo: class masak {}; say masak.can("wait") | 09:20 | |
| p6eval | rakudo 8a3a9a: OUTPUT«0» | ||
| masak | see? | ||
| :P | |||
|
09:20
sitaram left
|
|||
| wayland76 | rakudo: class masak {}; say masak.can("do anything") | 09:20 | |
| p6eval | rakudo 8a3a9a: OUTPUT«0» | ||
| mberends | wayland76: there may be double effort in it, but I'd rather port badly today, reap some benefit and the refactor S17 in when it's ready :) | ||
| wayland76 | Well, I think you're more useful than that class :) | 09:21 | |
| mberends | *then | ||
| pmichaud | masak: yes, some older issues are still in RT and haven't been migrated to Trac yet. | ||
| masak | pmichaud: ok. that should be a Trac ticket in itself. :) | ||
| wayland76 | mberends: But if we all took that attitude, S17 would never be ready :) | ||
| masak | wayland76: I'm not sure I agree. | 09:22 | |
| wayland76: application code tends to drive the spec forward, as well. | |||
| wayland76 | masak: In detail, yes, but in something as large as S17? | ||
| pmichaud | I think there's a trac ticket for that. At any rate, the parrot tickets are slowly being migrated. | ||
| I can't find an RT ticket that describes capturing stream output from subprocesses, though. Perhaps it wasn't a ticket. Perhaps it got inadvertently closed. | 09:23 | ||
| so, perhaps just file a new trac ticket (and someone else can figure out if it's a duplicate :-) | |||
| wayland76 | masak: And I'm assuming the drive sequence is app code ==> implementation(rakudo, etc) ==> Spec | ||
| masak | pmichaud: I'll file the ticket, but primarily I want to write a good email to parrot-dev. | ||
| wayland76: in most cases, yes. | 09:24 | ||
| pmichaud | masak: that is probably the best approach, yes. | ||
| wayland76 | ...and I'll write a baaaaad e-mail to parrot-dev (well, maybe not :) ) | ||
| (sorry all, my sleep schedule has put my brain in "Far Side" mode) | 09:25 | ||
|
09:26
pmichaud sets mode: +o TimToady
|
|||
| moritz_ | masak: mention that that feature would allow us test all kind of things in Perl 6 that we can't test now, at least not with reasonable effort | 09:27 | |
| masak | wayland76: the specific value of 'good' here is 'so that the devs understand the various ways in which this feature is highly desired'. | ||
| wayland76: what moritz_ said. | |||
| moritz_: aye, I will. | |||
| moritz_: it'll also be good for Parrot's tests, for exactly the same reason. | |||
| pmichaud | it's been a long-desired feature in Parrot. | ||
| dalek | kudo: 91d6204 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 371 files, 10414 passing, 0 failing |
09:29 | |
| kudo: 2e3a51a | pmichaud++ | : Merge branch 'master' of [email@hidden.address] |
|||
| pmichaud | +3143 new passing tests since March release. :-) | 09:30 | |
| moritz_ | and we have another week before the April release, no? | ||
| masak | aye. | 09:31 | |
| moritz_ | anyway, I'm off for some fantasy RPG ;-) | ||
| have fun hacking! | 09:32 | ||
| masak | moritz_: have the appropriate amount of fantasy fun. | ||
| moritz_ | ;-) | ||
| pmichaud | April release should be the 23rd | ||
| moritz_ senses some conspiracy ;-) | |||
| cosimo | finally built perl6.exe for win32 \o/ | 09:35 | |
| (again) | 09:36 | ||
|
09:37
arnsholt joined
|
|||
| masak | cosimo++ | 09:37 | |
| cosimo | core tests pass | 09:39 | |
| masak | szabgab: say [+] lines("numbers.txt") | 09:40 | |
|
09:41
c9s__ joined,
c9s__ left
|
|||
| cosimo | i'm trying with this: | 09:43 | |
| my $sum = [+] lines('...'); say $sum | |||
| and it works | |||
|
09:43
jeremiah1 joined
|
|||
| cosimo | while 'my Int $sum = ...' does not | 09:43 | |
| masak | all languages may be equivalent in some sense, but that one-liner is quite a good example of Perl 6 helping you think faster. | 09:44 | |
| cosimo just playing around... | |||
| masak | cosimo: there's a ticket about that. | ||
| cosimo: I dislike that slightly too. | |||
| cosimo: the problem is that the result of + is a Num, not an Int. | |||
| cosimo: so if you do Num, you should be fine. | 09:45 | ||
| jnthn | oh hai I haz arrivals | ||
| masak | jnthn++ # not getting lost | 09:46 | |
| jnthn | Just followed the tram tracks | ||
| baest | jnthn: you walked? | ||
| jnthn | aye | ||
| baest | wow, seemed far | 09:47 | |
| jnthn | yeah, a little way | ||
|
09:47
barney joined
|
|||
| jnthn | otoh I walked four and a half hours last weekend with only a 10 minute break, so walking a long way is fine for me. :-) | 09:48 | |
| masak | rakudo: sub avg(@v) { ([+] @v)/@v }; my @values = <3 8 19 -7 13>; say avg(@values); say [min] @values; say [max] @values | 09:49 | |
| p6eval | rakudo 2e3a51: OUTPUT«7.2-78» | ||
| baest | well, yes, I was thinking about the consumption of alcohol yesterday, I wasn't thinking about walking when I woke up | ||
| masak | jnthn: what's up with that last value? | ||
| jnthn: oh! | |||
| jnthn: Str comparison, right? | |||
| jnthn | Yeah | 09:50 | |
| min will be seeing it as a str I guess? | |||
| masak | rakudo: sub avg(@v) { ([+] @v)/@v }; my @values = 3, 8, 19, -7, 13; say avg(@values); say [min] @values; say [max] @values | ||
| p6eval | rakudo 2e3a51: OUTPUT«7.2-719» | ||
| masak | that works. | ||
| jnthn notes we're up to 320 tickets now | 09:51 | ||
| baest | ummm nice | ||
|
09:51
PacoLinux left
|
|||
| cosimo | rakudo: my @lines = <a b c>; say @lines | 09:51 | |
| p6eval | rakudo 2e3a51: OUTPUT«abc» | ||
| cosimo | rakudo: my @lines = <a b c>; say @lines.perl | ||
| p6eval | rakudo 2e3a51: OUTPUT«["a", "b", "c"]» | ||
| jnthn | rakudo: sub a(--> Int) { } | 09:52 | |
| p6eval | rakudo 2e3a51: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 1, near "--> Int) {"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| jnthn | std: sub a(--> Int) { } | ||
| p6eval | std 26256: OUTPUT«ok 00:02 34m» | ||
| cosimo | @lines.length doesn't exist, right? | ||
| lambdabot | Unknown command, try @list | ||
| baest | cosimo: I think it is @lines.elems | 09:53 | |
| cosimo | baest: yes, thx | ||
| masak | cosimo: 'length' is kind of the banned word of Perl 6. | ||
| pmichaud | or even just +@lines | ||
| masak | cosimo: because it doesn't specify units, and thus is wildly ambiguous. | 09:54 | |
| jnthn | Think of length as the opposite of context and proto. ;-) | ||
| masak | jnthn: you just made pmichaud LOL. :) | ||
| TimToady | 'length' is underloaded | ||
| baest | heh, that's what I heard through the wall then :) | ||
| pmichaud | I think my LOL is almost as distinctive as Gloria's. :-) | 09:55 | |
|
09:55
ihrd left,
PacoLinux joined
|
|||
| masak | std: my @a; @a.length | 09:55 | |
| p6eval | std 26256: OUTPUT«ok 00:02 35m» | ||
| masak gasps | 09:56 | ||
| jnthn | rakudo: class Any is also { method length { self.elems } }; my @a = 1,2,3; say @a.length; | ||
| p6eval | rakudo 2e3a51: OUTPUT«3» | ||
| TimToady | std; my @a; @a.blurfldy | ||
| baest | oh the well known method blurfldy :) | 09:57 | |
| masak | jnthn: we should provide an 'I-want-everything-to-be-as-in-Perl-5' module. :) | ||
| literal | p6eval likes the colon | ||
| cosimo | where can i find .elems mentioned in the docs? i'm trying to find it, but... | ||
| TimToady | looks like I kill std: | ||
| *killed | |||
| masak | it must have been the blurfldy. | ||
| pmichaud | or perhaps the semi :-) | ||
| cosimo | S02 | 09:58 | |
| TimToady | std: length('ouch') | ||
| p6eval | std 26256: OUTPUT«Undeclared routine: length used at 1 ok 00:02 35m» | ||
| jnthn | masak: It's called "use v5" ;-) | ||
| masak | jnthn: I'm just curious how much you can flex Perl 6 to look like Perl 5. | 09:59 | |
| TimToady | std: use v5; length('retroactive murder') | ||
| p6eval | std 26256: OUTPUT«Undeclared routine: length used at 1 ok 00:02 35m» | ||
|
09:59
c9s_ left
|
|||
| masak | TimToady: bug in STD.pm :) | 09:59 | |
|
10:04
haakonsk left,
hanekomu left
10:15
DemoFreak left
|
|||
| mikehh | rakudo (afd8ff1) on parrot r38191 - make test/make spectest PASS on Ubuntu Intrepid i386 | 10:15 | |
|
10:34
ejs joined
10:41
payload1 left
|
|||
| jnthn | plz to make .WHAT a macro... | 10:42 | |
| (in Rakudo...) | 10:43 | ||
|
10:43
hanekomu joined
10:46
KyLe48 left,
KyLe48 joined
10:48
espen_ joined
|
|||
| hanekomu | rakudo: say "test" | 10:52 | |
| p6eval | rakudo 2e3a51: OUTPUT«test» | ||
| hanekomu | right | ||
| my @a=1..3; say [+] @a; | |||
| rakudo: my @a=1..3; say [+] @a; | |||
| p6eval | rakudo 2e3a51: OUTPUT«6» | 10:53 | |
| hanekomu | rakudo: my @a=1..3; say [*|+] @a; | ||
| p6eval | rakudo 2e3a51: OUTPUT«Statement not terminated properly at line 1, near "|+] @a;"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| hanekomu | no hyperjunctions I guess. | ||
| masak | hanekomu: what did you expect that to do? :) | ||
| hanekomu | not sure :) | ||
| I'm here to break perl6 | |||
| masak | hanekomu: you can't junction ops inside a []-metaop. | ||
| hanekomu: that's the spirit :) | 10:54 | ||
| hanekomu | although the error message isn't so great | ||
| masak | hanekomu: just as with speed, the focus hasn't been on great error messages. | ||
| hanekomu | sure | ||
| masak | ...so far. | ||
|
10:55
KyLeLaptop joined
10:57
ejs left,
Whiteknight joined
|
|||
| hanekomu | rakudo: our $count; multi foo (Str $x where { ++$count }) { say "foo!" }; foo("baz"); say $count; | 10:58 | |
| p6eval | rakudo 2e3a51: OUTPUT«foo!2» | ||
| TimToady | std: say [*|+] 1,2,3 | ||
| p6eval | std 26256: OUTPUT«##### PARSE FAILED #####Unable to parse array composer; couldn't find final ']' at /tmp/md8dJLJwwN line 1:------> say [*|+] 1,2,3 expecting any of: noun prefix or meta-prefix prefix_postfix_meta_operator whitespaceFAILED 00:02 37m» | ||
| hanekomu | constraint called twice. but as jnthn explained last night they reserve the right to call the constraint as often as they like | ||
| jnthn | Or as unoften. :-) | 11:01 | |
| But yes, calling it twice is sub-optimal. | |||
| masak | jnthn: out of curiosity, what are the two calls in this case? | ||
| jnthn | One is by the multi-dispatcher | ||
| masak | mhm. | ||
| jnthn | The other is during the signature binding after choosing the candidate. | ||
| masak | ah. | ||
| jnthn | However what we really need to do is invoke the thingy and try binding the signature instead | 11:02 | |
| And then fall back out but with a continuation. | |||
| And then invoke the continuation of the "winner" that we choose to eventually invoke with the bound signature. | |||
| However, this is hard. ;-) | |||
| masak | bet it is. | 11:03 | |
| cosimo | mberends: jnthn just tried to explain me how to implement IO::Socket in rakudo... :-) | ||
| mberends | cookys: | 11:04 | |
| cosimo: nice | |||
| hanekomu | rakudo: our $count; multi foo (Str $x where { ++$count } is cached) { say "foo!" }; foo("baz"); say $count; | ||
| p6eval | rakudo 2e3a51: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 1, near "is cached)"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | 11:05 | |
| hanekomu | guess not :) | ||
| jnthn | :-P | 11:07 | |
| I think that's not valid syntax to apply the trait to the block that way anyways... | |||
| TimToady | std: our $count; multi foo (Str $x where { ++$count } is cached) { say "foo!" }; foo("baz"); say $count; | ||
| p6eval | std 26256: OUTPUT«##### PARSE FAILED #####Malformed multiMalformed routineUnable to parse multisig; couldn't find final ')' at /tmp/ofUxHO5QCQ line 1:------> t; multi foo (Str $x where { ++$count } is cached) { say "foo!" }; foo("baz"); s expecting any of: infix or | ||
| ..meta-infi... | |||
| jnthn | Hmm....is cached is basically what the code in Role.pir does to keep the result of looking up the parametric role... | 11:08 | |
| masak | gist.github.com/97553 # NQP/actions.pm question | ||
| jnthn | Could factor it out and then is cached becomes trivial. | ||
| TimToady | std: our $count; multi foo (Str $x where { ++$count }) is cached { say "foo!" }; foo("baz"); say $count; | ||
| p6eval | std 26256: OUTPUT«ok 00:04 41m» | ||
| pmichaud | masak: you probably need a PAST::Var for $_ | 11:09 | |
| TimToady | rakudo: our $count; multi foo (Str $x where { ++$count }) is cached { say "foo!" }; foo("baz"); say $count; | ||
| p6eval | rakudo 2e3a51: OUTPUT«foo!2» | ||
| masak | pmichaud: ok. | ||
| jnthn | masak: What are you trying to do? | ||
| masak | will try to find an example to cargo cult. | ||
| jnthn: .=foo | |||
| jnthn | I fear that's the wrong place to patch... | ||
| masak | jnthn: not patching, just copying to create a minimal patch. | ||
| hanekomu | rakudo: ur $count; sub count is cached () { ++$count }; multi foo (Str $x where { count() }) { say "foo!" }; foo("baz"); say $count; | ||
| p6eval | rakudo 2e3a51: OUTPUT«Scope not found for PAST::Var '$count' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | 11:10 | |
| masak | jnthn: ...which you can later critique. | ||
| hanekomu | erm | ||
| rakudo: our $count; sub count is cached () { ++$count }; multi foo (Str $x where { count() }) { say "foo!" }; foo("baz"); say $count; | |||
| p6eval | rakudo 2e3a51: OUTPUT«foo!2» | ||
| hanekomu | still 2. not cached... | ||
| pmichaud | I'm pretty sure we don't implement "is cached" yet. | ||
| hanekomu | ok | 11:11 | |
| omega | so, is sockets done now? | ||
| jnthn | pmichaud: we don't | 11:12 | |
| was pondering I've already written most of hte code to do it somewhere else though... | |||
| mberends | omega: I plan to get whatever is incomplete on sockets in Rakudo fixed during this Oslo Hackathon | 11:16 | |
| omega | mberends: aha, cool | ||
| masak | mm, sockets. | 11:17 | |
| omega | masak: where is Web.pm hosted? | ||
| jnthn | plz who knows git? | 11:18 | |
| omega | marcus does | ||
| hanekomu | a little bit | ||
| masak | jnthn: you haz a questshun? | ||
| omega | I know some, but not advanced | ||
| masak | omega: github, hold on. | ||
| jnthn | masak: aye, where's the config file? | ||
| masak | omega: github.com/masak/web/ | ||
| jnthn | masak: Seems I did not ever commit from my laptop yet... :-S | ||
| omega | jnthn: .git/config | 11:19 | |
| jnthn | You can't push to git://github.com/user/repo.git | ||
| Use [email@hidden.address] | |||
| hanekomu | add the remote to .git/config | ||
| omega | in the top | ||
| jnthn | ah, thanks | ||
| masak | I'd just change the remote 'origin'. | 11:20 | |
| jnthn | oh no, now I gotta remember how to sort out the key too... | 11:21 | |
| masak | jnthn: ssh-add | ||
|
11:22
smtms left
|
|||
| omega | theres a good guide on github | 11:22 | |
| hanekomu | rakudo: my @a=1..3; say [min] @a.sort; | 11:23 | |
| p6eval | rakudo 2e3a51: OUTPUT«1» | ||
| hanekomu | rakudo: my @a=1..3; say [max] @a.sort; | ||
| p6eval | rakudo 2e3a51: OUTPUT«3» | ||
| hanekomu | rakudo: my @a=1..3; say [uniq] @a.sort; | ||
| p6eval | rakudo 2e3a51: OUTPUT«Statement not terminated properly at line 1, near [email@hidden.address] instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| hanekomu | hm, doesn't work for all methods | ||
| jnthn | min and max are operators, not methods | 11:24 | |
| use .reduce method if you want to reduce with a code | |||
| cosimo | so, you can't say @a.min | 11:25 | |
| ? | |||
| hanekomu | yes, you can | 11:26 | |
| but i want to try all sorts of things | |||
| jnthn | ;-) | ||
| hanekomu | and if min and max work, i thought uniq might as well. | ||
| masak | cosimo: that's the method, which is different from the op. | ||
| hanekomu | would be sort of intuitive | ||
| jnthn | ok, finally I can commit :-) | ||
| well | |||
| masak | hanekomu: no, not really. | ||
| jnthn | push | ||
| masak | hanekomu: min and max are operators. uniq is a function. | 11:27 | |
| hanekomu | masak: not to you because you know perl 6 well. as a newcomer, i have a different idea of "intuitive". I didn't know that min and max are operators but uniq isn't | ||
| masak | hanekomu: now you know :) | ||
| hanekomu: the rule is that you can put operators within the [] | |||
| and not even all operators. | 11:28 | ||
| rakudo: say [=>] <a b c d> | |||
| p6eval | rakudo 2e3a51: OUTPUT«say requires an argument at line 1, near " [=>] <a b"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| dalek | kudo: 11bc88f | unknown++ | : Merge branch 'master' of git://github.com/rakudo/rakudo |
11:29 | |
| kudo: 341f449 | unknown++ | src/classes/ClassHOW.pir: Need to not pun calls to .WHATon a role (this can go away when .WHAT really becomes a macro). |
|||
| pugs_svn | r26257 | jnthn++ | [t/spec] Test for role punning with a method other than .new being punned. | ||
| jnthn | fail | 11:30 | |
| jnthn goes to look up how not to be unknown | |||
| cosimo | rakudo: my @x = 5, 13, -3, 8; say @x.min | ||
| p6eval | rakudo 2e3a51: OUTPUT«-3» | ||
| masak | cosimo++ # not using the parens | 11:31 | |
| baest | How I learned to stop worrying and love not using parens | 11:32 | |
| cosimo | it's cool | 11:33 | |
| TimToady | std: say [=>] <a b c d> | ||
| p6eval | std 26257: OUTPUT«ok 00:02 36m» | ||
| TimToady | std likes it | ||
| jnthn | How goes the sockets? | 11:34 | |
| cosimo | Ah :-) | 11:35 | |
| mberends | jnthn: waiting on pizza ;) | ||
| masak | rakudo: "abc".comb; say "alive" | 11:36 | |
| p6eval | rakudo 341f44: OUTPUT«alive» | ||
| cosimo | @x.min works on @x = <some,numbers> but returns nothing when i read @x with lines("filename") | 11:38 | |
| lambdabot | Not enough privileges | ||
| cosimo | :) | 11:39 | |
| what am i doing wrong? | |||
| omega | masak: wanna give me a quick intro to Web.pm? | 11:42 | |
|
11:42
alanhaggai_ joined
11:43
alanhaggai left
|
|||
| masak | gist.github.com/97567 # counting the words in November.pm | 11:43 | |
| hanekomu | rakudo: say [X] 1..4; | ||
| p6eval | rakudo 341f44: OUTPUT«Statement not terminated properly at line 1, near "1..4;"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| masak | omega: absolutely. by IRC or in meatspace? | ||
| omega | whicever you prefer :) | 11:44 | |
| in person might be easier | |||
| pointing etc | |||
| masak | aye. | ||
| masak comes over | |||
| baest | pmichaud: I'm pretty lost in PGE :( When you have time, could you introduce me to the s3cr3ts of it or tell me to stop trying :) | 11:46 | |
|
11:48
alanhaggai_ is now known as alanhaggai
|
|||
| pmichaud | baest: where are you right now? | 11:50 | |
| baest | pmichaud: in the next room towards the reception | ||
| pmichaud | okay, brt | ||
| baest | cool | ||
| wayland76 | /msg all-visitors you're welcome to come here any time, you know :) | 11:51 | |
|
11:55
Whiteknight left
11:57
payload joined
12:00
rblasch joined
12:13
smtms joined
|
|||
| cosimo | rakudo: my @x = '-3', '2000', '-1000', '8'; print @x.min | 12:14 | |
| p6eval | rakudo 341f44: OUTPUT«-1000» | ||
| cosimo | rakudo: my @x = '-3', '2000', '-1000', '8'; print @x.max | ||
| p6eval | rakudo 341f44: OUTPUT«8» | ||
| cosimo | rakudo: my @x = '-1', '2000', '-3000', '8'; print @x.max | ||
| p6eval | rakudo 341f44: OUTPUT«8» | ||
| cosimo | rakudo: my @x = '-1', '2000', '-3000', '8'; print @x.min | 12:15 | |
| p6eval | rakudo 341f44: OUTPUT«-1» | ||
| baest wonders why length is banned in perl6 but welcome in parrot :) | |||
| masak | cosimo++ | 12:18 | |
| baest: well, one explanation is that the Parrot API congealed before the Perl 6 API did. | |||
| baest: another is that whereas Perl 6 is sort of restricted to conform to the regulations of Perl 6, Parrot isn't. :) | 12:19 | ||
| baest | make sense, I was mostly failing in being funny :) | ||
| masak | baest: I have a bad habit. I answer seriously to people being funny. | 12:20 | |
| baest | masak: but still, the same argument in Perl6 should apply to Parrot | ||
| masak | that way, I don't look bad if it turns out they were actually being serious. :) | ||
| baest: it could, yes. | |||
| baest: but the fact remains that Parrot is not ruled by Perl 6 design concerns. not in that sense anyway. | 12:21 | ||
| baest | ok | ||
| masak | rakudo: .say for $_ for <a b c>, <d e f> | 12:25 | |
| p6eval | rakudo 341f44: OUTPUT«Use of uninitialized valueCould not find non-existent sub forcurrent instr.: '_block14' pc 200 (EVAL_18:85)» | ||
| masak submits rakudobug | |||
| YaY! | |||
|
12:25
Patterner left
|
|||
| baest | masak: first of the day? | 12:25 | |
|
12:25
cognominal joined
|
|||
| wayland76 | masak: Let's test your habit. "If the opposite of pro is con, then the opposite of progress is?" | 12:25 | |
| masak | baest: nod. | ||
| wayland76: retrogression. | 12:26 | ||
| wayland76 | Yup, it works :) | ||
| masak | wayland76: and you're trying to use a fallacy of analogy there. | ||
| wayland76: and that doesn't work. :P | |||
| wayland76 | I'd say it's more a linguistic accident :) | ||
| masak | linguistic shit happens. | 12:27 | |
| LylePerl | Hi All | 12:28 | |
| masak | std: .say for $_ for <a b c>, <d e f> | ||
| p6eval | std 26257: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/iAUpOSIj1K line 0:------>  expecting any of: infix or meta-infix infix stopper parameterized block standard stopperFAILED 00:02 37m» | ||
| masak | LylePerl: hi. | ||
| LylePerl | hi masak | ||
| how did NPW go? | |||
| masak | LylePerl: NPW was a success. it got people wildly interested in Perl 6. | 12:29 | |
| everyone's hacking on their new Perl 6 projects now. | |||
| LylePerl | masak: Brilliant :) | ||
| masak | indeed. | ||
| baest | masak: I think many of us already was interested, we're just coming out of our bushes now :) | 12:30 | |
| masak | baest: worksforme. | ||
| imarcusthis | bush people | ||
| pnu | NEXT block is not implemented, right? | 12:31 | |
|
12:31
kimtaro left
12:32
kimtaro joined
|
|||
| pugs_svn | r26258 | cosimo++ | [t/spec] Added min/max tests to S32-list when input is read from a file | 12:33 | |
| cosimo | now forgive me please :-) | 12:34 | |
| masak | pnu: for <a b c> { NEXT {} } | ||
| rakudo: for <a b c> { NEXT {} } | 12:35 | ||
| p6eval | rakudo 341f44: OUTPUT«Could not find non-existent sub NEXTcurrent instr.: '_block28' pc 207 (EVAL_17:99)» | ||
| masak | pnu: right. NYI. | ||
| LylePerl | I've been learning some parrot to try and figure the best way to write tests for chdir | ||
| I came across docs.parrot.org/parrot/latest/html/...s.pmc.html | |||
| masak | well, there you go. | ||
| LylePerl | So have been temped to write and spec for mkdir as well and have a go at implementing those | 12:36 | |
| (I'm guessing it should be easy as it sits on top of the parrot ops) | |||
| to test chdir, I need a cwd | |||
| I can't find cwd mentioned anywhere in the docs | 12:37 | ||
| I could just drop down to parrot in the test, but perl 6 is going to need some kind of cwd | |||
| perl6: $*CWD.say | |||
| p6eval | rakudo 341f44: OUTPUT«Use of uninitialized value» | ||
| ..elf 26258, pugs: OUTPUT«» | |||
| baest | LylePerl: there is a STRING *cwd() in STRING *cwd() | 12:38 | |
| masak | buubot: spack cwd | ||
| buubot | masak: Sorry, I couldn't find any matches for: cwd | ||
| baest | sorry in docs.parrot.org/parrot/latest/html/...s.pmc.html | ||
| LylePerl | PUGS $*CWD.say works for me locally | ||
| baest: I know | 12:39 | ||
| baest | cwd is a method | ||
| LylePerl | perl 5 doesn't have a cwd built in, but has Cwd.pm | 12:40 | |
| I was hoping TimToady might give a pointer as to how he wants to deal with this since $*CWD has been dropped | 12:41 | ||
| masak | LylePerl: what, specifically, is it that you'd like to have clarified? | 12:42 | |
| LylePerl | How to get current working directory in perl 6 | ||
| whether a method should be implemented, or a variable or an object | 12:43 | ||
| I know that time this came up he mentioned a $CD object or something | |||
| masak | hm. | ||
| there's an OS class in S29. | |||
| but maybe that's not the right place to put it, because it's not the OS that's changing directories, it's the program context. | 12:44 | ||
| LylePerl | S29 doesn't mention any cwd though | ||
| masak | LylePerl: right, none of the specs do. | ||
| LylePerl | That's why I haven't implemented the tests, I wanted to know which way this was going first | 12:45 | |
| on Linux you can just grab the PWD Env, but that isn't portable | |||
| masak | sure. :) just don't expect that someone will necessarily come forward and tell you. | ||
|
12:46
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| masak | the usual way this happens is that someone commits a draft-like suggestion, and people say "yes, that's fine" or "no, that's not so good". | 12:46 | |
| LylePerl | Ok. I'll bite the bullet and put some more suggests in the spec | 12:47 | |
| masak | if you create a new class DirectoryChanger with the sole method cwd, that would at least create some debate. :P | ||
|
12:48
Whiteknight joined
|
|||
| LylePerl | I thought maybe add it to IO::DirectoryNode? | 12:49 | |
| wayland76 | How about IO::FileSystem? | ||
| TimToady | LylePerl: whatever we come up with has to support both one current dir for the whole process (Unix model) or a separate current directory for any dynamic scope that overrides the current directory, which supports things like an apache server running independent threads | 12:50 | |
| pnu | multi sub based on return value type .. NYI or not specd? | ||
| TimToady | the latter has to have some support from with IO, of course | ||
| wayland76 | At onepoint, Tree was going to handle this, but Tree got scrapped :) | 12:51 | |
| TimToady | specced as not necessary for 6.0 | ||
| jnthn | And as a result not implemented. ;-) | ||
| masak | pnu: you can do it already with 'where' clauses. | ||
| std: *\i | |||
| p6eval | std 26258: OUTPUT«ok 00:02 35m» | ||
| TimToady | LylePerl: another design point is that the same interface should work for both cases, so that you can incorporate a standalone script in a server | 12:52 | |
| jnthn | That is provided you mean multi x() returns Int { } and multi x() returns Str { } and expect them to differentiate on the return type of that multi. | ||
| wayland76 | Can you believe my NetBook didn't have the Perl documentation installed? :) | ||
| pnu | jnthn: yes, based on the callers context.. where i'm putting the return value. | 12:53 | |
| LylePerl | TimToady: I assume the cwd from parrot of PMC is for the whole process... And the dynamic one would have to be implemented differently? | ||
| TimToady | $*CWD (or whatever name we end up with) is a contextual variable, so can be overridden in a dynamic scope | 12:54 | |
| so separate threads could have different wds | |||
| at a fundamental level we're trying to get the same abstract separation that Unix processes get, only between threads | 12:55 | ||
| and contextual variables are really modelled on env vars | |||
| (except we can have rw ones) | |||
| where any child can write | |||
| so such a variable would have to have locking | 12:56 | ||
| wayland76 | Have we taken into account that Windows systems have a separate CWD for each drive? | ||
| TimToady | no | ||
| masak | should we? | ||
| TimToady | I am dubious :) | 12:57 | |
| LylePerl | If the script has only one $*CWD I wouldn't have thought it mattered | ||
| switching drives in the $*CWD would just adjust that individual drives cwd | 12:58 | ||
|
12:58
DemoFreak joined
|
|||
| LylePerl | You wouldn't be pointing to the old one so it's CWD wouldn't matter | 12:58 | |
| (i think) :s | |||
| TimToady | I know folks would would say "You're using Windows, so it wouldn't matter." :P | 12:59 | |
| pmichaud | (length in parrot): It's also useful to remember that Parrot's original target wasn't really Perl 6, but rather a "best guess" at what Perl 6 might be like given the current knowledge of Perl 5. | ||
| TimToady | *who would | ||
| pmichaud | So in many ways, Parrot targets Perl 5 more than Perl 6. :-| | ||
| TimToady | how do we then explain that Parrot runs Perl 6 better than it runs Perl 5? :) | 13:00 | |
| wayland76 | Incentive :) | ||
| Although some think (obfus)Perl code resembles invective more than incentive :) | 13:01 | ||
| omega | gist.github.com/97592 | 13:02 | |
| am I the only one who think something like that makes sense? | |||
| masak | omega: November actually has that. | 13:03 | |
| omega | yeah, I know | ||
| masak | we have been wanting to go back to Rakudo's own Test.pm, but we like got/expected too much. | 13:04 | |
| there was a patch in RT to add it, but I think it stalled because people said that Test.pm was being integrated into the core of Rakudo anyway. | |||
| omega | aha | ||
| pmichaud | I don't know that Test.pm will integrate anytime soon. | 13:05 | |
| So if someone wants to apply something like 97592, I'm okay with that. | |||
| omega | well, I'll just keep it in my local copy anyways | ||
|
13:05
cspencer joined
|
|||
| masak | omega: :) | 13:05 | |
| LylePerl | jnthn: any tips on bits of code I should look at to try and implement $*CWD? | ||
| jnthn | maybe Parrot's OS PMc. | 13:06 | |
| LylePerl | jnthn: yes I've had a play with that. But I've no idea how to setup $*CWD and link in with parrots os.cwd on changes | 13:07 | |
| perl6: $*PID.say | 13:08 | ||
| p6eval | rakudo 341f44: OUTPUT«Use of uninitialized value» | ||
| ..pugs: OUTPUT«» | |||
| ..elf 26258: OUTPUT«24590» | |||
| masak | moritz_: ping. | ||
| omega | whats a good place to read about Rules? | 13:09 | |
| LylePerl | my local pugs returns a PID as well... | ||
| masak | omega: S05. | ||
| omega: perlcabal.org/syn/S05.html | 13:10 | ||
| LylePerl | jnthn: seems the windows pugs off your site behaves differently to this evalbot | ||
|
13:15
ilogger2 joined,
sitaram joined
|
|||
| LylePerl | perl6: $*OS.say | 13:16 | |
| p6eval | elf 26258, rakudo 341f44: OUTPUT«linux» | ||
| ..pugs: OUTPUT«» | |||
|
13:18
spx2 joined
|
|||
| spx2 | are threads going to be the same mess in perl6 as in perl5 ? | 13:18 | |
| are they implemented yet in perl6 ? | |||
| masak | spx2: no, and no. | 13:19 | |
| :) | |||
| cspencer | good morning all :) | ||
| masak | spx2: but your question seems to assume that there's only one Perl 6 implementation. | ||
| cspencer: OH HAI | |||
| cspencer | masak: OH HAI | 13:20 | |
| omega | grammars and classes live in the same namespace? | 13:22 | |
| wayland76 | spx2: The thread spec is not finalised | ||
| masak | rakudo: class A {}; grammar A {} | ||
| p6eval | rakudo 341f44: OUTPUT«Re-declaration of type A at line 1, near ""current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| wayland76 | in fact, it's a real mess | ||
| masak | omega: aye. | ||
| wayland76 | There've been at least 3 attempts to write a thread spec (S17), and bits of all of them are still in there | 13:23 | |
| eiro | hello all | ||
| masak | eiro: hi! | ||
| wayland76 | About the only thing I know is that it seems like people want to use a model which has an event loop underlying threads | ||
| eiro | i'm trying to redefine the NL of $*IN. | ||
| wayland76 | NL? | 13:24 | |
| eiro | but i don't know how to tell: \x1f | ||
| cspencer | has running test in parallel during a "make spectest" always been there? :) | ||
| eiro | $/ is now nl :) | ||
| wayland76 | ok | ||
| eiro | i'm reading S06 ... no clue for the moment | ||
| spx2 | wayland76: lol , so they want to write event-based instead of parallel things ? | ||
| wayland76: so everyone has this POE-like mindset in Perl | 13:25 | ||
| wayland76 | Spx: I'll find the link for the thing they like. Justamo | ||
| eiro | rakudo: say "\x{1d}" | ||
| :( | 13:26 | ||
| p6eval | rakudo 341f44: OUTPUT«Unable to parse block; couldn't find final '}' at line 1, near "1d}\""current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| wayland76 | Spx: www.seas.upenn.edu/~lipeng/homepage/unify.html | ||
| Click on the first link under "Documentation" | |||
| Keep in mind that the people who wrote that weren't thinking of Perl at all | |||
| spx2 | wayland76: so you're trying to copy Haskell in that regard... | 13:27 | |
| wayland76 | Also, the last time someone mentioned POE, someone else said we should be looking at AnyEvent instead (I think it was AnyEvent) | ||
| cosimo | now forgive me please :-) | ||
| pmichaud | rakudo: say "\x[1d]" | ||
| p6eval | rakudo 341f44: OUTPUT«» | ||
| wayland76 | spx2: I only know what they told me :) | ||
| masak | rakudo: say "\c[0x1d]" | ||
| p6eval | rakudo 341f44: OUTPUT«perl6regex parse error: Invalid digit in \x[...], \o[...], or \c[...] at offset 9, found 'x'current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 10552 (compilers/pge/PGE/Perl6Regex.pir:1323)» | 13:28 | |
| spx2 | oh boy this is gonna take lots of time , so Perl6 will also have broken threads | ||
| this is good to know | |||
| wayland76 | spx2: broken in what way? | ||
| What do you think would be better? | 13:29 | ||
| eiro | masak, pmichaud thx. from what syn ? (if you know) | 13:30 | |
| wayland76 | (That's a genuine question -- I personally freely admit that I have no idea about threads; that's why I'm not working on S17) | ||
| pmichaud | eiro: S02 | 13:31 | |
| wayland76 | spx2: Or let me ask a different question -- Who/what do you think does threads well? | ||
| omega | gist.github.com/97606 | ||
| pmichaud | eiro: at the section beginning "Characters indexed by hex numbers" ... | ||
| omega | so, that doesn't work, obviously :p | 13:32 | |
| but why does it fail in line 7? | |||
| masak looks | |||
| omega | Statement not terminated properly at line 7, near "/;\n " | ||
| eiro | ok... thanks (i learn to fish) | ||
| omega | I first tried the one from S05, towards the bottom | ||
| masak | omega: try '$_ ~~ ' instead of 'm' | ||
| dalek | kudo: cdd84c6 | jnthn++ | src/classes/Role.pir: When you pun a role, instances of the class should have a .WHAT that stringifies to the class name. This patch also attaches the parameters a role was instantiated with to the role. |
||
| omega | $parsetree = m:keepall/<Perl.prog>/; | 13:33 | |
| pugs_svn | r26259 | jnthn++ | [t/spec] Test that .WHAT on an instance of a class punned from a role stringifies to the role name. | ||
| eiro | $*IN.nl("\x[1d]"); don't work ... but open has a nl parameter :( | ||
|
13:33
Pompel joined
|
|||
| masak | omega: I don't think 'm' is implemented yet, and boolean context of Regex is still slightly wonky. | 13:33 | |
| omega | $parsetree = m:keepall/<Perl.prog>/; | 13:34 | |
| argh, wrong window | |||
| masak: aha, ok | |||
|
13:34
PhatEddy joined
|
|||
| masak | omega: or, instead of lines 5-8, simply 'my $parsetree = $in ~~ /.../'. | 13:35 | |
| PhatEddy | rakudo: say | ||
| p6eval | rakudo cdd84c: OUTPUT«say requires an argument at line 1, near ""current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| PhatEddy | not very dwimmy I think ... | 13:36 | |
| masak | PhatEddy: it's by design. | ||
| wayland76 | Would it be possible to make a quote operator that does sprintf? | ||
| masak | PhatEddy: it's so that people won't write 'say for <a b c>' | ||
| omega | masak: yeah, trying that now | ||
| masak | wayland76: sure, once we have macros and/or operatory overloading. | ||
| omega | masak: but it still fails out :/ | ||
| masak | omega: new paste, please? | 13:37 | |
|
13:37
Pompel left
|
|||
| wayland76 | Cool, that's what I thought | 13:37 | |
| omega | gist.github.com/97609 | ||
| pmichaud | at the moment Rakudo doesn't recognize m/.../ as forcing an immediate match. | ||
| masak | omega: try without 'm'. | ||
| omega | .Statement not terminated properly at line 5, near "/;\n " | ||
| kk | 13:38 | ||
| wayland76 | In the back of my mind, I'm trying to figure out how to combine sprintf, pack, and Form.pm all into one big language | ||
| omega | Statement not terminated properly at line 5, near "~~ /<EasyC" | ||
|
13:38
Guest73590 joined
|
|||
| masak | omega: wtf? | 13:38 | |
| rakudo: my $a = "foo"; my $parsetree = $a ~~ /foo/; | |||
| p6eval | rakudo cdd84c: ( no output ) | ||
| masak | rakudo: my $a = "foo"; my $parsetree = $a ~~ /foo/; say $parsetree.WHAT | ||
| p6eval | rakudo cdd84c: OUTPUT«Match» | ||
| masak | rakudo: regex foo { foo }; my $a = "foo"; my $parsetree = $a ~~ /<foo>/; say $parsetree.WHAT | 13:39 | |
| p6eval | rakudo cdd84c: OUTPUT«Match» | ||
| masak | omega: how is this different from what you're doing? | ||
| omega | I'm trying to use a Grammar I guess? | ||
| masak | omega: oh, you have a dot inside the <> | ||
| dalek | kudo: a245b4d | (Cory Spencer)++ | (2 files): Add samecase method to the Any class in the setting. |
||
| kudo: 6739243 | (Cory Spencer)++ | : Merge branch 'master' of [email@hidden.address] |
|||
| masak | omega: try :: instead. | 13:40 | |
| omega | masak: ahh, the spec said . | ||
|
13:40
frettled joined
|
|||
| masak | omega: oh. | 13:40 | |
| masak looks | |||
| omega | yiha, now it works :p | ||
| $parsetree = m:keepall/<Perl.prog>/; | |||
| masak | omega: indeed. | 13:41 | |
| omega | masak: thanks for the help :) | ||
| masak | omega: np | ||
| TimToady: is it <Grammar.rule> or <Grammar::rule>? | |||
|
13:41
payload joined
|
|||
| masak | std: grammar A { rule b { b } }; /<A::b>/ | 13:41 | |
| p6eval | std 26259: OUTPUT«ok 00:03 36m» | 13:42 | |
| masak | std: grammar A { rule b { b } }; /<A.b>/ | ||
| p6eval | std 26259: OUTPUT«ok 00:02 35m» | ||
| masak | :/ | ||
| spx2 | wayland76: c++ with posix threads , python | ||
|
13:43
namsa__ joined
|
|||
| wayland76 | spx2: Thanks. | 13:44 | |
| PhatEddy | about "say" say by itself, might a note in S32 IO.pod make sense? I didn't see one ... | ||
| masak | so, either S05:3789 or Rakudo does it wrong. | 13:45 | |
| masak submits rakudobug | |||
| eiro | i tried input_rec_separator (S28) and nl (S16) but i can't figure out how to set $/ | ||
| masak | eiro: recall that $/ means something completely different in Perl 6 than in Perl 5. but maybe you just meant that loosely. :) | 13:46 | |
| omega | bleh, whenever I try to do something I get Null PMC access in get_bool() :/ | 13:47 | |
| PhatEddy | rakudo: sub foo { say "hi" }; foo() | 13:48 | |
| p6eval | rakudo 673924: OUTPUT«hi» | ||
| PhatEddy | rakudo: say() | ||
| p6eval | rakudo 673924: OUTPUT«say requires an argument at line 1, near ""current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| hanekomu | what's the difference between the synopses and u4x? They both aim to be "the documentation", right? | ||
| masak | hanekomu: u4x is not at all official. | 13:49 | |
| it just aims to be. | |||
| it says so in the README, I think. | |||
| hanekomu | ok, but it seems like u4x could use most (if not all) of the synopses' contents | ||
| masak | currently, the Specs are actually claiming to be the user documentation as well. | 13:50 | |
| but I think they are too compact and dense for regular users. | |||
| hanekomu | viewed that way u4x would be a kind of unofficial extension of S* | ||
| masak | hanekomu: sort of, yes. | ||
| TimToady | masak: it's :: because what's really going on is Cursor.Grammar::rule() | ||
| well, $cursor.Grammar::rule | |||
| eiro | masak, i know it's different :) i want to reopen $*IN at the $*IN address but with a different ... RS ? | ||
| masak | TimToady: I can patch S05 if you want. | ||
| TimToady | fine | ||
| masak | I'll close the bug, too. :) | ||
| eiro: right. take a look in the Setting in Rakudo. | 13:51 | ||
| specifically, the open and slurp functions. | |||
| eiro | i try it | 13:52 | |
| PhatEddy | rakudo: say() for <a b c> | ||
| cspencer | is "multi method foo" is considered to be different than "multi method foo()"? | ||
| p6eval | rakudo 673924: OUTPUT«say requires an argument at line 1, near " for <a b "current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
| pmichaud | Yes. | ||
| cspencer | iirc, the latter specifies that foo has no args, correct? | ||
| masak | cspencer: aye. | ||
| cspencer: the former gives it a default slurpy hash. | 13:53 | ||
| cspencer | should i fix methods in the setting then that omit the "()" | ||
| ah ok, makes sense | |||
| masak | cspencer: if they are wrong, sure. | ||
| wayland76 | Question -- do any of the P6 people know anything about threads? | ||
| pmichaud | actually, without the parens gives a default slurpy _array_ | 13:54 | |
| all methods get a default slurpy hash | |||
| TimToady | but nameds don't participate in multi method dispatch in any case | 13:55 | |
| eiro | rakudo: say for $*IN.HOW | 13:56 | |
| p6eval | rakudo 673924: OUTPUT«say requires an argument at line 1, near "for $*IN.H"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
|
13:58
rgs left
|
|||
| PhatEddy | rakudo: 3.HOW.say | 14:01 | |
| p6eval | rakudo 673924: OUTPUT«Could not locate a method 'say' to invoke on class 'P6metaclass'.current instr.: 'die' pc 17354 (src/builtins/control.pir:222)» | ||
| PhatEddy | rakudo: say 3.HOW | ||
| dalek | kudo: 27b0b76 | pmichaud++ | : Merge branch 'master' of [email@hidden.address] |
||
| p6eval | rakudo 673924: OUTPUT«» | ||
| pugs_svn | r26260 | hanekomu++ | fixed missing quote in code | 14:02 | |
| PhatEddy | Why aren't those last two the same? | 14:04 | |
| pmichaud | currently a P6metaclass knows how to stringify, but it doesn't know how to .HOW | 14:05 | |
| TimToady | rakudo: 3.how.Str.say | ||
| pmichaud | sorry, it doesn't know how to .say | ||
| p6eval | rakudo 673924: OUTPUT«Method 'how' not found for invocant of class 'Int'current instr.: 'parrot;P6metaclass;dispatch' pc 662 (src/classes/ClassHOW.pir:171)» | ||
| TimToady | rakudo: 3.HOW.Str.say | ||
| p6eval | rakudo 673924: OUTPUT«Could not locate a method 'Str' to invoke on class 'P6metaclass'.current instr.: 'die' pc 17354 (src/builtins/control.pir:222)» | ||
| cosimo | IO::Socket!!! | ||
| pmichaud | rakudo: ~(3.HOW).say | 14:06 | |
| p6eval | rakudo 673924: OUTPUT«Could not locate a method 'say' to invoke on class 'P6metaclass'.current instr.: 'die' pc 17354 (src/builtins/control.pir:222)» | ||
| pmichaud | oops | ||
| rakudo: (~(3.HOW)).say | |||
| p6eval | rakudo 673924: OUTPUT«get_string() not implemented in class 'P6metaclass'current instr.: 'prefix:~' pc 22863 (src/builtins/op.pir:145)» | ||
| pmichaud | bah. | ||
| I don't know why. :-) | |||
| masak | pmichaud: bug? :) | ||
|
14:07
alc joined
|
|||
| pmichaud | well, the result of .HOW isn't currently a subclass of Object, so that's why it didn't understand .Str | 14:09 | |
| I'm not sure why it "works" with say 3.HOW | |||
| rakudo: say 3.HOW | |||
| p6eval | rakudo 673924: OUTPUT«» | ||
| eiro | .slurp.split("\x[1d]") finally ... | ||
| pmichaud | rakudo: say 3.HOW.PARROT; | ||
| p6eval | rakudo 673924: OUTPUT«Could not locate a method 'PARROT' to invoke on class 'P6metaclass'.current instr.: 'die' pc 17354 (src/builtins/control.pir:222)» | ||
| hanekomu | make spectest failure. pastebin.com/m575f9b39 | 14:12 | |
| buubot | hanekomu: The paste m575f9b39 has been copied to erxz.com/pb/17098 | ||
| hanekomu | sorry, i don't know what the official way to report it is | ||
| omega | ok, where can I read about the Match-object? | 14:13 | |
| ergh | 14:14 | ||
| I found that | |||
| damn wrong windows :/ | |||
| does Match.caps work? | |||
| masak | rakudo: say ("foo" ~~ /foo/).caps | 14:15 | |
| p6eval | rakudo 673924: OUTPUT«» | ||
| masak | rakudo: say ("foo" ~~ /foo/).uc | ||
| p6eval | rakudo 673924: OUTPUT«FOO» | ||
|
14:16
alc left
|
|||
| masak suddenly remembers what 'caps' does | 14:16 | ||
| rakudo: say ("foo" ~~ /(foo)/).caps | 14:17 | ||
| p6eval | rakudo 27b0b7: OUTPUT«0 foo» | ||
| masak | omega: aye. | ||
| eiro | say "$^nth time!" for 1..3 doesn't work ( $^nth ) ? | ||
| TimToady | placeholders are only for use within bare curlies | ||
| eiro | ok. thx for confirm it | 14:18 | |
| pmichaud | masak: have the rt patch number handy? | ||
| masak | pmichaud: hold on. | ||
| TimToady | however, a bare block in a for gets executed immediately (in theory), so { say "$^nth time!" } for 1..3 should work | 14:19 | |
| don't think rakudo does it yet though | |||
| rakudo: { say "$^nth time!" } for 1..3 | |||
| hanekomu | does it | ||
| p6eval | rakudo 27b0b7: OUTPUT«1 time!2 time!3 time!» | ||
| TimToady | wowee | 14:20 | |
| paint me impressed | |||
| pmichaud paints a hat on TimToady. | |||
| TimToady | but you made it brown!?! | ||
| and now my shirt and pants are brown too!!! | 14:21 | ||
| pmichaud | indeed. :-) | ||
| masak | pmichaud: no RT tickets, but there's an email from Ovid on Jan 22. | 14:22 | |
| baest | pmichaud: hmm, I don't get it. I have a "expr = regex(mob, 'tighter'=>'infix:') " which simply refuses to do anything. Maybe a misunderstood something | ||
| hanekomu | rakudo: my $x = { "iteration $^nth" }.(1..3); say $x; | ||
| p6eval | rakudo 27b0b7: OUTPUT«iteration 1 2 3» | ||
| hanekomu | rakudo: my $x = { "iteration $^nth $^z" }.(1..3); say $x; | 14:23 | |
| TimToady | rakudo: my @x = ({$^nth ~ ' time} for 1..3); say @x | ||
| p6eval | rakudo 27b0b7: OUTPUT«too few arguments passed (1) - 2 params expectedcurrent instr.: '_block21' pc 125 (EVAL_19:57)» | ||
| rakudo 27b0b7: OUTPUT«Statement not terminated properly at line 1, near "~ ' time} "current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
| hanekomu | so it uses all args if you only have $^nth, but complains if you add $^z... hm. | ||
| TimToady | no, only if you use a for | 14:24 | |
| pmichaud | std: sub if-abs($x) { say $x; }; if-abs(3) { say 'oops'; } | ||
| p6eval | std 26260: OUTPUT«##### PARSE FAILED #####Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/mHJi2Frvog line 1:------> sub if-abs($x) { say $x; }; if-abs(3) { say 'oops'; } expecting any of: infix or meta-infix | ||
| ..infix st... | |||
| hanekomu | i didn't use a for up there | ||
| TimToady | 1..3 is a single argument | ||
| hanekomu | it's not an array? | ||
| TimToady | an array is also a single argument | ||
| you'd have to use prefix:<|> before either of those to flatten | 14:25 | ||
|
14:25
Limbic_Region joined
|
|||
| hanekomu | rakudo: my $x = { "iteration first $^x second $^y third $^z" }.(1..3); say $x; | 14:25 | |
| p6eval | rakudo 27b0b7: OUTPUT«too few arguments passed (1) - 3 params expectedcurrent instr.: '_block21' pc 125 (EVAL_19:57)» | ||
| hanekomu | ok | ||
|
14:26
cosimo joined
|
|||
| hanekomu | that's a source for confusion though :) | 14:26 | |
| TimToady | rakudo: my $x = { "iteration first $^x second $^y third $^z" }.(|1..3); say $x | ||
| p6eval | rakudo 27b0b7: OUTPUT«argument doesn't arraycurrent instr.: 'infix:..' pc 10343 (src/classes/Range.pir:138)» | ||
| masak | rakudo: my $x = { "iteration first $^x second $^y third $^z" }.(list 1..3); say $x | ||
| p6eval | rakudo 27b0b7: OUTPUT«too few arguments passed (1) - 3 params expectedcurrent instr.: '_block21' pc 136 (EVAL_19:58)» | ||
| TimToady | rakudo: my $x = { "iteration first $^x second $^y third $^z" }.(|[1..3]); say $x | ||
| p6eval | rakudo 27b0b7: OUTPUT«iteration first 1 second 2 third 3» | ||
| hanekomu | hm | 14:27 | |
| not so intuitive | |||
| TimToady | what's not intuitive | ||
|
14:28
DJ-DONGDOT joined
|
|||
| hanekomu | having to use |[1..3] instead of just 1..3 when using three $^x variables | 14:28 | |
| ok, an array is a single arg, but still... hm | |||
| eiro | wow! impressive! | ||
| hanekomu | maybe i'm still thinking to much in perl 5 | 14:29 | |
| but then i guess most people who'll switch to perl 6 will do :) | |||
| TimToady | the whole autoflattening thing is inside out so that parameters like @foo and %bar behave correctly | ||
| dalek | kudo: 669fb45 | (Cory Spencer)++ | src/ (2 files): Moved join method from builtins to setting. |
||
| kudo: a58fce6 | (Cory Spencer)++ | : Merge branch 'master' of [email@hidden.address] |
|||
| masak | pmichaud: how was it again that one tied an actions class to a grammar? | ||
| I keep forgetting... | |||
| TimToady | and context is lazily determined at binding time | 14:30 | |
| eiro | i just don't understand what |[1..3] can be | ||
| wayland76 | eiro: [1..3] is an array reference | ||
| TimToady | the | tells whatever follows to become multiple arguments | ||
| baest | masak: parsefile('file', :action($object_of_action)) | ||
| TimToady | even in P5, [1..3] would be a scalar | ||
| masak | pmichaud: does it work with parse as well? | 14:31 | |
| wayland76 | rakudo: [1..3] | ||
| hanekomu | TimToady: yes, but 1..3 would be a list :P | ||
| p6eval | rakudo 27b0b7: ( no output ) | ||
| wayland76 | rakudo: say [1..3] | ||
| p6eval | rakudo 27b0b7: OUTPUT«1 2 3» | ||
| wayland76 | rakudo: say |[1..3] | ||
| pmichaud | std: if-abs(3) { say 'hello'; } | ||
| p6eval | rakudo 27b0b7: OUTPUT«123» | ||
| std 26260: OUTPUT«##### PARSE FAILED #####Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/8qEfJN4mYs line 1:------> if-abs(3) { say 'hello'; } expecting any of: infix or meta-infix infix stopper standard | |||
| ..stopper term... | |||
| TimToady | in P6 .. makes a Range object, which flattens, but only in list context | ||
| masak | rakudo: grammar A { regex TOP { foo } }; class Act { method foo($/) { say "OH HAI" } }; A.parse("foo", :action(Act)) | ||
| p6eval | rakudo 27b0b7: ( no output ) | ||
| omega | is there an example of a simple Grammar some place? | ||
| masak | pmichaud: should that work? | 14:32 | |
| TimToady | and $^foo provides scalar context | ||
| hanekomu | right | ||
| masak | omega: see moritz_' perl5-to-perl6 blog. | ||
| TimToady | likewise for parens | ||
| pmichaud | masak: I think that should work. | ||
| masak | omega: or S05. | ||
| wayland76 | omega: You mean simpler than the one masak just posted? | ||
| hanekomu | rakudo: my $x = { "got @^x" }.(1..3); say $x; | ||
| TimToady | (1,2,3) interpolates in list context, but not item context | ||
| masak submits rakudobug | |||
| p6eval | rakudo a58fce: OUTPUT«got @^x» | ||
| hanekomu | :) | ||
| masak | hanekomu: so, arrays are only interpolated if they have [] after them. | 14:33 | |
| hanekomu: but that's NYI in Rakudo. | |||
| TimToady | which rakudo doesn't do yet | ||
| omega | wayland76: well, a bit more complex than that :p | ||
| pmichaud | (working on it :-) | ||
| omega | masak: thanks :p | ||
| masak | hanekomu: you can generally use a {} block, but not in this case. | ||
| TimToady | but you can't put in {} either, since | ||
| masak | omega: np | ||
| eiro | so |[1..3] isn't intuitive: i agreed | ||
| TimToady | that would have its own $^vars | ||
| masak | hanekomu: since that creates a new block. | ||
| wayland76 | ECANTKEEPUP | 14:34 | |
| hanekomu | me neither :) | ||
| baest | masak: it works for me, maybe you need :action(Act.new()) | ||
| eiro | and in fact i'll tried *[1..3] | ||
| TimToady | ARR, THEM THAT FALLS BEHIND GETS LEFT! | ||
| masak | betterworld: no, I tried that, and it doesn't work either. | ||
| oops | |||
| imarcusthis | TimToady: All kids left behind? | 14:35 | |
|
14:35
kcwu_ joined
|
|||
| hanekomu | perl 6 takes no prisoners! | 14:35 | |
| masak | baest: no, I tried that, and it doesn't work either. | ||
| wayland76 | Is it "Talk Like a Pirate" day already? | ||
| masak | baest: can you make p6eval do it? | ||
| TimToady | * hasn't been a prefix op for some time now | ||
| wayland76 | Or is this a special because of the Pirate Bay case? | ||
| frettled | I think I might like to fix one or two things in the POD files for the Perl 6 spec (syntax error, invalid characters in the character sets, invalid character set declaration, etc.), should the spec docs be in UTF-8 or Latin-1? | ||
| wayland76 | UTF-8 | 14:36 | |
| I could be wrong, but I doubt it | |||
| frettled | Okay, so we need to lose the Latin-1 characters and remove the invalid UTF-8 strings, then. | ||
| TimToady | think of the | as a sword cut into which you can stuff the extra arguments | ||
| masak | rakudo: Grammar.parsefile("README") | 14:37 | |
| p6eval | rakudo a58fce: OUTPUT«The grammar has no TOP rule to invoke.current instr.: 'die' pc 17309 (src/builtins/control.pir:225)» | ||
| masak | bug or feature? :P | ||
| TimToady | is that an inclusive or? | 14:38 | |
| wayland76 | Well, hopefully replace them with something correct :) | 14:39 | |
| frettled | masak: does it wear a tie? | ||
| masak | frettled: no, it wears a junction of a tie and a belt. | ||
|
14:40
PhatEddy left
|
|||
| omega | haha | 14:40 | |
| frettled | :) | ||
| omega | is the regex named text bug still there? | ||
| wayland76 | food afk & | ||
| masak | omega: aye. | ||
| omega | that explains why my grammar dies :p | ||
| masak | I hope pmichaud fixes it in his next delve into PGE. | ||
| it's annoying. | |||
| text is a bloody common rule name. | 14:41 | ||
| wayland76 | masak: the tie is supposed to hang with its tip just in front of the belt, not form a junction with it | ||
| It's obviously not well enough dressed. It's a bug :) | |||
| baest | masak: hmm, i don't get it, it works for my test, but not for yours | ||
| masak | wayland76: I didn't write that clothes collection, I just cargo-culted the dress code from someone else. | ||
| baest: you are obviously better at this than I am. :) | 14:42 | ||
| baest | masak: well no if I can't yours.... Maybe I was lucky | ||
| +fix | |||
| masak | well, I know it's not a local thing, because p6eval agrees with me. | 14:43 | |
| baest | yes, but your example doesn't work on my machine either. But something very similar although more complicated, does work | 14:44 | |
| pmichaud wonders why a rule called 'text' still dies. | |||
| pasteling | "cosimo" at 87.238.45.12 pasted "IO::Socket!!" (71 lines, 1.3K) at sial.org/pbot/36058 | ||
| masak | baest: maybe the trick is to distract Rakudo and then just sneak it in while it's not looking. | ||
| cosimo++ | 14:45 | ||
| baest | masak: hehe, sure, try to lure it with a banana | ||
| pmichaud | from within the Q:PIR you can also call 'fail' directly. | 14:46 | |
| masak | mberends: what do I need to run the Lobster, er, Nibbler on this? | ||
| pmichaud | instead of .return (0) for the error. | ||
| i.e. | |||
| ERR: | |||
| cosimo | masak: it's nowhere near to be good, but... | ||
| masak goes to rename s/Lobster/Nibbler/ | |||
| pmichaud | 'fail'('Cannot open socket') | ||
| masak | cosimo: I beg to differ. it's better than socat. | ||
| cosimo | pmichaud: ok! | 14:47 | |
| mberends | masak: IO::Socket now has client, I'll work on server now. | ||
| masak | mberends++ | ||
| cosimo | that's the interesting part :) | ||
| masak | I'll spin up the Nibbler in the meantime. | 14:48 | |
| s/spin/rev/ # English fail | |||
|
14:49
xinming joined,
DJ-DONGDOT left
|
|||
| baest | rakudo: grammar A { regex TOP { <foo> }; regex foo { foo {*} }}; class Act { method foo($/) { say "OH HAI" } }; A.parse("foo", :action(Act)); | 14:50 | |
| p6eval | rakudo a58fce: OUTPUT«OH HAI» | ||
| masak | OH! | 14:51 | |
| masak disqualifies rakudobug | |||
| masak hangs head in shame | |||
| I don't drink coffee, but I'm thinking about starting now. | |||
| cosimo | that's the interesting part :) | 14:52 | |
|
14:53
kimtaro joined
|
|||
| dalek | kudo: 2562758 | (Cory Spencer)++ | src/setting/Any-str.pm: Add () signature to methods that were missing it. |
14:54 | |
| szabgab | rakudo: prompt("How is the Hackathon?") | ||
| p6eval | rakudo a58fce: OUTPUT«How is the Hackathon?» | ||
| szabgab | rakudo: say 42 | ||
| p6eval | rakudo a58fce: OUTPUT«42» | ||
| LylePerl | hi szabgab | 14:57 | |
| szabgab | rehi | ||
| masak | rakudo: grammar A { rule TOP { ( <term> )* }; token term { \d } }; my $m = A.parse("8"); say $/[0]<term> | 15:02 | |
| p6eval | rakudo a58fce: OUTPUT«Null PMC access in invoke()current instr.: 'postcircumfix:{ }' pc 5501 (src/classes/Associative.pir:131)» | ||
| masak submits rakudobug | |||
|
15:02
justatheory joined
|
|||
| pasteling | "cosimo" at 87.238.45.12 pasted "LWP::Simple, requires IO::Socket" (44 lines, 1.1K) at sial.org/pbot/36059 | 15:04 | |
|
15:05
skids joined
|
|||
| cosimo | i think i start to like perl6 | 15:05 | |
| :) | |||
| mberends | cosimo++ | 15:06 | |
| masak | cosimo++ | ||
| cosimo: are you planning to put any of these on github? | |||
| arnsholt | cosimo: Indeed. Even though trying to make sense of the Synopses currently makes my brain go *wibble* =) | ||
| cosimo | masak: i have no idea | 15:07 | |
|
15:07
justatheory left
|
|||
| cosimo | i just sent everything over to jnthn | 15:08 | |
| frettled | arnsholt: heh :) | ||
| arnsholt: now you can imagine how I feel when I want to cram something about internal data representation in there somewhere. | 15:09 | ||
|
15:10
payload left
|
|||
| frettled | For instance, the built-in data types are defined in S02, operators in S03, and sized types in S09. | 15:10 | |
|
15:10
payload joined
|
|||
| dalek | kudo: bbd14b2 | (Carl Masak)++ | src/classes/Associative.pir: fixed bitrot in namespace in Associative.pir |
15:15 | |
|
15:17
c9s joined
15:18
cosimo left
|
|||
| pugs_svn | r26261 | masak++ | [S05] s/\./::/ in grammar rule call | 15:21 | |
| r26261 | masak++ | | |||
| r26261 | masak++ | according to TimToady on IRC, "it's :: because what's really going on | |||
| r26261 | masak++ | is Cursor.Grammar::rule()" | |||
|
15:24
DemoFreak joined
|
|||
| omega | invoke() not implemented in class 'Capture' | 15:25 | |
| ? | |||
| gist.github.com/97652 | |||
| I think my head is stopping | 15:26 | ||
|
15:26
kimtaro left
|
|||
| masak | omega: ok, so invoke() is the under-the-hood name for calling things. | 15:26 | |
| omega: that can't be the whole code. | 15:27 | ||
| baest | masak: well, I didn't see the {*} for very long and I had working code with it in, so I would say fair enough (refering to the whole action call thing) | ||
| omega | masak: well, I call render | 15:28 | |
| masak | omega: also, you could use 'fail "could not...' instead of 'return "could not...' | ||
| baest: aye. | |||
| omega: please re-paste. | |||
| omega | gist.github.com/97654 | 15:29 | |
| masak | omega: hehe, you just re-invented my Test::InputOutput :) | 15:30 | |
| omega: (see the November repo) | |||
| omega | :p | 15:31 | |
| masak | omega: ok, I don't see the error immediately. let me set up and try to reproduce it. | ||
| omega | coolio | 15:32 | |
| does \w include \s? | 15:33 | ||
| masak | omega: no. | ||
| they are disjunct but not exact opposites. | 15:34 | ||
| omega | mhm | ||
| masak | I can now reproduce the bug. | 15:35 | |
| minimizing it... | |||
| omega | I feel retarted, I can't even write a simple tokenizer :p | 15:37 | |
| masak | omega: I've isolated your bug. | 15:40 | |
| it's not your fault, it's Rakudo's. | |||
| rakudo: class A { method x { B.parse("") } }; grammar B { rule TOP { foo } }; A.new.x | |||
| p6eval | rakudo bbd14b: OUTPUT«invoke() not implemented in class 'Capture'current instr.: 'parrot;A;x' pc 168 (EVAL_20:79)» | ||
| masak | oh, it's actually much simpler than that. | 15:42 | |
| rakudo: say B; grammar B {} | |||
|
15:42
jbt joined
|
|||
| p6eval | rakudo bbd14b: OUTPUT«invoke() not implemented in class 'Capture'current instr.: '_block14' pc 59 (EVAL_19:41)» | 15:42 | |
| masak | omega: so, try and re-order the class and the grammar, and you should be fine. :) | ||
| omega | ahh :p | ||
| masak | just put the grammar before the class. | ||
| masak submits rakudobug | |||
|
15:43
eternaleye joined
|
|||
| omega | EasyCMS::Template::Grammar.parse($in) | 15:43 | |
| #$in ~~ /EasyCMS::Template::Grammer::TOP/ | |||
| baest has a Deja vu | |||
| omega | shouldn't those to be pretty much the same? | ||
| masak | omega: well, you need /<...>/, not just /.../ | ||
| omega | argh | 15:44 | |
| sleep :/ | |||
|
15:45
Psyche^ joined
|
|||
| omega | still, there is a difference | 15:45 | |
| whoho | 15:47 | ||
|
15:47
Psyche^ is now known as Patterner
|
|||
| LylePerl | I've implemented an extremely basic but working $*CWD | 15:52 | |
| Now I'm trying to implement a working chdir, but I'm not sure where to put it | 15:53 | ||
| It would be easy to add it to src/builtins/io.pir | 15:54 | ||
| masak | sounds as good as any right now. | ||
| LylePerl | but S29 says chdir should be in an IO module and not builtin | 15:55 | |
| masak | ah, right. | 15:56 | |
| src/setting/Io.pm, perhaps? | |||
| s/o/O/ | |||
| LylePerl | Or /src/class/io.pir? | 15:57 | |
| masak | well, is it PIR or Perl 6? | ||
| LylePerl | I know how to do it in PIR | ||
| masak | ok. | ||
| sure, io.pir is fine, I guess. | |||
| some things in the setting are just Q:PIR { ... } | 15:58 | ||
| I'm not 100% certain of the rule about what goes where. | |||
| LylePerl | I'm a bit lost. It's all still very new to me :s | 16:00 | |
| masak | LylePerl: it's fairly new to me as well. | 16:01 | |
| I understand more PIR than I did this summer, but not as much as I'd like. | |||
| LylePerl | just noticed that unlink is in /src/builtins/io.pir, and that's in the same non default list as chdir in S29 | 16:05 | |
| So maybe it is ok to add it there... | |||
| We'll I'll just add it there because that's easiest and see what happens :) | 16:06 | ||
| Tene | LylePerl: best to add it there now, and it can be moved somewhere more appropriate when someone else gets around to it. | 16:08 | |
| better to have it in the wrong place than not at all | |||
| masak: why not in #november-wiki? | |||
|
16:09
rblasch1 joined,
FurnaceBoy joined
|
|||
| masak | Tene: I'm coming. :) | 16:09 | |
|
16:09
Limbic_Region left
16:13
Killian joined
16:14
Killian left,
scook0 joined
|
|||
| scook0 | someone please tell me that "autothreading" still means distributing an operation over the elements of its junctive argument | 16:15 | |
| and has nothing to do with whether or not that distribution might be parallelized by a sufficiently-smart-compiler | |||
|
16:16
iblechbot joined
|
|||
| skids | scook0: autothreading means that MP is not guaranteed, but MP might occur. | 16:17 | |
| but in any case functionally when there's no chance for MP inconsistency it reduces to just distributing the operation. | 16:18 | ||
| The take away is that you shouldn't expect side effects to work well. | |||
| scook0 | yeah, I'm just having an Internet Argument about whether the term "autothreading" in P6 refers specifically to the distribution or the parallelism | 16:20 | |
| back when I was involved it was always about the distribution | |||
| skids | Mostly to the distribution, but with parallelism caveats. e.g. (1,2).>>say might say "2 1" | 16:21 | |
| But then with junctions order is not guaranteed in the first place. | 16:22 | ||
|
16:24
xinming left
|
|||
| skids | Most importantly with junction is side effects. e.g. my $j = 1|2|3|4; rot(@a, $j); where rot is something like @a[0,1,2] = @a[2,0,1]; might wind you up with unexpected results. | 16:24 | |
| scook0 | yeah yeah, I get junctions, believe me ;) | 16:25 | |
| masak | scook0: would you please explain them to the rest of us, then? :) | 16:26 | |
| scook0 | touche | ||
|
16:37
justatheory joined
|
|||
| omega | rakudo: 'ape' ~~ /p/; say $/.orig; | 16:40 | |
| p6eval | rakudo bbd14b: OUTPUT«Method 'orig' not found for invocant of class 'Match'current instr.: 'parrot;P6metaclass;dispatch' pc 662 (src/classes/ClassHOW.pir:171)» | ||
| LylePerl | Right, I've got a working chdir | 16:41 | |
| any chance of getting commit on githut? | 16:42 | ||
| or do I need to submit a patch to someone/somewhere? | |||
| masak | LylePerl: you could submit a patch to rakudobug. | ||
| LylePerl: or you could fork on github, push your patch to your forked repo, and do a pull request. | 16:43 | ||
| LylePerl: finally, you could simply send an email with the patch to p6c. | |||
| LylePerl | masak: Lots of options :) | ||
| masak | an embarassment of riches. :) | ||
| LylePerl | masak: Just need to sort findbin and I'll be able to get november running right on Vista ;) | 16:44 | |
| masak: IIS | |||
| masak | LylePerl: cool. | ||
| baest | scary :) | 16:45 | |
| omega | can I know if I am at the end of a for loop or not? | 16:46 | |
| skids | omega: LEAVE and LAST blocks, though not sure if implemented, see S04 | 16:48 | |
| Tene | omega: explain what you're trying to do here? | 16:49 | |
| omega | implement a really simple template toolkit lookalike :p | 16:52 | |
|
16:52
cosimo joined
|
|||
| omega | All tests successful. | 16:52 | |
| I fixed it another way | |||
| basicly I wanted to only add a space if I was NOT at the end of the loop | |||
|
16:53
dalek joined
|
|||
| omega | but I just removed the last space at the end | 16:53 | |
| meppl | good night | 16:55 | |
| skids | omega: you make want to play with the fact for loops return Lists, or if that's not flexible enough, do a join on a "gather for" | ||
|
16:58
nihiliad joined
|
|||
| omega | skids: ok, I didn't understand that, but thanks :p | 16:58 | |
|
17:01
sitaram left
17:07
rblasch1 left
|
|||
| pugs_svn | r26262 | cosmicnet++ | added spec for $*CWD | 17:13 | |
| masak | LylePerl++ | ||
| LylePerl | Thanks. I'll try and write some tests before I fork git | 17:14 | |
| masak | sounds like a plan. | 17:15 | |
| omega | gist.github.com/97699 | 17:16 | |
| the problem is that $token<stmt><expr><var> looks good when I print it | 17:17 | ||
| but if I try to use it to get %args{ $token<stmt><expr><var> } it doesn't | |||
| if I put 'x' there in stead (which is what gets printed) it works | |||
| masak | omega: try putting a ~ before the $ | ||
| omega | %vars{ ~$token<stmt><expr><var> } | 17:18 | |
| ? | |||
| masak | aye. | ||
| omega | nope :/ | 17:19 | |
| masak | no change? | ||
| omega | nope | ||
| masak | hm. | ||
| omega | ahh fsck | 17:20 | |
| there is a space | |||
| masak | omega: do you get "Method 'postcircumfix:{ }' not found for invocant of class 'Failure'" ? | 17:21 | |
| omega | nope, I found the error, the value had a trailing space | 17:22 | |
| so it was 'x ', not 'x' | |||
| masak | aha. | ||
| there you go. | |||
|
17:25
iblechbot left
|
|||
| skids | rakudo: join(' ', gather for 1..4 -> $a { take "foo $a"; "did $a".say }).say | 17:27 | |
| p6eval | rakudo bbd14b: OUTPUT«did 1did 2did 3did 4foo 1 foo 2 foo 3 foo 4» | ||
| skids | omega: that's what I meant. | ||
| LylePerl | How can I run parrot code from within perl6? | 17:28 | |
|
17:28
nwc10 joined
|
|||
| omega | skids: ahh | 17:28 | |
| skids | LylePerl: Q:PIR{} | ||
| nwc10 | Is there a viewcvs installation, or something like that, for svn.pugscode.org/pugs/ ? | ||
| LylePerl | skids: thanks | ||
| skids | LylePerl: for examples see src/setting/* | ||
| nwc10: just browse svn.pugscode.org/pugs | 17:30 | ||
| or do you mean something you can look at revisions with? | 17:32 | ||
| nwc10 | yes, the latter | ||
| masak | nwc10: just check out Pugs? | 17:33 | |
| skids | dev.pugscode.org/browser | ||
|
17:35
xinming joined
|
|||
| dalek | kudo: 512df4a | jnthn++ | src/parser/grammar.pg: Parse --> in a signature. |
17:35 | |
| kudo: e453f45 | jnthn++ | : Merge branch 'master' of [email@hidden.address] |
|||
| nwc10 | masak: I wanted a way to make URLs | ||
| thannks skids | |||
|
17:35
nwc10 left
|
|||
| masak | jnthn: you should try doing 'git pull --rebase' instead of just 'git pull'. | 17:36 | |
| jnthn | Don't blame me for git's sucky defaults. | ||
| :-P | |||
| masak | I don't. :) | ||
| jnthn | Will try and remember to do that in the future, though. | 17:37 | |
| skids is still astounded at the number of 'git-' prefixed commands in his path. | |||
| jnthn | git-kitchen-sink | ||
| masak | skids: you'll want to upgrade to 1.5. | ||
| jnthn | btw Rakudo has sockets now, cosimo++ | ||
| (The start of anyways...) | |||
| masak | jnthn: mberends and I are working on putting IO::Socket::INET in the setting. | 17:38 | |
| skids | Awesome. | ||
| Now, if I only had a buf to unpack datagrams :-) | |||
| masak | skids: I know how to start working on Buf. | ||
| skids: just haven't found the time for it. | 17:39 | ||
| jnthn | masak: The work Cosimo did? | 17:41 | |
| I already comitted it... | 17:42 | ||
| masak looks | |||
| jnthn | but dalek didn't show it :-( | ||
| Sorry, didn't know you guys were working on that. | |||
| masak | jnthn: it's OK, we'll see what we can do. | ||
| jnthn | I guess pull and integrate your changes ;-) | 17:43 | |
| skids | If I am not mistaken the only blocker to zip() and roundrobin() is slices. Would it be OK to put a zip(), roundrobin(), in with a proto of @ that expects Array of Array in the meantime, being only the proto would need to change? | ||
| masak | jnthn: I think we're slightly more ambitious than you are over here. | ||
| skids | By OK I mean would pmichaud take it :-) | ||
| jnthn | masak: Ambition FTW. :-) | 17:44 | |
| pmichaud | it's not only the proto that would have to change | ||
| we'd also have to be able to correctly handle semilist args | 17:45 | ||
| skids | right but once that was done, just change the proto on the implementation I mean. | ||
| pmichaud | I guess I don't quite understand what zip/roundrobin would do then. | ||
| skids | Until slice/semilist you'd have to invoke it as zip([\@a,\@b,\@c]) | 17:46 | |
| pmichaud | if you create it as a slurpy argument, then zip(\@a, \@b, \@c) would work. | 17:47 | |
| skids | Right, so it would be there, but different than the spec zip(@a;@b) until slices, would that be OK? | ||
| Then at least the body is done and just needs to be tweaked. | 17:48 | ||
| pmichaud | I guess I'm okay with that. We might want to call it something slightly tweaked from zip() though. | ||
| so that it's extra-clear that it's not the official zip. | |||
| skids | OK. | 17:49 | |
| skids wants roundrobin renamed to "whip" anyway :-) | |||
| masak | skids: there will be modules. | 17:52 | |
| skids | :-) | ||
| cosimo | masak, mberends: cool, let me know (socket). i might be able to help a bit tomorrow too, and maybe on monday | 17:55 | |
| masak | cosimo: here's the status: we're adding IO::Socket::INET, and making the server part working. | 17:57 | |
| we're about to go eat. | |||
| cosimo | can i see the code somewhere? | 17:58 | |
| masak | cosimo: there's really no code to talk about yet. just check in S32/IO.pod | ||
| that's what we've added so far. :) | |||
| cosimo | cool | 18:09 | |
|
18:25
elmex left
18:26
elmex joined
18:53
hanekomu joined
18:55
kirillm joined
18:59
sri_kraih joined
19:05
hanekomu left
19:19
iblechbot joined
19:27
stas_ joined
19:37
Guest73590 left
19:42
rgs joined
19:45
FurnaceBoy left,
justatheory left
20:05
araujo joined
20:11
stas_ left,
stas_ joined
20:27
Whiteknight joined
|
|||
| mikehh | rakudo (e453f45) on parrot r38198 - make test/make spectest PASS on Ubuntu Intrepid i386 | 20:54 | |
|
20:58
rblasch joined,
cosimo left
21:01
ejs joined
21:10
rblasch1 joined
21:14
ejs left
21:18
ilogger2 joined
21:22
ilogger2 joined
21:24
ejs joined
21:38
nsh joined
22:15
brunov joined
22:26
SamB joined
22:44
mikehh_ joined
22:46
meppl joined
22:47
nsh- joined
22:58
lambdabot joined
23:04
nsh left
23:11
hanekomu joined
23:18
sitaram joined,
mikehh_ is now known as mikehh
23:24
dduncan joined,
dduncan left
23:26
hanekomu left
23:30
kate21de1 joined
23:42
shachaf joined
|
|||
| LylePerl | perl6: say $*PROGRAM_NAME | 23:59 | |
| p6eval | rakudo e453f4: OUTPUT«/tmp/xgVDA5bctq» | ||
| ..elf 26262, pugs: OUTPUT«» | |||