»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
BenGoldberg | m: say Numeric.^methods; | 00:00 | |
camelia | rakudo-moar b54294: OUTPUT«(log log10 exp roots succ pred)» | ||
BenGoldberg | m: say Numeric.new.succ; | 00:01 | |
camelia | rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 58208 bytes» | ||
BenGoldberg | m: say Numeric.succ; | ||
camelia | rakudo-moar b54294: OUTPUT«Use of uninitialized value of type Numeric in numeric context in any at gen/moar/m-Metamodel.nqp line 17181» | ||
AlexDaniel | BenGoldberg: LTA | 00:02 | |
00:02
patrickz left
|
|||
BenGoldberg | I wonder if there's a missing :D somewhere. | 00:02 | |
00:02
Yary left,
FreezerburnV left
00:04
NZKindest joined
00:05
firstdayonthejob left
00:09
vendethiel left
00:12
BenGoldberg left,
arlenik joined
00:13
BenGoldberg joined,
BenGoldberg left
00:15
BenGoldberg joined
00:16
arlenik left,
espadrine left
00:19
Guest46973 left,
mohae left
00:21
mohae joined
|
|||
sortiz | BenGoldberg, In Numeric. github.com/rakudo/rakudo/blob/nom/...ic.pm#L28, Indeed missing! | 00:25 | |
BenGoldberg | :) | 00:31 | |
00:34
raiph joined
00:37
SCHAAP137 left
00:39
pukku joined,
pukku left
|
|||
BenGoldberg | m: say Mu.new; | 00:41 | |
camelia | rakudo-moar b54294: OUTPUT«Mu.new» | ||
BenGoldberg | m: say so Mu.new; | ||
camelia | rakudo-moar b54294: OUTPUT«True» | ||
BenGoldberg | m: class Foo is Mu { }; say Foo.new; | 00:42 | |
camelia | rakudo-moar b54294: OUTPUT«Foo.new» | ||
BenGoldberg | m: class Foo is Mu { }; say so Foo.new; | ||
camelia | rakudo-moar b54294: OUTPUT«True» | ||
BenGoldberg | m: say Numeric.^find_method('Bool') | 00:44 | |
camelia | rakudo-moar b54294: OUTPUT«Bool» | ||
00:52
Ben_Goldberg joined
00:53
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
timotimo goes to(wards) bed | 00:56 | ||
01:00
sufrostico joined
|
|||
skids | Who's Ward? :-) | 01:03 | |
01:03
wamba left
01:04
wamba joined
|
|||
BenGoldberg is confused by something. | 01:13 | ||
I *think* that these should produce the same output: | |||
m: say map *.perl, Numeric.^find_method('Bool').candidates; | |||
camelia | rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|40928744) ... })» | ||
BenGoldberg | m: say map *.perl, .^find_method('Bool').candidates for Numeric; | 01:14 | |
camelia | rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|39740968) ... } method Bool (Numeric:D $: *%_) { #`(Method|50390536) ... })» | ||
flussence | m: say map *.perl, (.^find_method('Bool').candidates for Numeric); | 01:24 | |
camelia | rakudo-moar b54294: OUTPUT«((method Bool (Mu $: *%_) { #`(Method|44369480) ... }, method Bool (Numeric:D $: *%_) { #`(Method|55019352) ... }))» | ||
flussence | hm, now I'm confused too | 01:25 | |
BenGoldberg | m: my $m = Numeric.^find_method('Bool'); $m( Numeric.new ).say; | 01:26 | |
camelia | rakudo-moar b54294: OUTPUT«True» | ||
Hotkeys | m: say Numeric.^find_method('Bool').candidates.elems; say (.^find_method('Bool').candidates for Numeric).elems | 01:29 | |
camelia | rakudo-moar b54294: OUTPUT«11» | ||
Hotkeys | m: say Numeric.^find_method('Bool').candidates.elems; say (.^find_method('Bool').candidates for Numeric)[0].elems | ||
camelia | rakudo-moar b54294: OUTPUT«12» | ||
BenGoldberg | Ooh, it's producing a one element list with a two element list in it. | 01:30 | |
Hotkeys | m: say Numeric.^find_method('Bool').candidates; say (.^find_method('Bool').candidates for Numeric) | ||
camelia | rakudo-moar b54294: OUTPUT«(Bool)((Bool Bool))» | ||
Hotkeys | seems like | ||
BenGoldberg | m: my @c = !(.^find_method('Bool').candidates for Numeric); say +@c | 01:31 | |
camelia | rakudo-moar b54294: OUTPUT«1» | ||
BenGoldberg | m: my @c = !(.^find_method('Bool').candidates for Numeric); say @c | ||
camelia | rakudo-moar b54294: OUTPUT«[False]» | ||
BenGoldberg | m: my @c = !(.^find_method('Bool').candidates for Numeric); say @c[0] | ||
camelia | rakudo-moar b54294: OUTPUT«False» | ||
BenGoldberg | m: my @c = !(.^find_method('Bool').candidates for Numeric); say @c[0].WHAT | ||
camelia | rakudo-moar b54294: OUTPUT«(Bool)» | ||
BenGoldberg | m: my @c := !(.^find_method('Bool').candidates for Numeric); say @c[0].WHAT | ||
camelia | rakudo-moar b54294: OUTPUT«Type check failed in binding; expected Positional but got Bool in block <unit> at /tmp/ja_AnGGOkn line 1» | 01:32 | |
BenGoldberg | m: my @c := (.^find_method('Bool').candidates for Numeric); say @c[0].WHAT | ||
camelia | rakudo-moar b54294: OUTPUT«(List)» | ||
BenGoldberg | m: my @c := (.^find_method('Bool').candidates for Numeric); say @c[0].elems; | ||
camelia | rakudo-moar b54294: OUTPUT«2» | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say +@c; | 01:33 | |
camelia | rakudo-moar b54294: OUTPUT«2» | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say .perl for 2c; | ||
camelia | rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OB4HS1fIDPMissing semicolonat /tmp/OB4HS1fIDP:1------> 3meric); my @c := @c0[0]; say .perl for 27⏏5c;» | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say .perl for @c; | ||
camelia | rakudo-moar b54294: OUTPUT«method Bool (Mu $: *%_) { #`(Method|38913848) ... }method Bool (Numeric:D $: *%_) { #`(Method|49563264) ... }» | ||
Hotkeys | m: Numeric.^find_method('Bool').say | ||
camelia | rakudo-moar b54294: OUTPUT«Bool» | ||
Hotkeys | m: Numeric.^find_method('Bool').perl.say | ||
camelia | rakudo-moar b54294: OUTPUT«method Bool (Mu $: | is raw) { #`(Method|48415024) ... }» | ||
Hotkeys | m: Numeric.^find_method('Bool').candidates.perl.say | ||
camelia | rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|53024216) ... },)» | ||
skids | m: say map *.perl, .^find_method("Bool").candidates for Numeric, Bool | 01:34 | |
camelia | rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|67184200) ... })(method Bool (Bool:D $: *%_) { #`(Method|67725320) ... } method Bool (Bool:U $: *%_) { #`(Method|67725472) ... })» | ||
skids | m: say map *.perl, .^find_method("Bool").candidates for IterationEnd | ||
camelia | rakudo-moar b54294: OUTPUT«Method 'map' not found for invocant of class 'Mu' in block <unit> at /tmp/CryDmE5hf8 line 1» | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; for @c -> \cand { say cand($n) } | ||
camelia | rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u2AMVIuL6lVariable '&cand' is not declaredat /tmp/u2AMVIuL6l:1------> 3$n = Numeric.new; for @c -> \cand { say 7⏏5cand($n) }» | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; for @c -> $cand { say $cand($n) } | ||
camelia | rakudo-moar b54294: OUTPUT«TrueMemory allocation failed; could not allocate 82944 bytes» | ||
Hotkeys | m: say map*.perl, (.^find_method('Bool').candidates with Numeric) | 01:35 | |
camelia | rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0eGNb8HzJmCalling map() will never work with any of these multi signatures: (&code, + is raw)at /tmp/0eGNb8HzJm:1------> 3say 7⏏5map*.perl, (.^find_method('Bool').candid» | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; $c[0]($n); | ||
camelia | rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/73EY4XvyS0Variable '$c' is not declared. Did you mean '@c'?at /tmp/73EY4XvyS0:1------> 3; my @c := @c0[0]; my $n = Numeric.new; 7⏏5$c[0]($n);» | ||
Hotkeys | m: say map *.perl, (.^find_method('Bool').candidates with Numeric) | ||
camelia | rakudo-moar b54294: OUTPUT«()» | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; @c[0]($n); | ||
camelia | ( no output ) | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; @c[1]($n); | ||
camelia | rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 82944 bytes» | ||
01:36
addison left
|
|||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say .perl for @c; | 01:36 | |
camelia | rakudo-moar b54294: OUTPUT«method Bool (Mu $: *%_) { #`(Method|50939704) ... }method Bool (Numeric:D $: *%_) { #`(Method|61589120) ... }» | ||
BenGoldberg | m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say @c[1].file; | ||
camelia | rakudo-moar b54294: OUTPUT«gen/moar/m-CORE.setting» | ||
BenGoldberg | Drat... that's annoying. | ||
skids | m: say map *.perl, .^find_method("Bool").candidates for Numeric, IterationEnd | ||
camelia | rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|49890952) ... })» | ||
BenGoldberg ponder submittting a bug report, to the effect that the genenerated setting ought to have the equivilant of '#file' in it, indicating the file from which it was generated. | 01:39 | ||
m: Numeric.new != 0; | 01:40 | ||
camelia | rakudo-moar b54294: OUTPUT«WARNINGS for /tmp/J5pUO24vUB:Useless use of "!=" in expression ".new != 0" in sink context (line 1)Memory allocation failed; could not allocate 61472 bytes» | ||
BenGoldberg | m: Numeric.new == 0; | 01:41 | |
camelia | rakudo-moar b54294: OUTPUT«WARNINGS for /tmp/3oYjw3Btyy:Useless use of "==" in expression ".new == 0" in sink context (line 1)Memory allocation failed; could not allocate 61456 bytes» | ||
skids | m: say map {$_.WHAT}, .^find_method("Bool").candidates for Numeric | 01:44 | |
camelia | rakudo-moar b54294: OUTPUT«((Method) (Method))» | ||
skids | Hotkeys: yep, as you saw ^^ | 01:45 | |
BenGoldberg | I think I might possibly have found it: | 01:48 | |
m: role Foo { method Foo { self } }; proto sub infix:<eq-like>(Mu $?, Mu $?) is pure { * }; multi sub infix:<eq-like>($?) { Bool::True }; multi sub infix:<eq-like>(\a, \b) { a.Foo eq-like b.Foo }; say Foo.new eq-like Foo.new; | |||
camelia | rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 118816 bytes» | ||
BenGoldberg | Compare this with: github.com/rakudo/rakudo/blob/nom/...ic.pm#L248 | ||
skids | $? ... ? | 01:52 | |
BenGoldberg | No idea, just copy-pasting ;) | ||
skids | Oh, optional discarded $ | 01:53 | |
gfldex | optional anonymous positional argument | ||
skids | Wouldn't that recurse infinitely without annother multi? | 01:54 | |
BenGoldberg | Precisely. | ||
It's recursing infinitely, and thus runs out of memory. | 01:55 | ||
That's my guess, anyway. | 01:56 | ||
skids | m: &infix:<==>.candidates.say | ||
camelia | rakudo-moar b54294: OUTPUT«(sub infix:<==> ($?) { #`(Sub|60059064) ... } sub infix:<==> (\a, \b) { #`(Sub|60061344) ... } sub infix:<==> (Real \a, Real \b) { #`(Sub|60061192) ... } sub infix:<==> (Int:D \a, Int:D \b) { #`(Sub|60059520) ... } sub infix:<==> (int $a, int $b) { #`(Sub|…» | ||
skids | There are other multis, unless they are not defined in some internal scope | ||
BenGoldberg | Sure, but which of them match on a value which is defined, and Numeric, and not a subtype of Numeric? | 01:58 | |
skids | m: multi sub infix:<==> (Numeric:D $?, Numeric:D $?) { "OHAI".say }; say so Numeric.new; | 02:02 | |
camelia | rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 82944 bytes» | ||
02:05
cdg left
02:07
raiph left
02:16
Ben_Goldberg joined
02:17
BenGoldberg left
02:21
NZKindest left,
leont left,
kid51 left
02:23
kid51 joined
02:25
kid51 left
02:26
kid51 joined
02:27
wamba left
|
|||
awwaiid | is someone named "raiph" around here? they left a comment adding some more colons to my collection. I thank them! thelackthereof.org/Perl6_Colons | 02:29 | |
02:29
molaf_ joined
|
|||
masak | yes, raiph frequents this channel. | 02:29 | |
awwaiid | .tell raigh Thanks for the comments, I've updated thelackthereof.org/Perl6_Colons | 02:30 | |
yoleaux | awwaiid: I'll pass your message to raigh. | ||
awwaiid | thanks masak | ||
TEttinger | that was to raigh not raiph? | 02:32 | |
02:33
molaf left
|
|||
awwaiid | .tell raiph Thanks for the comments, I've updated thelackthereof.org/Perl6_Colons | 02:33 | |
yoleaux | awwaiid: I'll pass your message to raiph. | ||
awwaiid | :) | ||
02:34
jameslenz joined,
yqt left,
apiw joined
02:35
partly__ joined
02:38
partly_ left
|
|||
revhippie | awwaiid: don't forget the number-first colon-pair :5foo | 02:42 | |
awwaiid | got that one | 02:43 | |
it was in there as :1day, I changed it to :73day to make it easier to see | 02:44 | ||
revhippie | ohh sorry. | 02:46 | |
02:47
hippie1 joined,
apiw left
|
|||
awwaiid | hmm. Almost all colon-pair is some sugar for Pair.new($key, $val). Is there a longhand for number conversion :16<d00d>? | 02:48 | |
02:48
hippie left
02:49
apiw joined
|
|||
skids | m: :16[0xd, 0, 0, 0xd] # ?? | 02:51 | |
camelia | ( no output ) | ||
sortiz | m: "d00".UNBASE(16) | 02:52 | |
camelia | rakudo-moar b54294: OUTPUT«Method 'UNBASE' not found for invocant of class 'Str' in block <unit> at /tmp/zF50ACZbW2 line 1» | ||
sortiz | m: "d00".UNBASE(16,"d000") | ||
camelia | rakudo-moar b54294: OUTPUT«Method 'UNBASE' not found for invocant of class 'Str' in block <unit> at /tmp/1_vOB8tLXL line 1» | ||
sortiz | m: UNBASE(16,"d000") | ||
camelia | ( no output ) | ||
sortiz | m: UNBASE(16,"d000").say | ||
camelia | rakudo-moar b54294: OUTPUT«53248» | ||
awwaiid | UNBASE. Interesting. Why so loud? | 02:53 | |
skids | That's more a rakudo internal thing, not a Perl 6 thing | ||
awwaiid | ah | ||
sortiz | For promote the sugared form, I suppose | 02:54 | |
awwaiid | m: say 255.base(16) | ||
camelia | rakudo-moar b54294: OUTPUT«FF» | ||
02:55
sufrostico left
|
|||
awwaiid | pretty weird syntax, since all the other similar colon-pairs end up as a Pair | 02:55 | |
dalek | kudo-star-daily: 20bb739 | coke++ | log/ (9 files): today (automated commit) |
02:56 | |
sortiz | m: say :16[1, 3]; say UNBASE_BRACKET(16, 1, 3): | ||
camelia | rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VNGLw1LncxCalling UNBASE_BRACKET(Int, Int, Int) will never work with declared signature ($base, @a)at /tmp/VNGLw1Lncx:1------> 3say :16[1, 3]; say 7⏏5UNBASE_BRACKET(16, 1, 3):» | ||
sortiz | m: say :16[1, 3]; say UNBASE_BRACKET(16, [1, 3]): | ||
camelia | rakudo-moar b54294: OUTPUT«1919» | ||
02:57
mr-foobar joined
|
|||
awwaiid | my $x = 24; say :$x<2034> | 02:58 | |
m: my $x = 24; say :$x<2034> | |||
camelia | rakudo-moar b54294: OUTPUT«(Mu)» | ||
awwaiid | equivalent to (:$x)<2034>, uselessly looking up the 2034 key in x => 24. | 03:00 | |
03:12
noganex joined
03:13
kid51 left
03:15
noganex_ left
03:17
hacst left,
apiw left
03:20
hacst joined,
chace joined,
Herby_ joined
|
|||
Herby_ | Evening, everyone! | 03:20 | |
\o | |||
03:21
mohae left
03:22
mohae joined
03:24
adu joined
03:27
Actualeyes joined
03:46
kurahaupo_ joined
|
|||
Herby_ | \o | 03:49 | |
o\ | |||
\o/ | |||
03:50
kurahaupo left
|
|||
MadcapJake | i have a derived class that has an overridden method but it's one that is used only internally to the base class and it seemingly won't use my derived version, how can make it do that? | 03:50 | |
gfldex | how do you call that methdod? | 03:52 | |
MadcapJake | it's called inside a method in the base class | ||
gfldex | code pls tyvm | ||
MadcapJake | here's one of the calls (there are a bunch in this class), the method in question is `died` github.com/MadcapJake/Test-Lab/blo...t.pm6#L113 | 03:54 | |
Here's my derived class's overridden version github.com/MadcapJake/Test-Lab/blo...ment.t#L11 | 03:55 | ||
gfldex | i don't thinks self.self is going to work. It's very late here and I will need to sleep over it. | 03:57 | |
MadcapJake | alright :D | ||
any quick thoughts that could lead me in the right direction? | |||
gfldex | no, but you may want to check what self.self. actually points to | 03:59 | |
MadcapJake | self.self? | ||
oh wow | |||
that's bug | |||
sadly, not the root cause here :P | 04:01 | ||
04:05
dolmen joined
04:10
jolts left
|
|||
masak | m: class C { method self { "OH HAI" }; method foo { self.self } }; say C.new.foo | 04:13 | |
camelia | rakudo-moar b54294: OUTPUT«OH HAI» | ||
MadcapJake | figured it out, any derived class needs to implement a `new` method or a call to new will just create a Cls::Default object | 04:21 | |
Is there a way to detect what class name is calling a method? I could put a guard in there that only defaults to Cls::Default is the calling class is the base. | 04:22 | ||
figured that out too! :D | 04:23 | ||
self.WHICH | |||
04:31
mohae left
04:33
squach joined,
skids left,
mohae joined
04:35
squach1 left
04:42
Herby_ left
04:43
molaf_ left
04:48
kurahaupo_ left
|
|||
ugexe | you could also use multis like: multi bar(Cls::Base:D $foo) { set-defaults(); nextsame; }; multi bar($foo) { work($foo) } | 04:54 | |
05:00
revhippie left
05:02
rindolf joined
05:15
adu left
05:16
chace left
05:18
vendethiel joined
05:20
Ben_Goldberg left
05:25
adu joined
05:29
adu left
05:30
adu joined,
adu left
05:32
mr-foobar left
05:33
mr-foobar joined
05:41
vendethiel left,
dolmen left
05:42
mr-foobar left
05:47
Cabanossi left,
vendethiel joined,
mr-foobar joined
05:49
Cabanossi joined
|
|||
MadcapJake | is it mentioned anywhere that CATCH blocks will interfere with returning? Just figured this out x_x | 06:00 | |
jdv79 | in what way is this manifesting? | 06:02 | |
MadcapJake | ugexe, thanks for the tip, my current logic for new is «if self.WHICH.Str ~~ 'Test::Lab::Experiment' { Test::Lab::Experiment::Default.bless(:$name) } else { !!! }» | ||
jdv79, I had a few methods with the body entirely wrapped in try/catch block | 06:03 | ||
and the CATCH blocks were the last line | |||
the only way I could get any values returned was either explicitly returning or by moving the CATCH block prior the implicit return statement | |||
jdv79 | iirc its not CATCH related at all. its just last line or explicit return. | 06:05 | |
MadcapJake | oh! i assumed the CATCH would just be considered not a part of the sub's body | 06:06 | |
or rather the try's body | 06:07 | ||
jdv79 | well, its in there. again i believe that's the deal but i could be wrong. | ||
MadcapJake | m: sub foo { try { 'foo'; CATCH { default { die 'a horrible death' } } } } | ||
camelia | rakudo-moar b54294: OUTPUT«WARNINGS for /tmp/JpEbUrKd5x:Useless use of constant string "foo" in sink context (line 1)» | ||
MadcapJake | m: sub foo { try { CATCH { default { die 'a horrible death' } }; 'foo'; } } | ||
camelia | ( no output ) | ||
MadcapJake | yep definitely is a thing :P | ||
06:08
vendethiel left
|
|||
MadcapJake | the example in language/exceptions shows a CATCH at the beginning of the block, but it never really delves into the question as all of the logic is just printing to stdout | 06:09 | |
i guess my problem is I was thinking of a CATCH block as a kind of branch of a conditional | 06:10 | ||
06:10
CIAvash joined
06:14
geraud left
06:15
mathw joined
|
|||
jdv79 | maybe that deserves a doc issue about returning less simply than doc.perl6.org/type/Block descibes | 06:18 | |
*describes | |||
06:38
solarbunny left
06:40
solarbunny joined
|
|||
jdv79 | MadcapJake: i created github.com/perl6/doc/issues/388 | 06:47 | |
nite | |||
sortiz | jdv79++ # For the issue opened, I'm in the same camp. | 06:50 | |
o/ jdv79 | |||
06:54
khw left
07:03
domidumont joined
07:06
mr-foobar left
07:08
mr-foobar joined,
domidumont left
07:09
domidumont joined
|
|||
rindolf | jdv79: hi, sup? | 07:12 | |
07:17
vendethiel joined
07:32
sno left
07:39
vendethiel left
|
|||
[Tux] | test 21.943 | 07:39 | |
test-t 11.839 | |||
csv-parser 51.701 | |||
07:39
firstdayonthejob joined
|
|||
El_Che | same as yesterday's | 07:40 | |
so it's not getting slower :) | |||
07:46
RabidGravy joined
07:48
FROGGS joined
07:54
fireartist joined
|
|||
MadcapJake | jdv79, thanks! i'm off to bed too | 07:55 | |
07:55
nakiro joined
|
|||
rindolf | MadcapJake: good night. | 07:56 | |
08:03
vendethiel joined
08:05
Ven joined
08:06
nige1 left
08:11
darutoko joined
08:12
zakharyas joined
08:15
ely-se joined
|
|||
RabidGravy | morning | 08:18 | |
ely-se | hi | ||
RabidGravy | need more coffee, just did "git init", "git add ." in the parent of the one I intended and wondered why it was taking so long | 08:19 | |
sortiz | ups! | 08:21 | |
my \p = :what<foo>; .say for p<what>.WHAT, p<what> # All expected | 08:22 | ||
08:22
mr-foobar left
|
|||
sortiz | m: my \p = :what<foo>; .say for p<what>.WHAT, p<what> # All expected | 08:22 | |
camelia | rakudo-moar b54294: OUTPUT«(Str)foo» | ||
sortiz | m: my \p = :what<foo bar>; .say for p<what>.WHAT, p<what> # Beware, I was expecting also Str! | 08:23 | |
camelia | rakudo-moar b54294: OUTPUT«(List)(foo bar)» | ||
08:25
vendethiel left
08:29
Yary joined,
Yary left
08:30
pdcawley joined
08:35
squach1 joined
08:36
[Tux] left
08:37
squach left
08:41
abraxxa joined
08:45
Ven left
08:46
Ven joined
08:48
[Tux] joined
08:51
pmurias joined
|
|||
pmurias | jnthn: +1 to everything in you versioning blog post, good that we use git tags instead of per version subdirectories | 08:57 | |
09:02
zakharyas left
|
|||
pmurias | jnthn: re MoarVM and it's opset, (as rakudo/nqp is as far as I know are the only clients, do we really need to lock the opset down for years?) | 09:03 | |
09:03
kurahaupo joined,
vendethiel joined
09:04
sno joined
|
|||
RabidGravy | is there a thing which can turn something like "0d 00h 09m 38s" or some parsed set of numbers into a Duration? | 09:05 | |
moritz | not in core | 09:06 | |
RabidGravy | obviously not that difficult to do in a dumb way | 09:07 | |
09:08
nige1 joined
09:11
Actualeyes left
09:14
ocbtec joined
09:16
kurahaupo left
09:24
ely-se left,
ely-se joined
09:26
vendethiel left
|
|||
stmuk_ replies to versioning blog post | 09:27 | ||
dalek | c: c08878c | (Salvador Ortiz)++ | doc/Type/Pair.pod: Update Pair.pod Add some more examples of the adverbial form |
09:31 | |
09:35
dakkar_ joined
|
|||
lizmat | m: Real.new.Num # this is the loop: it calls Real.Bridge.Num., and Real.Bridge calls Real.Num again | 09:36 | |
camelia | rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 81920 bytes» | ||
lizmat | this code has been in there for at least 4 years :-( | 09:38 | |
09:41
Hor|zon left,
leont joined
09:43
fireartist left
09:55
espadrine joined
|
|||
RabidGravy | boo! | 09:57 | |
AlexDaniel | Bool | 09:58 | |
lizmat | eek! | ||
dalek | c: 1601312 | (Salvador Ortiz)++ | doc/Language/nativecall.pod: Update nativecall.pod Describe how to pass allocated pointers to native types in native calls |
09:59 | |
lizmat | added RT #127503 about Real.new.num infinilooping, Yary++ BenGoldberg++ | 10:03 | |
10:03
fireartist joined
|
|||
AlexDaniel | m: my $foo = ‘hello’; say :$foo | 10:04 | |
camelia | rakudo-moar b54294: OUTPUT«Unexpected named parameter 'foo' passed in block <unit> at /tmp/wzMnCeL9yd line 1» | ||
AlexDaniel | m: my $foo = ‘hello’; say (:$foo) | ||
camelia | rakudo-moar b54294: OUTPUT«foo => hello» | ||
10:06
rdmsno joined
|
|||
AlexDaniel | m: say (::a) | 10:06 | |
camelia | rakudo-moar b54294: OUTPUT«===SORRY!===Could not locate compile-time value for symbol a» | ||
AlexDaniel | :/ | ||
10:07
vendethiel joined
|
|||
rdmsno | When I re-run "make && make install" on nqp & rakudo-star (eg. after libc update and subsequent jvm rebuild and consequently nqp -> rakudo-star rebuild), I get | 10:07 | |
~# perl6 -V | |||
Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp' | |||
in | |||
in load_module | |||
in | |||
in load_module | |||
in | |||
in load_module | |||
in | |||
lizmat | m: ::a # seems correct to me, AlexDaniel | ||
camelia | rakudo-moar b54294: OUTPUT«===SORRY!===Could not locate compile-time value for symbol a» | ||
rdmsno | where do I have to force a rebuild to get rid of that? | ||
lizmat | rdmsno: rm -rf install usually does the trick | 10:08 | |
rdmsno | lizmat: that's a complete rebuild - what isn't sane | ||
the intention of my question is to avoid the "rm -rf" hack | 10:09 | ||
AlexDaniel | lizmat: okay, so let's say I have a source file with 1000 lines… --ll-exception does not help too | ||
lizmat | AlexDaniel: I see your point | ||
rdmsno: I'm afraid I have no other suggestion to offer at this point: I always went the rm -rf way :-( | 10:10 | ||
rdmsno | lizmat: than we should take half an hour on 18th and we find a better way - when you like | ||
10:11
nige1 left
|
|||
lizmat | rdmsno: sure :-) | 10:11 | |
rdmsno | lizmat: "rm -rf install" on nqp or rakudo-star? | ||
lizmat | you could try nqp first :-) | ||
rdmsno nods | 10:12 | ||
10:12
nige1 joined
10:13
molaf joined
10:17
wamba joined
|
|||
lizmat | AlexDaniel: looking at the ::a issue, fwiw | 10:25 | |
10:28
vendethiel left
|
|||
FROGGS | what should ::a mean btw? | 10:28 | |
10:31
pmurias left
|
|||
lizmat | probably nothing, but a typo of that kind in a large source file, would be hard to track | 10:33 | |
afk for a bit& | 10:35 | ||
sortiz | ::a means "Search for the package or symbol a" | ||
m: my \a = 8; say ::a: | 10:36 | ||
camelia | rakudo-moar b54294: OUTPUT«8» | ||
sortiz | m: module a {}: say ::a: | ||
camelia | rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1ktnIHfnGzConfusedat /tmp/1ktnIHfnGz:1------> 3module a {}:7⏏5 say ::a: expecting any of: colon pair» | ||
sortiz | m: module a {}; say ::a: | ||
camelia | rakudo-moar b54294: OUTPUT«(a)» | ||
10:37
leont left,
zakharyas joined
|
|||
sortiz | m: class Foo {}; my $b = 'Foo'; say ::($b) | 10:37 | |
camelia | rakudo-moar b54294: OUTPUT«(Foo)» | ||
10:43
Ven left
|
|||
sortiz As far as I understand... | 10:44 | ||
10:45
apiw joined
10:47
FROGGS left
10:50
apiw left
10:56
nige1 left
10:57
virtualsue joined
10:58
pmurias joined
|
|||
pmurias | rdmsno: I encounter that sort of problems when there is a bug in the Makefile | 11:01 | |
rdmsno: I use "make clean" as a workaround for those sort of things | 11:02 | ||
sortiz | m: try { EVAL 'my $x = ::P' }; say ~$! | 11:04 | |
camelia | rakudo-moar b54294: OUTPUT«Could not locate compile-time value for symbol P» | ||
11:05
apiw joined
|
|||
El_Che | I love the flexibilitiy of Datetime.earlier(days => $negative_int) and later | 11:08 | |
but sometimes my head blows :) | |||
11:11
apiw left
11:12
mscha joined
|
|||
mscha | m: say '[hello]' ~~ / <[ [ ]> /; # This one works fine ... | 11:13 | |
camelia | rakudo-moar b54294: OUTPUT«「[」» | ||
mscha | m: say '[hello]' ~~ / <[ ] ]> /; # but this one does not. Isn't tha a bug? | ||
camelia | rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nHFWkjQgswUnable to parse expression in metachar:sym<assert>; couldn't find final '>' at /tmp/nHFWkjQgsw:1------> 3say '[hello]' ~~ / <[ ] 7⏏5]> /; # but this one does not. Isn't» | ||
11:14
FROGGS joined
|
|||
jnthn | mscha: I don't think we can make the second one work | 11:15 | |
mscha: And so we'd only be forbidding the first because you can't do the second, which may be consistent-er, but not sure it's worth the breaking change. | 11:16 | ||
mscha | jnthn: so, we're back to LTS? :( | ||
m: say '[hello]' ~~ / <[ \] ]> /; | 11:17 | ||
camelia | rakudo-moar b54294: OUTPUT«「]」» | ||
jnthn | mscha: It just semes too small a reason to go breaking things. | 11:18 | |
11:18
kaare_ joined
11:19
RabidGravy left
|
|||
jnthn | It's well within the realm of things we could change and manage with version guarding. | 11:20 | |
But for me it's below the threshold of being worth bothering with. But I'm not the language designer... :) | |||
lizmat | jnthn: the ::a issue is a naked nqp::die in World.find_symbol | ||
11:20
gcole_ joined
|
|||
jnthn | lizmat: How rude! | 11:21 | |
lizmat | jnthn: it is being called at Actions:8928 | ||
jnthn | I don't actually know what the ::a issue is :) | ||
jnthn didn't really backlog... :) | |||
lizmat | m: ::a # note lack of where this happend | ||
camelia | rakudo-moar b54294: OUTPUT«===SORRY!===Could not locate compile-time value for symbol a» | ||
jnthn | Aha | ||
Yeah... | |||
That could do with a fix :) | 11:22 | ||
lizmat | and I'm looking at that | ||
this happend at Actions:8928: trying to wrap that in a try | |||
jnthn | Cool. I guess $/ is available where we die? | ||
lizmat | it is there | ||
11:23
gcole left
|
|||
lizmat | my assumption was that $type would be null if the find_symbol died | 11:23 | |
jnthn | OK, shouldn't be too bad... | ||
moritz | while you're at it, "could not locate" is one of those weird error messages | ||
lizmat | but a nqp::isnull after the try doesn't fire | ||
moritz | why couldn't you locate it? | ||
"No compile-time value for symbol a" would be better | 11:24 | ||
perhaps adding a verb too, "No compile-time value available for symbol a" | |||
lizmat | moritz: that message will be replaced by a proper exception, e.g. X::NoSuchSymbol | 11:25 | |
jnthn | lizmat: In NQP, scalars start out holding NQPMu | ||
lizmat | which means that nqp::isnull on them would be true, no? | ||
jnthn | No | ||
lizmat | ah? | ||
jnthn | NQPMu is not a null | ||
null means a real null | |||
lizmat | so how do I check for that then? | ||
unless $type ? | 11:26 | ||
jnthn | I'd probably do something in CATCH.... | 11:27 | |
lizmat | ok, I'll try that | ||
jnthn | But you could explicitly initialize $type to nqp::null() before the try block too | ||
Then your null check would work | |||
lizmat | no, it didn't :-( | 11:28 | |
tried that already :-( | |||
hmmm... CATCH seems to fix it | 11:30 | ||
running spectest now | |||
11:33
apiw joined
11:37
nige1 joined
|
|||
lizmat | jnthn: there is one test in roast that tests for the specific error message we got before | 11:43 | |
should I just correct that one in roast/master | 11:45 | ||
11:45
Guest63689 left
|
|||
jnthn | lizmat: Yes, that will have to be 6.c-errata at some point too :) | 11:45 | |
lizmat | so fix in errata as a todo, and fix properly in master, is what you're saying ? | 11:46 | |
rdmsno | pmurias: I asked because I expected one knows about that | 11:47 | |
dalek | kudo/nom: b9f90bc | lizmat++ | src/Perl6/Actions.nqp: Fix for RT #127504 |
||
rdmsno | seems not, so I make an appointment with lizmat to dig into the Makefiles (I'm not familiar with nqp/rakudo* sources) | ||
jnthn | lizmat: I'd commit in master, then create the errata branch and cherry-pick. If you're not quite comfortable with doing that, then feel free to file this as a roast ticket and I can take care of it. | 11:49 | |
lizmat | I'd prefer the latter :-) | 11:50 | |
jnthn | OK. Maybe won't get to it today. | ||
lizmat | I'll commit to master | ||
dalek | ast: 5dcda3c | lizmat++ | integration/weird-errors.t: Minimal change to make test pass after b9f90bc592f Should be cherry picked and todo'd in errata branch |
11:54 | |
ast: 5a079b2 | lizmat++ | integration/weird-errors.t: Add test for RT #127504 |
11:57 | ||
12:00
ribasushi left
12:01
ely-se left,
Ven joined
12:02
apiw left
12:03
ely-se joined
12:07
ribasushi joined
12:08
apiw joined
|
|||
AlexDaniel | that was really quick | 12:09 | |
lizmat++ | |||
lizmat | sometimes it can be quick :-) | ||
12:14
M-Illandan left
12:15
kid51 joined
12:19
nekrodesk joined
|
|||
dalek | kudo/nom: b2e57f6 | lizmat++ | src/core/Hash.pm: Improve Int %h by 20% by removing code Why? Because the candidates that handle the type constrained values Hash, were less optimised. But the only difference really was how they tried to get at the Hash descriptor (which is the only thing that really separates a type constrained Hash from a "normal" Hash). So removing the code, will revert back to the better optimised un-constrained candidates, and thus get better performance. |
12:32 | |
kudo/nom: a68d91c | lizmat++ | src/core/Hash.pm: Cosmetics: use same order of method definitions |
12:40 | ||
12:40
sufrostico joined
12:43
domidumont left
12:44
nanis joined,
kid51 left,
nanis left
|
|||
dalek | kudo/nom: 0b3beb6 | lizmat++ | src/core/Hash.pm: Add comment why we didn't optimize Hash.BIND-KEY |
12:55 | |
12:57
nanis joined
|
|||
nanis | Is someone looking at RT #127473? <rt.perl.org/Public/Bug/Display.htm...127473> | 12:58 |