»ö« 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«().hashNominal 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«().hashNominal 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: Aat /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 declaredat 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!===Confusedat 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 haioh 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 1Unhandled 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 - 123ok 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
|