pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/
Set by mncharity on 5 January 2009.
00:06 elmex left 00:07 aindilis left 00:09 aindilis` left 00:10 aindilis` joined 00:17 mberends left 00:25 eternaleye_ joined
pugs_svn r24817 | lwall++ | [STD] fix item assignment problem noticed by ruoso++ 00:25
00:26 eternaleye left 00:32 iblechbot left 00:40 cspencer joined
pugs_svn r24818 | lwall++ | [STD] previous patch was overzealous wrt subexpressions and disallowed $($x) = 1 00:41
00:41 pbuetow left 00:57 wknight8111 left
pugs_svn r24819 | lwall++ | [S02] clarify that Pairs and Mappings are mutable in value, but not in key 01:00
r24820 | pmichaud++ | [t/spec]: #?rakudo skip test for nameless anonymous classes
r24821 | pmichaud++ | [t/spec]: Clean up passing-hashes.t, remove unneeded "returns Void" 01:02
01:18 alc joined 01:19 SamB joined 01:24 FurnaceBoy joined 01:33 icwiener left
azawawi hi 01:41
std: "hi";
p6eval std 24821: OUTPUT«00:06 83m␤»
azawawi std: "hi";
p6eval std 24821: OUTPUT«00:07 83m␤»
01:51 [particle] left, c9s_ joined 01:56 aindilis` left 01:58 qiang joined
pugs_svn r24822 | particle++ | [S19] delimited options use eager matching semantics, are invisible to MAIN, but are available via %+OPTS<...> 02:07
02:11 c9s_ left 02:12 c9s_ joined 02:13 c9s_ left
pugs_svn r24823 | particle++ | [S19] incorporate more of TimToady++'s notes, and format Notes section as proper Pod 02:20
02:25 cornelius__ joined 02:33 cspencer left 02:50 gravity joined 02:59 qiang left 03:01 xuser joined 03:19 stephens left 03:27 Limbic_Region left 03:34 Blasi joined 03:38 meppuru joined 03:39 gravity left, aindilis joined, meppl left, meppuru is now known as meppl 03:47 justatheory left, FurnaceBoy left 04:05 eternaleye_ left 04:09 eternaleye joined 04:20 aindilis` joined 04:33 aindilis` left, aindilis` joined 04:34 aindilis left 04:35 hercynium joined
hercynium moritz: I found the answer for what I was asking about earlier! 04:36
perl6 *does* have that syntactic sugar, in the form of binding 04:37
hercynium does a happy dance
04:38 hercynium left 04:48 Blasi left 04:55 sail0r joined 05:00 athenot_ left 05:19 Blasi joined 05:28 kisu joined 05:41 cornelius__ left 05:45 rhr_ joined 05:52 athenot joined 05:55 cornelius__ joined 05:58 rhr left
pugs_svn r24824 | pmichaud++ | [t/spec]: #?rakudo skip an odd test in multiple.t. 06:05
06:26 mberends joined 06:29 ejs joined 06:32 athenot left 06:54 alc left 07:11 sail0r left 07:18 mtnviewmark joined
mtnviewmark std: take 4 07:18
p6eval std 24824: OUTPUT«00:05 85m␤»
mtnviewmark std: my $a = take 5 07:20
p6eval std 24824: OUTPUT«00:05 86m␤»
mtnviewmark std: my $a = take 5;
p6eval std 24824: OUTPUT«00:05 86m␤»
mtnviewmark std: my $a = return 5;
p6eval std 24824: OUTPUT«00:05 86m␤»
mtnviewmark is trying to see if take and return are just functions... 07:21
rakudo: (take 5) + (take 7)
p6eval rakudo 35246: OUTPUT«Warning␤Warning␤»
eternaleye mtnviewmark: Well, return in global context is an exit() call, so that'll always _parse_ 07:25
mtnviewmark I guess my question is - are "return" and "take" treated specially by the parser - or are they really just normal functions?
seems they are treated specially
07:26 cls_bsd left
eternaleye I think they generate control exceptions 07:26
At least, return
take doesn't need to be lexically in a gather {} block (it can be in a function, which is called in the gather block), so it may just be a function 07:27
Which warns when _executed_ outside a gather block 07:28
07:31 avar left 07:32 avar joined 07:35 cls_bsd joined
mtnviewmark ah okay - thanks - though I'm not sure where that leaves me.... trying to decide if they belong on the operator chart... I'm guessing no 07:36
the problem is that "die" and "warn" are listed in Syn 03 as operators
but it has been pointed out that they are no different than "return" or "take"
07:45 vixey joined 07:49 alc joined 07:52 avar left, avar joined, mtnviewmark left 07:54 pdcawley joined 08:01 maerzhase joined 08:02 iblechbot joined
azawawi hi 08:03
08:03 DemoFreak joined 08:12 pmurias joined 08:14 PZt left, rafl left, moritz_ left, Eevee left, kolibrie left, cookys left, shachaf left, charsbar left, moritz_ joined, PZt joined, Eevee joined, charsbar joined, cookys joined, rafl joined, kolibrie joined, shachaf joined, irc.freenode.net sets mode: +o moritz_, corneliu1__ joined 08:20 pbuetow joined 08:22 cornelius__ left
pdcawley Quick question: What's the best site to link to when referring to Perl 6 in an article? dev.perl.org/perl6/? 08:25
mberends do you mean a specific implementation of Perl 6 like Rakudo, or the Perl 6 language specification? 08:28
pdcawley Perl 6 the language
azawawi pdcawley: feather.perl6.nl/syn/
mberends yes, then what you said is best. 08:29
azawawi pdcawley: en.wikipedia.org/wiki/Perl_6
08:29 pbuetow left
azawawi pdcawley: rakudo.org/ 08:29
pdcawley: irclog.perlgeek.de/perl6/today 08:30
is that enough? ;-)
pdcawley I think so, yes.
Matt-W worldsbestprogramminglanguage.com?
pdcawley worldsbestprogramminglanguagethati...meyet.com? Or ruby-lang.com? 08:31
:)
azawawi pdcawley: but rakudo.org/ is the coolest among them
pdcawley I shall be linking to that from the Rakudo reference.
azawawi lol that is a long .com
Matt-W I'd like to hear someone try and read that out on the radio :)
azawawi cool
pdcawley I can't remember if theofficialmonsterravinglooneypart...and.org.uk exists... 08:32
08:36 elmex joined 08:42 Eevee left
pmurias TimToady: if i want to extract the position in the orginal source file from the VAST how should i do it? 08:54
09:03 kisu_ joined 09:06 kisu left 09:11 masak joined
azawawi hi masak 09:11
masak azawawi: greetings.
azawawi is a bot
;-)
masak too
moritz_ ni hao 09:12
masak moritz_: nin hao
09:16 Eevee joined
masak what's the current status of POD in Rakudo? 09:18
moritz_ it ignores it
(very much like STD.pm)
masak sounds good.
(for now)
pugs_svn r24825 | pmurias++ | [mildew] 09:21
r24825 | pmurias++ | added fcall to AST::Helpers
r24825 | pmurias++ | infix:<~> is correctly translated to a function call
r24825 | pmurias++ | [smop]
r24825 | pmurias++ | fixed a bug in LexicalScope (a non null terminated variable name was passed to printf)
09:36 Eevee_ joined 09:38 Eevee left 09:46 mj41_ left
pmurias TimToady: figured a (hackish way) how to make viv attach source positions 09:57
09:59 Eevee_ left
pugs_svn r24826 | pmurias++ | [viv] added VIV::SET_OPT to set some options stored in lexicals (hack) 10:16
r24826 | pmurias++ | [mildew] added a hack to print out the thing which is unimplemented when XXX is called
10:16 ejs left
masak are regex, token and rule allowed outside grammars? 10:17
names ones, I mean.
moritz_ masak: yes 10:18
masak followup questions: how do I refer to them from regexes? and does it work in Rakudo?
moritz_ rakudo: regex foo { foo }; say "foo" ~~ m/<foo>/;
p6eval rakudo 35262: OUTPUT«foo␤»
masak well, that was easy. :) 10:19
moritz_++
moritz_ that's how most test do it
masak now how come when I tried it, it didn't work?
masak tries again
moritz_ you did it wrong? ;-)
btw take a look at t/spec/S05-metachars/tilde.t ;-) 10:20
masak I likely did do it wrong, yes.
I'll take a look.
moritz_ it's not very special, just nice that it works 10:21
masak :) 10:22
I think I'll use that functionality in my last sekrit project. 10:23
I agree that the last one shouldn't throw an exception. actually, regex matching in general shouldn't. :) 10:24
10:27 azawawi left 10:28 azawawi joined
masak how do I do what I mean here? 10:28
rakudo: my $g = "g"; regex foo { <[a..$g]> ]; say "c" ~~ m/<foo>/
p6eval rakudo 35262: OUTPUT«␤»
moritz_ with eval()
masak oh. 10:29
that was the solution I finally arrived upon last night.
moritz_: have you seen an example of a PIR assertion? I'm a bit curious about how they work. 10:30
moritz_ masak: I think grammar.pg contains some
masak moritz_: I'll check it out. 10:31
moritz_ masak: for example in 'token ws'
masak ah, yes
moritz_ rakudo: regex recursive { '(' ~ ')' [ 'a'* <recursive>* ] }; say '(aa)' ~~ m/<recursive>/ 10:32
p6eval rakudo 35266: OUTPUT«Syntax error at line 1, near "}; say '(a"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
moritz_ rakudo: regex recursive { '(' ~ ')' [ 'a'*] }; say '(aa)' ~~ m/<recursive>/ 10:33
p6eval rakudo 35266: OUTPUT«Syntax error at line 1, near "}; say '(a"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
moritz_ rakudo: regex recursive { '(' ~ ')' 'a' }; say '(aa)' ~~ m/<recursive>/
p6eval rakudo 35266: OUTPUT«Unable to parse , couldn't find final ')'␤current instr.: 'parrot;PGE;Match;FAILGOAL' pc 2927 (compilers/pge/PGE/Regex.pir:456)␤»
moritz_ rakudo: regex recursive { '(' ~ ')' 'a'* }; say '(aa)' ~~ m/<recursive>/
p6eval rakudo 35266: OUTPUT«(aa)␤»
moritz_ rakudo: regex recursive { '(' ~ ')' ['a'*] }; say '(aa)' ~~ m/<recursive>/ 10:35
p6eval rakudo 35266: OUTPUT«Syntax error at line 1, near "}; say '(a"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
10:47 zostay joined, mberends left
pugs_svn r24827 | pmurias++ | [mildew] the compile error context takes maximum 6 lines 10:56
11:12 cornelius__ joined 11:15 corneliu1__ left 11:18 ruoso joined
pmurias ruoso: hi 11:20
ruoso hi pmurias 11:21
pmurias have you seen by hack which makes XXX display the thing that is unimplemented
? 11:23
ruoso I only saw the commit message while backlogging 11:24
pmurias ruoso: EXPORTALL exports things to the callers packages 11:26
at runtime
ruoso yes 11:27
it handles the known tags
pmurias so how do we make it export to the scope at compile time?
ruoso because EXPORTALL is run at compile-time
because use is still in a BEGIN 11:28
pmurias so it has an optional scope argument?
ruoso no, it should probably use CALLER or something
pmurias & 11:29
11:33 xinming_ joined
ruoso hmmm... last TimToady's change on STD broke item assignment in mildew 11:35
Matt-W doh
that's a little inconvenient
ruoso hmm... 11:36
actually it fixed ;)
mildew was wrong...
;)
pmurias++ # the unimplemented message is very much helpful 11:37
11:38 xinming left
ruoso TimToady, there are still some things being parsed as List assignment where they are supposed to be item assignment 11:39
- $array.[1] = "something" 11:40
11:40 kst left
ruoso - $hash.{'foo'} = "something 11:40
- $a.b = $c 11:41
11:43 kst joined 11:47 riffraff joined 11:48 plainhao joined
pmurias ruoso: how should EXPORTALL discover if it is run during compile time? 11:48
11:48 plainhao left, plainhao joined
ruoso in fact... $a.b = $c needs to have its context delayed somehow, because sintatically, the context is undetermined 11:49
pmurias, why would it need to?
pmurias so it can export to a scope instead of a package?
avar C/w 13
ruoso pmurias, I presume it should be some $+VARIABLE 11:50
11:50 Minthe joined
ruoso or $*VARIABLE 11:51
pmurias ruoso: btw. is there anything you want me to work on?
ruoso well, if you have some spare time, you could take the named arguments
I need to focus on other projects today 11:52
there's the ROADMAP/signature-named.t test 11:53
pmurias ok 11:54
pugs_svn r24828 | ruoso++ | [mildew] implement Item assignment... List assignment is currently incorrect in mildew, but STD is misparsing a lot of things as List_assignment where they are not.\ 11:55
12:02 Minthe left
pmurias ruoso: it might make sense if EXPORTALL received a target argument, as one might want to import thing into somewhere else 12:04
like when implementing a policy module 12:05
ruoso pmurias, there's something in the spec about ir 12:06
pmurias ir = ? 12:13
12:19 ruoso left 12:22 alc left 12:23 ruoso joined
ruoso s/ir/it/ 12:24
I'll throw out an idea here, just because it's been hammering my head for some time, but I couldn't actually structure it, and maybe someone makes it usefull... Somehow I think the grammar engine could benefit a lot from treating the string as an iterator and using continuations for each "branch" in the parsing... It also occured to me that this iterator could store cache information saying "the token foo failed at this position", or "the token bar suceeded
a t this position and here's a match object"... but as I said, it's just something that I've been thinking for a while without much development...
moritz_ ruoso: I think it's already planned (or even implemented in Cursor.pm) that way 12:27
or at least that's what metholate tried to do, with the continuations in gather/take blocks
pmurias STD.pmc uses Cursor objects 12:28
pugs_svn r24829 | moritz++ | [t/spec] more tests for ~ in regexes 12:29
ruoso moritz_, but does Cursor decides which continuation to execute at which moment? that would be the center of the idea, including for LTM 12:31
moritz_ ruoso: I don't know, I'm not that familiar with STD & co 12:32
ruoso ok... well.. the idea is there for someone who, unlike me, knows what he's talking about ;)
could someone give me access to the machine that runs the pugs-commit mail (or do the change in the hook without giving me access, which would be better ;)? 12:36
pugs_svn r24830 | moritz++ | [t/spec] tests for ~ in regexes with mutually recursive rules 12:39
moritz_ ruoso: see feather.perl6.nl/ - contact Juerd 12:40
pmurias STD.pmc uses Cursor objects 12:51
sorry
12:52 Lorn joined
pmichaud perl6: sub foo(@a) { say @a.elems; }; foo([1,2,3]); 12:56
p6eval elf 24830, pugs, rakudo 35296: OUTPUT«3␤»
pmichaud perl6: sub foo(@a) { say @a.elems; }; foo(([1,2,3]));
p6eval elf 24830, pugs, rakudo 35296: OUTPUT«3␤»
pmichaud perl6: sub foo(@a) { say @a.elems; }; foo(([1,2,3],));
p6eval pugs, rakudo 35296: OUTPUT«1␤» 12:57
..elf 24830: OUTPUT«3␤»
moritz_ is the first one correct? 12:58
pmichaud I'm thinking perhaps no.
rakudo gives a different answer in rvar.
(rakudo thinks the answer is 1)
moritz_ I can explain the current answer by assuming that [1, 2, 3] is bound to @a, not assigned
12:59 ejs joined, ejs left, Helios- is now known as Helios
pmichaud yes, I was thinking that also. It just feels funny. 12:59
moritz_ but given that foo(1, 2, 3) certainly should give 3, it seems more logical to return 1 on foo([1, 2, 3])
perl6: sub foo(@a) { say @a.elems; }; foo(1, 2, 3)
p6eval elf 24830: OUTPUT«Can't call method "elems" without a package or object reference at (eval 121) line 4.␤ at ./elf_f line 3861␤»
..rakudo 35296: OUTPUT«too many arguments passed (3) - 1 params expected␤current instr.: 'foo' pc 86 (EVAL_14:50)␤»
..pugs: OUTPUT«*** No compatible multi variant found: "&foo"␤ at /tmp/giWgSoIR4T line 1, column 32 - line 2, column 1␤»
pmurias ruoso: if you want the named parameter extraction to be done by STD does it make much sense for me to implement named parameters in mildew now?
pmichaud no, foo(1,2,3) wouldn't match.
(3 args instead of 1) 13:00
moritz_ right
perl6: sub foo(@a) { say @a.elems; }; foo((1, 2, 3))
p6eval pugs, rakudo 35296: OUTPUT«3␤»
..elf 24830: OUTPUT«Can't call method "elems" without a package or object reference at (eval 121) line 4.␤ at ./elf_f line 3861␤»
pmichaud (I'm guessing rebuild.)
okay, there.
moritz_ perl6: sub foo(@a) { say @a.elems; }; foo(<1 2 3>)
p6eval elf 24830, pugs, rakudo 35296: OUTPUT«3␤»
masak all three agree! :) 13:01
ruoso pmurias, I think STD won't really be changed...
moritz_ masak: what a crazy randomhappenstance
masak moritz_: it's a cause for celebration! 13:02
pmichaud so, what's the right answer on the array passage? 13:05
1 element, or 3? ;-)
moritz_ "yes" *duck*
masak :) 13:06
moritz_ I just don't know
pmichaud oh, of course. it's any(1,3) :-)
masak Perl 6 is full of these mysteries.
moritz_ I think I've wrote tests for this 13:07
t/spec/S06-signature/passing-arrays.t
pmichaud rakudo currently passes those. 13:08
moritz_ sub count(@a) {
my $x = 0;
$x++ for @a;
return $x;
}
ruoso pmichaud, moritz_, foo(<1 2 3>) is one argument only
pmichaud what it had trouble with was integration/*31-49*
moritz_ is count([1, 2, 3, 4]), 1, 'count([1, 2, 3, 4])';
pmichaud ruoso: I know that -- no question there.
ruoso where's the question then?
pmichaud all of them are one argument.
moritz_ ruoso: what @a.elems should return
ruoso 3 13:09
pmichaud the question is whether foo([1,2,3]) leaves @a with a single element or with three.
ruoso [1,2,3] will leave a with 1 argumetn
moritz_ ok
ruoso s/argument/element/
for the same reason
my @a = [1,2,3]; say @a.elems also returns 1
masak seems reasonable.
ruoso perl6: my @a = [1,2,3]; say @a.elems
moritz_ that's consistent with the first test in passing-arrays.t
p6eval pugs, rakudo 35296: OUTPUT«1␤»
..elf 24830: OUTPUT«3␤»
moritz_ perl6: my @a := [1,2,3]; say @a.elems 13:10
p6eval pugs: OUTPUT«1␤»
..elf 24830: OUTPUT«syntax error at (eval 117) line 3, at EOF␤ at ./elf_f line 3861␤»
..rakudo 35296: OUTPUT«3␤»
pmichaud snickers.
moritz_ that's where we start to differ
ruoso that should be 3
pmichaud anyway, if the answer to @a.elems is 1 for the foo([1,2,3]) case, I'm very happy with that.
ruoso because you're binding... and binding means that @a will *be* the array [1,2,3] 13:11
moritz_ pmichaud: does it cause spec test (not integration) failures?
pmichaud moritz_: no, spectests are almost all working now in rvar branch.
it's just the integration tests that are left.
moritz_ the 99problems*.t aren't reviewed that thoroughly; I just looked at those that didn't work in rakudo
pmichaud (a couple of unrelated spectest failures)
ruoso the binding of a value inside a signature is different from plain binding
moritz_ maybe some need @(...) around some arguments 13:12
ruoso or (|[1,2,3]) if you really want
because using @(...) will force list context before the binding 13:13
and using (|[1,2,3]) will defer the context to the signature binding
moritz_ perl6: sub foo(@a) { say @a.elems; }; foo(|[1, 2, 3]) # I expect the worst... 13:14
p6eval elf 24830: OUTPUT«Undefined subroutine &GLOBAL::prefix__124 called at (eval 123) line 5.␤ at ./elf_f line 3861␤»
..pugs: OUTPUT«*** No compatible multi variant found: "&foo"␤ at /tmp/rXO8tCn0VK line 1, column 32 - line 2, column 1␤»
..rakudo 35296: OUTPUT«too many arguments passed (3) - 1 params expected␤current instr.: 'foo' pc 108 (EVAL_14:52)␤»
ruoso moritz_, notice that you need an extra () to make it one positional argument
otherwise you're saying that you want to expand it as the capture
moritz_ perl6: sub foo(@a) { say @a.elems; }; foo((|[1, 2, 3])) # I expect the worst...
p6eval rakudo 35296: OUTPUT«3␤»
..elf 24830: OUTPUT«Undefined subroutine &GLOBAL::prefix__124 called at (eval 123) line 5.␤ at ./elf_f line 3861␤»
..pugs: OUTPUT«*** No compatible multi variant found: "&foo"␤ at /tmp/ccXOJjtYpM line 1, column 32 - line 2, column 1␤»
ruoso rakudo++
moritz_ rakudo++ 13:15
indeed
pmichaud: I'll be gone over the weekend, but I can clean up passing TODO tests when I return on Sunday
(I just was reluctant to do it with the subst.t ones, because we should get spec clarification first) 13:16
ruoso and now STD also accepts \$foo in the signature to delay the context even more
so you can say foo(bar(baz())) where bar delays the context of the return of baz to the signature of foo 13:20
(ok, that could be done with the slurpy capture...)
but foo(bar(baz(),1,2,3)) 13:21
moritz_ it took me three attempts and to parse and understand that sentence ;)
s/and//
13:30 pmurias left 13:35 cornelius__ left 13:40 pmurias joined 13:44 masak left 13:46 kisu_ left 13:47 araujo left 13:51 mj41 joined, kisu joined 13:52 meppl left 13:54 kisu left, kisu joined 14:00 ludan joined
rakudo_svn r35300 | moritz++ | [rakudo] add test for ~ in regexes to spectest.data 14:00
14:02 araujo joined, riffraff left 14:07 kisu left 14:12 spx2 left, kisu joined 14:14 spx2 joined, donaldh joined 14:16 kisu left 14:19 kisu joined
pugs_svn r24831 | jnthn++ | [t/spec] Correct test count. 14:23
moritz_ jnthn: did you count them? now that test fails in trunk 14:25
jnthn moritz_: Yeah, I did.
I could see 24 tests. 14:26
moritz_: Plus running it at the command line here gives output up to a test 24 14:27
moritz_ but why does it run only 21 in trunk? /me *confused*
jnthn moritz_: I ponder if the line start my $eval1 = '{
And the 3 tests in there 14:28
Didn't get run
moritz_ ah
jnthn But we never made sure that this eval succeeded
ok eval('!try { my Num::Even $d }'), "lexically declared subtype went out of scope";
And that one then probably passed for the wrong reason.
moritz_ ok, I commited a hack that works for now 14:30
pugs_svn r24832 | moritz++ | [t/spec] hack subtypes.t to get right plan even if an eval() failed
moritz_ which isn't very good at all 14:31
but at least the plan is right in both cases
14:41 gbacon joined 14:50 pdcawley left 14:51 pdcawley joined 15:00 cspencer joined 15:02 alc joined 15:05 athenot joined 15:06 alc left, mtnviewmark joined
pugs_svn r24833 | jnthn++ | [t/spec] Remove some Win32-specific logic on a test that saw us flunk it on Win32, when in fact it works fine on Rakudo on Win32. 15:07
15:10 mtnviewmark left 15:15 jan_ left, [particle] joined
rakudo_svn r35307 | pmichaud++ | [rakudo]: spectest-progress.csv update: 279 files, 6172 passing, 0 failing 15:20
pugs_svn r24834 | pmichaud++ | [t/spec]: #?rakudo skip a test in 99problems-51-to-60.t 15:22
15:30 DemoFreak left 15:45 FurnaceBoy joined
pugs_svn r24835 | pmichaud++ | [t/spec]: #?rakudo skip some tests that may be incorrect. 15:49
15:55 donaldh left 15:57 FurnaceBoy left
rakudo_svn r35311 | pmichaud++ | [rakudo]: Merge rvar2 branch to trunk. 16:00
r35311 | pmichaud++ | This is a major refactor of variable and parameter handling in Rakudo.
r35311 | pmichaud++ | jonathan++, particle++, and others for assistance with the branch.
16:05 eternaleye left, alester joined 16:06 alester left, alester joined 16:12 Eevee joined
rakudo_svn r35312 | infinoid++ | [cage] More trailing whitespace fixes. 16:20
pugs_svn r24836 | pmichaud++ | [rakudo]: Unfudge passing todo in assign.t.
r24837 | pmichaud++ | [t/spec]: unfudge passing rakudo test in main.t. 16:22
16:23 mtnviewmark joined 16:29 jan_ joined 16:31 DemoFreak joined 16:32 mtnviewmark left
pugs_svn r24838 | pmichaud++ | [t/spec]: Unfudge passing todo in passing-arrays.t . 16:32
16:33 stephens joined 16:35 Eevee left, Eevee joined
pugs_svn r24839 | pmichaud++ | [t/spec]: Unfudge passing todo test in instance.t (RT #61100) 16:37
r24840 | pmichaud++ | [t/spec]: Unfudge passing rakudo todo test from 99problems-01-to-10.t 16:38
16:39 jhorwitz joined
pugs_svn r24841 | pmichaud++ | [t/spec]: Unfudge passing rakudo todo test from lexicals-and-attributes.t 16:39
r24842 | pmurias++ | [mildew] 16:43
r24842 | pmurias++ | mildew .so objects receive a back continuation
r24842 | pmurias++ | added a --valgrind option
r24842 | pmurias++ | the things the compiler hasn't implemented yet are highlighted with about 6 lines of context
pmichaud perl6: sub foo(@a) { say @a.WHAT; }; foo(1); 16:44
p6eval rakudo 35312: OUTPUT«Array␤» 16:45
..pugs: OUTPUT«Array::Const␤»
..elf 24841: OUTPUT«Int␤»
cspencer do multi methods dispatch based only on the parameter signatures, or will they also be eventually able to do so based on return types?
16:45 ludan left
PerlJam cspencer: the latter 16:46
pmichaud S06-signature/passing-arrays.t:30 claims that the above should die.
cspencer thanks :)
pmurias but it's specced to be post 6.0.0
cspencer ah ok
16:46 DemoFreak left 16:49 cspencer left
pmichaud okay, time to close some tickets! 16:50
TimToady @a should have 3 elements 16:51
lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
TimToady ruoso: those are specced to be list assignments
pmichaud TimToady: you mean in my sub foo(@a) { say @a.elems; }; foo([1,2,3]); example? 16:52
TimToady yes 16:53
pmichaud ouch.
TimToady always been that way
wolverian /aw
TimToady the only reason foo((1,2,3)) works the same is by promotion of list in item context to Array
pmichaud oh, I understand that part. 16:54
I'm wondering how to distinguish foo([1,2,3]) from other uses of [1,2,3] in a list.
TimToady such as? 16:55
pmichaud foo(([1,2,3], 4)); # 2
TimToady that's a list of 2 elements
pmichaud right now rakudo has circumfix:<[ ]> returning a scalar reference to an array
so that it won't flatten in list context
as in this case: 16:56
my $a = [1,2,3]; foo($a);
TimToady yes, that seems fine
that should also say 3
pmichaud last question, then: how about foo(1)? 16:57
it autopromotes the 1 into an Array?
TimToady depends on what we decide about @a := 1
but I'd say that 1 probably doesn't provide a Positional role
so the binding fails
pmichaud okay, that answers another question I had, then :-) 16:58
16:59 fridim__ joined
TimToady and 1.[0] only works because we force the 1 to promote to something positional 16:59
not because 1 is intrinsically positional 17:00
PerlJam TimToady: Just to see what I hope is the obvious answer, would a "string" provide a Positional role?
pmichaud okay, that changes the answer I thought I had. :-)
TimToady there's no such thing as a "string" in Perl 6 :)
Str does not provide Positional, while Buf does
(as currently specced) 17:01
PerlJam makes sense to me.
pmichaud so, to recap
with sub foo(@a) { say @a.elems; } 17:02
TimToady Strs are unitary like numbers, so "foo".[0] returns "foo"
any top-level commas contribute to the Capture, not to the first arg
pmichaud foo(1) # error, 1 ~~ Positional fails 17:03
foo((1,2,3)) # outputs 3
foo([1,2,3]) # outputs 3
my $a = (1,2,3); foo($a); # outputs 3 17:04
TimToady and foo(1,2,3) fails
pmichaud and yes, foo(1,2,3) fails # too many params
okay, I can make that work.
TimToady foo([1,2,3],) should probably produce 3 too 17:05
since the top , is a Capture comma, not a List comma
but we've never said anything about extra commas in Captures...
seems like they should be allowed though 17:06
interesting that that overloading of comma goes all the way back to C 17:07
pmichaud another case
TimToady arglist comma is not operator comma
pmichaud oh, never mind.
I figured it out :-) 17:08
TimToady :D
PerlJam foo((1,2,3)) is weird though. It wants to chunk in my head as "foo (( 1,2,3 ))" which makes me want to write it that way (mildly) 17:10
pmichaud then write it as foo([1,2,3]) :-)
TimToady or as foo (1,2,3)
PerlJam TimToady: but would foo ((1,2,3)) have any adverse effects? It seems like something you'd want a warning for "Hey, this is better written as ..." 17:11
pmichaud I think that actually works out the same in this case :-) 17:12
it's eqivalent to foo [(1,2,3)]
pdcawley has recently had his head warped by Smalltalk, where comma is just another binary method so 'foo , bar' sends the message ', bar' to foo...
pmichaud *equivalent
17:13 hercynium joined 17:14 km2 joined
pmichaud okay, here's another set 17:16
sub foo(%h) { ... }; foo( (a => b) );
binding error? 17:17
TimToady I think a Pair is Associative 17:19
pmichaud okay.
so (a => 'b')<a> gives 'b' 17:20
TimToady yes
and .keys differs from .key only in that it gives a list instead of an item
17:23 cornelius__ joined, cornelius__ left
ruoso TimToady, I don't get it... why is "$a.[1] = 'bar'" a list assignment 17:26
?
TimToady because it's not a simple scalar *syntactically*. it has a postfix 17:27
ruoso but it's not a list also
it might be undetermined
TimToady we discovered in years past that this is a rathole :)
which is why the rule is now simple 17:28
PerlJam simplicity++
TimToady course, it's not entirely a free lunch 17:29
you still have to decide how to treat $x[1] vs $x[1,2] at run time 17:30
so $x[1] = 1,2,3 turns 1,2,3 into [1,2,3] 17:31
but $x[1,2] = 1,2,3 produces a warning about the discarded element
pmurias TimToady: is there anything i could do to make STD faster? 17:32
TimToady well, there are several possibilities for speedups 17:33
a real DFA matcher, for one
pulling out the prelude defs 17:34
but that implies a mechanism for dumping current lexpads and for starting current compile in preexisting lexical scope for prelude
having a real lazy list implementation in Perl 5 would help 17:35
having recursive regex in P5 with real closures would help :) 17:36
another thing that will speed up derived languages is not deriving all the data structures from scratch each time whenever you see a macro 17:37
there's obviously a lot of commonality between related languages that is not adequately shared 17:38
the token/fate longest token generation is currently done by patching together strings, which could be a more efficient data structure 17:39
17:39 pbuetow joined
TimToady but according to NYTProf, the using a trie matcher instead of a dfa matcher is probably what hurts the most right now 17:40
so I don't know if the answer is "yes" or "no" :) 17:41
I didn't want to tackle some of these things before gimme5 was rewritten as viv 17:42
which stalled out
ruoso TimToady, so every list assignment actually means "unknown context" 17:45
TimToady it's also possible we could speed up things by changing the parsing rules for metaoperators so as not to inflict all the variants on the LTM, but I'd rather avoid that if we can make LTM work for large token sets
yes, that was the price for not analyzing subscripts for itemicity, which led to madness 17:46
pmurias TimToady: i seem to have lost the link to the tdfa paper, could you find it again? 17:47
TimToady but this is reall only a problem for assignment, not binding
ruoso so, let's just rename it to "unknown assignment" :)
although... my @a = something has a more determined context
TimToady pmurias: um, I don't think tdfa is what we want. when I ripped out TRE it sped up twice as fast. :) 17:48
17:49 cspencer joined
TimToady the TRE algorithm was allocating 19MB on the stack for every match! 17:50
something more like the dynamically generated state sets in egrep is what we need 17:51
where we cache the first N of those in a trielike fashion
but don't build out a full trie for \w* and such
17:52 quatrix joined
pmurias would using a normal DFA to find the longest token and then rematching with a NFA to find which parts of the string matched what work? 17:55
TimToady well, "first N" is misleading. we should cache common words in the trie, and branch out at varying quantifies of N
*quantities
we already rematch in the recursive descent 17:56
the DFA merely has to produce the correct fate
the egrep algorithm, unfortunately, loses info on which alternative you took 17:57
bbl & 18:00
avar Is that inherent in the algorithm or just a case of egrep not keeping around that data? 18:03
ruoso wonders how to detect the context at which the assignment is made 18:04
ruoso later &
18:04 ruoso left
rakudo_svn r35314 | jonathan++ | [rakudo] Get rid of !TYPECHECKPARAM, and make the one thing use it just do the check itself (will go away once we get Perl 6 prelude). 18:10
azawawi std: if($n > 1) {} 18:12
p6eval std 24842: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/BDxNV7RkE4 line 1:␤------> if($n > 1) {}␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤00:05 86m␤»
azawawi std: if ($n > 1) {}
p6eval std 24842: OUTPUT«00:05 86m␤»
18:13 estrabd left
azawawi I think there is a problem with STD parsing here... 18:13
moritz_: ping 18:14
std: my $n = 1; if($n > 1) {} 18:16
p6eval std 24842: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/ENWMYrMyzC line 1:␤------> my $n = 1; if($n > 1) {}␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤00:05 86m␤»
PerlJam azawawi: er, what's the problem? if() is not the same as if ()
azawawi perljam: if() is a function?
PerlJam looks like a duck, quacks like a duck ... it's a duck :) 18:17
azawawi rakudo: my $n = 5; if($n > 1) { ">5".say; } 18:18
p6eval rakudo 35314: OUTPUT«>5␤»
azawawi std: my $n = 5; if($n > 1) { ">5".say; }
18:18 Psyche^ joined
p6eval std 24842: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/AnWn0nOndt line 1:␤------> my $n = 5; if($n > 1) { ">5".say; }␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤00:05 87m␤» 18:18
azawawi perljam: it seems like a bug
rakudo_svn r35315 | jonathan++ | [rakudo] Rip out more unused code. 18:20
r35317 | jonathan++ | [rakudo] One more unused function I missed last time that we can now rip out.
18:22 lauct joined 18:25 braceta joined 18:26 braceta left, braceta joined 18:30 Patterner left, Psyche^ is now known as Patterner 18:35 justatheory joined
TimToady azawawi: it is fundamental in p6 that foo() is always a function call, regardless of how the language might change around it 18:35
just as it is fundamental that postfixes never allow intermediate whitespace 18:36
we need a few absolutes to keep things flexible everywhere else 18:37
azawawi TimToady: so in p5 if($x > 1) becomes in p6 if $x > 1, right?
TimToady well, I never wrote it that way in p5 :) 18:38
but yes
azawawi so it seems rakudo assumes it is a p5 if... 18:39
rakudo: my $n = 5; if($n > 1) { "greater than 1".say; }
p6eval rakudo 35317: OUTPUT«greater than 1␤»
TimToady that should fail
you're calling the "interface" function or some such :) 18:40
azawawi oh well it is win win situation... it was either an STD or rakudo bug :)
actually i was trying the factorial example in rakudo and found out that STD in Padre does not like it.
TimToady: thx 18:41
TimToady p6 also requires whitespace before the block, so if($x){...} is doubly wrong, but parses
fortunately, there's probably not an if() function
std: if($x){return} 18:42
cspencer will the "is instead" trait apply to classes as well as subroutines?
p6eval std 24842: OUTPUT«Unknown routines:␤ if called at 1 ␤00:05 86m␤»
cspencer ie) if i wanted to replace a previously declared class, i'd use: class Foo is instead { ... }
TimToady it was originally targetted at classes :) 18:43
cspencer ah ok
TimToady but then generalized
cspencer i'd seen it in the subroutine section of S06 and was wondering :)
TimToady there's a sense in which "multi" means "is also"
so I wonder what a multi class is :) 18:44
cspencer heh :)
TimToady maybe it's just a class that is documented as being extensible 18:45
so class is also is Officially Evil, which multi class is Officially Good :)
s/which/while/
azawawi rakudo: my $x = 0; if($x > 1) { say '>1' } else { say '<=1'; }
p6eval rakudo 35317: OUTPUT«<=1␤»
cspencer are classes not extensible by default? 18:46
TimToady you get a warning without "is also"
cspencer ah ok
18:46 justatheory left, justatheory joined
azawawi @tell moritz_ rakudo should fail on if($x > 1) {} like STD 18:47
TimToady and maybe a multi class cannot be closed by the optimizer
lambdabot Consider it noted.
PerlJam azawawi: do you have a pugs commit bit?
azawawi perljam: yup 18:48
PerlJam azawawi: submit a test for it (if there isn't one already)
azawawi perljam: right away, Sir :) 18:49
[particle] faster! 18:55
azawawi found the related doc perlcabal.org/syn/S04.html#line_1210
lol
18:58 jhorwitz left 19:08 justatheory left, justatheory joined
rakudo_svn r35318 | jonathan++ | [rakudo] Start getting the type registry stuff in place. This patch adds (currently stub) add_type and is_type method on Perl6::Grammar and inserts calls to them, following the STD.pm approach. No functional changes. 19:10
19:19 wirefire joined
pugs_svn r24843 | azawawi++ | [t/spec] Added test for required whitespace after a built-in statement (if,for,while). 19:36
19:51 cspencer left 20:00 kidd left 20:03 Lorn left 20:04 masak joined 20:05 kidd joined 20:15 fridim__ left 20:21 Helios is now known as Helios- 20:22 Helios- is now known as Helios 20:26 braceta left 20:28 pcbuetow joined, kidd left 20:42 kisu_ joined 20:43 pbuetow left 20:47 kisu left 20:50 meppl joined
pugs_svn r24844 | particle++ | [S19] a little copy-editing 20:57
r24845 | Util++ | [t/spec] Typo - s/ precendence / precedence / 21:03
r24846 | particle++ | [S19] describe how to avoid ambiguity when nesting delimited options 21:05
pmichaud TimToady: I know I've asked this before, but I'm a bit confused again 21:11
if we have (1, 2, 3, @a) then @a flattens into the list
21:11 Ehtyar joined
pmichaud if we have (1, 2, 3, [4]) then the [4] doesn't flatten into the list 21:11
presumably @a and [4] are both of type Array, so what distinguishes them?
TimToady I suspect [4] is more like \@a 21:13
or Scalar of Array maybe
pmichaud okay, that's what rakudo does now.
pugs_svn r24847 | particle++ | [S19] add notes for further design review
pmichaud basically \@a
so if we have sub foo(@x) { ... } and then call foo([4]) 21:14
@x gets bound to the Scalar of Array ?
lambdabot Maybe you meant: . ? @ v
pmichaud or we figure out that it's a scalar and de-scalarize it, or ...?
(because it's a Scalar that references a Positional)
TimToady not sure what the best way to think of it is, except that Scalar loves to hide itself from method calls 21:15
bit distracted--in a meeting (again)
pmichaud okay
you gave me enough clues to go in the right direction, I think. At least for a couple of hours.
diakopter bit distracted by irc, or bit distracted by the meeting? 21:17
TimToady the two are not mutually exclusive :)
pugs_svn r24848 | particle++ | [S19] a note on assumptions 21:18
PerlJam TimToady: Quick! Say something profound and insightful that totally derails the meeting. :) 21:22
21:23 c9s_ joined 21:35 donaldh joined
TimToady pmurias: when I said DFA above, I really meant parallel NFA 21:36
bad habit of mine to confuse NFA with backtracking...
21:41 c9s left 21:42 aindilis` left 21:49 DemoFreak joined 21:53 wirefire left 22:01 kisu_ left 22:04 ft joined 22:06 kisu joined 22:10 aindilis joined
masak rakudo: my Any $x .= new; say $x.values 22:13
p6eval rakudo 35320: OUTPUT«Method '!flatten' not found for invocant of class 'Any'␤current instr.: 'parrot;Any;values' pc 10962 (src/builtins/any-list.pir:642)␤»
masak don't ask me how I find these.
masak submits rakudobug
22:16 sri_kraih joined
TimToady rakudo: say Any.values 22:17
p6eval rakudo 35321: OUTPUT«Any␤»
TimToady rakudo: say Any.new.values 22:20
p6eval rakudo 35321: OUTPUT«Method '!flatten' not found for invocant of class 'Any'␤current instr.: 'parrot;Any;values' pc 10962 (src/builtins/any-list.pir:642)␤»
22:20 pmurias left 22:21 sri_kraih left, sri_kraih joined 22:26 mberends joined
masak mberends: I am in your Pod::Parser, reviewing your code. 22:33
mberends hi, and thanks. did you pull today from github, I posted some updates 22:34
masak aye, just pulled.
mberends first, tell me if the acknowledgements are they way you suggested 22:35
masak when you write `if + @!podblocks > 0`, are you aware that `if @!podblocks` does the same thing?
mberends: I'll look.
mberends thanks, slimming is always good. that + was needed somewhere and became cargo 22:36
masak mberends: that works, I think. the November project is only 'lea' by the two of us un the sense that we were first, not in the sense that we call the shots.
mberends: it's more about using Perl's punning to your advantage than about slimming :)
22:36 wknight8111 joined 22:37 donaldh left
masak overall, I like the compact style of your code. 22:37
mberends re November, if the other members have another view, let me know
masak I didn't think I would, but I do.
ok.
22:38 dukeleto left
masak s/lea/lead/ 22:38
22:38 Exodist left
mberends I went off K&R formatting and Perl Tidy a while back. perlcritic also drove me nuts. 22:38
masak hm, you're inconsistent in where you put the opening method brace :) 22:39
mberends the idea of compact layout is to reduce eye movement and scrolling. consistency is not everything, when it becomes rigidity. 22:40
TimToady I'm consistently inconsistent
22:40 Limbic_Region joined
TimToady same line if it all fits on a line, and left margin otherwise 22:40
mberends indeed
TimToady well, lined up with keyword, not left margin
masak that does not seem to be the rule here, however. 22:41
here it's just sometimes same line, sometimes lined up
anyway, I'm not complaining, just pointing it out.
mberends I'm currently doing pod2xhtml and the pretty printing is not convenient, so I've bent the rules there too.
masak it's a truly impressive chunk of code. 22:42
mberends thanks, it's still evolving, there is a warning about refactoring 22:43
masak yup, saw that.
22:44 pdcawley left
masak mberends: shouldn't you be doing that in a branch? :) 22:44
rakudo: my @a = 1,2,3,4; say @a[*-1]
p6eval rakudo 35321: OUTPUT«4␤»
masak also, what's keeping you from using [*-1] ?
22:45 riffraff joined
mberends class A { has @!arr; method m { @!a[*-1] yada yada dies 22:45
masak oh.
should have guessed.
mberends moritz asked yesterday
masak rakudo: class A { has @!arr; ,method m { @!arr[*-1] } }; A.new.m 22:46
p6eval rakudo 35321: OUTPUT«Unable to parse block; couldn't find final '}' at line 1, near ",method m "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
masak rakudo: class A { has @!arr; method m { @!arr[*-1] } }; A.new.m
p6eval rakudo 35321: OUTPUT«Null PMC access in find_method()␤current instr.: 'parrot;A;_block31' pc 248 (EVAL_17:106)␤»
mberends give it some data first
masak is there a ticket for this?
mberends dunno
masak rakudo: class A { has @!arr = 1,2,3; method m { @!arr[*-1] } }; A.new.m
p6eval rakudo 35321: OUTPUT«Null PMC access in find_method()␤current instr.: 'parrot;A;_block35' pc 292 (EVAL_17:114)␤»
masak strange error.
mberends you're much better at rakudobugs than I am 22:47
masak mberends: yes, but I've deluged RT with tickets lately, so I can't find needles in haystacks anymore :/
it takes some time, anyway. 22:48
mberends did you see I submitted RT#62036?
masak um, RT is slow. 22:49
mberends you may have to patch your paths, but please read and run 'make test' 22:51
masak hokay.
mberends you'll understand why I was into backtick qx() etc a few weeks back 22:52
masak I see an R#62030 submitted by you, but not an RT#62036.
mberends sorry, 62030, yes
masak grumbles 22:53
hm, yes, I remember seeing that ticket. 22:54
mberends: the instructions in your Makefile contain the line 'make spectest_regression'. that is now spelled 'make spectest'. 22:56
mberends consider it noted
masak oh, I CAN HAZ PERL6LIB? I didn't know that! 22:57
we should move some modules downstairs from p6w/, then. 22:58
mberends essential for every module developer
22:58 pdcawley joined, pdcawley left
masak well, apparently not. :/ 22:59
make WORKSFORME. 23:02
mberends excellent. that's prove and Test::Harness in Perl 6 as well, none of this legacy nineties stuff 23:03
masak sir, you rock. 23:04
currently trying to get 'make test' to work.
needs some path tweaking, because I don't store parrot where you do.
mberends /home/me/parrot and /home/me/perl6-examples here 23:05
masak yup. not here.
guess I could just symlink for the time being.
that worked. 23:06
mberends it was a big kick to get unit tests going. In fact my dev work was thrashing without it.
masak now getting thousands of "use of uninitialized value" warnings. 23:07
mberends I'll need to sync up my parrot to feel your pain
masak not sure you will feel it yet. 23:08
might be here-specific.
23:08 cspencer joined
masak I still get "Unable to open filehandle" here. 23:08
23:08 kisu left
mberends probably directory related 23:08
masak aye, probably. 23:09
mberends insert $*ERR.say: "$stuff" for diagnostics
masak mberends: should a `prove` without arguments really do nothing? the Perl 5 variety doesn't. 23:10
mberends without arguments is wrong. maybe force in "t/*.t" 23:11
masak I know it's wrong. I just tried it.
...to see what happened, I mean. 23:12
IMO, an argumentless `prove` should recurse from the current directory, or something.
mberends I think it's a directory problem. by glob() is a bit ugly, you may workaround with an absolute pathspec. 23:13
s/by/my/
masak which line are we talking about?
pugs_svn r24849 | Util++ | [docs] Typo - s/hueristic/heuristic/ in docs/Perl6/Makefile.PL 23:14
mberends i guess prove --recurse t is drawing a blank. maybe call file_or_dir( '/home/masak/yada/t' ) 23:16
23:17 kisu joined, kisu left
masak mberends: I don't think that is the problem. it's more along the lines of perl6 not finding ../Test.pir 23:17
23:17 kisu joined
masak um, perhaps not. I'll try what you suggested. 23:18
hercynium I'm playing with rakudo, and wonder if anyone can tell me what's wrong with this code:
rakudo: sub f() { my @y = <1 2 3>; my @z = <a b c>; return (\@y,\@z) }; my (@a, @b) := f(); say @a; say @b;
masak mberends: so, which line are we talking about?
p6eval rakudo 35321: OUTPUT«rtype not set␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤»
masak hercynium: 'return' currently does not take more than one argument. 23:19
hercynium hmmm.... but it will someday, right?
masak hercynium: yes.
hercynium: for now, consider passing an array instead.
as in `return [[@y], [@z]]`. 23:20
hercynium yep... I was just scratching an itch for some syntax I dreamed up the other day and discovered is part of the spec :)
masak heh. :)
the spec and rakudo are slowly converging. 23:21
hercynium binding a ref to a var that has a sigil that shows what the ref points to is *very* nice
masak mberends: for line 11 in prove: &&= works. :) 23:23
mberends re: prove, there is a separate Makefile target for Test.pir, because I wanted the Test.pm always out of parrot, so there are other paths involved. r35321 segfaults but passes 16 tests out of 21
masak we should take Test.pm out of Parrot in November too. that's much better.
mberends: ok, I'm officially stuck. I don't know how to make those tests. 23:24
also, I'm thinking of sleep. 23:25
mberends fair enough. and tomorrow you format you hard drive and use my directory layout, ok? 23:26
masak meh
literal zoffix.com/new/GumbyBRAIN-perl-urn-engraving/
23:27 plainhao left
mberends meantime I'll try to specify PARROT_DIR and LIB_DIR separately. new Makefile tomorrow. 23:27
masak literal: I think that requires some explanation.
mberends: looking forward to it.
mberends thanks for being the guinea pig 23:28
masak np.
what goes around comes around. I assume you've tried to make November? :)
literal masak: GumbyBRAIN is an IRC bot, basically an interface to one of these: megahal.alioth.debian.org/ 23:29
23:29 maerzhase left
masak literal: yes. 23:29
...and the perl6 connection?
literal it's just something he said
mberends I read the November source closely to get started with grammar, but didn't run it
masak aha.
pugs_svn r24850 | pmichaud++ | [t/spec]: Update split-simple.t to pass array arguments to list parameter. 23:30
masak mberends: looking forward to you trying :) at least 'make test'.
mberends goes around, comes around :) sure
masak sleeps
23:30 masak left 23:31 alester left 23:35 dukeleto joined 23:39 hercynium left
rakudo_svn r35323 | jonathan++ | [rakudo] Get an UnderConstructionProto class added, and create it. However, don't put it in the namespace just yet - that causes breakage. 23:40
23:44 vixey left 23:49 mberends left
cspencer rakudo: my @a = 1..4; for @a <-> $e { $e++ }; @a.join(' ').say 23:50
p6eval rakudo 35323: OUTPUT«2 3 4 5␤»
cspencer rakudo: my @a = 1..4; for @a <-> $e { $e *= 2 }; @a.join(' ').say 23:51
p6eval rakudo 35323: OUTPUT«Cannot assign to readonly variable.␤current instr.: 'die' pc 15387 (src/builtins/control.pir:204)␤»
23:52 dukeleto left
cspencer shouldn't <-> make the $e variable rw? 23:52
perl6: my @a = 1..4; for @a <-> $e { $e++ }; @a.join(' ').say 23:58
p6eval rakudo 35323: OUTPUT«2 3 4 5␤»
..elf 24850: OUTPUT«Can't call method "flatten" without a package or object reference at (eval 119) line 4.␤ at ./elf_f line 3861␤»
..pugs: OUTPUT«*** ␤ Unexpected ">"␤ at /tmp/ClML5njBYA line 1, column 24␤»