»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
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␤»
sorear o/ anuby 01:06
anuby hi
anuby hi sorear 01:09
japhb Is there a Perl 6 equivalent of Perl 5's FindBin yet? 01:28
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:24
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:25
Am I right in saying Rakudo now includes a decent initial cut at all but compact structures and Perl 5? 02:27
(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:29
sorear there are an infinite number of corner cases. :p 02:32
colomon does that mean it's a circle? 02:36
raiph heh. i think it was recent diakopter fuzzbot results that made me put the thousands comment in. 02:43
colomon: maybe a whirlpool? 02:45
japhb
.oO( diafuzzter )
03:45
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␤␤»
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␤␤»
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␤␤»
am0c r: class MyHash is Hash { }; my Hash $h .= new(a=>1); $h.perl.say
p6eval rakudo 42a280: OUTPUT«{}␤»
am0c r: class MyHash is Hash { }; my Hash $h .= new(a=>1); $h.WHAT.say 04:47
p6eval rakudo 42a280: OUTPUT«Hash()␤»
am0c class MyHash is Hash { }; my %h is MyHash; %h.WHAT.say 04:53
r: class MyHash is Hash { }; my %h is MyHash; %h.WHAT.say
p6eval rakudo 42a280: OUTPUT«Hash()␤»
diakopter lolz fuzzbot 04:54
sorear: shrug at all those errors? 05:05
sorear diakopter: I wish I had time or motivation for niecza tasks, like filing tickets for the things you find 05:06
diakopter I'm glad to file tickets if you don't mind the clutter 05:10
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
seeing CLR errors leak is definitely fun
sorear filing tickets would be appreciated, though it may be a while before I get around to fixing any :/ 05:28
kevouze Thank you for all who helped out fill in the survey about newcomer experience in Perl 05:30
The survey is oen for teh next few days for those who did not have time to do it. tinyurl.com/perlnewcomersurvey
thanks
am0c using a Container for tie(in Perl5) is nyi, yet? 05:33
moritz you can use PROXY to the same effect as a scalar tie 05:34
am0c I see 05:41
masak OT: check out tromp's www.ioccc.org/years.html#2012 submission. wow. 05:56
tadzik whoa, impressive 05:59
masak commutes & 06:00
sorear I love the judges' comment 06:01
am0c r: class MyScalar { }; my $s is MyScalar = {}; 06:11
p6eval rakudo 42a280: ( no output )
am0c std: class MyScalar { }; my $s is MyScalar = {};
p6eval std 47e39ad: OUTPUT«ok 00:00 43m␤»
am0c thinks it's strange that there is no way to get Container information by .HOW introspection. 06:30
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␤␤»
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␤»
sorear o/ FROGGS 07:17
FROGGS hi sorear 07:18
jnthn morning o/ 08:12
moritz \o jnthn, FROGGS, sorear 08:13
jnthn am0c: You get scalar container information with .VAR 08:14
am0c jnthn: good morning!
thank you for your kindness! 08:15
jnthn r: my $x = 42; say $x.VAR.name 08:16
p6eval rakudo 42a280: OUTPUT«$x␤»
jnthn r: say q{ ooh look { nested { things } } work } 08:18
p6eval rakudo 42a280: OUTPUT« ooh look { nested { things } } work ␤»
jnthn moritz: I fixed ^ last night...any idea if/where there may be some spectests for it?
moritz t/spec/S02-literals/quoting.t I guess 08:19
moritz takes a look
kresike hello all you happy perl6 people 08:35
moritz jnthn: after my rebuild has finished, I'll see what I can unfudge 08:42
jnthn moritz: OK, great. I gotta go for some meeting in a few moments. 08:44
I think we may be able to turn a yellow into a green on the features page now too :)
moritz and maybe tadzik++ can steal some of that code for parsing nested X<...> Pod quotes :-) 08:45
tadzik oh yes :) 08:46
last time I tried I went "ewww, pir"
I think :)
jnthn tadzik: My patch didn't need any PIR :) 08:48
tadzik ossum :) 08:48
I may have not looked enough
moritz r: say q{ foo { bar } } 08:57
p6eval rakudo 42a280: OUTPUT« foo { bar } ␤»
moritz \o/
it's a surprisingly small change such a long-standing TODO
jnthn++
dalek ast: 1084b0b | moritz++ | S02-literals/quoting.t:
unfudge nested quoting tests for rakudo
09:00
moritz the remaining skips in that file are related to quoting adverbs and <<...>> 09:01
(running a global autounfudge now, so far it also found two unskips in t/spec/S02-lexical-conventions/comments.t) 09:02
moritz r: grammar A { token any { foo }; token TOP { <any> } }; say A.parse('foo'); 09:10
p6eval rakudo 42a280: OUTPUT«「foo」␤ any => 「foo」␤␤»
dalek ast: ed4fe0e | moritz++ | S (6 files):
rakudo autounfudge
09:34
pmurias is there a spec of how panda modules should look like? 10:39
tadzik yes 10:40
wiki.perl6.org/Create%20and%20Distr...%20Modules
dalek ast: 4379a07 | (Solomon Foster)++ | S02-types/parcel.t:
Unfudge for niecza.
10:40
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␤␤»
pmurias tadzik: the README on github looks outdated
tadzik pmurias: which readme? 10:44
moritz bbkr__: I think we have a ticket about that already 10:49
bbkr__: IMHO it should error out
bbkr__: the same situation is class A { ... }; class B is A { }
pmurias tadzik: 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?
tadzik pmurias: it mentions ufobuilder, which is gone, but aside of that it looks okay to me 10:52
pmurias tadzik: it has a dead link to Pls 10:54
moritz bbkr__: please submit, it's not as easy to fix as I thought 10:55
tadzik pmurias: ah, ok, thanks 10:57
bbkr__ moritz: ::() reported 10:58
moritz bbkr__++
bbkr__ handling inheritance from stubbing already works - rt.perl.org/rt3/Ticket/Display.html?id=81060. so inheritance from inside scope of parent class looks like new issue to me. 11:03
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␤␤»
moritz bbkr__: not so very fine
bbkr__ r: class A { 􏿽x85 }; 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"␤»
bbkr__ r: class A { ... }; class B is A {}
p6eval rakudo 42a280: OUTPUT«===SORRY!===␤The following packages were stubbed but not defined:␤ A␤at /tmp/eOEZDNV3CE:1␤»
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?
moritz now waiting for the spectest run to finish
bbkr__ moritz++
pmurias tadzik: is there a way to put arbitary building code into the package?
tadzik pmurias: not yet, no 11:22
pmurias: I have rough plans for such things, NYI yet though
what I thought of is basically a Build.pm which Panda loads, and you can overload certain Panda components in it 11:23
for example do stuff before/after Panda::Builder works and build some your stuff your way
rakudo-debugger is another usecase
pmurias tadzik: rakudo-js is what I have in mind, it's build system is stolen from rakudo-debugger 11:25
tadzik pmurias: okay, cool 11:26
tadzik pmurias: I'll try to allocate some time today and prototype this, and see how it works 11:26
dalek kudo/nom: 179b6c0 | moritz++ | src/Perl6/ (2 files):
fix indirect name in method declaration. Closes RT #115334
ast: a4ef69b | moritz++ | S02-names/indirect.t:
test indirect method names
11:27
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:35
tadzik ossum :) 12:57
bbkr__++
dalek kudo/nom: 27a6b84 | moritz++ | / (2 files):
refactor CUSTOM_LIB, deprecated ~/.perl6/lib

now %CUSTOM_LIB is a hash with (perl, site, vendor, home) installation dirs, and the one in the home directory depends on the exact Rakudo version.
For backward compatibility, ~/.perl6/lib is still in @*INC
13:25
moritz oops, that %*CUSTOM_LIB 13:27
tadzik hrm, require doesn't seem to work for '.' 13:39
moritz . is not in @*INC by default 13:40
tadzik gist.github.com/3911870
true. But I expected it could make an exception if I load a file :)
moritz it could, if you made an exception and modified @*INC :-) 13:41
tadzik perl6 -e 'my @*INC = ".", @*INC; require "Build.pm"' doesn't help 13:42
and it still doesn't show "." in the error message. Odd
moritz erm, require 'Build';
require currently wants a module name, not a file name 13:43
tadzik oh
moritz r: require Test;
p6eval rakudo 179b6c: ( no output )
moritz r: require 'Test';
p6eval rakudo 179b6c: ( no output )
tadzik no, that doesn't help either :)
moritz r: my @*INC = (); require TEST;
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…
tadzik use lib works though
moritz still odd; require is runtime
tadzik yep 13:44
moritz maybe we don't really look for the dynamic @*INC in the module loader
tadzik oh noes 13:45
tadzik decomutees 13:47
moritz aye, it looks into GLOBAL::INC instead of @*INC 13:48
probably bootstrappy reasons, because it's called before @*INC is even set up 13:49
FROGGS hmmm, can't merge my own pull request -.-
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).
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)
PerlJam Though, maybe if I can juggle some things around this morning I might be able to release in the afternoon 13:56
moritz (I spectested, but didn't smoke the ecosystem) 13:57
sirrobert git status 14:31
ww
FROGGS ;o)
sirrobert is there a sort-in-place type of operation that's built in? 14:39
r: my @a = (3, 2, 1, 4); @a.sort; say @a.perl;
p6eval rakudo 27a6b8: OUTPUT«Array.new(3, 2, 1, 4)␤»
sirrobert except that sorts in place
moritz @a.=sort 14:40
sirrobert dang it, moritz
every time I get a hold on the coolness of p6's architecture, you mess me up ;)
neat new features that are features I already know about! 14:41
just not in that way.
sirrobert question about that: 14:44
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()␤»
sirrobert Would it be a reasonable feature request to have the value there remain an array after .=sort? 14:46
rjbs Why did it change? 14:49
sirrobert I guess I can do
r: my $a = [4, 3, 5, 1, 2]; say $a.WHAT; $a.=sort.=Array; say $a.WHAT;
p6eval rakudo 27a6b8: OUTPUT«Array()␤Array()␤»
moritz rjbs: because .sort returns a Parcel
rjbs Heh, fair enough.
sirrobert I guess I'd like to see sort return the same type as it started with, then
sirrobert (the reason I hit it is I'm doing an eqv on two hashes and I sort the arrays after building 14:52
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:53
moritz we've also discussed something like eqv that is a bit more forgiving on the exact types 14:57
but so far, no action was taken
sirrobert so, what language is that written in? 14:59
the implementation of sort, I mean
err eqv I mean
I could take a stab at something, perhaps =) 15:00
moritz Perl 6
sirrobert grrrreat. If I were to try to contribute something small like that, what's the right process/procedure? 15:01
moritz multi sub infix:<eqv>(...) { ...} 15:02
sirrobert I suppose someone should first approve the idea =)
moritz sirrobert: well, I'd recommend to first write it as a module
sirrobert moritz: ahh, I see
moritz sirrobert: and if people generally like it, we can include it in rakudo
sirrobert moritz: that's a good path
thanks, will do =)
moritz luckily it's not harder to write operators in a module than in rakudo :-)
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:07
moritz probably dancer 15:09
you can find it on modules.perl6.org
erm, bailador is the name :-)
[Coke] masak: have you seen: nomediakings.org/guildedyouth/ ? 15:13
kresike bye folks 15:23
[Coke] (though it's a smidge racy) 15:29
Chat0170 Hi 15:34
LOL skilled face 15:35
tadzik hello
Chat0170 Hi 15:36
Um
Watch is this
masak watch is this indeed. 15:40
[Coke]: I had not. looks cute.
um, I see no Parrot release announcement on parrot-dev. any reason for that?
benabik masak: Perhaps dukeleto got sidetracked by the fact that he couldn't update parrot.org. 15:41
masak oh :/ 15:45
yes, I see that email on parrot-dev now.
masak haha, rosettacode.org/wiki/Narcissist 15:50
jnthn LOL skilled face! 15:51
masak jnthn: watch is this! 15:56
ggoebel moritz: thx 15:59
masak is there any good, elucidating reason infix:<**> is the *simplest* operation (among infix:<+>, infix:<*>, and infix:<**>) on Church numerals? 16:13
I mean, is there some deep connection between infix:<**> and function application somehow?
notation such as log**2($x) would indicate there is, but maybe that is a red herring. 16:14
sjn++ 16:16
r: try return; last 16:17
p6eval rakudo 27a6b8: ( no output )
masak r: try return; last; say "alive"
p6eval rakudo 27a6b8: ( no output )
masak hm :)
TimToady I'd rather keep eqv strict and make @array.=sort preserve the type on the left somehow 16:18
maybe Parcels are getting a little too user-visible here
(it was cmp that we were thinking about loosening the semantics of, I believe) 16:19
masak it was. 16:21
and I don't believe we reached a good way to do that.
jnthn masak: I could only reproduce that in the REPL 16:27
masak jnthn: ok. 16:28
dalek atures: c7fef88 | jnthn++ | features.json:
Remove nested pairs caveat.
16:56
pmurias jnthn: I have added an nqp test to my (fresh) nqp fork
jnthn pmurias: It passes already? 16:58
pmurias yes 16:59
dalek p: 0e83ea3 | (Paweł Murias)++ | t/nqp/65-how.t:
Add a test for NQPClassHOW.
17:00
p: 51989fe | jonathan++ | t/nqp/65-how.t:
Merge pull request #60 from pmurias/master

Added a test
jnthn pmurias: thanks 17:01
pmurias jnthn: are TODO tests acceptable? (for a yet unfixed bug) 17:03
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.
jnthn Guess we could add a way though :)
[Coke] oh. nqp?
jnthn [Coke]: yeah
[Coke] yah, that woudl be nice. 17:17
jnthn oh!! 17:18
We *do* already have a way!
pmurias jnthn: I don't have any planned for now, I'm just asking as adding failing tests was acceptable in pugs
jnthn See src/core/testing.pm :)
pmurias: Please don't add them as failing.
pmurias: But you can add them todo'd
If that makes sense :) 17:19
pmurias + in nqp converts to integers or to floats? 17:20
jnthn floats 17:21
pmurias jnthn: I changed =:= to nqp::eqaddr in the test suit 17:24
dalek rlito: b62fba5 | (Flavio S. Glock)++ | README-perlito5-js:
Perlito5 - js2 - TODO - Alternative implementation for lvalue @_ and tail calls
17:46
dalek p: 08a69c5 | (Paweł Murias)++ | t/nqp/10-cmp.t:
Test for nqp::eqaddr instead of =:=. Avoid comparing identical string
18:09
p: b0087db | jonathan++ | t/nqp/10-cmp.t:
Merge pull request #61 from pmurias/master

change =:= to eqaddr
_edwin hi perl6!
phenny _edwin: 17 Oct 21:39Z <jnthn> tell _edwin I fixed the nested quote delimeters thing, I think :)
_edwin jnthn++, I'm already making a prettier narcissist :) 18:10
r: my $x='1'; eval '$x'
p6eval rakudo 27a6b8: ( no output )
diakopter _edwin: hi :)
_edwin r: my $x='1'; '$x'.eval
GlitchMr _edwin: you forgot printing result of eval
p6eval rakudo 27a6b8: OUTPUT«===SORRY!===␤Variable $x is not declared␤at eval_0:1␤»
GlitchMr r: my $x = '1'; print eval '$x'
p6eval rakudo 27a6b8: OUTPUT«1»
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
GlitchMr It reminds me old JavaScript versions.
_edwin wanted to ask if this is a rakudobug 18:12
jnthn _edwin: Yeah
GlitchMr In really old Netscape versions, eval() was function and string method at once
_edwin will file 18:13
jnthn _edwin: thanks, I'm pondering the best way to fix it. 18:14
sorear o/ 18:19
_edwin now with nested quotes: rosettacode.org/wiki/Narcissist#Perl_6 18:23
dalek rlito: 1f09a80 | (Flavio S. Glock)++ | / (19 files):
Revert "Perlito5 - add Perlito5X namespace"

This reverts commit 828649a7a8777bc653cf107cb352b83eff3a0c4d. this breaks 'make'
18:26
_edwin reported rt.perl.org/rt3/Ticket/Display.html?id=115344 18:29
masak why do we even have a method form of .eval? :( 18:31
are the masses crying out for one? I'm not.
jnthn No prizes for guessing why it didn't work ;) 18:32
jnthn spectests a fix.
jnthn masak: I don't mind it fwiw. 18:32
flussence r: lines».eval
p6eval rakudo 27a6b8: OUTPUT«===SORRY!===␤Confused␤at eval_0:1␤»
masak I'd sooner see .take as a method, to be honest. 18:33
flussence ooh
tadzik r: 2.is-prime.say
p6eval rakudo 27a6b8: OUTPUT«True␤»
tadzik I'll throw in everything
GlitchMr I hope you don't plan making . a syntactic sugar for method call 18:34
So, 'a'.b('c') would be actually b('a', 'c')
masak GlitchMr: do you mean "syntactic sugar for subroutine call"? 18:35
GlitchMr yeah
jnthn That's .& :)
masak no, I'm not proposing that.
GlitchMr With multidispatch it would be possible
(not that it's good idea)
masak I just wish that there were more of a pattern to what builtins get to be methods.
jnthn This ain't CLOS :P
masak so that, you know, people don't have to memorize arbitrary lists of stuff.
GlitchMr $string.lc and lc $string 18:36
It already looks like syntactic sugar, even if it isn't
masak r: say "OH HAI".lc; say lc "OH HAI"
p6eval rakudo 27a6b8: OUTPUT«oh hai␤oh hai␤»
jnthn masak: To be fair, I don't think any of the control exceptions have method forms.
masak jnthn: I sometimes yearn for .take 18:37
GlitchMr Exception.new.throw...
masak for some reason.
jnthn GlitchMr: That ain't a control exception :P
I meant next/last etc.
GlitchMr But technically it could be, right?
I actually find it interesting why "throw/raise" is a keyword in every language 18:38
It could be easily a function
dalek kudo/nom: 011ec66 | jnthn++ | src/core/ (2 files):
Fix eval method to see the correct context.

Plus a bonus feature that you didn't see me add, but the debugger will happily use. :-)
18:38
masak jnthn: next/last do have method forms. on labels. 18:41
masak that's a nice commit, btw. 18:42
very straightforward. 18:43
_edwin I like the method forms from a linguistic point of view
jnthn masak: labels? what labels? ;)
GlitchMr label: 42 18:44
_edwin not so much from an "architecture" point of view, but what makes Perl * special is emphasizing the former
the "arbitrary list of stuff" aspect bothers me a bit... until I actually write some code and just use them :) 18:45
jnthn tags 115344 testneeded 18:46
_edwin started writing a test
jnthn \o/ 18:47
dalek ast: 6d78c06 | (Edwin Steiner)++ | S29-context/eval.t:
Added spectest for #115344: [BUG] method form of eval is lexically challenged
18:54
_edwin wow, the fix is indeed impressing 18:55
actually I should limit the number of bytes that the narcissist reads, as the task requires it to work with "any finite input" 18:59
_edwin jnthn++, I think 115344 can be resolved 19:02
jnthn Done, thanks. 19:04
_edwin ironically I could make the narcissist even shorter by going back to the sub form :} 19:06
it is beginning to look trivial (and actually once you have the $x='...'; eval $x quine pattern it pretty much is) 19:07
I'm not sure why the parens after slurp are required, though 19:08
_edwin rn: say slurp eq 'Austrian anthem.' 19:09
p6eval rakudo 27a6b8: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&eq' called (line 1)␤»
..niecza v22-14-g136ddcf: OUTPUT«===SORRY!===␤␤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/…
jnthn _edwin: 'cus otherwise it's treated as a listop 19:10
masak _edwin: slurp is a listop.
_edwin I see
perl6++ bugfixing speed is impressive 19:15
[Coke] _edwin: don't look too hard at the queue. :) 19:16
diakopter some bugs are created a whole lot less equal
PerlJam _edwin: your sample size is too small to draw any statistically meaningful conclusion :) 19:17
_edwin true, I got spoiled in a very short time :) 19:20
have a nice evening, perl6 19:21
sjn \o 20:12
quick question... where's the REPL code located?
jnthn hi, sjn
sjn: src/HLL/Compiler.pm iirc
(in NQP repo)
See method interactive 20:13
sjn tries to understand what's going on there 20:18
am0c r: role Going { method go { ...}; }; class A {}; my A $o does Going; $o.new; # should fail 22:53
p6eval rakudo 011ec6: ( no output )
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␤»
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␤␤»
am0c r: role Going { method go { ...}; }; class A {}; my A $o does Going .= new; $o.HOW.does($o, Going);
p6eval rakudo 011ec6: ( no output )
am0c r: role Going { method go { ...}; }; class A {}; my A $o does Going .= new; $o.HOW.does($o, Going).say;
p6eval rakudo 011ec6: OUTPUT«False␤»
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␤»
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:07
sorear am0c: syntactically, traits are quite orthogonal 23:08
it's supposed to be a "run-time" ish failure
dunno what rakudo is doing 23:09
flussence rn: 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 - )(␤»
flussence yay
am0c wow 23:11
dogcast rakudo: say 39 +3 23:12
p6eval rakudo 011ec6: OUTPUT«42␤»
am0c sorry i can't understand what does 'orthogonal' mean. 23:13
dogcast \msg +p6eval rakudo: say 39 +1 23:16
Juerd mosh is great. I've installed mosh on feather. 23:17
dogcast \msg p6eval rakudo: say 39 +1
Juerd If you use screen and irc on feather, you'll probably want mosh. Just so you know :) 23:18
am0c oh, it's cool! thanks Juerd 23:42