perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/
Set by mncharity on 25 March 2009.
00:11 patmat left 00:12 payload1 joined, c9s_ is now known as c9s 00:13 payload left 00:14 payload1 left, payload joined 00:16 dukeleto left 00:25 nbrown_ joined 00:28 eternaleye_ joined 00:29 eternaleye left 00:43 nbrown left, nbrown_ is now known as nbrown, dukeleto joined 00:54 fridim_ left 00:58 nbrown left, nbrown joined 01:01 dukeleto left 01:23 Limbic_Region left 01:33 cognominal joined 01:42 payload1 joined, payload left, payload1 left, payload joined 01:44 payload1 joined 01:45 payload left 01:48 Diederich joined 01:53 payload1 left, payload joined 01:57 DemoFreak left 02:02 nacho_ joined 02:04 jhorwitz_ joined 02:06 nihiliad left 02:13 justatheory joined 02:14 Whiteknight left 02:18 jhorwitz_ left 02:20 jhorwitz left 02:34 c9s left, c9s joined 02:46 nacho_ left 02:48 Ehtyar left, payload left
pugs_svn r26623 | hinrik++ | [S26] Let's eat some more of our own dog food by using semantic Pod blocks where we can 03:20
03:24 dalek left, dalek joined
literal hah, "Camelia, the Perl 6 bug" 03:24
03:45 orafu left 03:46 orafu joined 04:21 dduncan left 04:30 justatheory left 04:43 c9s left 04:55 skids left 05:09 dukeleto joined 05:10 MariachiElf left 05:21 dukeleto_ joined 05:32 dukeleto left 05:43 Casan left 05:47 justatheory joined 05:54 octagon_ joined 05:56 octagon_ left 06:54 abra joined 07:27 meppl joined 07:37 iblechbot joined 07:45 amoc joined 08:10 M_o_C joined 08:32 payload joined 08:39 cognominal left 08:43 DemoFreak joined 09:03 cognominal joined 09:07 H1N1 joined 09:08 kane__ joined 09:10 Jedai left 09:23 kane_ left 09:37 DemoFreak left 09:52 abra left 10:04 Meijito joined
Meijito Hi. I need that my $g will be with numbers. I need $g1, $g2, $g3. I tried to do -variable => \$g$i, but it not works. Any idea how put $i (numbers) to $g? 10:05
I don't know how, but I remember that it's posssible in some wias to do that. 10:06
10:07 sri_kraih_ joined, Eevee joined 10:15 sri_kraih left
pasteling "HeartQuake" at 85.232.150.110 pasted "My Codee" (14 lines, 655B) at sial.org/pbot/36343 10:27
Meijito mhmh
this is my source
:)
11:04 payload left 11:15 Meijito left 11:16 fridim_ joined 11:45 jhuni left, payload joined 11:50 c9s joined 12:24 clkao left, clkao joined 12:35 clkao left 12:36 clkao joined
pugs_svn r26624 | ron++ | annotate skip for existing test with matching RT #53804 (not appearing elsewhere) 12:47
12:50 amoc left 12:55 patmat joined, amoc joined
patmat hey! while making some examples in perl6 i found something 12:56
www.pastie.org/466633 12:57
is this normal?
12:57 amoc left 12:58 nihiliad joined 13:00 skids joined
pugs_svn r26625 | ron++ | standardize format of RT identification on one test 13:02
patmat hm seems like everyones idle!
www.pastie.org/466633 13:04
arnsholt patmat: It has to be: "}; say $zahl;" 13:10
I can't remember exactly why, but if you want a new statement straight after closing a block, you need the ; 13:11
patmat oh... a bit annoying, should be fixed right? 13:13
because it's just ugly :) 13:15
13:19 pmurias joined
pmurias hi 13:19
lambdabot pmurias: You have 1 new message. '/msg lambdabot @messages' to read it.
pmurias duplicated lambdabot messages are annoying 13:20
13:36 xinming_ joined 13:39 rblasch joined 13:40 Limbic_Region joined
skids pmurias: @clear to lambdabot 13:41
13:41 xinming left 13:55 payload left 13:57 c9s_ joined 13:58 c9s left 14:06 ZuLuuuuuu joined 14:08 xinming_ is now known as xinming
pmurias lambdabot: @clear 14:12
lambdabot Messages cleared.
pmurias perl6: my $foo;say $foo; 14:14
p6eval rakudo d4a0b3: OUTPUT«Use of uninitialized value␤␤»
..elf 26625, pugs: OUTPUT«␤»
pmurias perl6: my $foo = False;say $foo; 14:15
p6eval elf 26625: OUTPUT«False␤»
..rakudo d4a0b3: OUTPUT«0␤»
..pugs: OUTPUT«␤»
14:17 SamB left 14:19 amoc joined
pmurias [ 14:20
pugs_svn r26626 | pmurias++ | [re-smop]
r26626 | pmurias++ | ported over Array
r26626 | pmurias++ | added .true to idconst
r26626 | pmurias++ | [re-mildew]
r26626 | pmurias++ | say calls .Str on each of it's arguments
14:24 SamB joined 14:27 amoc left 14:33 LylePerl left 14:35 Jedai joined 14:38 amoc joined 14:44 abra joined 14:54 mankash left 15:08 patmat left
pugs_svn r26627 | pmurias++ | [re-smop] add missing files 15:10
15:11 H1N1 is now known as H1N1[A] 15:13 alester joined 15:16 justatheory left 15:37 pmurias left, pmurias joined
skids ow tragic soda spill fail 15:42
trac.parrot.org/parrot/ticket/636 <-- /me swats parrotbug 15:43
Should make it safe to reduce INITIAL_BUCKETS to 4 when applied 15:44
turned out not to be a race after all -- weird the failures were so spurious
15:48 M_o_C left 15:49 aindilis left 15:56 Psyche^ joined 15:57 striccio61 joined, striccio61 left 16:04 AzureStone_ left 16:13 Patterner left, Psyche^ is now known as Patterner 16:22 AzureStone joined 16:26 DemoFreak joined 16:29 ejs left 16:46 ejs joined 17:11 pmurias_ joined 17:13 eMaX left
moritz_ re 17:17
literal hi 17:23
17:25 pmurias left
moritz_ literal: how's your community bonding time going? ;-) 17:26
literal alright, I suppose
github.com/hinrik/grok/tree/master
just pushed some stuff
moritz_ nice 17:27
code binds strongly ;-) 17:29
literal true
17:31 PhatEddy joined
PhatEddy rakudo: my %s=%*ENV; say %s<PATH> 17:34
p6eval rakudo d4a0b3: OUTPUT«/usr/local/bin:/usr/bin:/bin:/usr/games␤»
17:34 pmurias_ is now known as pmurias
PhatEddy I'm looking at an RT that looks basically fixed (RT #57400). There is already a test but it's in a file under spec that isn't under spectest. What to do? 17:36
ok - if there is no objection to my explaining the situation and location of the test in my reply to the rt - that's what I'll do 17:45
s1n PhatEddy: i'm not so sure that's fixed 18:02
PhatEddy I could do a more elaborate example here but am leery of dumping the environment - why do you think it's still broken? 18:03
s1n rakudo: %*ENV<PATH> = 'yay'; %*ENV<PATH>.say
p6eval rakudo d4a0b3: OUTPUT«/usr/local/bin:/usr/bin:/bin:/usr/games␤»
s1n assignment and binding are not working
pmichaud even said a few days ago that ENV is still mostly broken 18:04
irclog.perlgeek.de/perl6/2009-04-28#i_1098698 18:05
i'd personally like to see that ticket stay open until i can manipulate ENV as i would expect 18:06
18:06 kirillm_ joined
PhatEddy certainly ... 18:07
18:08 justatheory joined 18:11 abra left
jnthn hi all 18:12
jnthn is back from his day trip to Trnava
moritz_ hi jnthn, hi all 18:13
I see a few failures in spectest 18:14
I have local modifications, but they seem innocent
jnthn moritz_: What in?
moritz_ t/spec/S03-operators/p5arrow.t
Failed test: 3
t/spec/S03-operators/range.t, 45-48 18:15
jnthn let me pull and try it
moritz_ t/spec/S09-subscript_slice/slice.t, wait status 11 (segfault; has been doing that for a week now)
t/spec/S32-container/zip.t, 11-12
18:16 justatheory left
jnthn moritz_: t/spec/S09-subscript_slice/slice.t - I have been seeing a segv here too. 18:17
pugs_svn r26628 | moritz++ | [t/spec] tests for external aliases in regexes
r26629 | moritz++ | [t/spec] external array aliases in regexes
r26630 | moritz++ | [t/spec] basic tests for :keepall modifier
r26631 | moritz++ | [t/spec] custom backslash rules in regexes
r26632 | moritz++ | [t/spec] basic custom traits
r26632 | moritz++ |
r26632 | moritz++ | Needs review rather badly
jnthn yay traits test :-) 18:18
pugs_svn r26633 | moritz++ | [t/spec] roles are now in S14
jnthn And ay for doing that move. :-)
pugs_svn r26634 | moritz++ | [t/spec] test for parameterized mixin
r26635 | moritz++ | [t/spec] s/_/-/g in some file names
r26636 | moritz++ | [t/spec] README: section about CWD in test files
r26637 | moritz++ | [t/TASKS] update; [t/spec] default block parameter type is Object
r26638 | moritz++ | [t/TASKS] fix fudge or harass TimToady
jnthn test for parameterized mixin - didn't we have a whole file of those? :-)
pugs_svn r26639 | moritz++ | [t/spec] prefix:<int> is gone 18:19
r26640 | moritz++ | [t/spec] basic tests for `lift' statement prefix
r26640 | moritz++ |
r26640 | moritz++ | Needs review very badly, I don't know if I understood it correctly
r26641 | moritz++ | [t/spec] more tests for lift
r26642 | moritz++ | [t/spec] test lifting of variables
r26643 | moritz++ | [t] move non-dotted-new-disallowed.t to spec/integration
r26644 | moritz++ | [t/spec] unfudge uc.t for Rakudo
literal moritz++ 18:20
jnthn wow
moritz_ I did some work at home
jnthn moritz++ indeed
moritz_ git++
and now git-svn did its job
literal oh yeah, git++ as well
moritz_ jnthn: I've added a test file for traits (S14-traits/basic.t), and I would appreciate some review, if you have time 18:22
(since you proposed to implement traits I guess you've looked that the synopsis already)
but I'm really not sure if I understood that correctly
jnthn moritz_: I'll review them sometime in the not too distant future for sure. 18:23
moritz_: In your email
sub f (lift $a + $b);
Did you mean {...}
dalek kudo: rcddb162 | ((Moritz Lenz))++ | t/spectest.data:
t/spectest.data: passing integration test, #icu marker for uc.t
kudo: rf68de36 | ((Moritz Lenz))++ | docs/ChangeLog:
[docs] typo (vim-o?) in ChangeLog
kudo: re486ca5 | ((Moritz Lenz))++ | tools/ (2 files):
[tools] fix reading of spectest.data
18:24
kudo: rd5a8940 | ((Moritz Lenz))++ | t/spectest.data:
track moved test files (S12-role -> S14-roles)
moritz_ jnthn: I did
jnthn std: sub f (lift $a + $b);
p6eval std 26644: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/ut34vcR9UK line 1:␤------> sub f (lift $a + $b);␤ expecting any of:␤ parameter␤ signature␤ type_constraint␤ typename␤ whitespace␤FAILED 00:02 37m␤»
18:25 PhatEddy left
moritz_ stupid typo/thinko 18:25
18:26 masak joined
masak good Whatever, #perl6 18:27
18:28 kirillm__ joined
jnthn oh hai masak 18:29
masak jnthn: hello. how's everything going?
18:31 justatheory joined
jnthn masak: Just fine. Made a little trip to Trnava today to relax a bit. 18:31
masak nice.
jnthn Ate way too much Slovak nom.
18:31 patmat joined
masak I know the feeling. 18:31
I've been celebrating a friend's 30th birthday this weekend. ate way too much moose pie. 18:32
jnthn Mmm. :-) 18:33
masak indeed.
moritz_ moose pie? 18:34
jnthn use Moose;
;-)
masak moritz_: from a moose he'd shot himself, no less.
jnthn masak: I didn't ever eat moose. I can only guess it might be a little like yak. 18:35
s1n moose pie? sounds like cow patty :/
masak jnthn: I'll confirm or deny this as soon as I've eaten yak.
18:36 eternaleye_ left
masak s1n: comparing it to cow patty doesn't do it justice by far... 18:36
18:36 eternaleye joined
s1n still doesn't sound appealing 18:36
masak well, it was. I had way too much seconds, and got caught by surprise by dessert. 18:37
anyway, I spent most of today getting back to my home town today. the bus companies made sure, like only they can, that the first bus was late, and the second one on time. :/ 18:38
jnthn masak: So did you outsourced your bus service to a UK railway company, or did the UK outsource its railway service to a Swedish bus company? :/
jnthn had numerous stories like that from the UK railway network when he lived there 18:39
masak jnthn: I'm not sure public transport incompetence is limited to the UK.
jnthn: that said, there's no such thing in Sweden as "the wrong sort of snow" :P
there is, however, "leaf slippage" :/ 18:40
jnthn Huh? Leaves are a common excuse in the UK too!
They even spent money on an ad compaign about why it's such a hard problem. 18:41
18:41 kirillm_ left
masak anyway, once the bus company realised what they had done today, they tried to bribe me complacent with a gift card. I accepted, since I wasn't that inconvenienced anyway. 18:42
18:52 amoc left
moritz_ rakudo: say $*IN.get() 18:54
p6eval rakudo cddb16: OUTPUT«␤»
moritz_ evalbot control restart
18:54 p6eval left
masak moritz_: oh hai. 18:54
18:55 p6eval joined
masak moritz_: I can't understand why my Austrian national anthem doesn't work... 18:55
rakudo: say $*IN.get()
p6eval rakudo cddb16: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!Heiß umfehdet, wild umstrittenliegst dem Erdteil du inmitten,einem starken
..Herze...
masak hey, was it that easy? :)
moritz_++
moritz_ no, it was not
it should read them as separate lines 18:56
what about a simple anthem.txt and a shell redirect?
masak moritz_: that was actually my next question...
moritz_: well, that works, I guess.
moritz_: but I'm curious why this doesn't.
moritz_ it's a rakudobug actually 18:58
rakudo: say $*IN.lines(1)
p6eval rakudo cddb16: OUTPUT«Land der Berge, Land am Strome,␤»
masak moritz_: one that having an external file would fix?
moritz_ no
it's get() which still has the magic context dependent behaviour 18:59
masak moritz_: I'm neither for or against moving it into an external file.
moritz_ when it was s/readline/get/ in the spec I did the same in rakudo
which was not really correct, but a quick 80%-fix
masak: whatever works for you
masak moritz_: not sure I understand by your explanation what's wanting with .get 19:01
do I understand you correctly that an easy fix was applied in the s/readline/get/ shift, and that a bug persists until a slightly more involved fix is applied? 19:02
jnthn moritz_: Confirm all the failures you saw.
moritz_ masak: yes. currently .get returns all lines in list context, it should return always just one
jnthn IOIterator needs to die. 19:03
masak moritz_: ok, gotcha.
moritz_ there were so many commits since Thursday that I can't say what broke it 19:05
not without bisecting
skids jnthn: it should be safe to try INITIAL_BUCKETS=4 if you apply parrot trac#636 19:06
(or anyone, I'd be interested in results from other machines) 19:07
jnthn rakudo: (1 p5=> 2).WHAT.say 19:08
p6eval rakudo cddb16: OUTPUT«List()␤»
jnthn rakudo: say (1 p5=> 2) ~~ Pair
p6eval rakudo cddb16: OUTPUT«0␤»
jnthn rakudo: say (1 p5=> 2) !~~ Pair
p6eval rakudo cddb16: OUTPUT«1␤»
masak what's the difference between C<,> and C<< p5=> >> ? 19:09
jnthn masak: in theory, nothing
moritz_ masak: autoqutoiing on the LHS
jnthn rakudo: sub whatever { say @_.perl }; whatever('a' p5=> 'b', 'c' p5=> 'd'); 19:10
p6eval rakudo cddb16: OUTPUT«["a", "b", "c", "d"]␤»
moritz_ rakudo: sub f { 'g' }; say (f, 4).perl
p6eval rakudo cddb16: OUTPUT«["g", 4]␤»
moritz_ rakudo: sub f { 'g' }; say (f p5=> 4).perl
p6eval rakudo cddb16: OUTPUT«"g"␤»
masak moritz_: ah, suspected that.
moritz_ but that looks wrong to me.
rakudo: say (f p5=> 4).perl
p6eval rakudo cddb16: OUTPUT«Could not find non-existent sub f␤current instr.: '_block14' pc 61 (EVAL_16:47)␤»
moritz_ std: f()
p6eval std 26644: OUTPUT«Undeclared routine:␤ f used at 1 ␤ok 00:02 35m␤»
moritz_ std: f p5=> 3
p6eval std 26644: OUTPUT«Undeclared routine:␤ f used at 1 ␤ok 00:02 35m␤»
moritz_ oops
it doesn't autoquote 19:11
masak so, it's a pure synonym of C<,> ?
jnthn rakudo: sub whatever { say @_.join('|') }; whatever('a' p5=> 'b', 'c' p5=> 'd');
p6eval rakudo cddb16: OUTPUT«a b c|d␤»
jnthn suspects the fix to join that pmichaud added
Or something related to that. 19:12
aye
is (1..5 Z <a b c>).join('|'), '1|a|2|b|3|c', 'Ranges and infix:<Z>';
That's from another file with failures.
moritz_ I always thought that p5=> did autoquoting, but created a list, not a Pair 19:13
jnthn moritz_: The test file says:
# S03:1465 says that p5=> is the same as a comma
# We'll test that it doesn't quote the LHS.
isnt(eval('my @arr = abc p5=> def;'), <abc def>, 'p5=> does not quote the LHS');
moritz_ ah
jnthn but the test looks bogus
because I figure the test meant to quote the rhs
At the moment it tests that neither are quoted rather than just the LHS. 19:14
(auto-quoted, that is)
moritz_ right
using a sub should be cleaner
jnthn well, abc p5 => "def" would do it
moritz_ "arguments come in as positional pairs rather than named arguments." - uhm, if it doesn't construct a Pair, how can they come in as pairs? 19:15
jnthn lol fail 19:16
I'm guessing it musta menat pairs as in "one argument after the other" rather than Pairs. 19:17
moritz_ presumably
pugs_svn r26645 | moritz++ | [S05] a quantified capture that matches zero times produces a Nil
r26646 | moritz++ | [docs] move some Pugs specific documents to Pugs/
r26647 | moritz++ | [docs] remove update scripts
r26647 | moritz++ |
r26647 | moritz++ | Those are now unnecessary after the syn documents moved from perl.org
r26647 | moritz++ | to the pugs repo
r26648 | moritz++ | [S04] a few more X<...> tags 19:18
moritz_ that was the second git-svn repo that I worked on during the weekend ;-)
masak moritz_ strikes again!
moritz_ no, that was moritz (without the _) ;-) 19:19
TimToady: in r26617 you changed some `ok try({...}), "text"' to `ok try { ... }, "text"' - that's wrong, because try is not an unary prefix (or it was not, last I looked), so ok() only gets one argument 19:22
TimToady: but I find that behaviour of try rather unintuitive 19:23
masak moritz_: ah, like a secret identity? :) 19:27
moritz_ very secret, yes ;-) 19:28
jnthn: you pinged me on Friday... was the timeout larger than two days? ;-)
s1n who's been working the IO stuff lately? 19:31
moritz_ git blame/svn blame is your friend ;-) 19:32
{git,svn} {log,blame} 19:33
masak I bet it's that Old McDonald guy who's been working on the IO again...
moritz_ it really depends on what you mean. Spec? Implementation? Tests?
masak Projects?
moritz_ bugs? ;-) 19:34
masak I've been working on "IO stuff" in proto, Druid and November, chasing Rakudo...
patmat i'm a newbie to perl6, how can i make a blank or a comma between the result in this example?
www.pastie.org/466928
s1n masak: do you know what happened to readline?
patmat the right format for the array
moritz_ s1n: $*IN.get
patmat: @list.sort.join(', '); 19:35
s1n moritz_: was the spec updated to reflect that or is the current IO not in complete wrt getline?
jnthn moritz_: I think I was going to ask about some tests, but I figured out what to do with them...
moritz_ jnthn: ok
masak s1n: I think readline went away.
s1n goes off to check the spec
masak s1n: now known as .get instead.
jnthn Some tests relied on wrong behavior of eval up to now. 19:36
moritz_ jnthn: the namespace thing?
jnthn moritz_: Ah, yes, that was it.
moritz_ well, since nobody implemented it correctly - not surprising at all
masak patmat: also 'say @list.sort.perl' is your friend.
patmat moritz_ thank you! 19:37
jnthn moritz_: No, not surprising. And not hard to deal with.
moritz_ rakudo: say (3.4).int
masak patmat: also, 'for 1..$zahl.sqrt' is much simpler than that C-style loop stuff.
p6eval rakudo cddb16: OUTPUT«3␤»
jnthn And IIRC just the one file.
s1n masak: .get is for the IO::Readable::Encoded, does $*IN accept that role?
patmat say @list.sort.join(', '); doesn't work 19:38
masak s1n: you're asking the wrong abstraction astronaut, sorry. :/
moritz_ s1n: I'd be very disappointed if $*IN didn't support .get
masak rakudo: say [1,2,5,4,3].sort.join(', ')
p6eval rakudo cddb16: OUTPUT«1, 2, 3, 4, 5␤»
jnthn s1n: .get would be in the Iterator role.
moritz_ patmat: what's wrong?
s1n rakudo: my @list = <hello world how are you>; say @list.sort.join(', ');
masak patmat: yes, it does.
p6eval rakudo cddb16: OUTPUT«are, hello, how, world, you␤»
jnthn For required by the iterator role...
s1n oops, well, you get the idea 19:39
jnthn *or 19:40
s1n jnthn: so there's a Iterator::get and a IO::Readable::Encoded::get? sounds like an overly bland name to choose
jnthn It may be more that Iterator just has a stub and IO::Readable::Encoded is providing the implementation.
Rakudo's IO hasn't got stuff decomposed out into all of the various roles yet, though. 19:42
Nor does it have an Iterator role.
patmat masak, moritz_ www.pastie.org/466928
moritz_ patmat: script and error message don't fit together 19:44
masak indeed.
jnthn Or if they do, something is *very* wrong...
moritz_ patmat: there's no parse error in the script you pasted
patmat sorry
found the error
jnthn has a sudden cheezburger craving
patmat i accidentely typed an "," in the @list = [] got it 19:45
s1n jnthn can haz cheesburger
jnthn I was going to make bacon sandwiches but then realized...no brown source. :-O
erm
sauce
moritz_ lol
jnthn
.oO( you know you program too much when... )
19:46 ab5tract joined
s1n yes, i always make sure my food has brown sources before compiling :) 19:47
moritz_ FYI, I updated some of the posts on perlgeek.de/blog-en/perl-5-to-6/ (spelling, recent spec changes, rakudo improvements), and made sure that their order won't change when I touch one of the posts 19:48
for example =$*IN -> *$IN.lines
masak moritz_++ 19:49
moritz_ I also mailed the ironman people and asked why my blog disappeared from their blog roll
now I wonder why some of my changes didn't make it to the blog... 19:51
ah, because I kept generated files under version control... what a stupid idea... 19:55
so far I didn't dare to look into my RT 19:56
only four tickets assigned to me... could be worse
pugs_svn r26649 | moritz++ | [t/spec] test for Classname.perl (RT #65260) 19:59
moritz_ rakudo: enum A <b c>; say (a < *).WHAT 20:01
p6eval rakudo cddb16: OUTPUT«Could not find non-existent sub a␤current instr.: '_block20' pc 53 (EVAL_20:43)␤»
moritz_ rakudo: enum A <b c>; say (b < *).WHAT
p6eval rakudo cddb16: OUTPUT«Block()␤»
patmat how can I check if a number is element of an array?
moritz_ if any(@array) == $number { ... } 20:02
patmat thx
pugs_svn r26650 | moritz++ | [t/spec] tests for Enums and Whatever star (RT #63880) 20:05
s1n rakudo: multi method foo(Str $what) { say $what }; my %h = ('foo' => &foo); %h<foo>('hello world');
p6eval rakudo cddb16: OUTPUT«invoke() not implemented in class 'ResizablePMCArray'␤current instr.: '_block14' pc 137 (EVAL_19:65)␤»
s1n rakudo: method foo(Str $what) { say $what }; my %h = ('foo' => &foo); %h<foo>('hello world'); 20:06
p6eval rakudo cddb16: OUTPUT«too few arguments passed (1) - 2 params expected␤current instr.: 'foo' pc 143 (EVAL_19:67)␤»
s1n rakudo: sub foo(Str $what) { say $what }; my %h = ('foo' => &foo); %h<foo>('hello world');
p6eval rakudo cddb16: OUTPUT«hello world␤»
s1n what's wrong with those first two snippets?
moritz_ what's the meaning of a method outside a class?
as for the second, I guess that Rakudo tries to fill the argument list for self and $what, thus expects 2 params 20:07
and you give it only one
masak moritz_: ISTR named methods outside of classes were banned at some point. 20:08
...in Rakudo.
s1n that same bit with the methods still fails within classes
masak if not, the RT ticket I submitted about it ought still be open.
moritz_ s1n: so what's the invocant of %h<foo>? 20:09
masak rakudo: class A { method foo() {}; foo }
p6eval rakudo cddb16: OUTPUT«too few arguments passed (0) - 1 params expected␤current instr.: 'parrot;A;foo' pc 113 (EVAL_21:71)␤»
moritz_ whenever you take a reference to a method you have to make clear how the invocant is passed
s1n moritz_: how do you do that?
i was trying to pass manually, but i was still having troubles 20:10
i.e. %h<foo>(self, otherparam)
moritz_ s1n: by saying -> $x { self.foo($x) } instead of &foo, for example
ie explicit currying
I don't know if there's a different solution specced for it
s1n moritz_: i don't quite get that snippet... 20:11
moritz_ s1n: the '-> $x { ... }' constructs a closure...
s1n is that how i'd put it in the hash? 20:12
moritz_ yes
s1n oh, what's the $x? the invocant?
moritz_ no, the parameter passed to .foo()
the invocant self
of course that only works inside a class
patmat www.pastie.org/466928 done
masak rakudo: constant self = 4
p6eval rakudo cddb16: ( no output ) 20:13
patmat hooray
masak rakudo: constant self = 4; self.say
p6eval rakudo cddb16: OUTPUT«4␤»
masak hehehe.
moritz_: not just within a class...
moritz_ masak: you're evil.
s1n where can i read about this in the spec? i'm still kinda confused as to what i need to change
20:13 payload joined
masak smiles broadly 20:13
s1n: S04. 20:14
s1n: S12.
jnthn I can't believe self lets you do that...
erm, constant
:-)
moritz_ rakudo: class A { method b { hash(a=> -> $x { self.c($x) }) }; method c($c) { say "got $c } }; A.new().b().<a>.("foo") 20:15
p6eval rakudo cddb16: OUTPUT«Statement not terminated properly at line 1, near "foo\")"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
masak moritz_: "got $c
moritz_ rakudo: class A { method b { hash(a=> -> $x { self.c($x) }) }; method c($c) { say "got $c" } }; A.new().b().<a>.("foo")
masak++
p6eval rakudo cddb16: OUTPUT«invoke() not implemented in class 'Undef'␤current instr.: '_block14' pc 108 (EVAL_22:55)␤»
moritz_ rakudo: class A { method b { hash(a=> -> $x { self.c($x) }) }; method c($c) { say "got $c" } }; A.new().b().perl.say
p6eval rakudo cddb16: OUTPUT«{}␤» 20:16
moritz_ so it returns an empty hash? WTF?
rakudo: class A { method b { my %H = a=> -> $x { self.c($x) }; return %H }; method c($c) { say "got $c" } }; A.new().b().perl.say
p6eval rakudo cddb16: OUTPUT«{"a" => { ... }}␤»
moritz_ rakudo: class A { method b { my %H = a=> -> $x { self.c($x) }; return %H }; method c($c) { say "got $c" } }; A.new().b().<a>.("foo")
p6eval rakudo cddb16: OUTPUT«got foo␤»
moritz_ s1n: that's how it works
s1n heh
moritz_ masak: bug? 20:17
masak moritz_: I'm confused.
moritz_: could you boil it down a bit for a tired old brain like me?
s1n wow that's a lot more than i bargined for 20:18
moritz_ rakudo: class A { method b { hash(a=> "something") }; }; A.new().b().perl.say
p6eval rakudo cddb16: OUTPUT«{}␤»
moritz_ masak: better?
masak moritz_: are the class and the method really needed? 20:19
moritz_ rakudo: say (hash(a => '3' )).perl
p6eval rakudo cddb16: OUTPUT«{}␤»
moritz_ no.
masak now we're talking.
masak submits rakudobug
moritz_ wait a sec
let me look up the semantics of hash() first
seems to specced allright 20:20
masak sure.
moritz_: meaning... no bug?
moritz_ no, it's specced as I expected
If you wish to be less ambiguous, the C<hash> list operator will
explicitly evaluate a list and compose a hash of the returned value,
while C<sub> introduces an anonymous subroutine:
(from S04)
masak submits rakudobug 20:21
moritz_ S04:1187
masak: thank you
masak it's what I do. :)
moritz_ no less reason to thank you ;-) 20:22
pugs_svn r26651 | moritz++ | [t/spec] tests for RT #63250, ranges from Enum values
20:24 Limbic_Region left
patmat is there a function in perl6 to generate a random number? 20:24
moritz_ sure
masak rakudo: say rand
p6eval rakudo cddb16: OUTPUT«0.986136178792552␤»
moritz_ rakudo: say 10.rand
p6eval rakudo cddb16: OUTPUT«3.40147722120495␤»
masak rakudo: say (1..10).pick
patmat i'm writing a little example game hehe
moritz_ rakudo: say (^10).pick
p6eval rakudo cddb16: OUTPUT«8␤»
rakudo cddb16: OUTPUT«5␤»
moritz_ masak: ha, my random number is better than yours ;-)
masak moritz_: fsvo. 20:25
patmat .pick ?
moritz_ randomly picks an item from a list
jnthn Whoa. I'd forgotten just how awesome fried bread tastes.
patmat ah great
jnthn quickly tries to forget again 20:26
patmat ohhh this channel rocks :D
masak rakudo: enum Month <January February March>; say Month.pick
p6eval rakudo cddb16: OUTPUT«2␤»
masak rakudo: enum Month <January February March>; say Month.pick.name
p6eval rakudo cddb16: OUTPUT«Method 'name' not found for invocant of class 'List'␤current instr.: 'parrot;P6metaclass;dispatch' pc 243523 (src/gen_actions.pir:23399)␤»
jnthn fail
patmat i'm learning perl6 at the moment, very tough!!!
jnthn masak: pick returns a list.
moritz_ patmat: that's why it has so many people in here - or the other way round ;-)
masak jnthn: oh :)
rakudo: enum Month <January February March>; say Month.pick[0].name
p6eval rakudo cddb16: OUTPUT«February␤»
jnthn masak: but yeah, that did surprise me too... 20:27
patmat i'm just a newbie now :( for me it's very hard to program
masak patmat: this channel rocks!
patmat: we're all Perl 6 newbies.
moritz_ I wonder if it should really do that (returning a list)
patmat hehe
masak moritz_: no.
moritz_: it should return a Capture.
moritz_ meh.
masak moritz_: but no-one has changed the spec yet.
patmat my girlfriend studys math and learns some Java in the university
jnthn Even in that case
patmat we learn perl6 together that makes it easier
jnthn we wouldn't be able to just do .name on it
masak patmat: sounds wonderful. 20:28
jnthn I wonder if .pick and .pick(1) should just return the item itself...
patmat: That sounds fun!
patmat yup
ab5tract it's a wild frontier.
masak jnthn: worksforme.
patmat shes unbeatable at math-examples
i'm bad at math..
jnthn masak: Maybe we should ask on p6l first.
masak: It's a discontinuity...but it might be a worthwhile one... 20:29
masak jnthn: I'm too tired right now.
moritz_ patmat: that's why she studies math, and not you ;-)
jnthn masak: Yeah same... ;-)
OK, there's tomorrow.
patmat morith_ yup that could be :D
masak jnthn: I think the Capture idea was made to reduce the discontinuity.
patmat i hope perl6 will get successful at companies for jobs
i want my helpdesk job be past!!
jnthn masak: AFAIU, a method call on a returned capture would still be a call on the capture...but maybe I don't understad the latest capture design too. :-) 20:30
ab5tract patmat, that might take a little time... but its also inevitable, so take comfort ;) 20:31
20:31 payload left
masak jnthn: I'm tired your sentence was TLDR. :P 20:31
20:31 payload1 joined
patmat ab5tract: good for me, it takes time that i'm goot at the perl6 language :P 20:32
20:32 payload1 left, payload joined
patmat good 20:32
20:32 payload left, payload joined
s1n bleh, this is giving me grief 20:33
rakudo: class A { has %.H = (a => -> $x { self.c($x) }); method c($c) { say "got $c" }; method test { %.H<a>.("foo").say; }; }; A.new().test();
pugs_svn r26652 | moritz++ | [t/spec] tests for .pick on enums
p6eval rakudo cddb16: OUTPUT«Lexical 'self' not found␤current instr.: 'parrot;A;_block27' pc 243 (EVAL_24:111)␤»
masak s1n: in fact, 'self' is not defined at the place you're using it.
s1n: only use it from within methods. 20:34
moritz_ but why? `self' in class should just refer to the class (formerly proto object), no?
masak hm.
s1n it exists, it should
masak rakudo: class A { self }
p6eval rakudo cddb16: OUTPUT«Lexical 'self' not found␤current instr.: 'parrot;A;_block20' pc 94 (EVAL_18:66)␤»
s1n that seems wrong to me 20:35
masak this come up once in a while.
moritz_ s1n: feel free to submit that as a bug... if jnthn or pmichaud disagree they'll say so on the ticket
s1n so what does everyone else far wiser than i resolve to do?
masak I believe we should adopt one or two simple principles, and run with them consistently.
those principles haven't been nailed down, however. 20:36
s1n masak: i agree, i seem to be having trouble with runtime versus compile
masak s1n: not just you.
moritz_ s1n: in the end, what do you want to do?
masak s1n: I struggle with that a lot in my class design.
s1n moritz_: i want to dispatch methods to a class via a hash
jnthn `self' in class should just refer to the class -> the more I think about this, the more I worry people are going to get burned by it... 20:37
moritz_ s1n: maybe 'handles' in S12 can take some of your pain away
masak rakudo: class A { has $.a = 42; has $.b = $.a }
p6eval rakudo cddb16: OUTPUT«Lexical 'self' not found␤current instr.: 'parrot;A;_block20' pc 128 (EVAL_21:69)␤»
masak there are subtle problems here, to be sure... 20:38
ab5tract can that be right?
jnthn rakudo: class A { has $.a = .c; method c { 42 } }; say A.new.a
s1n moritz_: that might be an alternative, but the current behavior is not dwim
p6eval rakudo cddb16: OUTPUT«Method 'c' not found for invocant of class 'Failure'␤current instr.: 'parrot;P6metaclass;dispatch' pc 243523 (src/gen_actions.pir:23399)␤»
moritz_ now *that* surely looks like it should just work
masak ab5tract: well, I know what's wrong with it.
ab5tract: I just want it to work anyway. :)
ab5tract oh, i meant i don't see anything wrong with it
so we are in the same boat :)
20:38 LadyLunacy joined
masak ab5tract: indeed. except I know what's wrong with it. :) 20:39
jnthn I think the answer is "the RHS is a closure but actually wants to become an anonymous method with the current instance we're constructing passed in"
masak jnthn: .c calls the method on $_
jnthn Which may even be spec.
moritz_ jnthn: that sounds right to me
ab5tract masak, yes, you're end of the boat is fancier ;)
jnthn masak: Yeah, I was wondering if we were passing it in and it was just ending up in $_ but not self.
But apparently not.
File a ticket if there isn't one. It may be an easy fix. Especially given I gotta review all the construction stuffs anyway. 20:40
patmat LadyLunacy: \o/
s1n jnthn: on which problem? :)
LadyLunacy :P
masak LadyLunacy: welcome. I surmise you're related to patmat.
jnthn s1n: masak's one will do
masak jnthn: I'm inoperative at this point. 20:41
patmat masak hehehe
masak jnthn: I will submit tomorrow, if no-one beats me to it.
LadyLunacy thats right :D
jnthn masak: Sure
s1n which one best describes it? this one(?): rakudo: class A { has $.a = 42; has $.b = $.a } 20:42
masak LadyLunacy: I've been thinking of how to get more women to start programming Perl 6. do you have any suggestions?
s1n shave :)
masak s1n: I think there's a bug for that one in RT.
jnthn masak: I expect next day or two I'll be doing more design work on Rakudo than code work, but hope to get the building and so on stuff beaten into a better shape into the not too distant future.
s1n: that's the one I meant, but it may already be there. 20:43
LadyLunacy masak, no idea.. all my friends hate programming :)
maybe thats because we have to learn java at university
:D
masak LadyLunacy: probably. :)
moritz_ ;-)
masak LadyLunacy: so, why don't you hate programming?
ab5tract gar, why does #parrot insist on being on a different IRC server? 20:44
s1n masak: i'll let you file the bug because i'm not sure how to explain what doesn't work :/
LadyLunacy hm i guess i like solving problems
masak s1n: I've stopped caring about explaining things long ago. I just quote from IRC. :)
s1n: what matters in a bug report is two things, basically: (1) an observable, something that you can observe being fixed (2) you're done! 20:45
moritz_ LadyLunacy: so this means we have to find more women with problems? ;-)
jnthn going to do other bits and pieces...expect I'll be around and doing Perl 6 stuff lots in the next week. :-) 20:46
masak wohoo!
jnthn see you all tomorrow
masak jnthn: 'nite.
s1n masak: okay then, i'll quote the snippet that started this mess :)
masak s1n++
masak yawns
well, see you all tomorrow. 20:47
20:47 masak left
LadyLunacy moritz_, maybe :P 20:47
20:49 angelixd left 20:51 iblechbot left
ab5tract moritz_, have you heard of the imbroglio in the Ruby community re: women in OSS recently? 20:56
moritz_ ab5tract: yes
ab5tract i hope perl6 can be different from the beginning 20:57
and i believe it can
moritz_ that would be nice
ab5tract even the very reaction of the Ruby community to the callous privileged bigotry is a good sign for the Ruby community 20:58
20:58 ZuLuuuuuu left
ab5tract because there were more people pissed that DHH / Rails activists could be so dismissive 20:58
moritz_ (I immediately thought of yapc.tv/2008/ye/lt/lt2-15-kane-fck/ but that wasn't offensive, IMHO
ab5tract well, language versus sexual imagery is different 20:59
kane__ moritz_: a few expletives, that's it i think
ab5tract when only 6 out 200 people at your conference are women
more specifically male hetronormative sexual imagery
as the presentation was biased that way 21:00
ANYHOW
moritz_ kane__: I very much enjoyed watching it on yapc.tv ;-)
kane__ thanks :)
ab5tract main point is that the progression of that debate provides many clues as to how perl6 can be different
moritz_ ab5tract: yes 21:01
kane__: especially your first sentence, "this is not a Perl 6 talk" ;-) 21:02
21:05 amoc joined
patmat www.pastie.org/467035 21:20
why so?? :(
moritz_ $*IN.get; returns a Str 21:21
not an Int
either remove the type constrait
*constraint
patmat so what do i need?
moritz_ or say $*IN.get.int 21:22
rakudo: say $*IN.get.int;
p6eval rakudo cddb16: OUTPUT«Could not locate a method 'int' to invoke on class 'IOIterator'.␤current instr.: 'die' pc 16538 (src/builtins/control.pir:225)␤»
moritz_ not good.
rakudo: say +($*IN.get).int;
p6eval rakudo cddb16: OUTPUT«Could not locate a method 'int' to invoke on class 'IOIterator'.␤current instr.: 'die' pc 16538 (src/builtins/control.pir:225)␤»
moritz_ rakudo: say (+($*IN.get)).int;
p6eval rakudo cddb16: OUTPUT«Method 'Num' not found for invocant of class 'IOIterator'␤current instr.: 'parrot;Perl6Object;' pc 1256 (src/classes/Object.pir:709)␤»
moritz_ not good either 21:23
rakudo: say (+$*IN.lines(1)).int;
p6eval rakudo cddb16: OUTPUT«1␤»
patmat that should be a simple game as you see
moritz_ rakudo: say (+$*IN.lines(1)[0]).int;
p6eval rakudo cddb16: OUTPUT«0␤»
moritz_ that works, but it feels soooo wrong
21:24 amoc left
moritz_ rakudo: my $x = $*IN.get; say +$x; 21:25
p6eval rakudo cddb16: OUTPUT«0␤»
moritz_ that works better.
s1n rakudo: my $x = +$*IN.get; say $x; 21:28
p6eval rakudo cddb16: OUTPUT«Method 'Num' not found for invocant of class 'IOIterator'␤current instr.: 'parrot;Perl6Object;' pc 1256 (src/classes/Object.pir:709)␤»
s1n store while waiting for results :/ 21:29
moritz_ I just tried to fix IO.get, but I failed 21:34
patmat (+$*IN.lines(1)).int; 21:35
ahh
thats it to show an int???
looks a bit terrible
moritz_ not quite, because .lines returns a list 21:36
so that will give you always 1
yes, it's terrible
patmat so how is the simplest way to make the .get function for .int ?
moritz_ my $s = $*IN.get; my Int $i = $x.int; is better
rakudo: say (~$*IN.get).int
p6eval rakudo cddb16: OUTPUT«0␤» 21:37
moritz_ that's another workaround
patmat :D
moritz_ first turn it into a Str, then into an Int ;-)
patmat that must be fixed
moritz_ aye
patmat $*IN.get.int should work
moritz_ submits ticket
patmat ye :)
moritz_ rt.perl.org/rt3/Ticket/Display.html?id=65348 there you go 21:42
patmat www.pastie.org/467035
look at it, it runs the program. but it doesn't work right
great moritz_ :) 21:43
moritz_ that's scary. 21:44
patmat you see
why the hell is it 2? :D
it looks like the interpreter ignores everything :P
moritz_ wait a sec, I have to recompile rakudo 21:45
patmat okay, why? :P
moritz_ I had local changes
that screwed it all up
meh 21:46
too late to detect jokes
patmat :/
moritz_ so $zufallszahl is 65, but $zufallszahl+1 is 2? 21:48
ah 21:49
patmat haha yes
moritz_ as masak said earlier, (1..100).pick returns a list
of one element
when you print it, you simply see the element 21:50
when you use it as a number, it does arithmetic with the number of arguments
21:50 kirillm__ is now known as kirillm
moritz_ when you do a 'say $zufallszahl.perl' you'll see what I mean 21:50
$thing.perl gives you a short Perl program that evaluates back to $thing 21:51
rakudo: say (1..100).pick.perl
p6eval rakudo cddb16: OUTPUT«[16]␤»
moritz_ rakudo: say (1..100).pick[0].perl
p6eval rakudo cddb16: OUTPUT«100␤»
moritz_ which also explains the type mismatch
which I attributed to the line with $zahl = $*IN.get
21:52 rblasch left
moritz_ patmat: that's how I'd write it (spoiler): www.pastie.org/467068 21:54
21:55 orafu left
patmat moritz_ for me it was haaaard 21:57
but thanks for this one :D
do you speak german?? 21:58
moritz_ patmat: yes. I even write German ;-) 21:59
LadyLunacy ^
*^^
moritz_ patmat: actually if you look for German Perl 6 stuff, I wrote some articles for the iX (from Heise Verlag), (April, May and June issues) 22:00
patmat i know iX
du heisst ja auch moritz_!
moritz_ perl-6.de/ is also mine, but a bit outdate
patmat hahaha thats what i read!! actually
do you update it? because you should!! 22:01
for example = =$*IN to = $*IN.get
moritz_ I do, once in a while
oh yes, I should change that
patmat but great tutorial \o/ 22:02
moritz_ thank you
patmat do you have another one thats good like yours?
i hope the first Perl6 version will be released soon 22:03
moritz_ there's another german Perl 6 writer, lichtkind... his stuff is here: wiki.perl-community.de/cgi-bin/foswiki/view/
patmat ah already have this one, thanks :)
i hope there won't be changed much in the syntax until the first release 22:04
sonst muss ichs umlernen!!
moritz_ well, the changes won't be very drastic, I hope 22:05
patmat moritz_: are you a programmer as profession? 22:06
jobdings
moritz_ patmat: not really
patmat oh, so what is your job?
moritz_ patmat: I study physics, and do some programming for my diploma thesis
patmat ahh ok :))
moritz_ but I have been paid for programming as well
mostly just short jobs
LadyLunacy moritz_, so you know something about maths i guess? 22:07
patmat moritz_ in which languages?
i began with Ruby for a while, but i think i like perl6 better :)
moritz_ patmat: C++ and Perl 5
LadyLunacy: I hope ;-)
patmat oh ok
moritz_ Perl 6 is "just for fun" for me, at least today
LadyLunacy moritz_, there two problems i'm stuck on.. maybe you could help me? :D 22:08
moritz_ LadyLunacy: I can try... /msg me if they are not Perl related
meppl good night 22:10
LadyLunacy baba meppl :D
patmat tschüss meppl
meppl ;)
patmat moritz_ thanks for your example, it works nice! and i learned something new :) 22:11
moritz_ patmat: the beginners tutorial is still *very* incomplete... but feedback would be appreciated
22:11 meppl left 22:12 Jedai left
patmat moritz_ i will do a lot of perl6 in next time, so youll hear from me :PP 22:13
moritz_ patmat: nice. And I just removed =$*IN from the pages. 22:14
patmat :) gnight
moritz_ same to you, sir 22:16
(and corresponding lady)
22:16 eMaX joined
LadyLunacy yep, good night 22:17
22:18 patmat left 22:30 payload left, payload1 joined, fridim_ left 22:36 Whiteknight joined 22:43 payload joined, payload1 left 22:45 pmurias left 22:49 smtms left
pmichaud the spectest failures are due to @_ not working properly. 23:03
23:06 SamB left 23:07 SamB joined, payload left, payload1 joined
pmichaud I'm already working on a fix, but got distracted earlier today. 23:08
23:11 eMaX left 23:12 PacoLinux left 23:13 PacoLinux joined 23:14 DemoFreak left 23:22 ZuLuuuuuu joined 23:45 payload1 left 23:46 awarefish joined 23:57 LadyLunacy left 23:59 ZuLuuuuuu left