Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-10-18

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 daniel-s joined #perl6
00:10 fgomez joined #perl6
00:17 benabik joined #perl6
00:19 skids joined #perl6
00:20 tokuhiro_ joined #perl6
00:28 skids r: role A { method a {...}; }; class C { method a { "OHAI".say } }; class B does A { has $.b handles("a") = C.new(); }; my B $b .= new(); $b.a;
00:28 p6eval rakudo 42a280: OUTPUT«===SORRY!===␤Method 'a' must be implemented by B because it is required by a role␤»
00:52 jerome joined #perl6
00:54 replore joined #perl6
01:03 anuby joined #perl6
01:06 sorear o/ anuby
01:06 anuby hi
01:09 anuby hi sorear
01:13 hypolin joined #perl6
01:20 pjcj joined #perl6
01:26 jerome joined #perl6
01:28 japhb Is there a Perl 6 equivalent of Perl 5's FindBin yet?
01:36 pjcj joined #perl6
01:40 benabik joined #perl6
02:06 Bucciarati joined #perl6
02:11 fgomez joined #perl6
02:16 raiph joined #perl6
02:24 raiph On this channel back in 2010, tedv asked "What major features are missing from rakudo that prevents it from passing the whole test suite?". Of course, the test suite has grown since then, but I thought it interesting to consider how things have improved (or not) in the over 2 years since.
02:25 raiph The answer, mostly from Moritz, ended up as "hundreds of corner cases, proper lazy lists, macros, some built-ins, regex features, parsing limitations (for example adverbs on quotes and modifiers), proper longest-token matching, proper named enums, binary data support, array and hash autovivification, bigints, native types, S09 (compact structures), Perl 5, proper stack traces, phasers, MAIN"
02:27 raiph Am I right in saying Rakudo now includes a decent initial cut at all but compact structures and Perl 5?
02:29 raiph (All in that list. And I realize there are probably still hundred of corner cases (perhaps thousands), laziness is a wip, macros are only half done, etc.)
02:32 sorear there are an infinite number of corner cases. :p
02:36 colomon does that mean it's a circle?
02:43 raiph heh. i think it was recent diakopter fuzzbot results that made me put the thousands comment in.
02:45 raiph colomon: maybe a whirlpool?
02:48 MikeFair_ joined #perl6
03:25 kaleem joined #perl6
03:28 gootle joined #perl6
03:45 japhb .oO( diafuzzter )
04:12 sivoais joined #perl6
04:38 am0c r: class MyHash is Hash { }; my MyHash %h = a => 1, %h.perl.say
04:38 p6eval rakudo 42a280: OUTPUT«().hash␤Nominal type check failed for parameter '$x'; expected MyHash but got Int instead␤  in method STORE_AT_KEY at src/gen/CORE.setting:6420␤  in method STORE at src/gen/CORE.setting:6350␤  in block  at /tmp/3v8g4Q3KLg:1␤␤»
04:45 am0c r: class MyHash is Hash { }; my Hash %h = a => 1, %h.perl.say
04:45 p6eval rakudo 42a280: OUTPUT«().hash␤Nominal type check failed for parameter '$x'; expected Hash but got Int instead␤  in method STORE_AT_KEY at src/gen/CORE.setting:6420␤  in method STORE at src/gen/CORE.setting:6350␤  in block  at /tmp/5R7PU3mGir:1␤␤»
04:46 am0c r: class MyHash is Hash { }; my Hash $h = a => 1, $h.perl.say
04:46 p6eval rakudo 42a280: OUTPUT«Type check failed in assignment to '$h'; expected 'Hash' but got 'Pair'␤  in block  at /tmp/uSQLfULMiG:1␤␤»
04:46 am0c r: class MyHash is Hash { }; my Hash $h .= new(a=>1); $h.perl.say
04:46 p6eval rakudo 42a280: OUTPUT«{}␤»
04:47 am0c r: class MyHash is Hash { }; my Hash $h .= new(a=>1); $h.WHAT.say
04:47 p6eval rakudo 42a280: OUTPUT«Hash()␤»
04:52 fgomez joined #perl6
04:53 am0c class MyHash is Hash { }; my %h is MyHash; %h.WHAT.say
04:53 am0c r: class MyHash is Hash { }; my %h is MyHash; %h.WHAT.say
04:53 p6eval rakudo 42a280: OUTPUT«Hash()␤»
04:54 diakopter lolz fuzzbot
05:05 diakopter sorear: shrug at all those errors?
05:06 sorear diakopter: I wish I had time or motivation for niecza tasks, like filing tickets for the things you find
05:10 diakopter I'm glad to file tickets if you don't mind the clutter
05:11 kevouze joined #perl6
05:12 BillyJoeJimBob joined #perl6
05:13 jaldhar joined #perl6
05:21 diakopter I leave masakbot to file rakudobugs since he's much hetter at deciding whar's a bug and enjiys typing /me submits rakudobug
05:21 diakopter seeing CLR errors leak is definitely fun
05:23 birdwindupbird joined #perl6
05:28 sorear filing tickets would be appreciated, though it may be a while before I get around to fixing any :/
05:30 kevouze Thank you for all who helped out fill in the survey about newcomer experience in Perl
05:30 kevouze The survey is oen for teh next few days for those who did not have time to do it. tinyurl.com/perlnewcomersurvey
05:30 kevouze thanks
05:33 GlitchMr joined #perl6
05:33 am0c using a Container for tie(in Perl5) is nyi, yet?
05:34 moritz you can use PROXY to the same effect as a scalar tie
05:41 am0c I see
05:56 masak OT: check out tromp's http://www.ioccc.org/years.html#2012 submission. wow.
05:59 tadzik whoa, impressive
06:00 * masak commutes &
06:01 sorear I love the judges' comment
06:04 Celelibi joined #perl6
06:06 MolbOrg joined #perl6
06:11 am0c r: class MyScalar { }; my $s is MyScalar = {};
06:11 p6eval rakudo 42a280:  ( no output )
06:11 am0c std: class MyScalar { }; my $s is MyScalar = {};
06:11 p6eval std 47e39ad: OUTPUT«ok 00:00 43m␤»
06:22 cosimo joined #perl6
06:30 * am0c thinks it's strange that there is no way to get Container information by .HOW introspection.
06:41 am0c r: class MyHash { multi CANDO (MyHash, Hash, $name, $*args) { say $name }; }; my MyHash $s; $s<a> = 1;
06:41 p6eval rakudo 42a280: OUTPUT«Type check failed in assignment to '$s'; expected 'MyHash' but got 'Hash'␤  in sub infix:<=> at src/gen/CORE.setting:11734␤  in block  at src/gen/CORE.setting:1382␤  in block  at /tmp/FLh4caG1ou:1␤␤»
06:56 moritz r: class MyHash does Associative { method at_key($k) { uc $k } }; my %h := MyHash.new; say %h<foo>;
06:56 p6eval rakudo 42a280: OUTPUT«FOO␤»
06:59 flightrecorder joined #perl6
07:00 FROGGS joined #perl6
07:17 sorear o/ FROGGS
07:18 FROGGS hi sorear
07:35 cibs joined #perl6
07:35 SamuraiJack joined #perl6
07:57 fhelmberger joined #perl6
08:12 jnthn morning o/
08:13 moritz \o jnthn, FROGGS, sorear
08:14 jnthn am0c: You get scalar container information with .VAR
08:14 am0c jnthn: good morning!
08:15 am0c thank you for your kindness!
08:16 jnthn r: my $x = 42; say $x.VAR.name
08:16 p6eval rakudo 42a280: OUTPUT«$x␤»
08:18 jnthn r: say q{ ooh look { nested { things } } work }
08:18 p6eval rakudo 42a280: OUTPUT« ooh look { nested { things } } work ␤»
08:18 jnthn moritz: I fixed ^ last night...any idea if/where there may be some spectests for it?
08:19 moritz t/spec/S02-literals/quoting.t I guess
08:19 * moritz takes a look
08:20 mtk joined #perl6
08:31 aharoni joined #perl6
08:32 ironcamel joined #perl6
08:35 kresike joined #perl6
08:35 kresike hello all you happy perl6 people
08:42 moritz jnthn: after my rebuild has finished, I'll see what I can unfudge
08:44 jnthn moritz: OK, great. I gotta go for some meeting in a few moments.
08:44 jnthn I think we may be able to turn a yellow into a green on the features page now too :)
08:45 moritz and maybe tadzik++ can steal some of that code for parsing nested X<...> Pod quotes :-)
08:46 tadzik oh yes :)
08:46 tadzik last time I tried I went "ewww, pir"
08:46 tadzik I think :)
08:47 dakkar joined #perl6
08:48 jnthn tadzik: My patch didn't need any PIR :)
08:48 tadzik ossum :)
08:48 tadzik I may have not looked enough
08:57 moritz r: say q{ foo { bar } }
08:57 p6eval rakudo 42a280: OUTPUT« foo { bar } ␤»
08:57 moritz \o/
08:57 moritz it's a surprisingly small change such a long-standing TODO
08:57 moritz jnthn++
09:00 dalek roast: 1084b0b | moritz++ | S02-literals/quoting.t:
09:00 dalek roast: unfudge nested quoting tests for rakudo
09:00 dalek roast: review: https://github.com/perl6/roast/commit/1084b0b1a8
09:01 moritz the remaining skips in that file are related to quoting adverbs and <<...>>
09:02 moritz (running a global autounfudge now, so far it also found two unskips in t/spec/S02-lexical-conventions/comments.t)
09:03 hlin_ joined #perl6
09:09 gootle joined #perl6
09:10 moritz r: grammar A { token any { foo }; token TOP { <any> } }; say A.parse('foo');
09:10 p6eval rakudo 42a280: OUTPUT«「foo」␤ any => 「foo」␤␤»
09:15 brrt joined #perl6
09:34 dalek roast: ed4fe0e | moritz++ | S (6 files):
09:34 dalek roast: rakudo autounfudge
09:34 dalek roast: review: https://github.com/perl6/roast/commit/ed4fe0ed94
10:13 xinming_ joined #perl6
10:15 daxim joined #perl6
10:31 preflex joined #perl6
10:34 mucker joined #perl6
10:36 rindolf joined #perl6
10:39 pmurias joined #perl6
10:39 pmurias is there a spec of how panda modules should look like?
10:40 tadzik yes
10:40 tadzik http://wiki.perl6.org/Create%20and%20Distribute%20Modules
10:40 dalek roast: 4379a07 | (Solomon Foster)++ | S02-types/parcel.t:
10:40 dalek roast: Unfudge for niecza.
10:40 dalek roast: review: https://github.com/perl6/roast/commit/4379a07d46
10:43 bbkr__ r: class A { class B is A {} }; A::B.new # std allows to declare class inside parent class which definition is not yet finished. is this rakudo bug then (should work) or LTA error message?
10:43 p6eval rakudo 42a280: OUTPUT«No such method 'new' for invocant of type 'B'␤  in block  at /tmp/x3IWJpjIFD:1␤␤»
10:43 pmurias tadzik: the README on github looks outdated
10:44 tadzik pmurias: which readme?
10:44 fgomez joined #perl6
10:48 mucker joined #perl6
10:49 moritz bbkr__: I think we have a ticket about that already
10:49 moritz bbkr__: IMHO it should error out
10:49 moritz bbkr__: the same situation is   class A { ... }; class B is A { }
10:51 pmurias tadzik: https://github.com/tadzik/panda/blob/master/README.md
10:51 bbkr__ moritz: thanks. how about method ::("name") bug from yesterday you were trying to fix? should I report it or is it also already known?
10:52 tadzik pmurias: it mentions ufobuilder, which is gone, but aside of that it looks okay to me
10:54 pmurias tadzik: it has a dead link to Pls
10:55 moritz bbkr__: please submit, it's not as easy to fix as I thought
10:57 tadzik pmurias: ah, ok, thanks
10:58 bbkr__ moritz: ::() reported
10:58 moritz bbkr__++
11:02 mucker joined #perl6
11:03 bbkr__ handling inheritance from stubbing already works - https://rt.perl.org/rt3/Ticket/Display.html?id=81060. so inheritance from inside scope of parent class looks like new issue to me.
11:04 jerome joined #perl6
11:05 moritz r: class A { ... }; class B is A { }; class A { }; say B.new
11:05 p6eval rakudo 42a280: OUTPUT«No such method 'new' for invocant of type 'B'␤  in block  at /tmp/MEw1Loww7z:1␤␤»
11:05 moritz bbkr__: not so very fine
11:05 Su-Shee_ joined #perl6
11:07 bbkr__ r: class A { … }; class B is A {}
11:07 p6eval rakudo 42a280: OUTPUT«===SORRY!===␤Unable to parse expression in block; couldn't find final '}' at line 2, near "\u2026 }; class"␤»
11:07 bbkr__ r: class A { ...  }; class B is A {}
11:07 p6eval rakudo 42a280: OUTPUT«===SORRY!===␤The following packages were stubbed but not defined:␤    A␤at /tmp/eOEZDNV3CE:1␤»
11:18 xinming joined #perl6
11:21 moritz bbkr__: it seems that the indirect method name stuff is easier to fix than thought, after all
11:21 pmurias tadzik: and if my module contains nqp code?
11:21 moritz now waiting for the spectest run to finish
11:21 bbkr__ moritz++
11:21 pmurias tadzik: is there a way to put arbitary building code into the package?
11:21 kaleem_ joined #perl6
11:22 tadzik pmurias: not yet, no
11:22 tadzik pmurias: I have rough plans for such things, NYI yet though
11:23 tadzik what I thought of is basically a Build.pm which Panda loads, and you can overload certain Panda components in it
11:23 tadzik for example do stuff before/after Panda::Builder works and build some your stuff your way
11:23 tadzik rakudo-debugger is another usecase
11:25 pmurias tadzik: rakudo-js is what I have in mind, it's build system is stolen from rakudo-debugger
11:26 tadzik pmurias: okay, cool
11:26 brrt joined #perl6
11:26 tadzik pmurias: I'll try to allocate some time today and prototype this, and see how it works
11:26 dalek rakudo/nom: 179b6c0 | moritz++ | src/Perl6/ (2 files):
11:26 dalek rakudo/nom: fix indirect name in method declaration. Closes RT #115334
11:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/179b6c0683
11:27 dalek roast: a4ef69b | moritz++ | S02-names/indirect.t:
11:27 dalek roast: test indirect method names
11:27 dalek roast: review: https://github.com/perl6/roast/commit/a4ef69ba66
11:29 brrt1 joined #perl6
11:33 fgomez_ joined #perl6
11:33 awwaiid_ joined #perl6
11:35 bbkr__ moritz++ I needed it for JSON RPC batches and notifications, 2012.10 Star will hopefully be shipped with 100% JSON-RPC 2.0 spec implementation :)
11:44 araujo joined #perl6
11:53 mtk joined #perl6
12:21 fgomez joined #perl6
12:38 tokuhiro_ joined #perl6
12:38 mucker joined #perl6
12:54 GlitchMr joined #perl6
12:57 tadzik ossum :)
12:57 tadzik bbkr__++
13:01 PacoAir joined #perl6
13:04 hash_table joined #perl6
13:04 Psyche^ joined #perl6
13:16 PacoAir joined #perl6
13:20 arlinius joined #perl6
13:25 dalek rakudo/nom: 27a6b84 | moritz++ | / (2 files):
13:25 dalek rakudo/nom: refactor CUSTOM_LIB, deprecated ~/.perl6/lib
13:25 dalek rakudo/nom:
13:25 dalek rakudo/nom: now %CUSTOM_LIB is a hash with (perl, site, vendor, home)
13:25 dalek rakudo/nom: installation dirs, and the one in the home directory depends
13:25 dalek rakudo/nom: on the exact Rakudo version.
13:25 dalek rakudo/nom:
13:25 dalek rakudo/nom: For backward compatibility, ~/.perl6/lib is still in @*INC
13:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/27a6b841e3
13:27 moritz oops, that %*CUSTOM_LIB
13:39 tadzik hrm, require doesn't seem to work for '.'
13:40 moritz . is not in @*INC by default
13:40 tadzik https://gist.github.com/3911870
13:40 tadzik true. But I expected it could make an exception if I load a file :)
13:41 moritz it could, if you made an exception and modified @*INC :-)
13:42 tadzik perl6 -e 'my @*INC = ".", @*INC; require "Build.pm"' doesn't help
13:42 tadzik and it still doesn't show "." in the error message. Odd
13:42 moritz erm, require 'Build';
13:43 moritz require currently wants a module name, not a file name
13:43 tadzik oh
13:43 moritz r: require Test;
13:43 p6eval rakudo 179b6c:  ( no output )
13:43 moritz r: require 'Test';
13:43 p6eval rakudo 179b6c:  ( no output )
13:43 tadzik no, that doesn't help either :)
13:43 moritz r: my @*INC = (); require TEST;
13:43 p6eval rakudo 179b6c: OUTPUT«Could not find TEST in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/custom/lib␤  in any load_module at src/Perl6/ModuleLoader.pm:107␤  in block  at /t…
13:43 tadzik use lib works though
13:43 moritz still odd; require is runtime
13:44 tadzik yep
13:44 moritz maybe we don't really look for the dynamic @*INC in the module loader
13:45 tadzik oh noes
13:47 * tadzik decomutees
13:47 am0c joined #perl6
13:48 moritz aye, it looks into GLOBAL::INC instead of @*INC
13:49 moritz probably bootstrappy reasons, because it's called before @*INC is even set up
13:49 FROGGS hmmm, can't merge my own pull request -.-
13:53 PerlJam Ack!  today is release day isn't it?
13:53 phenny PerlJam: 17 Oct 11:57Z <pmichaud> tell PerlJam  when creating the 2012.10 release, note that we need to keep PARROT_REVISION at RELEASE_4_4_0 (i.e., don't bump it up to 4.9.0 because of issue #861).
13:54 moritz PerlJam: it is. And I hope that my patches today didn't break anything :-)
13:54 * PerlJam won't be able to get to the release until late tonight my time.
13:54 moritz if they did, feel free to revert them (tonight I won't be available for any hotfixes)
13:56 PerlJam Though, maybe if I can juggle some things around this morning I might be able to release in the afternoon
13:57 moritz (I spectested, but didn't smoke the ecosystem)
14:01 stopbit joined #perl6
14:04 skids joined #perl6
14:07 flightrecorder joined #perl6
14:20 FROGGS joined #perl6
14:31 sirrobert joined #perl6
14:31 sirrobert git status
14:31 sirrobert ww
14:31 FROGGS ;o)
14:34 jerome joined #perl6
14:36 kikulli joined #perl6
14:39 sirrobert is there a sort-in-place type of operation that's built in?
14:39 sirrobert r: my @a = (3, 2, 1, 4); @a.sort; say @a.perl;
14:39 p6eval rakudo 27a6b8: OUTPUT«Array.new(3, 2, 1, 4)␤»
14:39 sirrobert except that sorts in place
14:40 moritz @a.=sort
14:40 sirrobert dang it, moritz
14:40 sirrobert every time I get a hold on the coolness of p6's architecture, you mess me up ;)
14:41 sirrobert neat new features that are features I already know about!
14:41 sirrobert just not in that way.
14:41 hash_table joined #perl6
14:41 sqirrel joined #perl6
14:44 sirrobert question about that:
14:45 sirrobert r: my %f = (a=>[1,2,3,4]); say %f<a>.WHAT; %f<a>.=sort; say %f<a>.WHAT;
14:45 p6eval rakudo 27a6b8: OUTPUT«Array()␤Parcel()␤»
14:46 sirrobert Would it be a reasonable feature request to have the value there remain an array after .=sort?
14:49 rjbs Why did it change?
14:49 sirrobert I guess I can do
14:49 sirrobert r: my $a = [4, 3, 5, 1, 2]; say $a.WHAT; $a.=sort.=Array; say $a.WHAT;
14:49 p6eval rakudo 27a6b8: OUTPUT«Array()␤Array()␤»
14:49 moritz rjbs: because .sort returns a Parcel
14:49 rjbs Heh, fair enough.
14:49 sirrobert I guess I'd like to see sort return the same type as it started with, then
14:52 flightrecorder joined #perl6
14:52 sirrobert (the reason I hit it is I'm doing an eqv on two hashes and I sort the arrays after building
14:52 FROGGS joined #perl6
14:53 sirrobert the %a eqv %b failed (reasonably) if an element in %a is an array and the corresponding one in %b is a list
14:57 moritz we've also discussed something like eqv that is a bit more forgiving on the exact types
14:57 moritz but so far, no action was taken
14:59 sirrobert so, what language is that written in?
14:59 sirrobert the implementation of sort, I mean
14:59 sirrobert err eqv I mean
15:00 sirrobert I could take a stab at something, perhaps =)
15:00 moritz Perl 6
15:01 sirrobert grrrreat.  If I were to try to contribute something small like that, what's the right process/procedure?
15:02 moritz multi sub infix:<eqv>(...) { ...}
15:02 sirrobert I suppose someone should first approve the idea =)
15:02 moritz sirrobert: well, I'd recommend to first write it as a module
15:02 sirrobert moritz: ahh, I see
15:02 moritz sirrobert: and if people generally like it, we can include it in rakudo
15:02 sirrobert moritz: that's a good path
15:02 sirrobert thanks, will do =)
15:02 moritz luckily it's not harder to write operators in a module than in rakudo :-)
15:07 ggoebel what is the name of the most mature perl6 web framework and where can I find it so as to take it out for a spin?
15:09 moritz probably dancer
15:09 moritz you can find it on modules.perl6.org
15:09 moritz erm, bailador is the name :-)
15:10 benabik joined #perl6
15:13 [Coke] masak: have you seen: http://nomediakings.org/guildedyouth/ ?
15:23 kresike bye folks
15:29 [Coke] (though it's a smidge racy)
15:34 Chat0170 joined #perl6
15:34 Chat0170 Hi
15:35 Chat0170 LOL skilled face
15:35 tadzik hello
15:36 Chat0170 Hi
15:36 Chat0170 Um
15:36 Chat0170 Watch is this
15:40 masak watch is this indeed.
15:40 masak [Coke]: I had not. looks cute.
15:40 masak um, I see no Parrot release announcement on parrot-dev. any reason for that?
15:41 benabik masak: Perhaps dukeleto got sidetracked by the fact that he couldn't update parrot.org.
15:45 masak oh :/
15:45 masak yes, I see that email on parrot-dev now.
15:47 kaleem joined #perl6
15:50 masak haha, http://rosettacode.org/wiki/Narcissist
15:51 jnthn LOL skilled face!
15:53 kaare_ joined #perl6
15:56 masak jnthn: watch is this!
15:59 ggoebel moritz: thx
16:02 bluescreen10 joined #perl6
16:03 thou joined #perl6
16:05 MayDaniel joined #perl6
16:08 kaare_ joined #perl6
16:13 masak is there any good, elucidating reason infix:<**> is the *simplest* operation (among infix:<+>, infix:<*>, and infix:<**>) on Church numerals?
16:13 masak I mean, is there some deep connection between infix:<**> and function application somehow?
16:14 masak notation such as log**2($x) would indicate there is, but maybe that is a red herring.
16:16 masak sjn++
16:17 masak r: try return; last
16:17 p6eval rakudo 27a6b8:  ( no output )
16:17 masak r: try return; last; say "alive"
16:17 p6eval rakudo 27a6b8:  ( no output )
16:17 masak hm :)
16:18 TimToady I'd rather keep eqv strict and make @array.=sort preserve the type on the left somehow
16:18 TimToady maybe Parcels are getting a little too user-visible here
16:19 TimToady (it was cmp that we were thinking about loosening the semantics of, I believe)
16:21 masak it was.
16:21 masak and I don't believe we reached a good way to do that.
16:25 Celelibi joined #perl6
16:27 jnthn masak: I could only reproduce that in the REPL
16:28 masak jnthn: ok.
16:28 fglock joined #perl6
16:50 flightrecorder joined #perl6
16:50 FROGGS joined #perl6
16:50 pmurias joined #perl6
16:56 dalek features: c7fef88 | jnthn++ | features.json:
16:56 dalek features: Remove nested pairs caveat.
16:56 dalek features: review: https://github.com/perl6/features/commit/c7fef88fed
16:56 pmurias jnthn: I have added an nqp test to my (fresh) nqp fork
16:58 jnthn pmurias: It passes already?
16:59 pmurias yes
17:00 dalek nqp: 0e83ea3 | (Paweł Murias)++ | t/nqp/65-how.t:
17:00 dalek nqp: Add a test for NQPClassHOW.
17:00 dalek nqp: review: https://github.com/perl6/nqp/commit/0e83ea3c08
17:00 dalek nqp: 51989fe | jonathan++ | t/nqp/65-how.t:
17:00 dalek nqp: Merge pull request #60 from pmurias/master
17:00 Chillance joined #perl6
17:00 dalek nqp:
17:00 dalek nqp: Added a test
17:00 dalek nqp: review: https://github.com/perl6/nqp/commit/51989feca9
17:01 jnthn pmurias: thanks
17:01 raiph joined #perl6
17:03 pmurias jnthn: are TODO tests acceptable? (for a yet unfixed bug)
17:05 benabik joined #perl6
17:09 SamuraiJack joined #perl6
17:16 jnthn pmurias: Thing is, short of commenting them out, I'm not sure we currently have a way to todo tests.
17:16 [Coke] in general, sure, pmurias.
17:16 jnthn Guess we could add a way though :)
17:16 [Coke] oh. nqp?
17:16 jnthn [Coke]: yeah
17:17 [Coke] yah, that woudl be nice.
17:18 jnthn oh!!
17:18 jnthn We *do* already have a way!
17:18 pmurias jnthn: I don't have any planned for now, I'm just asking as adding failing tests was acceptable in pugs
17:18 jnthn See src/core/testing.pm :)
17:18 jnthn pmurias: Please don't add them as failing.
17:18 jnthn pmurias: But you can add them todo'd
17:19 jnthn If that makes sense :)
17:20 pmurias + in nqp converts to integers or to floats?
17:21 jnthn floats
17:24 pmurias jnthn: I changed =:= to nqp::eqaddr in the test suit
17:29 raiph joined #perl6
17:46 dalek Perlito: b62fba5 | (Flavio S. Glock)++ | README-perlito5-js:
17:46 dalek Perlito: Perlito5 - js2 - TODO - Alternative implementation for lvalue @_ and tail calls
17:46 dalek Perlito: review: https://github.com/fglock/Perlito/commit/b62fba50a6
18:02 Targen joined #perl6
18:05 benabik joined #perl6
18:07 _edwin joined #perl6
18:09 dalek nqp: 08a69c5 | (Paweł Murias)++ | t/nqp/10-cmp.t:
18:09 dalek nqp: Test for nqp::eqaddr instead of =:=. Avoid comparing identical string
18:09 dalek nqp: literals.
18:09 dalek nqp: review: https://github.com/perl6/nqp/commit/08a69c5191
18:09 dalek nqp: b0087db | jonathan++ | t/nqp/10-cmp.t:
18:09 dalek nqp: Merge pull request #61 from pmurias/master
18:09 dalek nqp:
18:09 dalek nqp: change =:= to eqaddr
18:09 dalek nqp: review: https://github.com/perl6/nqp/commit/b0087db795
18:09 _edwin hi perl6!
18:09 phenny _edwin: 17 Oct 21:39Z <jnthn> tell _edwin I fixed the nested quote delimeters thing, I think :)
18:10 _edwin jnthn++, I'm already making a prettier narcissist :)
18:10 _edwin r: my $x='1'; eval '$x'
18:10 p6eval rakudo 27a6b8:  ( no output )
18:10 diakopter _edwin: hi :)
18:10 _edwin r: my $x='1'; '$x'.eval
18:10 GlitchMr _edwin: you forgot printing result of eval
18:10 p6eval rakudo 27a6b8: OUTPUT«===SORRY!===␤Variable $x is not declared␤at eval_0:1␤»
18:10 GlitchMr r: my $x = '1'; print eval '$x'
18:10 p6eval rakudo 27a6b8: OUTPUT«1»
18:11 jnthn GlitchMr: Actually I think _edwin++ wanted to show the sub/method eval discrepancy. :)
18:11 _edwin GlitchMr, I know, my purpose was to display the difference between eval('... jnthn beat me to it
18:11 GlitchMr It reminds me old JavaScript versions.
18:11 _edwin wanted to ask if this is a rakudobug
18:12 jnthn _edwin: Yeah
18:12 GlitchMr In really old Netscape versions, eval() was function and string method at once
18:13 _edwin will file
18:14 jnthn _edwin: thanks, I'm pondering the best way to fix it.
18:19 sorear o/
18:22 circlepuller joined #perl6
18:22 mucker joined #perl6
18:23 _edwin now with nested quotes: http://rosettacode.org/wiki/Narcissist#Perl_6
18:24 alester joined #perl6
18:24 SamuraiJack_ joined #perl6
18:26 dalek Perlito: 1f09a80 | (Flavio S. Glock)++ | / (19 files):
18:26 dalek Perlito: Revert "Perlito5 - add Perlito5X namespace"
18:26 dalek Perlito:
18:26 dalek Perlito: This reverts commit 828649a7a8777bc653cf107cb352b83eff3a0c4d.
18:26 dalek Perlito: this breaks 'make'
18:26 dalek Perlito: review: https://github.com/fglock/Perlito/commit/1f09a806ca
18:29 * _edwin reported https://rt.perl.org/rt3/Ticket/Display.html?id=115344
18:31 masak why do we even have a method form of .eval? :(
18:31 masak are the masses crying out for one? I'm not.
18:32 jnthn No prizes for guessing why it didn't work ;)
18:32 * jnthn spectests a fix.
18:32 fgomez joined #perl6
18:32 jnthn masak: I don't mind it fwiw.
18:32 flussence r: lines».eval
18:32 p6eval rakudo 27a6b8: OUTPUT«===SORRY!===␤Confused␤at eval_0:1␤»
18:33 masak I'd sooner see .take as a method, to be honest.
18:33 flussence ooh
18:33 tadzik r: 2.is-prime.say
18:33 p6eval rakudo 27a6b8: OUTPUT«True␤»
18:33 tadzik I'll throw in everything
18:34 GlitchMr I hope you don't plan making . a syntactic sugar for method call
18:34 GlitchMr So, 'a'.b('c') would be actually b('a', 'c')
18:35 masak GlitchMr: do you mean "syntactic sugar for subroutine call"?
18:35 GlitchMr yeah
18:35 jnthn That's .& :)
18:35 masak no, I'm not proposing that.
18:35 GlitchMr With multidispatch it would be possible
18:35 GlitchMr (not that it's good idea)
18:35 masak I just wish that there were more of a pattern to what builtins get to be methods.
18:35 jnthn This ain't CLOS :P
18:35 masak so that, you know, people don't have to memorize arbitrary lists of stuff.
18:36 GlitchMr $string.lc and lc $string
18:36 GlitchMr It already looks like syntactic sugar, even if it isn't
18:36 masak r: say "OH HAI".lc; say lc "OH HAI"
18:36 p6eval rakudo 27a6b8: OUTPUT«oh hai␤oh hai␤»
18:36 jnthn masak: To be fair, I don't think any of the control exceptions have method forms.
18:37 masak jnthn: I sometimes yearn for .take
18:37 GlitchMr Exception.new.throw...
18:37 masak for some reason.
18:37 jnthn GlitchMr: That ain't a control exception :P
18:37 jnthn I meant next/last etc.
18:37 GlitchMr But technically it could be, right?
18:38 GlitchMr I actually find it interesting why "throw/raise" is a keyword in every language
18:38 GlitchMr It could be easily a function
18:38 perigrin joined #perl6
18:38 dalek rakudo/nom: 011ec66 | jnthn++ | src/core/ (2 files):
18:38 dalek rakudo/nom: Fix eval method to see the correct context.
18:38 dalek rakudo/nom:
18:38 dalek rakudo/nom: Plus a bonus feature that you didn't see me add, but the debugger will
18:38 dalek rakudo/nom: happily use. :-)
18:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/011ec66f8b
18:41 masak jnthn: next/last do have method forms. on labels.
18:42 masak that's a nice commit, btw.
18:43 masak very straightforward.
18:43 _edwin I like the method forms from a linguistic point of view
18:43 jnthn masak: labels? what labels? ;)
18:44 GlitchMr label: 42
18:44 _edwin not so much from an "architecture" point of view, but what makes Perl * special is emphasizing the former
18:45 _edwin the "arbitrary list of stuff" aspect bothers me a bit... until I actually write some code and just use them :)
18:45 leprevost joined #perl6
18:46 * jnthn tags 115344 testneeded
18:46 * _edwin started writing a test
18:47 jnthn \o/
18:51 colomon joined #perl6
18:54 dalek roast: 6d78c06 | (Edwin Steiner)++ | S29-context/eval.t:
18:54 dalek roast: Added spectest for #115344: [BUG] method form of eval is lexically challenged
18:54 dalek roast: review: https://github.com/perl6/roast/commit/6d78c06d94
18:55 _edwin wow, the fix is indeed impressing
18:59 _edwin actually I should limit the number of bytes that the narcissist reads, as the task requires it to work with "any finite input"
19:02 _edwin jnthn++, I think 115344 can be resolved
19:04 jnthn Done, thanks.
19:06 _edwin ironically I could make the narcissist even shorter by going back to the sub form :}
19:07 _edwin it is beginning to look trivial (and actually once you have the $x='...'; eval $x quine pattern it pretty much is)
19:08 _edwin I'm not sure why the parens after slurp are required, though
19:09 _edwin rn: say slurp eq 'Austrian anthem.'
19:09 p6eval rakudo 27a6b8: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&eq' called (line 1)␤»
19:09 p6eval ..niecza v22-14-g136ddcf: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'eq' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at /home/…
19:10 jnthn _edwin: 'cus otherwise it's treated as a listop
19:10 masak _edwin: slurp is a listop.
19:10 _edwin I see
19:15 _edwin perl6++ bugfixing speed is impressive
19:16 [Coke] _edwin: don't look too hard at the queue. :)
19:16 diakopter some bugs are created a whole lot less equal
19:17 PerlJam _edwin: your sample size is too small to draw any statistically meaningful conclusion  :)
19:20 _edwin true, I got spoiled in a very short time :)
19:21 _edwin have a nice evening, perl6
19:34 benabik joined #perl6
20:02 kurahaupo joined #perl6
20:12 leont joined #perl6
20:12 sjn \o
20:12 sjn quick question... where's the REPL code located?
20:12 jnthn hi, sjn
20:12 jnthn sjn: src/HLL/Compiler.pm iirc
20:12 jnthn (in NQP repo)
20:12 jnthn See method interactive
20:18 * sjn tries to understand what's going on there
20:20 ivan`` joined #perl6
20:21 sorear joined #perl6
20:21 jrockway joined #perl6
20:21 mikemol joined #perl6
20:23 hash_table joined #perl6
20:27 thou joined #perl6
20:33 sirrobert joined #perl6
20:41 preflex joined #perl6
20:50 benabik joined #perl6
20:55 rindolf joined #perl6
21:28 Targen joined #perl6
21:38 fgomez joined #perl6
21:41 bluescreen10 joined #perl6
22:05 wooden joined #perl6
22:05 wooden joined #perl6
22:21 xinming joined #perl6
22:30 daxim joined #perl6
22:31 Chillance joined #perl6
22:44 skids joined #perl6
22:53 am0c r: role Going { method go { ...}; }; class A {}; my A $o does Going; $o.new; # should fail
22:53 p6eval rakudo 011ec6:  ( no output )
22:54 am0c r: role Going { method go { ...}; }; class A does Going {}; my A $o .= new; # should fail
22:54 p6eval rakudo 011ec6: OUTPUT«===SORRY!===␤Method 'go' must be implemented by A because it is required by a role␤»
22:55 am0c r: role Going { method go { ...}; }; class A {}; my A $o does Going; $o.HOW.does(Going);
22:55 p6eval rakudo 011ec6: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in any does at src/gen/Metamodel.pm:964␤  in block  at /tmp/yw3DiXlaDs:1␤␤»
22:55 am0c r: role Going { method go { ...}; }; class A {}; my A $o does Going .= new; $o.HOW.does($o, Going);
22:55 p6eval rakudo 011ec6:  ( no output )
22:55 am0c r: role Going { method go { ...}; }; class A {}; my A $o does Going .= new; $o.HOW.does($o, Going).say;
22:55 p6eval rakudo 011ec6: OUTPUT«False␤»
22:59 am0c std: role Going { method go { ...}; }; class A {}; my A $o does Going; $o.HOW.does(Going);
22:59 p6eval std 47e39ad: OUTPUT«ok 00:00 44m␤»
23:05 dogcast joined #perl6
23:07 am0c In the Synopsis, I couldn't find an example which use 'does' as a trait in a declartion statement; but STD.pm doesn't complain whether or not i use it in this way. and rakudo just doesn't seem to constraint.
23:08 sorear am0c: syntactically, traits are quite orthogonal
23:08 sorear it's supposed to be a "run-time" ish failure
23:09 sorear dunno what rakudo is doing
23:10 flussence rn: https://gist.github.com/3915298
23:10 p6eval rakudo 011ec6, niecza v22-14-g136ddcf: OUTPUT«ok 1 - 123␤ok 2 - (abc)␤ok 3 - ()abc()␤ok 4 - ([<{abc123abc}>])␤ok 5 - (abc[123)abc]␤ok 6 - (abc>␤ok 7 - (␤ok 8 - )(␤»
23:10 flussence yay
23:11 am0c wow
23:12 thou_ joined #perl6
23:12 dogcast rakudo: say 39 +3
23:12 p6eval rakudo 011ec6: OUTPUT«42␤»
23:13 am0c sorry i can't understand what does 'orthogonal' mean.
23:16 dogcast \msg +p6eval rakudo: say 39 +1
23:17 Juerd mosh is great. I've installed mosh on feather.
23:17 dogcast \msg p6eval rakudo: say 39 +1
23:18 Juerd If you use screen and irc on feather, you'll probably want mosh. Just so you know :)
23:42 am0c oh, it's cool! thanks Juerd
23:54 tokuhiro_ joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo