»ö« 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.
00:00 daniel-s joined 00:10 fgomez joined 00:17 benabik joined 00:19 skids joined 00:20 tokuhiro_ joined 00:28 whiteknight left
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:40 jerome left 00:52 jerome joined 00:54 replore joined 00:58 replore left 01:03 anuby joined
sorear o/ anuby 01:06
anuby hi
01:07 benabik left
anuby hi sorear 01:09
01:13 jerome left, hypolin joined 01:20 pjcj left, pjcj joined 01:26 jerome joined
japhb Is there a Perl 6 equivalent of Perl 5's FindBin yet? 01:28
01:36 pjcj left, pjcj joined 01:40 benabik joined 01:56 fgomez left 02:05 Bucciarati left 02:06 Bucciarati joined 02:08 tokuhiro_ left 02:11 fgomez joined 02:16 raiph joined
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
02:48 MikeFair_ joined 03:25 kaleem joined 03:28 gootle joined
japhb
.oO( diafuzzter )
03:45
04:11 sivoais left 04:12 sivoais joined 04:24 skids left 04:32 fgomez left
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()␤»
04:52 fgomez joined
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
05:11 kevouze joined 05:12 BillyJoeJimBob joined 05:13 jaldhar joined 05:17 BillyJoeJimBob left
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
05:23 birdwindupbird joined
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
05:33 GlitchMr joined
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
05:47 kevouze left
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
06:02 Celelibi left 06:04 Celelibi joined 06:06 MolbOrg joined 06:08 hash_table left
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␤»
06:19 GlitchMr left 06:22 cosimo left, cosimo joined
am0c thinks it's strange that there is no way to get Container information by .HOW introspection. 06:30
06:36 preflex left
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:43 MikeFair_ left
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 07:00 FROGGS joined
sorear o/ FROGGS 07:17
FROGGS hi sorear 07:18
07:28 cibs left 07:32 fglock left 07:35 cibs joined, SamuraiJack joined 07:42 hoelzro|away is now known as hoelzro, kurahaupo left 07:57 fhelmberger joined
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?
08:19 mtk left
moritz t/spec/S02-literals/quoting.t I guess 08:19
moritz takes a look
08:20 mtk joined 08:31 aharoni joined 08:32 ironcamel joined 08:35 kresike joined
kresike hello all you happy perl6 people 08:35
08:39 SamuraiJack left
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 :)
08:47 dakkar joined
jnthn tadzik: My patch didn't need any PIR :) 08:48
08:48 gootle left
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
09:03 hlin_ joined 09:04 hypolin left 09:09 gootle joined
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 09:17 hlin_ left
dalek ast: ed4fe0e | moritz++ | S (6 files):
rakudo autounfudge
09:34
10:05 arlinius left, anuby left 10:06 brrt left 10:13 xinming_ joined 10:15 daxim joined 10:17 xinming left 10:28 fgomez left 10:31 preflex joined 10:34 mucker joined 10:36 rindolf joined, mucker left 10:39 pmurias joined
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
10:40 jerome left
dalek ast: 4379a07 | (Solomon Foster)++ | S02-types/parcel.t:
Unfudge for niecza.
10:40
10:41 domidumont left
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
10:44 fgomez joined 10:48 mucker joined
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__++
11:01 gootle left, mucker left 11:02 mucker joined
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
11:04 jerome joined
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
11:05 Su-Shee_ joined
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␤»
11:09 Su-Shee left 11:16 xinming_ left 11:18 xinming joined
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?
11:21 kaleem_ joined
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
11:24 kaleem left
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
11:26 brrt joined
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
11:28 pmurias left, mucker left 11:29 brrt1 joined 11:33 fgomez_ joined, awwaiid_ joined
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
11:38 brrt left, fgomez left, araujo left, awwaiid left 11:41 mtk left 11:44 araujo joined 11:53 mtk joined 12:02 fgomez_ left 12:21 fgomez joined 12:33 bloonix left 12:38 tokuhiro_ joined, mucker joined 12:45 mhasch left 12:54 GlitchMr joined
tadzik ossum :) 12:57
bbkr__++
13:01 PacoAir joined 13:04 hash_table joined, Psyche^ joined 13:05 Patterner left, Psyche^ is now known as Patterner 13:16 PacoAir left, PacoAir joined 13:20 arlinius joined
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
13:28 Su-Shee_ is now known as Su-Shee
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
13:46 am0c left
tadzik decomutees 13:47
13:47 am0c joined
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
13:54 hash_table left
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
14:01 stopbit joined 14:04 skids joined 14:05 flightrecorder left 14:07 FROGGS left, flightrecorder joined 14:10 brrt1 left 14:20 FROGGS joined 14:22 jerome left 14:31 sirrobert joined
sirrobert git status 14:31
ww
FROGGS ;o)
14:34 jerome joined 14:35 raiph left 14:36 kikulli joined
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.
14:41 hash_table joined, sqirrel joined
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
14:52 flightrecorder left, FROGGS left, flightrecorder joined
sirrobert (the reason I hit it is I'm doing an eqv on two hashes and I sort the arrays after building 14:52
14:52 FROGGS joined
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 :-)
15:09 benabik left 15:10 benabik joined
[Coke] masak: have you seen: nomediakings.org/guildedyouth/ ? 15:13
kresike bye folks 15:23
15:23 kresike left 15:26 fgomez left
[Coke] (though it's a smidge racy) 15:29
15:31 hoelzro is now known as hoelzro|away 15:34 tokuhiro_ left, Chat0170 joined
Chat0170 Hi 15:34
LOL skilled face 15:35
tadzik hello
Chat0170 Hi 15:36
Um
Watch is this
15:37 Chat0170 left 15:38 kaleem_ left
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.
15:47 kaleem joined
masak haha, rosettacode.org/wiki/Narcissist 15:50
jnthn LOL skilled face! 15:51
15:52 FROGGS left, flightrecorder left 15:53 kaare_ joined
masak jnthn: watch is this! 15:56
ggoebel moritz: thx 15:59
16:02 bluescreen10 joined 16:03 thou joined, fhelmberger left 16:05 MayDaniel joined 16:07 kaare_ left 16:08 kaare_ joined 16:13 Celelibi left
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.
16:22 hoelzro|away is now known as hoelzro 16:26 Celelibi joined
jnthn masak: I could only reproduce that in the REPL 16:27
masak jnthn: ok. 16:28
16:28 fglock joined 16:34 kaleem left 16:41 kikulli left 16:50 flightrecorder joined, FROGGS joined, pmurias joined
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
16:57 dakkar left
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
17:00 Chillance joined
17:00 benabik left
jnthn pmurias: thanks 17:01
17:01 raiph joined 17:03 mucker left
pmurias jnthn: are TODO tests acceptable? (for a yet unfixed bug) 17:03
17:05 benabik joined 17:09 SamuraiJack joined 17:14 birdwindupbird left
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
17:17 raiph left
[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
17:29 raiph joined 17:37 benabik left
dalek rlito: b62fba5 | (Flavio S. Glock)++ | README-perlito5-js:
Perlito5 - js2 - TODO - Alternative implementation for lvalue @_ and tail calls
17:46
17:59 MolbOrg left 18:02 Targen joined 18:05 benabik joined 18:07 _edwin joined
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
18:21 Circlepuller left 18:22 circlepuller joined, mucker joined
_edwin now with nested quotes: rosettacode.org/wiki/Narcissist#Perl_6 18:23
18:24 alester joined, SamuraiJack left, SamuraiJack_ joined
dalek rlito: 1f09a80 | (Flavio S. Glock)++ | / (19 files):
Revert "Perlito5 - add Perlito5X namespace"

This reverts commit 828649a7a8777bc653cf107cb352b83eff3a0c4d. this breaks 'make'
18:26
18:26 perigrin left, mucker left
_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.
18:32 fgomez joined
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
18:38 perigrin joined
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
18:42 sirrobert left, daxim left
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
18:45 leprevost joined
jnthn tags 115344 testneeded 18:46
_edwin started writing a test
jnthn \o/ 18:47
18:49 colomon left 18:51 colomon joined 18:52 colomon left
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
19:01 sqirrel left
_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
19:09 hash_table left
_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
19:18 aharoni left 19:19 benabik left
_edwin true, I got spoiled in a very short time :) 19:20
have a nice evening, perl6 19:21
19:21 _edwin left 19:32 fgomez left 19:34 benabik joined 19:39 SamuraiJack_ left 19:48 wooden left 19:54 preflex left 19:55 Targen left 19:56 thou left 19:59 GlitchMr left 20:02 kurahaupo joined 20:04 fglock left 20:09 estrai_ left 20:12 leont joined
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
20:19 ivan`` left, mikemol left, jrockway left 20:20 sorear left, ivan`` joined 20:21 sorear joined, jrockway joined, mikemol joined 20:23 hash_table joined 20:27 thou joined 20:29 kaare_ left 20:33 sirrobert joined 20:36 MayDaniel left, leprevost left 20:41 preflex joined 20:44 FROGGS left, flightrecorder left 20:49 benabik left 20:50 benabik joined 20:53 hoelzro is now known as hoelzro|away 20:55 rindolf left, rindolf joined 21:00 skids left, rindolf left 21:09 alester left 21:28 Targen joined 21:29 bluescreen10 left 21:38 fgomez joined 21:41 bluescreen10 joined 22:05 wooden joined, wooden left, wooden joined 22:09 bluescreen10 left 22:14 PacoAir left 22:19 xinming left 22:21 xinming joined 22:30 daxim joined, Chillance left 22:31 Chillance joined, stopbit left 22:44 skids joined, benabik left 22:49 Chillance left 22:53 arlinius left
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␤»
23:05 dogcast joined
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
23:12 thou_ joined
dogcast rakudo: say 39 +3 23:12
p6eval rakudo 011ec6: OUTPUT«42␤»
am0c sorry i can't understand what does 'orthogonal' mean. 23:13
23:13 thou left
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
23:19 dogcast left 23:26 hash_table left 23:31 leont left 23:40 Exodist left
am0c oh, it's cool! thanks Juerd 23:42
23:54 tokuhiro_ joined