»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 27 June 2009.
jnthn -> sleep 00:23
eternaleye_ (way, way, _way_ backlogging) Juerd: re mnemonic for |@array, I always saw it as being 'flattened against a wall' 00:57
Juerd Nice one 01:01
And impressive case of backlogging :)
eternaleye_ (way, way, _way_ backlogging still) pmichaud, moritz_: re Tim Bunce and DBDI, someone should get him and davef talking, since davef has been working on wholesale translation of the JDBC system to P6 01:49
pmichaud eternaleye_: noted 01:51
eternaleye_ I think davef has been working from that old message and perlbuzz discussion, when Tim said that in his view, P6-DBDI == JDBC was the way to go. AFAICU, davef's method has been programmatic translation combined with manual tune-ups/corrections 01:55
KyleHa Howdy, #perl6. 02:14
bpetering hey Kyle :) 02:21
Tene wayland76: just read your email. ncigen still exists, but was never quite finished well enough to be able to parse *every* header. 02:22
it was tewk's project, and he's kinda dropped off the map
wayland76 Right 02:27
And IIRC, it's written in PIR, which I don't speak 02:28
It sounds like it might be worthwhile finishing for those projects, though 02:29
bpetering KyleHa: i'm AKA "missingthepoint", but occasionally masquerade as myself :) 02:42
KyleHa bpetering: I suspected as much.
Happy to have you here either way. 8-)
szabgab bpetering, hi 02:46
have we lost your for our cause over at #padre ?
you
anyone with a windows machine who would be able to give us a hand in testing the new .msi installer of "Almost six" ? 02:55
strawberryperl.com.nyud.net/downloa...x-0.41.msi 02:56
This will install in C:\strawberry and it contains Strawberry Perl 5.10, Rakudo - Chicago + Padre 0.41 + Padre::Plugin::Perl6 02:57
bpetering szabgab: no ;) 02:59
how would you like 2 hours a week? 03:00
bpetering (i'm dividing up my time according to perl projects to work on) 03:04
szabgab bpetering, hi 03:08
any time you give is good for you 03:09
us
both you and us :-)
I just installed Almost six, it worked on my virtual window with a few issues I noticed and listed here: mail.perlide.org/pipermail/padre-de...01165.html 03:11
tolkad evalbot: perl6: say 3; 03:17
TimToady perl6: say 4 03:18
p6eval elf 27807, pugs, rakudo 13ba2f: OUTPUT«4␤»
szabgab TimToady: say 5 03:19
no
TimToady: say 6 ;-) 03:20
TimToady 5.9999999999999999999999 03:30
pmichaud wayland76: does the current ins2 branch work out okay for you? 03:31
wayland76: also, what distro are you building RPMs for?
szabgab TimToady, almost six ... 03:35
pugs_svn r27808 | kyle++ | [t/spec] Tests for P5 style subs without signatures 03:37
r27809 | kyle++ | [t/spec] Tests for RT #64102 (enum functional form)
r27810 | kyle++ | [t/spec] Test for RT #64184 and another junction test fix 03:38
r27811 | kyle++ | [t/spec] Test for RT #64220
r27812 | kyle++ | [t/spec] Tests for RT #64268
KyleHa That new S06-signature/unspecified.t runs under Rakudo, but it warrants review. 03:40
TimToady they should maybe be Object rather than Any, since slurpies are specced not to autothread 03:43
KyleHa What is Any but not Object? A Junction? Just out of curiosity... 03:45
samlh yes 03:46
pmichaud A Junction is Object but not Any
wayland76 pmichaud: I'm building for Fedora 10
samlh ah, sorry 03:47
wayland76 I'll be installing 11 as soon as I have my new computer
pmichaud wayland76: You might want to subscribe to
KyleHa Any other suggestion for unspecified.t ?
pmichaud bugzilla.redhat.com/show_bug.cgi?id=498390
I'm looking at unspecified.t now
KyleHa: If I was understanding today's earlier conversation correctly, then sub simple { 'simple' } would be the same as sub simple() { 'simple' } 03:48
i.e., taking no arguments.
TimToady correct
KyleHa Does that mean passing it arguments dies? 03:49
pmichaud yes, with too many arguments.
wayland76 pmichaud: Thanks 03:50
KyleHa I didn't keep the code, but I tried an explicitly 'sub empty()', and it lived through receiving arguments.
pmichaud KyleHa: that's a Parrot bug.
KyleHa OK.
I'll fix the 'sub simple' tests.
pmichaud Currently Parrot doesn't have a mechanism to define "sub with zero arguments
wayland76: apparently Rakudo Perl 6 has been accepted for inclusion in Fedora 12 03:53
(tenatively accepted, at any rate)
wayland76 Cool :) 03:54
pmichaud the build+spec that is in the bugzilla ticket isn't the one we put together, though. Gerd Pokorra has been emailing me off-list to arrange for it, though (and I keep pointing him to the RT tickets that others have been working on)
anyway, I'm pretty comfortable with the ins branch at the moment, so I may be migrating it to trunk soon. I haven't decided if I'll do that pre- or post- yapc, though.
wayland76 Ok. I worked with Gerd on the Parrot one, then when we got something we both liked, Allison said we were going to do things completely differently :) 03:55
pugs_svn r27813 | kyle++ | [t/spec] fix unspecified.t after advice from TimToady++ and pmichaud++
pmichaud afk for a while 03:56
TimToady btw, going to pt tomorrow, don't know what my connectivity will be till the conference
TimToady so don't take silence for consent. or for lack thereof :) 03:56
TimToady 'course, it's hard to know what the connectivity will be at the conference too :) 03:59
KyleHa How can one confer without connectivity? 04:00
TimToady I don't think sort: {1} can guarantee any order 04:04
except maybe to leave the order unchanged 04:05
KyleHa I have it leaving the order unchanged.
The sort in Perl 6 is still stable, right? 04:06
TimToady ah, so you do 04:06
TimToady nevermind 04:06
TimToady didn't notice the last one was missing {1} 04:07
KyleHa I'll make that stand out better. 04:08
pugs_svn r27814 | kyle++ | [t/spec] improved readability/clarity after comments from TimToady++ 04:11
KyleHa G'night, and thanks! 04:12
wayland76 pmichaud: ins2 builds and tests fine for me :) 04:21
eternaleye somone with ops: perhaps the text "evalbot: perl6: say 3;'" in the title could be changed to "evalbot usage: 'perl6: say 3;'" since it's been a perennial source of confusion among newcomers 05:29
*someone
Typing in a hammock is hard 05:30
wayland76 Oh, what a life of pain and misery, having to type in a hammock :) 05:30
eternaleye Worse when it's been >100F for 3 days 05:31
In an area that usually doesn't break 85
wayland76 Well, I guess that makes a difference :) 05:35
tann rakudo: say caller(0).perl; 06:05
p6eval rakudo 13ba2f: OUTPUT«Could not find non-existent sub caller␤»
tann p6eval: say caller(0).perl; 06:06
moritz_ »ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! 06:25
moritz_ eternaleye++ 06:25
bpetering thanks moritz_++ 06:37
and eternaleye++ 06:40
VICTORY. (i'll explain later) 06:43
moritz_ and eternaleye: thanks, as a (still mostly-) newbie i appreciate stuff like that
moritz_ stuff like improved topic? 06:44
wayland76 Does anyone see any problems with this whitespace rule? ... 06:54
rule ws { \s+ | '//' .*\n };
It's giving "maximum recursion depth exceeded"
moritz_ it should be token ws 07:02
otherwise each whitespaces in the rule calls ws
Su-Shee good morning, future :) 07:04
azawawi hi 07:05
cbk morning 07:08
but night for me
wayland76 moritz_: Ok, thnaks ;) 07:10
(or thanks, if you prefer them instead; I'm offering either) 07:11
moritz_ snacks are just fine, thank you ;-)
cbk Is there a simple way to change the standard output to a file handle so i can use say $someLineToWrite; and write that to a file? 07:12
I allready looked in S32::IO could really find a good example
cbk I seam to remember seeing this somewhere on the net but can't find it any more 07:13
moritz_ I guess you can just assign to $*OUT 07:13
don't know if that works in Rakudo, though
wayland76 SOme info on $*OUT also in S28 07:19
moritz_ perl6 -e '$*OUT=open("README", :w); say "foo"' 07:20
works locally here
(and overwrites README)
cbk I also find info in S16 07:21
moritz_, yah thats how I'm doing it now
cbk cool that works, but now how do i chang it back? :( 07:24
wayland76 There are a number of ways
moritz_ $*OUT = $backup_that_you_previously_made_of_OUT 07:25
wayland76 Did you note what it said in S28, just below the variable list
The way moritz_ suggested probably works now, but is full of Perl-5 think (I'm surprised :) )
moritz_ well, the Perl 6'ish solution is to just introduce a new scope 07:26
Su-Shee
.oO(tomorrow's accusation.. "you're so full of perl5-think...!" ;)
moritz_ and since $*OUT is a contextual variable, it's only overridden within the scope, no?
cbk Well I want to do it the perl 6 way
wayland76 Although it might also be possible to use $PROCESS::OUT
moritz_ or if I understood the scoping wrongly, you can still say 'temp $*OUT = open(...)'
wayland76 The perl6 way is to do { $*OUT=open("README", :w); say "foo"; close(); } say "hi"; 07:27
moritz_ (of course temp is NYI)
wayland76 The code I just wrote should put foo in README, and "hi" on terminal
moritz_ wayland76: that's what I meant too
wayland76 But I haven't tested it
cbk wayland76, I'll try it
wayland76 Yeah, I know that's what you means, but cbk didn't :)
s/means/meant/ 07:28
moritz_ rakudo doesn't do context vars yet
wayland76 cbk: moritz_ confirms that it doesn't work :)
So we have to do it the P5 way until we get more features :(
but pmichaud++ and jnthn++ for features so far :)
moritz_ indeed 07:29
compare rakudo today to what it used to be 6 months ago 07:30
wayland76 I'm waiting for LTM/protoregex before I do comparison 07:31
But the ROADMAP, which has less progress than expected, will probably get a big jump in the next few months 07:32
wayland76 I can hardly *believe* how slow Rakudo is :) 07:39
Not that I'm complaining -- features first, them optimise
But it's surprising :)
Matt-W Morning 07:41
Su-Shee wayland76: what's the reason btw for being slow?
moritz_ 1) missing optimizations 2) parrot 07:41
3) Perl 6 07:42
Su-Shee :)
cbk wayland76, looks like once you set $*OUT it will not go back to the terminal after you process the {} block. I even tried the S16 way with the temp on the front of it :(
Matt-W sounds like a bug 07:43
or possibly just the lack of temp
Matt-W tries to wrench his brain into Java mode 07:44
moritz_ lack of temp 07:45
it's NYI
same for contextual variables
cbk Matt-W, or maybe my lack of perl 6 foo
moritz_ no
it's really not yet done in Rakudo
don't blame yourself
cbk moritz_, ok but that should be worked on next. NFL season starts in September! 07:47
;)
tann NFL = Not Fully Lax P6? 07:49
wayland76 cbk: Yeah, moritz_ said it was broken, so you have to to it the P5-think way :)
moritz_ tann: Not (yet) Fundamentally Lazy Perl 6 :-) 07:50
wayland76 tann: As an Australian, I'm unsure, but if I had to guess, I'd suggest it might be some kind of sport reference
One of those things where you watch grown men grovel in the mud, fighting for posession of a pig's bladder 07:51
Some kind of primitive ritual :)
Matt-W wayland76: Isn't it rugby with armour? 07:51
moritz_ :-)
wayland76 Matt-W: Don't ask me. I'm from Victoria -- "Australian Rules Football" country :) 07:52
moritz_ spends two or three hours a weeking pushing a small white piece of plastic over a table, while somebody else tries to prevents me from doing it. Just as stupid, but -Ofun :-)
cbk wayland76, primitive ritual and pig's bladder.... lol 07:53
wayland76 Ok, this is getting silly. My grammar has been running for more than 10 minutes :)
moritz_ how large is the input text?
Matt-W moritz_: I spend about an hour a week propelling a small white hollow sphere over a net with a rubber-coated bat... and another couple of hours wearing a silly costume being repeatedly thrown across the room 07:54
moritz_: also -Ofun
cbk wayland76, but you forgotz the beer!
wayland76 1054 6754 46235 /usr/share/X11/xkb/symbols/us
cbk: Well, the beer isn't usually actually consumed on the field :)
wayland76 My Dad told me he once heard about a game of cricket told from an alien's point of view 07:55
Matt-W And that bit about the little red ball hitting the wicket, that's particularly tasteless.
wayland76 "The high priest took the crimson orb, and cast it along the centre of the temple to the chief acolyte
cbk well not in the NFL.... nothing to say you can't get a local game going and drink at the same time.
wayland76 etc :)
cbk wayland76, sounds cool! 07:56
wayland76 Food calls. Eating is also a primitive ritual, but I'm kinda attached to it :)
Matt-W wayland76: it's one of the best
wayland76 Matt-W: Are you saying it's from HHG2G?
If so, could you fill in cbk while I'm afk food? :) & 07:57
Matt-W wayland76: the from the alien's point of view thing isn't, but they had their own treatment of cricket
moritz_ llvm.org/Logo.html other projects have differenet logos :-) 09:40
I wonder if camelia will ride the dragon, one day :-) 09:41
sri_kraih wow, that dragon is acyually cool 09:51
ah...apple...
moritz_ aquool? :-) 09:52
pugs_svn r27815 | pmurias++ | [re-mildew] added for 10:37
jnthn hates incompetent peopel 10:47
*people
moritz_ hopes jnthn doesn't talk about the #perl6 crowd :-)
jnthn No
jnthn The idiots at the datacenter who decided to offer me a nice deal on a server upgrade, and have now managed to completely screw it up. 10:47
Matt-W :( 10:48
moritz_ idiots-- 10:50
pmurias figured out how to increase the number of tests mildew passes... implement the :P5 regex modifier ;) 11:04
mikehh rakudo (13ba2f3) builds on parrot r40377 - make test PASS/ make spectest (up to 27815) two tests FAIL - reported before - Ubuntu 9.04 amd64 11:07
t/spec/S12-enums/basic.rakudo - Parse errors: Bad plan. You planned 30 tests but ran 28 - fails with Method 'Num' not found for invocant of class ''
t/spec/S12-introspection/walk.t - Parse errors: Bad plan. You planned 10 tests but ran 4. - fails with Parameter type check failed; expected Any, but got Object for $class in call to block_86 (+ backtrace) 11:08
jauaor morning 11:40
pmurias ruoso: hi 12:35
pmurias ruoso: what parts of the module loading spec are we blocking on? 12:36
ruoso: we might make some educated guesses or flip some coins and do it anywat 12:37
* anyway
jnthn rakudo: class Foo { submethod BUILD { say "called" } }; Foo.new 12:49
p6eval rakudo 13ba2f: OUTPUT«called␤»
JimmyZ_ test? 12:55
colomon rakudo: say (1..20).max; 13:04
p6eval rakudo 13ba2f: OUTPUT«20␤»
colomon rakduo: my %a{1..20} = 1..20; say %a.keys.max; 13:06
ominous pause there... 13:07
or just mispelling.
rakudo: my %a{1..20} = 1..20; say %a.keys.max;
p6eval rakudo 13ba2f: OUTPUT«Statement not terminated properly at line 2, near "{1..20} = "␤in Main (src/gen_setting.pm:3363)␤»
colomon rakudo: my %a; %a{1..20} = 1..20; say %a.keys.max; 13:08
p6eval rakudo 13ba2f: OUTPUT«9␤»
colomon There! That's what I was looking for.
moritz_ colomon: rakudo stringifies the hash keys... 13:09
colomon: and for string based comparison '9' lt '10'
colomon Thought that must be it.
But it seems kind of an odd choice? Certainly wasn't what I was expecting, given that I explicitly used Ints as the keys. 13:10
moritz_ rakudo: say (+«<2 3 4>)>>.WHAT
p6eval rakudo 13ba2f: OUTPUT«say requires an argument at line 2, near " (+\x{ab}<2 3 4"␤in Main (src/gen_setting.pm:2467)␤»
moritz_ std: say (+«<2 3 4>)>>.WHAT
p6eval std 27815: OUTPUT«ok 00:03 39m␤»
moritz_ colomon: I think it's not specced that way, but I'm not entirely sure 13:11
colomon Should we pursue it or ignore it for now? 13:15
moritz_ you could read up what the spec says about the type of hash keys 13:17
colomon I don't see any obvious sign it is covered in the spec at all. 13:17
But I might not be looking in the right place.
moritz_ and if it allows any value types (and not just Str) then open a TODO bug report
S02 and S09 are the obvious places to look
colomon perlcabal.org/syn/S32/Containers.html#Hash
Oh, S32 not the obvious place to look?
moritz_ it's the third obvious place :-) 13:18
jnthn Hash keys are strings by default.
moritz_ where's that specced?
jnthn I forget, but I remember it being discussed and I'm pretty sure that was the outcome. 13:19
S02 as a first guess.
moritz_ ok
colomon "The key type of a hash may be specified as a shape trait--see S09." 13:20
That's all I see in S02 so far.
jnthn *nod*
It's in S09. 13:21
The standard Hash is just
my Any %hash{Str};
colomon rakudo: my %a{Str}; %a{1..20} = 1..20; say %a.keys.max;
p6eval rakudo 13ba2f: OUTPUT«Statement not terminated properly at line 2, near "{Str}; %a{"␤in Main (src/gen_setting.pm:3363)␤»
jnthn Though I hope it means Object rather than Any. :-)
moritz_ hopes that too 13:22
and I guess Hash isn't parametric yet?
jnthn "oh noes my hash assignment auto-threaded wtf?"
moritz_: No, not yet.
moritz_: We kinda fake it by mixing in Associative[::T]
colomon rakudo: my Str %a{Int}; %a{1..20} = 1..20; say %a.keys.max;
p6eval rakudo 13ba2f: OUTPUT«Statement not terminated properly at line 2, near "{Int}; %a{"␤in Main (src/gen_setting.pm:3363)␤»
jnthn But Hash (and Array and List) all need to become parametric roles at some point. 13:23
moritz_ jnthn: I'll fix the spec 13:24
colomon I still don't see anything that says that keys will be strings. Closest I've found is 13:25
"To declare a hash that can take any object as a key rather than just a string or integer..."
moritz_ 15:21 <@jnthn> The standard Hash is just
15:21 <@jnthn> my Any %hash{Str};
that's what tells you explicitly that it's Str 13:26
pugs_svn r27816 | moritz++ | [S09] standard hash defaults to Object for values
r27816 | moritz++ |
r27816 | moritz++ | We don't want to autothread on assignment to hash. jnthn++
Su-Shee back 13:27
moritz_ wb 13:28
Su-Shee we had a power outage/shortage/breakdownage today. not nice when you're a household filled with computers.. ;) 13:29
moritz_ bah 13:30
that's ugly 13:31
colomon moritz_: ah, yes, read right by that at least three times. sigh. but mystery explained, anyway! moritz_++ jnthn++ 13:33
pugs_svn r27817 | jnthn++ | [t/spec] Rename S14-traits/basic.t to variables.t to better indicate that its tests relate to traits on variables. Still not sure it's not somewhat bogus in places though. Also add routines.t, which has basic tests for traits being applied to routines. 13:38
pmichaud Good morning, #perl6 14:13
moritz_ oh hai pmichaud
Matt-W hi pmichaud 14:16
pmichaud (overriding $OUT, from backscroll): The correct mechanism is my $OUT is context = open(...) 14:17
that causes subsequent prints to go to the new value of $OUT, and it's lexically scoped. 14:18
(nyi in rakudo, of course)
moritz_ doesn't really understand contextual variables
pmichaud they're like environment variables in a shell :-) 14:19
moritz_ but when is a shell started? 14:20
pmichaud well, perhaps this helps
inside of the print() function, it writes values to $*OUT
what $*OUT means is "look outward through my callers' scopes until I find a contextual named $OUT, and use that"
so if a caller defines a new contextual $OUT, then that hides any other declarations of $OUT for the functions that it calls 14:21
so if I do
moritz_ and if I assign to $*OUT, then that's scoped to the next dynamic scope where it was declared? 14:22
pmichaud if you assign to $*OUT, you're changing it in the caller's scope where it was originally declared
dalek kudo: 5797a68 | jnthn++ | src/pmc/p6opaque.pmc:
Fix bug relating to submethod dispatch on a proto-object.
kudo: a100a60 | jnthn++ | src/builtins/guts.pir:
Ensure that proto-objects use the correct dispatcher, just like any other object.
kudo: 21cbaef | jnthn++ | t/spectest.data:
Add S14-traits/routines.t to spectest.data.
moritz_ and since $/, $_ and $! are declared implicitly in each block, { $_ = 3} leaves the outer $_ unchanged 14:23
rakudo: $_ = 4; { $_ = 8 }; .say 14:24
p6eval rakudo 13ba2f: OUTPUT«8␤»
moritz_ rakudo: $_ = 4; if 1 { $_ = 8 }; .say 14:24
p6eval rakudo 13ba2f: OUTPUT«8␤»
moritz_ rakudo: $_ = 4; sub f { $_ = 8 }; f(); .say 14:25
JimmyZ_ rakudo: say.^method.map({.name}).join(',');
p6eval rakudo 13ba2f: OUTPUT«4␤»
rakudo 13ba2f: OUTPUT«say requires an argument at line 2, near ".^method.m"␤in Main (src/gen_setting.pm:2467)␤»
JimmyZ_ rakudo: say.^method.join(',');
p6eval rakudo 13ba2f: OUTPUT«say requires an argument at line 2, near ".^method.j"␤in Main (src/gen_setting.pm:2467)␤»
JimmyZ_ rakudo: say('ss').^method.join(',');
p6eval rakudo 13ba2f: OUTPUT«ss␤Method 'method' not found for invocant of class 'ClassHOW'␤»
Jimmy_ .^method 14:27
rakudo: .^method
p6eval rakudo 13ba2f: OUTPUT«Method 'method' not found for invocant of class 'ClassHOW'␤»
Jimmy_ rakudo: $_ = 1; say .^method 14:28
p6eval rakudo 13ba2f: OUTPUT«Method 'method' not found for invocant of class 'ClassHOW'␤»
jnthn rakudo: $_ = 1; say .^methods 14:29
p6eval rakudo 13ba2f:
..OUTPUT«predsuccWHICHACCEPTSperlScalarabsStrintcharsrootsucreversekeysisaucfirstsubstrfmtbytespickevalfilejointrimchrfloorrandtruncateroundsortrindexsqrtsplitmatchgrepwordsvaluescanlcfirstComplexsrandpolarmapciskvsamecaselogmincapitalizemaxtransfirstflipIntdoesp5choplcsubstabselemschompend…
pmichaud (back to print) 14:30
consider the following from the view of the print function
Jimmy_ rakudo: $_ = 1; say .^methods
p6eval rakudo 13ba2f:
..OUTPUT«absScalarStrpredsuccWHICHACCEPTSperlreducesrandtrimreverseisa:dpolar:eucfirst:frandtruncatefmtfirsttranssortsqrtgrepsubstelemschompucindexchrpairssamecasesubstrflipdoescharscanlcfirstrootsComplexmapciscomblogminmaxbyteschoprindexIntvaluesabsendceilingp5chompkeysunpolarkvfloorordcap…
pmichaud print 'hello'; { my $OUT is context = open(...); print "data to file\n"; } print " world\n";
Jimmy_ say('ss').^methods.join(','); 14:31
rakudo: say('ss').^methods.join(',');
p6eval rakudo 13ba2f: OUTPUT«ss␤»
mikehh oops - in my earlier posts I used r40377 instead of r40337 for parrot 14:32
pmichaud the "prints" outside of the block see the global definition of $*OUT, so they send their output to the standard output. The print inside the block sees the local definition of $*OUT, so sends its data to a file.
moritz_ I understand that so far 14:33
Jimmy_ rakudo: say Any.^methods.join(',');
pmichaud in the case of $_, its definition is more like
moritz_ but is it correct that each block has an implicit my $_ is context<rw> etc?
p6eval rakudo 13ba2f:
..OUTPUT«1,1,uc,ceiling,p5chomp,unpolar,samecase,floor,1,ord,round,flip,1,does,split,1,words,srand,reverse,isa,1,ucfirst,comb,fmt,first,trans,chop,1,values,2,1,1,1,keys,chr,pairs,kv,capitalize,2,1,p5chop,lc,join,1,can,lcfirst,roots,1,reduce,trim,1,map,1,cis,1,1,min,rand,1,max,bytes,1,1,1,gr…
Jimmy_ what's 1?
pmichaud my $_ is context<rw> := OUTER::<$_> 14:34
Jimmy_ rakudo: say Any.^methods.perl
p6eval rakudo 13ba2f: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ...
..}, { …
pmichaud Jimmy_: the "1" come from Parrot MultiSub objects, they stringify to the number of multis in the object.
pmichaud wonders if changing that in Parrot would require a deprecation cycle. 14:35
Jimmy_ Will '1' be removed? 14:36
or 2
pmichaud moritz_: so, since $_ is initially bound to OUTER::<$_>, changing the value of $_ in an inner block is actually changing its value in the outer block
moritz_ Jimmy_: at some point soemthing more informative will be printed
rakudo: { 'a' ~~ /a/ }; say $/ 14:37
pmichaud Jimmy_: those will undoubtedly be converted into Perl6MultiSubs at some point (instead of Parrot MultiSubs), at which point they'll stringify properly to the name.
p6eval rakudo 13ba2f: OUTPUT«Use of uninitialized value␤␤»
moritz_ pmichaud: is it different for $_ and $/?
pmichaud currently a pattern match *binds* the value of $/, it doesn't assign to it 14:38
moritz_ oh.
rakudo: { $/ = 'foo' }; say $/
p6eval rakudo 13ba2f: OUTPUT«foo␤»
Jimmy_ pmichaud: thanks. that's good to expect.
moritz_ then rakudo seems sane here
pmichaud I'm not entirely certain that binding is the correct behavior... but at some point I was led to believe that binding was correct. 14:39
moritz_ rakudo { $_ := 4 }; .say
rakudo: { $_ := 4 }; .say
p6eval rakudo 13ba2f: OUTPUT«Use of uninitialized value␤␤»
moritz_ rakudo++ # being consistent 14:40
hah rakudo: my $s = "ab"; $s ~~ /(a)/ and say ~$0; $s.match(/(b)/) and say ~$0; 14:42
p6eval rakudo 13ba2f: OUTPUT«a␤a␤» 14:43
KyleHa Hello #perl6!
Jimmy_ Hello KyleHa
POD ERRORS at the end of perlcabal.org/syn/S32/Containers.html#Hash 14:44
pmichaud hah: I'm guessing .match needs to set $/. Right now we have ~~ doing it (which is likely wrong) 14:48
PerlJam good morning #perl6 14:58
pmichaud Good morning, PerlJam 14:59
pugs_svn r27818 | kyle++ | [t/spec] eval_dies_ok was passing for the wrong reason 15:00
PerlJam pmichaud: I heard on the radio this morning that you're going to get (or already got) some nasty weather today. 15:02
pmichaud already got
quite a lightning storm overnight
KyleHa rakudo: sub foo { my $a = 5; say $^a; }; foo(3); 15:04
p6eval rakudo 21cbae: OUTPUT«5␤»
KyleHa Should that say 3 or just die? 15:05
pmichaud should probably be a redeclaration error.
PerlJam there should be a redeclaration warning there
pmichaud 3 would definitely be wrong.
KyleHa Right now "{$foo; $^foo}(1)" lives, but the spec test expects it to die.
So the definition of 'sub foo' up there should die too? 15:06
PerlJam I think the spec test is wrong to expect death.
redeclarations should only die in the presence of "use fatal"
(or some such)
KyleHa I turn to S06 for guidance. 15:08
KyleHa S06 is silent on the matter, at least in the placeholder section I read. 15:10
moritz_ rakudo: {$foo; $^foo}(1)
p6eval rakudo 21cbae: ( no output )
moritz_ that one should die, IMHO
KyleHa: ask p6l.
KyleHa Good idea. Thank you. 15:11
PerlJam moritz_: why should it die?
moritz_ because $foo is not declared.
PerlJam It should fail, certainly. But not die.
moritz_ std: {$foo; $^foo}(1)
p6eval std 27817: OUTPUT«Potential difficulties:␤ Variable $foo is not predeclared at /tmp/S0clLF1kP7 line 1:␤------> {$foo⏏; $^foo}(1)␤ok 00:02 37m␤»
moritz_ compile time error, even
std: {$^foo; $foo}(1) 15:12
p6eval std 27817: OUTPUT«ok 00:02 37m␤»
PerlJam Hmm. So blocks don't get the implicit signature until the placeholder is parsed?
moritz_ std: { $^foo; my $foo }
p6eval std 27817: OUTPUT«Potential difficulties:␤ Useless redeclaration of lexical variable $foo at /tmp/n4g8hoV7fJ line 1:␤------> { $^foo; my ⏏$foo }␤ok 00:02 37m␤»
moritz_ PerlJam: once you mention $^foo, $foo is implicitly declared
PerlJam moritz_: maybe the spec could be improved slightly by saying those exact words somewhere closer to the top of section on placeholders. 15:17
moritz_ PerlJam: feel free to add them 15:17
moritz_ the spec is not a holy cow only to be touched by the sacred shepherds 15:18
jnthn
.oO( where I come from the shepherds herd sheep ;-) )
15:20
PerlJam heh
pmichaud jnthn: traveling tomorrow? 15:20
jnthn pmichaud: Yes
pmichaud: Night.
pmichaud Me too. All day. 15:21
as in *all day*
jnthn well, you have got a little further to come ;-)
moritz_ pre-yapc?
PerlJam YAPC::EU?
jnthn Yes.
Jimmy_ rukudo: use v5; say 'hello';
rakudo: use v5; say 'hello';
p6eval rakudo 21cbae: OUTPUT«Can't find ./v5 in @*INC␤in Main (src/gen_setting.pm:445)␤» 15:22
moritz_ v5.pm is going to be a curious module.
jnthn pmichaud: Where are you staying?
jnthn is at Hotel Alif
Jimmy_ rakudo: say rand 15:26
p6eval rakudo 21cbae: OUTPUT«0.148975009172322␤»
BinGOs He is at the Radisson SAS according to yapceurope2009.org/ye2009/wiki?node...ayingWhere 15:27
jnthn ah, ok
Fancy! ;-)
BinGOs I booked there because the Alif was supposedly full. 15:28
It appears to be the 'official' Birmingham.pm hotel as well >:) 15:29
pmichaud also, the Radisson appears to be much closer to the venue :-) 15:30
(I booked there because the Alif was full also)
jnthn pmichaud: I expect I'll spend Saturday looking around Lisbon a bit. 15:31
pmichaud: I guess you'll spend some of it asleep. ;-)
pmichaud jnthn: perhaps. I'm thinking about crashing szagab's Perl 6 training course, though :-)
jnthn Ah, that's on Sat? 15:32
OK. :-)
pmichaud Sat + Sun, I think.
I'm eager to see how much NQP+PGE work I can get done tomorrow, too. I have a *long* layover in Newark.
and the Newark->Lisbon flight is powered. 15:33
jnthn Did you manage any so far this week, or too many @distraction?
pmichaud I did some planning, but not coding yet. A few @distractions.
Also I've been working on getting the "make install" stuff in place.
jnthn *nod*
Planning is good. 15:34
moritz_ pmichaud: it seems that the sun compiler issue is not ins2-related
pmichaud moritz_: there are a couple of sun compiler issues.
moritz_ I can take a look at updating the instructions in README in the ins2 branch, if that would be any help
pmichaud that would be a big help, yes. 15:35
I'm trying to decide when I should merge ins2 to master.
moritz_ merge early, merge often :-)
it's the only way to get some serious testing
pmichaud well, this merge has the potential to change the way people have been working
PerlJam change how? 15:36
pmichaud well, it would no longer be running from the parrot/ subdir
the basic instructions remain the same "perl Configure.pl --gen-parrot" 15:38
but if you're used to doing "rm -rf parrot/" to get rid of the current copy of parrot, that's no longer the case.
moritz_ where does --gen-parrot install to?
pmichaud parrot_install
PerlJam Given that we're all early adopters I don't think most people will mind change too much as long as they're given a heads-up on it. :) 15:39
moritz_ proto might have to change
but if you buy masak++ a beer at yapc he'll forgive you :-)
jnthn pmichaud: So we'll just build with --gen-parrot, and get a Parrot tree somewhere, and then an install tree somewhere?
pmichaud jnthn: yes
parrot tree is ./parrot
install tree is ./parrot_install
jnthn Right, so I'd still have a Parrot tree I can work against if need be. 15:40
pmichaud yes.
jnthn Just need to make sure I make install to see the changes in Rakudo?
Rather than just make?
pmichaud but you have to be sure to do "make install-dev"
jnthn ah, install*-dev*.
moritz_ then the new invocation is just 'rm -rf parrot parrot_install'
jnthn OK.
But anyway, sounds fine to me. 15:41
pmichaud okay. I may do the merge after lunch then. 15:42
(in about 2 hrs)
jnthn ok
KyleHa Hey, I think I made it past the half way point on my list of tickets! 15:51
Of course, my list is out of date... 15:52
...and I've skipped more than a couple due to various inadequacies.
Still, I'm pretty happy.
moritz_ is pretty happy about that too 15:59
KyleHa Rt 64574 has a patch that can't be applied anymore. 16:00
pmichaud std: { my $a; say $^a; }
p6eval std 27818: OUTPUT«Potential difficulties:␤ Useless redeclaration of lexical variable $a at /tmp/2kV47jatWr line 1:␤------> { my $a; say ⏏$^a; }␤ok 00:02 37m␤»
Jimmy_ rakudo: audience 16:25
p6eval rakudo 21cbae: OUTPUT«Could not find non-existent sub audience␤»
Jimmy_ rakudo: { my $a; say $^a; }
p6eval rakudo 21cbae: OUTPUT«Use of uninitialized value␤␤»
Jimmy_ rakudo: { my $a; say $a; } 16:27
p6eval rakudo 21cbae: OUTPUT«Use of uninitialized value␤␤»
Jimmy_ rakudo: my $a; say $a;
p6eval rakudo 21cbae: OUTPUT«Use of uninitialized value␤␤»
KyleHa I just dropped my CLA in the mail to TPF. Off to lunch. 17:03
dalek ok: 4c37cca | (Hinrik Örn Sigurðsson)++ | (2 files):
Assume Pod 6 is in UTF-8
18:27
ok: 873b563 | (Hinrik Örn Sigurðsson)++ | (2 files):
Update to match Perl6-Doc 0.44
KyleHa perl6: class D is ::C {}; 18:38
p6eval rakudo 21cbae: OUTPUT«Null PMC access in isa()␤in Main (/tmp/pbFtLIvemS:2)␤»
..pugs: ( no output )
..elf 27818: OUTPUT«Parse error in: /tmp/YgIJ3Xkn7U␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: class D is ::C {};␤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.rb:210:…
KyleHa std: class D is ::C {}; 18:40
p6eval std 27818: OUTPUT«ok 00:02 36m␤»
KyleHa Really? Is that legal? Is there something implied to be on the left of the :: there? 18:41
literal maybe to disambiguate in case you have: class C { }; class B { class C { }; class D is ::C {}; } 18:43
or something
jnthn Generally, writing ::C introduces a new type. 18:44
Apart from...it doesn't actually get bound anything.
KyleHa So by saying that, it's introducing a new type that could be defined/declared later? 18:45
I just want to know if it's supposed to live or die so I can test it. 8-)
jnthn Yeah, but your later declaration would I guess we too late. 18:46
erm, definition.
KyleHa Right now Rakudo gives a NPMCA, so I know it's wrong... 18:46
PerlJam KyleHa: see S02:1620
KyleHa Perljam: Will do, thanks.
jnthn Aye, I suspect in this case it should give a "WTF are you doing?" error. :-) 18:47
PerlJam I don't know if that helps though :)
Well, read S02 anyway :)
KyleHa I think I'll leave it as 'dies'. 18:48
jnthn Or perhaps nicer is a "trying to inherit from a non-existent class" or something.
PerlJam jnthn: if that type had been bound earlier, would it have worked properly? :) 18:49
jnthn PerlJam: Sure, but then you'd have just written the type name, not a binding, I guess.
Consider sub foo(T $x) { } and sub foo(::T $x) { } 18:50
PerlJam oh, right.
yeah, a WTF error seems appropriate for class Foo is ::Bar; 18:51
jnthn As a general note, also remember that STD checks syntax, not semantics, genreally.
So while it may say "yes I can parse class Foo is ::Bar", it may later say "huh, no" in a semantic check.
(In a compiler rather than just a parser) 18:52
KyleHa Right. I figured if it barfed, I'd know 'dies' is right, but it didn't, so I was still unsure.
pugs_svn r27819 | kyle++ | [t/spec] Test for RT #64642 18:53
jnthn -> food 18:55
PerlJam munches on some pecans 18:58
pugs_svn r27820 | kyle++ | [t/spec] Tests for RT #64688 19:22
pugs_svn r27821 | moritz++ | [t/spec] unfudge three passing tests for rakudo 20:12
masak oh hai from Lisbon! 21:07
moritz_ oh hai to lisbon!
masak \o/
I've just witnessed the quickest sunset in my life. 21:08
they've apparently optimised the process here in the south.
moritz_ never been that far south before?
masak well yes, but never in the evening :) 21:09
pmichaud I'll be heading to lisbon tomorrow. Will arrive on Sat. 21:10
moritz_ I can very much recommend to get a git-svn copy of the parrt repo first ;-) 21:11
pmichaud oooh, maybe I should figure out how to do that, yes.
it would be easier to work from git than svn.
jnthn masak: Ooh, I'm heading there tomorrow night. ;-) 21:12
pmurias moritz_: there's no wi-fi in lisbon? ;)
moritz_ much easier offline, right
masak this place has a lot of emotion, compared to Sweden.
moritz_ pmurias: there'll be no on the flight, I guess
masak both happiness and some sadness.
pmichaud especially since I hope to be able to do lots of new stuff while in transit.
it would be nice to create branches quickly.
and do intermediate commits.
jnthn masak: Well, Sweden always feels to me like this amazing picture of calm. :-)
moritz_ pmichaud: I can give you a copy with complete history, that's much faster to copy than to check it out yourself
masak jnthn: we're calm, because our default reaction is stalling. :) 21:13
pmichaud right now my notebook is busy installing a vm copy of fedora11
pmichaud oh, wait, I can do it 21:13
moritz_ I'll need a few minutes to upload it anyway
pmichaud okay
is it just "git-clone", or do I do something else?
moritz_ I'll give you a tar ball
because I'd have to publish all branches manually 21:14
pmichaud right.
moritz_ to make them available to a git-clone
which kinda sucks
pmichaud tarball should be fine
pmichaud (ugh, setting up a fedora box is just as painful as I remember it being a couple of years ago) 21:15
masak is it a good idea to set the computer clock to the local timezone? 21:16
pmichaud I never seem to run into problems with it. 21:17
masak sets
pmichaud For server boxes I tend to make the hardware clock be UTC. 21:18
moritz_ I do that for my home boxes too
pmichaud For my desktop/notebook boxes I just follow the defaults. 21:18
moritz_ but I do set the timezone to $here
pmichaud (setting the timezone to the appropriate place)
masak hour--
moritz_ is Lisbon in GMT + 1 hour DST right now? 21:19
mikehh rakudo (279abf9) builds on parrot r40348 - make test PASS/ make spectest (up to 27821) same two tests FAIL - Ubuntu 9.04 amd64
t/spec/S12-enums/basic.rakudo - Parse errors: Bad plan. You planned 30 tests but ran 28 - fails with Method 'Num' not found for invocant of class ''
t/spec/S12-introspection/walk.t - Parse errors: Bad plan. You planned 10 tests but ran 4. - fails with Parameter type check failed; expected Any, but got Object for $class in call to block_86 (+ backtrace)
pmichaud google says that current lisbon time is 22:19
so that's GMT + 1
jnthn Lisbon is afaik same time zone as UK 21:20
mikehh me time(zone) as where I am - Aberdeen, Scotland
masak jnthn: yes, seems so.
jnthn So 1 hour different from much of the rest of western/central Europe.
mikehh that should have been same 21:21
pmichaud google says current time in uk is 22:20
moritz_ auld Aberdeen - it's been quite some time since I last saw that...
pmichaud mentally notes that Lisbon is +6h from Dallas, for reference when calling home 21:22
mikehh been here (mostly) for the last 4 years
moritz_ it's there that I heard some of the most incomprehensible "English" ever ;-) 21:23
mikehh dunno - I was in Glasgow for about 6 months in 2001 21:24
masak for some reason, I kinda like this comment: use.perl.org/comments.pl?sid=43492&cid=69796 21:39
if for nothing else, slanning is very honest about his reaction to seeing Perl 6 code. :)
payload masak: line 5 in this gist gist.github.com/158336 could be also when / ...... / { 21:57
masak payload: yes, sure. 22:00
but for various small reasons, I'd stick with 'if'.
I also think that in real Perl 6.0.0, the '$_ ~~' shouldn't be needed in the 'if' test. 22:01
just that Rakudo doesn't implement that yet.
moritz_ that's wrong.
masak oh!
I feel I'm about to learn something. 22:02
moritz_ 'when' implies smart matching. I've never read that 'if' does the same
payload ^^
masak moritz_: regexes in bool context auto-match against $_ ...
I vividly recall discussing that with pmichaud.
it's really useful in 'grep' blocks, for example. 22:03
moritz_ yes, but that's not related to 'if' any way 22:04
afaict
masak both induce bool contexts.
moritz_ yes 22:05
masak hm, t/spec/S32-list/grep.t doesn't seem to prove my point.
moritz_ but if 'foo' { say "bar" } always says bar, not only if $_ is also 'foo'
masak neither does t/spec/S04-statements/if.t, it seems... 22:06
moritz_: nono, what I'm talking about just goes for boolified regexes.
when regexes boolify, they match against $_ 22:07
moritz_ pmichaud: moritz.faui2k3.org/tmp/parrot-all-r40349.tar.gz is the parrot git-svn tar ball
payload rakudo: $_ = 4; say( /4/ ?? True !! False ); $_ = 2; say( /4/ ?? True !! False )
p6eval rakudo 21cbae: OUTPUT«1␤0␤»
masak there, it works, for some reason.
in my script, it didn't.
moritz_ don't you have the regex in $_?
masak no.
I have a line of input in $_. 22:08
moritz_ maybe there's a difference between regex objects, and /.../ or m/.../ objects
s/objects/constructs/
masak that might be it.
moritz_ rakudo: $_ = 4; my $r = rx/3/; say ?$r 22:09
p6eval rakudo 21cbae: OUTPUT«0␤»
masak rakudo: m/^/
p6eval rakudo 21cbae: ( no output )
masak moritz_: overall, Rakudo seems to conform to the behaviour I'm decribing.
but not in the particular case of my script. 22:10
rakudo: for $*IN.lines() { say .substr(0,1) }
p6eval rakudo 21cbae: OUTPUT«L␤L␤L␤H␤V␤v␤v␤␤H␤l␤e␤H␤h␤v␤v␤␤M␤f␤a␤E␤V␤v␤v␤» 22:10
moritz_ say $*IN.lines>>.subst(0,1) 22:10
say $*IN.lines>>.substr(0,1) 22:11
masak rakudo: for $*IN.lines() { if /^[L|a]/ { say .substr(0,1) } }
moritz_ rakudo: say $*IN.lines>>.substr(0,1)
ETOOLATE
p6eval rakudo 21cbae: OUTPUT«L␤L␤L␤a␤»
rakudo 21cbae: OUTPUT«LLLHVvvHleHhvvMfaEVvv␤»
masak rakudo: say $*IN.lines>>.substr(0,1)>>.sort
p6eval rakudo 21cbae: OUTPUT«LLLHVvvHleHhvvMfaEVvv␤»
moritz_ try .sort
masak hm.
ah.
rakudo: say $*IN.lines>>.substr(0,1).sort 22:12
p6eval rakudo 21cbae: OUTPUT«EHHHLLLMVVaefhlvvvvvv␤»
masak too much >>
I think I'll go find a shower now. you guys take care. 22:13
payload rakudo: my $n = 0; for $*IN.lines() { if /L/ { $n++ } }; say $n 22:15
p6eval rakudo 21cbae: OUTPUT«4␤»
jnthn Is method postcircumfix:<[ ]>(*@@slice --> T) { ... } the correct sig? 23:06
literal what is T ? 23:31
[particle] pmichaud: what's wrong with using the full 8 digit date? 23:48
pmichaud it's a bit more detail than I'd like.
We could do that. Feel free to propose it on the list :-) 23:49
dalek kudo: a53a1cd | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 423 files, 12114 passing, 8 failing

   S12-enums/basic.rakudo aborted 2 test(s)
   S12-introspection/walk.t aborted 6 test(s)