»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:03
dha left
00:04
prevost joined
00:08
woolfy joined
|
|||
woolfy | dha: "20:06 dha Ok, I'm going to assume that, given the silence on the topic,...": quite some people are now at the social meeting & pre-conf dinner in Granada, APC Europe. It's busy there. | 00:09 | |
dha: plus, others are working on bringing the post-GLR-problem-solving-results back to the main branch. | |||
dha: plus, quite a lot of people like to hack but are afraid of doing the docs and are just very happy that you will do anything on the docs, and since your proposals sound very useful I think the main thought is "ow, dha is going the stuff I should have done, cool, that gets me off the hook" | 00:11 | ||
dha: so thanks, and accept the dha++ | |||
mst | he's not online | 00:15 | |
he generally isn't except when directly connected, sadly | |||
00:17
sufrostico left
00:18
skids joined,
cbk1090 joined
|
|||
cbk1090 | Is this the correct form to test if a key is fond in a hash? if %list{ $keySearch }: exists {...} | 00:21 | |
because I get this error when I do it: Odd number of elements found where hash initializer expected | |||
ugexe | m: my %h; %h<b> = 1; say %h<a>:exists; say %h<b>:exists | 00:22 | |
camelia | rakudo-moar d8ef5e: OUTPUT«FalseTrue» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«FalseTrue» | ||
cbk1090 | ugexe, ok I'll try that | 00:23 | |
ugexe | m: my %h; %h<b> = 1; without %h<b> { say "doesnt exist" }; with %h<b> { say "exists"; }; | 00:24 | |
camelia | rakudo-moar d8ef5e: OUTPUT«exists» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«exists» | ||
ugexe | m: my %h; %h<b> = 1; without %h<a> { say "doesnt exist" }; with %h<a> { say "exists"; }; | 00:25 | |
camelia | rakudo-moar d8ef5e: OUTPUT«doesnt exist» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«doesnt exist» | ||
ugexe | that will still get you on the string '' though | ||
woolfy | mst, thanks, I will re-write this to him when he gets back online and I see him. | 00:26 | |
mst | woolfy: best way, yeah | 00:27 | |
ugexe | colomon: if you send the string '' instead of Nil/null for build-output it won't give worthless results on testers.perl6.org (saying N/A instead of FAIL for modules that fail) | 00:29 | |
00:30
grondilu joined
|
|||
grondilu | Hello | 00:30 | |
m: class A { has @.x }; my @x; @x[2] = 1; say A.new(:@x).x; # this works | |||
camelia | rakudo-moar d8ef5e: OUTPUT«(Any) (Any) 1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«[(Any) (Any) 1]» | ||
grondilu | m: class A { has Real @.x }; my @x; @x[2] = 1; say A.new(:@x).x; # this doesn't work and I'm not sure it's OK | 00:31 | |
camelia | rakudo-moar d8ef5e: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any' in block <unit> at /tmp/IOAgZ2gsU3:1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any' in block <unit> at /tmp/1UmhK3veCV:1» | ||
grondilu | I can golf it more maybe | ||
m: class A { has Real $.x }; say A.new(:x(my $)).x; | 00:32 | ||
camelia | rakudo-moar d8ef5e: OUTPUT«Type check failed in assignment to '$!x'; expected 'Real' but got 'Any' in block <unit> at /tmp/U3_uN_J7hE:1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '$!x'; expected 'Real' but got 'Any' in block <unit> at /tmp/ECUtPJARlw:1» | ||
grondilu | m: class A { has Real $.x }; say A.new(:x(my Real $)).x; | ||
camelia | rakudo-moar d8ef5e: OUTPUT«(Real)» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(Real)» | ||
grondilu | m: my Real $ = my $; | 00:33 | |
camelia | rakudo-moar d8ef5e: OUTPUT«Type check failed in assignment to '$'; expected 'Real' but got 'Any' in block <unit> at /tmp/Pt1e_FGr3b:1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '$'; expected 'Real' but got 'Any' in block <unit> at /tmp/8liVZA1Uqs:1» | ||
grondilu | this last one makes it look a bit more sensible | ||
woolfy | masak: lizmat and I are in Hotel Granada Center, and I've been drinking the water without any ill effects. | ||
mst | tastes fine to me too | 00:34 | |
but, uh, I'm generally impervious | |||
00:37
dalek left
|
|||
grondilu | on the other hand : | 00:37 | |
00:37
dalek joined,
ChanServ sets mode: +v dalek
|
|||
grondilu | m: class A { has Real @.x }; my Real @x; @x[2] = 1; say A.new(:@x).x; | 00:37 | |
camelia | rakudo-moar d8ef5e: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any' in block <unit> at /tmp/gAWJ0eKR5w:1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any' in block <unit> at /tmp/dwUXq0J5v7:1» | ||
grondilu | ^this I can't explain | ||
ugexe | m: class A { has Real @.x }; my Real @x; @x[2] = 1; say @x.perl | 00:39 | |
camelia | rakudo-moar d8ef5e: OUTPUT«Array[Real].new(Real, Real, 1)» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«Array[Real].new(Real, Real, 1)» | ||
[Coke] is apparently tired, and not doing the glr merge back tonight, but will be happy to find it done by someone at yapc::eu early in the morning. :) | |||
gooooooooodnight, folks. | 00:40 | ||
00:43
virtualsue joined
00:46
laouji joined
|
|||
muraiki | :) | 00:47 | |
00:47
virtualsue left
|
|||
colomon | ugexe: I’m not sure why you’re telling me that? I don’t believe I’ve ever called build-output anywhere? | 00:57 | |
ugexe | thats the problem. you should be sending it '' | ||
00:58
woolfy left
|
|||
colomon | for what? | 00:59 | |
ugexe | whatever you are using to send test reports to testers.perl6.org | ||
colomon | you mean panda? | ||
ugexe | panda seems to send others test reports ok | 01:01 | |
01:01
prevost left
|
|||
ugexe | i thought you used something else, and used Panda::Builder | 01:01 | |
colomon | yes, emmentaler (the smoke tester), but it’s just calling into panda to do all the work — literally try $panda.resolve($p) | 01:03 | |
ugexe | looking at emmentaler source, it sets the values to report itself. panda does not | 01:07 | |
line 70 add %log<build-output> = '', or init it some other way | 01:08 | ||
01:11
muraiki left
|
|||
colomon | Umm… okay, look, maybe you’d better start over and try to clearly explain what you think I should be doing and why? because I have no idea what the log file writen out locally for the smoke tester has to do with testers.perl6.org, nor why initializing it to empty string rather than not initializing it is somehow crucially important. | 01:13 | |
ugexe | okay. go to testers.p6c.org/recent.html The huge bars of yellow? those are all because of what i mentioned. i dont have an exact bug fix for whatever script you are using, but i did explain what the exact problem is. you can tell by looking at your test reports on testers.perl6.org, grepping for build-output, and noting it says null | 01:15 | |
all the other test reports do not have this problem, but i believe everyone else uses panda or zef directly | 01:17 | ||
01:35
BenGoldberg joined
01:45
ilbot3 left
01:47
ilbot3 joined
|
|||
colomon goes searching through the panda code... | 01:48 | ||
01:48
prevost joined
01:50
laouji left,
laouji joined
01:57
dayangkun joined
02:11
noganex_ joined
02:13
noganex left
|
|||
colomon | ugexe: are you sure panda build-output is working in general? acking the panda source code doesn’t show any sign it is being set. | 02:32 | |
02:51
laouji left,
kaare_ joined
02:53
laouji joined
02:54
JimmyZ_ joined
02:57
yqt left
|
|||
ugexe | github.com/tadzik/panda/blob/maste...ter.pm#L57 ? | 03:01 | |
03:03
prevost left
|
|||
ugexe | colomon: here is a report from not long ago that shows "" instead of null: testers.perl6.org/reports/71799.html So maybe its specific to glr | 03:10 | |
a report from you^ | |||
including the version of the module installer in the test reports could help solve such things | 03:12 | ||
somehow this fellow was getting ok results from panda as of 2 days ago testers.perl6.org/reports/74217.html | 03:15 | ||
03:16
grondilu left
03:18
grondilu joined
03:22
aborazmeh left
03:28
BenGoldberg left
03:33
blackcat_ joined
03:38
skids left
03:40
fling_ joined,
diakopter left
03:42
diakopter joined
03:43
fling_ is now known as fling,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
ugexe | their report has build-passed = true and build-output = ''. maybe they patched it themselves | 03:45 | |
03:45
laouji left
03:48
JimmyZ_ left
|
|||
ugexe | make it is better to change how the testers site handles null, since failures are specifically 'false' | 03:55 | |
s/make/maybe/ | |||
04:26
tinyblak joined
04:30
tinyblak left
04:31
telex left
04:32
khw left,
telex joined
04:40
laouji joined
04:49
tinyblak joined,
asdf12z_ joined
05:00
cgfbee left
05:01
cgfbee joined
05:12
silug left,
silug joined
05:22
orbusbak joined
05:26
orbus left
05:35
tinyblak left
05:38
silug left,
silug joined
05:41
Calibellus left,
lolisa joined
|
|||
FROGGS | .tell japhb locally I manually rebased cpp2/cpp... it builds but C++ tests are failing, I'll give you a status update later today | 05:48 | |
yoleaux | FROGGS: I'll pass your message to japhb. | ||
05:51
zz448 joined
05:54
aborazmeh left
|
|||
japhb | FROGGS: Great, thank you! | 06:00 | |
yoleaux | 05:48Z <FROGGS> japhb: locally I manually rebased cpp2/cpp... it builds but C++ tests are failing, I'll give you a status update later today | ||
06:02
zz448 left
06:09
diana_olhovik joined
06:10
xfix joined,
FROGGS left
06:12
rurban joined
06:15
[TuxCM] left
06:26
mr-foobar left
06:27
mr-foobar joined
06:31
RabidGravy joined
|
|||
masak | morning, #perl6 | 06:46 | |
masak heads over to the venue | |||
ShimmerFairy | Is there another thing so soon after SPW? (YAPC::EU?) | 06:48 | |
moritz | ShimmerFairy: yes, YAPC::EU | ||
ShimmerFairy | ah, ok :) | 06:49 | |
blackcat_ | my %hash = (xy => ['c', 'b', 'a', 1], xa => ['c', 'a', 'z', 4]); say %hash.sort: -> $a, $b {$a.values[3] <=> $b.values[3]}; How can i sort the hash by it's value's third element. The previous code does not work | 06:56 | |
06:57
FROGGS joined
|
|||
TimToady | m: my %hash = (xy => ['c', 'b', 'a', 1], xa => ['c', 'a', 'z', 4]); say %hash.sort: *.value.[3] | 07:00 | |
camelia | rakudo-moar d8ef5e: OUTPUT«xy => c b a 1 xa => c a z 4» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(xy => [c b a 1] xa => [c a z 4])» | ||
ShimmerFairy | m: my %hash = (xy => ['c', 'b', 'a', 1], xa => ['c', 'a', 'z', 4]); say %hash.sort: -> $a, $b {$a.value[3] <=> $b.value[3]}; | ||
camelia | rakudo-moar d8ef5e: OUTPUT«xy => c b a 1 xa => c a z 4» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(xy => [c b a 1] xa => [c a z 4])» | ||
TimToady --> venyoo | |||
ShimmerFairy | .value is singular when dealing with Pairs :) | ||
07:02
kjs_ joined
07:04
[Sno] left
07:06
bioexpress joined
|
|||
bioexpress | hello, this is a test 'p6: say "test"' | 07:09 | |
blackcat_ | thks. :) | ||
bioexpress | hello, this is a test p6: say "test" | ||
p6: say "test" | |||
camelia | rakudo-moar d8ef5e: OUTPUT«test» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«test» | ||
bioexpress | p6: my $filenames = dir( $*HOME ).race( batch => 10 ); | 07:10 | |
camelia | rakudo-moar d8ef5e: OUTPUT«Method 'race' not found for invocant of class 'List' in block <unit> at /tmp/tmpfile:1» | ||
GLRelia | ( no output ) | ||
blackcat_ | m:my %hash = (x => ['c', 'b', 'a', 1], a => ['c', 'a', 'z', 4], c => ['c', 'x', 'c', 6]); say %hash.sort:{say .values[0]; .values[0][2]}; | 07:11 | |
m: my %hash = (x => ['c', 'b', 'a', 1], a => ['c', 'a', 'z', 4], c => ['c', 'x', 'c', 6]); say %hash.sort:{say .values[0]; .values[0][2]}; | |||
camelia | rakudo-moar d8ef5e: OUTPUT«c b a 1c a z 4c x c 6x => c b a 1 c => c x c 6 a => c a z 4» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«[c b a 1][c a z 4][c x c 6](x => [c b a 1] c => [c x c 6] a => [c a z 4])» | ||
ShimmerFairy | blackcat_: you need a space before the m: (necessary so we don't invoke the nqp: target on accident when talking about special nqp::op functions, for example) | 07:12 | |
07:12
[Sno] joined
|
|||
blackcat_ | i see now.. | 07:12 | |
moritz | after the "m:", in fact | 07:17 | |
07:17
larion left
|
|||
blackcat_ | .values[0] is (Array) ,and .values is (List) | 07:18 | |
bioexpress | Hi! "my $filenames = dir( $*HOME ).race( batch => 10 );": I've found similar code in www.youtube.com/watch?v=JpqnNCx7wVY. But when i run it, it doesn't work. Was this way to use race removed? | 07:19 | |
p6: my $filenames = dir( $*HOME ).race( batch => 10 ); | |||
camelia | rakudo-moar d8ef5e: OUTPUT«Method 'race' not found for invocant of class 'List' in block <unit> at /tmp/tmpfile:1» | ||
GLRelia | ( no output ) | ||
ShimmerFairy | moritz: whoops :) | ||
bioexpress: ah, features like .race are only implemented on the 'glr' branch of rakudo at the moment | 07:21 | ||
07:21
masak_venue joined
|
|||
bioexpress | Could you tell me what the glr branch is? | 07:21 | |
moritz | m: say dir( $*HOME ).race( batch => 10 ); | ||
camelia | rakudo-moar d8ef5e: OUTPUT«Method 'race' not found for invocant of class 'List' in block <unit> at /tmp/gIzmObp8FN:1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«HyperSeq.new» | ||
moritz | bioexpress: it's a branch of the rakudo compiler | 07:22 | |
07:22
rurban left
|
|||
masak_venue | bioexpress: it contains some much-needed changes to the way lists behave in Perl 6 | 07:22 | |
RabidGravy | was the glr -> nom merge going to happen today? | ||
moritz | RabidGravy: presumably, yes | ||
bioexpress | Thx for the info. | 07:23 | |
masak_venue | exciting :) | ||
ShimmerFairy | That reminds me, I should push my allomorphic/val branch (which is based on nom, as it happens) :) | ||
RabidGravy | grooviness, going for a fortnight of sun and alcohol abuse on Sunday would like to fixorificate all my stuff for glr before then | 07:24 | |
TEttinger | RabidGravy: "summer ain't over til I say it's over!" | 07:25 | |
RabidGravy | :) | ||
07:25
xiaomiao left
|
|||
TEttinger | I'm glad all the hard GLR work is finally wrapping up | 07:25 | |
BooK | looking at larry's keynote (the hobbit/lotr one), I tried one example, and was surprised | 07:26 | |
p6: constant @f = 0, 1 , * + * ... *; say shift @f for 1 .. 5; say @f[0] | 07:27 | ||
camelia | rakudo-moar d8ef5e: OUTPUT«011235» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«Cannot call shift(Seq); none of these signatures match: (@a) in block <unit> at /tmp/tmpfile:1» | ||
BooK | I'm surprised that I can call shift on a constant | ||
moritz | BooK: there's no concept of deep immutability in Perl 6 | 07:28 | |
BooK: constant just means that you cannot assign to | |||
BooK | ok | 07:29 | |
masak_venue | "deep immutability" is interesting and problematic | ||
it's basically an ongoing research topic | |||
BooK | I can imagine it is :-) | ||
moritz | BooK: same in perl 5, fwiw | ||
perl -wE 'use constant a => [1, 2, 3]; say shift @{+a}' | |||
1 | |||
BooK | yes, but I know what references are in perl 5 :-) | ||
07:29
bioexpress left
|
|||
masak_venue | it's the same in Perl 6 | 07:30 | |
BooK | perl 6 is still mostly magic I have to discover and prod | ||
07:30
kjs_ left,
xiaomiao joined
|
|||
BooK | btw, in * + *, how is the ordering of the whatever done? | 07:30 | |
e.g. when the op is not commutative | 07:31 | ||
moritz | BooK: from left to right | ||
m: say (*-*)(5, 2) | |||
camelia | rakudo-moar d8ef5e: OUTPUT«3» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«3» | ||
moritz | m: constant @a = 1, 2, 3; say @a.^name | 07:32 | |
camelia | rakudo-moar d8ef5e: OUTPUT«Parcel» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«List» | ||
moritz | fwiw I'd argue this is a bug in both cases | ||
array assignment should be coercive | |||
BooK | I don't understand how "left to right" applies to the fib definition, though | 07:33 | |
ShimmerFairy | m: constant @f = 0, 1 , {$^a + $^b} ... *; say shift @f for 1 .. 5; say @f[0] | 07:34 | |
camelia | rakudo-moar d8ef5e: OUTPUT«011235» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«Cannot call shift(Seq); none of these signatures match: (@a) in block <unit> at /tmp/tUSZmXzS7S:1» | ||
07:34
SamuraiJack joined
|
|||
ShimmerFairy | * + * generates a WhateverCode object equivalent to the closure I used just now | 07:34 | |
07:35
kjs_ joined,
kjs_ left
|
|||
BooK | so $^a is the leftmost element of the last two (because we only go up to $^b) ? | 07:36 | |
masak_venue | yes | 07:37 | |
moritz | BooK: the sequence operator sees a callable generator which expects two arguments | ||
BooK: so it passes the last two arguments in the existing list to the generator | |||
BooK: and adds the value it got to the list | |||
BooK | ok | ||
so using $^c instead of $^b wouldn't change anything (still only using two arguments) | 07:39 | ||
masak_venue | right | 07:40 | |
BooK | if I wanted to defined a sequence as Un = Un-1 + Un-3 | ||
07:40
zakharyas joined
|
|||
BooK | I'd need something like {$^b;$^a + $^c} | 07:40 | |
masak_venue | yep. | ||
BooK | i.e. actually take three and ignore one | ||
very cool | |||
moritz | m: say (1, 2, 3 ... -> $a, $b, $c { $a + $c })[^10] | ||
camelia | rakudo-moar d8ef5e: OUTPUT«1 2 3» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(1 2 3)» | ||
ShimmerFairy | The only thing that matters for $^-declared parameters is alphabetical order, IIRC. Nothing else is magical about them. | ||
moritz | m: say (1, 2, 3, -> $a, $b, $c { $a + $c } ... *)[^10] | 07:41 | |
camelia | rakudo-moar d8ef5e: OUTPUT«1 2 3 4 6 9 13 19 28 41» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(1 2 3 4 6 9 13 19 28 41)» | ||
moritz | m: sub gap($a, $b, $c { $a + $c }; say (0, 0, 1, &gap ... *)[^15] | ||
camelia | rakudo-moar d8ef5e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DlGVH6MbbNMissing blockat /tmp/DlGVH6MbbN:1------> 3sub gap($a, $b, $c 7⏏5{ $a + $c }; say (0, 0, 1, &gap ... *)[^» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BS5Yc8m3QSMissing blockat /tmp/BS5Yc8m3QS:1------> 3sub gap($a, $b, $c 7⏏5{ $a + $c }; say (0, 0, 1, &gap ... *)[^» | ||
moritz | m: sub gap($a, $b, $c) { $a + $c }; say (0, 0, 1, &gap ... *)[^15] | 07:42 | |
camelia | rakudo-moar d8ef5e: OUTPUT«0 0 1 1 1 2 3 4 6 9 13 19 28 41 60» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(0 0 1 1 1 2 3 4 6 9 13 19 28 41 60)» | ||
masak_venue | kind of a delayed fibonacci :) | 07:44 | |
BooK | of course, this defintion is kinda confusing: @f = 1, 2, * * * ... *; | ||
masak_venue .oO( the fi..acci sequence ) | |||
07:44
kjs_ joined
|
|||
masak_venue | BooK: I agree. I think people like it mostly for the slight confusion it causes. | 07:44 | |
BooK | heh | 07:45 | |
masak_venue | BooK: I prefer to write * * * as either &[*] or &infix:<*> | ||
BooK | well, it's no more confusing than <=><=><=> in perl 5 :-) | ||
masak_venue | heh | ||
m: say <=> <=> <=> | |||
camelia | rakudo-moar d8ef5e: OUTPUT«Earlier failures: Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏=' (indicated by ⏏) in block <unit> at /tmp/RqEAyeL6lt:1Final error: Cannot call Real(Failure: ); none of these signatures match:…» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«Earlier failures: Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏=' (indicated by ⏏) in block <unit> at /tmp/XHcZ9JN7iU:1Final error: Cannot call Real(Failure: ); none of these signatures match:…» | ||
ShimmerFairy | WhateverCodes are just a simpler use case for closures are just a simpler use case for defined subs :P | 07:46 | |
BooK | metacpan.org/pod/perlsecret#Space-fleet | ||
masak_venue | BooK++ # perlsecret | 07:48 | |
07:50
slavik left
|
|||
BooK | ShimmerFairy: are you saying that almost everything in perl6 is simpler than something else in perl6 ? :-) | 07:51 | |
probably less scary than "there's a more complex version of whatever" | |||
ShimmerFairy | BooK: not necessarily, but that is how the progression should go, I find :) "These Whatevers are too confusing!" -> "Stop using WhateverCode, make a closure/lambda" "These $^ params are getting out of hand!" -> "Define a real signature" | 07:52 | |
nine | I has Wifi! | 07:53 | |
yoleaux | 1 Sep 2015 18:12Z <japhb> nine: Given the machine-native guts of github.com/rakudo/rakudo/commit/994fb0aa3f , why doesn't IO::Handle.print have a str multi to avoid the box and unbox of $str in the call to $out.print($str)? I would think that might actually chew up a fair amount of GC and performance during heavy output, especially when you consider that multi sub print() has the same problem. | ||
nine | .tell japhb That sounds like some low hanging fruit indeed! | 07:55 | |
yoleaux | nine: I'll pass your message to japhb. | ||
RabidGravy | is it possible to "find" the default label in scope? i.e " FOO: { # do something to get the label FOO as an object }" | 07:59 | |
dalek | kudo/nom: 0b1d15b | (Kamil Kułaga)++ | docs/running.pod: perl -e is strict |
||
kudo/nom: 26abf57 | (Kamil Kułaga)++ | src/Perl6/Compiler.nqp: perl -e is strict |
|||
kudo/nom: 22303ff | (Kamil Kułaga)++ | docs/running.pod: Merge pull request #2 from teodozjan/patch-4 perl -e is strict |
|||
kudo/nom: 00be1e8 | lizmat++ | / (2 files): Merge pull request #521 from teodozjan/patch-5 Perl -e is strict by default |
|||
nine | .tell japhb But someone must have come to the same conclusion, since in the glr branch there already is a multi method print(IO::Handle:D: str:D \x) { | ||
yoleaux | nine: I'll pass your message to japhb. | ||
moritz | nine: str:D looks a bit redundant; natives are always defined | ||
ShimmerFairy | lizmat: didn't we already have that? Or was it disabled again when I wasn't looking? | 08:00 | |
oh, I see, just documentation stuff :) | 08:02 | ||
08:07
kjs_ left,
sjn left
08:11
lizmat joined
|
|||
masak_venue | BooK: at metacpan.org/pod/perlsecret under "Bang bang", "Eskimo greeting", and "Inchworm", there's an empty grey box instead of the secret operator | 08:11 | |
DrForr | That's why it's secret ) | 08:12 | |
masak_venue | hee | 08:13 | |
DrForr | s/.$/:) | ||
08:13
leont joined,
sjn joined
|
|||
lizmat | m: END say my $foo; END $foo = 42 # cute | 08:17 | |
yoleaux | 1 Sep 2015 18:49Z <FROGGS> lizmat: look at the cu_load branch when you got some time... I fell pretty comfy with it | ||
camelia | rakudo-moar d8ef5e: OUTPUT«42» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«42» | ||
lizmat | .tell FROGGS will do so! Thanks! | ||
yoleaux | lizmat: I'll pass your message to FROGGS. | ||
masak_venue | lizmat: wow, that is cute :) | ||
08:18
darutoko joined
|
|||
masak_venue | m: repeat while my $x < 10 { say $x++ } | 08:18 | |
camelia | rakudo-moar d8ef5e: OUTPUT«0123456789» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«0123456789» | ||
lizmat | [Coke]: +1 on non-release announcement :) | 08:20 | |
masak_venue | oh, +1 | ||
nine | Yes, please lets get a release out of the door to make space for a glr merge :) | 08:25 | |
ShimmerFairy | nine: actually, the announcement is specifically to skip a release for August(?), and wait to handle GLR | 08:26 | |
masak_venue | hence the "non-", I guess | ||
but I agree that emitting *some* signal out of the echo chamber looks better than silence | |||
FROGGS | o/ | ||
yoleaux | 08:17Z <lizmat> FROGGS: will do so! Thanks! | ||
masak_venue | FROGGS: \o | 08:27 | |
coffee break & | |||
08:27
masak_venue left
08:28
zakharyas left,
Ven joined
|
|||
dalek | c: 13d6631 | (Kamil Kułaga)++ | lib/Type/Temporal.pod: Replaced decimal separator with / to make it true 5.2 looks like copy paste mistake because sleep 5.2 won't sleep for 2.5 seconds changed to 5/2 that gives 2.5 and seems to be real author intention |
08:32 | |
08:35
rindolf joined
|
|||
FROGGS | brains are funny... I am thinking about writing 'debug(...)' and instead type dump and wonder why the text turned blue in my editor... | 08:44 | |
08:44
Ven left
08:46
leont left
08:47
larion joined
|
|||
dalek | Heuristic branch merge: pushed 21 commits to rakudo/nom by ShimmerFairy | 08:47 | |
ast: 7def790 | ShimmerFairy++ | S02-literals/quoting.t: Correct «» interpolation test. There's no evidence in the synopses that interpolated variables in «» lists should ever be not-flat, and with the new allomorphic-based implementation of these things in rakudo, they are in fact always a flat e6b961b | ShimmerFairy++ | S02-literals/allomorphic.t: Unfudge these allomorphic tests I somehow forgot about them as I got into introducing val() and allomorphic types for rakudo. |
08:48 | ||
08:48
dalek left
|
|||
ShimmerFairy | There go my allomorphic type and val() changes, merged into nom :) | 08:48 | |
08:48
dalek joined,
ChanServ sets mode: +v dalek
|
|||
ShimmerFairy | The only issue is that bigint IntStrs won't work correctly, I'm not sure how to bind to the Int's $!value in a way that doesn't try to unbox the integer in the process :/ | 08:49 | |
08:51
Ven joined
08:52
kjs_ joined
|
|||
moritz | nqp::bindattr(nqp::decont($obj), Int, '$!value', $newvalue) | 08:54 | |
08:55
lolisa left,
espadrine_ joined
08:58
andreoss joined
|
|||
ShimmerFairy | moritz: trying various combinations of things gets me either "P6opaque: representation mismatch when storing value to attribute" or a segfault or the "cannot unbox" error. I've not found anything successful so far | 08:58 | |
moritz | ShimmerFairy: did you try the nqp::bindattr above? | 08:59 | |
ShimmerFairy | moritz: yes. If you look at allomorphs.pm you'll see that all the types' new()s used nqp::create and nqp::bindattr_* as appropriate. | 09:00 | |
e.g. nqp::bindattr_i(SELF, Int, '$!value', $i); is used for the Int part of IntStr, which is having the unboxing issue (without the _i, it's a representation mismatch) | 09:01 | ||
moritz | uhm, $!value is a bigint, so it needs to be bindattr_I, no? | 09:02 | |
erm no, that doesn't exist | 09:03 | ||
09:03
leont joined,
masak_venue joined
|
|||
moritz | nqp::bindattr(SELF, Int, '$!value', nqp::getattr(nqp::decont($i), Int, '$!value')); | 09:06 | |
moritz tries | |||
ShimmerFairy | You're welcome to a segfault with that :) | 09:07 | |
moritz | m: say nqp::getattr(53, Int, '$!value').^name | 09:08 | |
camelia | rakudo-moar 00be1e: OUTPUT«bigint» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«===============================================================================The use of nqp::operations has been deprecated for non-CORE code. Pleasechange your code to not use these non-portable functions. If you really wantto keep using nqp:…» | ||
lizmat | I'm thinking about merging nom into glr (again) | 09:09 | |
ShimmerFairy | BOOTSTRAP.nqp line 62 has my knowhow bigint is repr('P6bigint') { } | ||
lizmat: there's talk of doing a merge the opposite way soon, so I'd recommend waiting and asking around first :) | |||
moritz | lizmat: nah, the other way round :-) | ||
lizmat | anybody against that at this time ? | ||
masak_venue | tux is sitting next to me, saying that his IO::String should be core | 09:10 | |
I can't think of any strong arguments for *or* against :) | |||
it's a really small class, but "it's really small" doesn't feel like an excellent reason for making something core | 09:11 | ||
moritz | for: it's useful, it's core in p5; against: it doesn't need to be | ||
lizmat | wasn't it the plan to *rename* glr to "master" ? | 09:12 | |
and thus, would need an up-to-date nom in there? | |||
09:12
rurban joined
|
|||
masak_venue | lizmat: makes sense. if we're mergin anyway, we probably want a merge in that direction. | 09:13 | |
moritz | lizmat: ah, yes | ||
ShimmerFairy | lizmat: any chance to suggest a more -Ofun name than master though? :P | ||
lizmat | re: IO::String, we need support in the VM for it | 09:14 | |
FROGGS | "servant" :o) | ||
masak_venue | ShimmerFairy: you think it's cute today | 09:15 | |
lizmat | and I'd like to see some syntactic sugar for IO::String | ||
masak_venue | ShimmerFairy: for years we've ditched the benefits of having a "master" that people would just know to default to | ||
ShimmerFairy: let's not screw it up by trying to be witty | 09:16 | ||
ShimmerFairy | masak_venue: sure, I wouldn't actually mind a 'master' branch again, though it would be kinda sad to see our idiosyncratic default branch go :) | ||
masak_venue | no it wouldn't | ||
09:16
andreoss left
|
|||
ShimmerFairy | masak_venue: and on the other hand, not having master forces people to learn about default branches :) | 09:17 | |
masak_venue | ShimmerFairy: let's give some other project the honor of teaching people that | ||
ShimmerFairy | well, it's sad for me, in an "aw man" kind of way | ||
masak_venue | if you want, you can still call the branch something else in your local repository | 09:19 | |
may I recommend the name "idiosynchratic" ? :) | |||
ShimmerFairy | Like I said, I wouldn't actually mind, it's just boring :) | ||
masak_venue | cratic* | 09:20 | |
09:21
lizmat_ joined,
xiaomiao left,
leont left,
leont joined
09:23
[TuxCM] joined
09:24
lizmat left,
lizmat_ is now known as lizmat
09:25
pecastro left,
rarara left
09:27
emilbarton joined
|
|||
emilbarton | Hello, is there a way to get the client ip address from a connection to a IO::Socket::INET server? | 09:28 | |
09:31
[TuxCM] left,
Ven left
09:32
pecastro joined
|
|||
lizmat | nom does merge cleanly into glr but doesn't build... testing a fix now | 09:34 | |
09:37
xiaomiao joined
|
|||
lizmat | ok, tests builds and spectests fine | 09:38 | |
ShimmerFairy | lizmat: I just pushed my work on val(), so that's probably the cause of the issue, I'm guessing :) | ||
lizmat | emilbarton: maybe moritz can help you | ||
ShimmerFairy: yeah, that wss it | |||
but you left a message there how to deal with it in the GLR | |||
:-) | |||
I assume val is tested in the spectest" | 09:39 | ||
? | |||
ShimmerFairy | lizmat: ah, so it was in core then :) When I had to deal with list multis, I did my best to make sure it was as GLR-compatible as possible. | ||
Yes, val() is tested, as well as string numification (which has been changed to use val() internally) | |||
lizmat | cool, then I propose I merge nom into glr + fix | ||
bartolin | lizmat: [Coke]++ asked about merging glr into nom yesterday: irclog.perlgeek.de/perl6/2015-09-01#i_11154524 | 09:40 | |
ShimmerFairy | actually, I don't know if val() specifically is (I hope I remembered to put tests in), but stuff using it implicitly does | ||
bartolin | lizmat: so, not merging nom into glr, but the other way around | ||
emilbarton | hi, moritz - I found my solution for yesterday's INET problem but now I see that remote_address is left blank in INET.pm, is there another way to get it server-side? | ||
ShimmerFairy | lizmat: S32-str/numeric.t does a _lot_ of Str.Numeric tests, so that alone should be decent enough to check val() :) | ||
moritz | emilbarton: not that I'm aware; if it's blank, look for a fix, not for a workaround | 09:41 | |
lizmat | .tell [Coke] wrt irclog.perlgeek.de/perl6/2015-09-01#i_11154524 : wasn't it the idea that we rename glr to master ? | ||
yoleaux | lizmat: I'll pass your message to [Coke]. | ||
ShimmerFairy | Yeah, I did add S02-literals/allomorphic.t :) | ||
bartolin | lizmat: IIRC it was proposed to do that [renaming to master] in a second step | 09:42 | |
09:42
espadrine_ left,
espadrine_ joined
|
|||
moritz | somebody in Barcelona please get jnthn++ to make a decision on the glr merge (and potentially master renaming) thing | 09:43 | |
lizmat | ShimmerFairy: but you didn't add it to t/spectest.data :-( | ||
moritz | once we have a decision, it's easy enough to implement | ||
emilbarton | moritz, I'd be glad but it may be too difficult for me. Where would you start? | ||
[ptc] | moritz: jnthn isn't here... | ||
lizmat | moritz: jnthn is *not* on Granada | ||
ShimmerFairy | lizmat: oh, whoops :( | ||
lizmat | ShimmerFairy: and it has many failures and bombs out | ||
[ptc] | rename-glr-to-master++ | 09:44 | |
ShimmerFairy | lizmat: I just ran the .t and it's fine. Weird. | ||
lizmat | on the glr ? | ||
moritz | :( | ||
09:44
rmgk_ joined,
rmgk is now known as Guest68216,
Guest68216 left,
rmgk_ is now known as rmgk
|
|||
moritz | emilbarton: oh, it looks like remote_address simply isn't implemented | 09:45 | |
emilbarton: and I don't know how to do that; maybe FROGGS or timotimo have an idea | |||
lizmat | ShimmerFairy: and most of the tests are skipped ?? | ||
ShimmerFairy | lizmat: yes, that test was written before I started my work, and I forgot about the file as I went on, unfortunately :( | ||
lizmat | ok, then I propose for testing purposes, I merge nom into glr now | 09:46 | |
and postpone the "master" decision until jnthn emerges from a few well deserved days completely offline :-) | 09:47 | ||
moritz | lizmat: sounds sane | ||
ShimmerFairy | lizmat: where should the line for spectest.data be added, glr or nom? (I don't want to create a merge conflict for the sake of one addition to a list of files) | 09:48 | |
lizmat | in nom, for now :-) | 09:49 | |
moritz | ShimmerFairy: since you merged into nom, that's where you should edit t/spectest.data | ||
lizmat | until it gets fixed | ||
ShimmerFairy | lizmat: I'll do that then :) | ||
[ptc] looks for a power outlet... | |||
dalek | Heuristic branch merge: pushed 30 commits to rakudo/glr by lizmat | ||
roast/glr: 7def790 | ShimmerFairy++ | S02-literals/quoting.t: | 09:51 | ||
roast/glr: Correct «» interpolation test. | |||
roast/glr: | |||
roast/glr: There's no evidence in the synopses that interpolated variables in «» | |||
roast/glr: lists should ever be not-flat, and with the new allomorphic-based | |||
09:51
dalek left
|
|||
lizmat | sorry dalek | 09:51 | |
09:51
dalek joined,
ChanServ sets mode: +v dalek
|
|||
dalek | kudo/nom: 18f5d25 | ShimmerFairy++ | t/spectest.data: Add allomorphic.t to spectest.data Somehow forgot about this file, lizmat++ for reminding me :) . |
09:51 | |
09:54
z448 joined
09:55
masak_venue left,
leont left
09:56
skids joined
09:57
CIAvash joined
09:58
andreoss joined
10:00
z448 left
10:04
Averna joined
|
|||
andreoss | what data structure in Perl6 is most suitable for a stack? array? | 10:04 | |
nine | andreoss: yes | ||
TimToady | generally, yes | ||
lizmat | andreoss: yes | ||
TimToady | that's why Array defines .push and .pop | 10:05 | |
lizmat | brrt to be on shortly... | ||
andreoss | using nested pairs for stack is a bad idea? | 10:06 | |
10:06
skids left
10:07
dayangkun left
10:08
Ven joined
|
|||
lizmat | andreoss: ?? | 10:09 | |
TimToady | tends to fragment memory more than a contiguous stack | ||
andreoss | m: my $tail = 1 => 2 => 3; my ($head, $tail) = $tail.key, $tail.value; say $tail.key | ||
camelia | rakudo-moar 00be1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nC7YKGKBztRedeclaration of symbol $tailat /tmp/nC7YKGKBzt:1------> 3my $tail = 1 => 2 => 3; my ($head, $tail7⏏5) = $tail.key, $tail.value; say $tail.ke expecting any of: shape dec…» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«5===SORRY!5=== Error while compiling /tmp/P2tom3W9oURedeclaration of symbol $tailat /tmp/P2tom3W9oU:1------> 3my $tail = 1 => 2 => 3; my ($head, $tail7⏏5) = $tail.key, $tail.value; say $tail.ke expecting any of: shape dec…» | ||
lizmat | m: dd 1 => 2 => 3 => 4 | 10:10 | |
camelia | rakudo-moar 00be1e: OUTPUT«1 => 2 => 3 => 4» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«1 => 2 => 3 => 4» | ||
andreoss | m: my $tail = 1 => 2 => 3; my $head; ($head, $tail) = $tail.key, $tail.value; say $tail.key | ||
camelia | rakudo-moar 00be1e: OUTPUT«2» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«2» | ||
10:11
emilbarton left,
skids joined
|
|||
timotimo | ShimmerFairy: you create a bigint object by nqp::box_I (or box_i?) with the value you want, iirc | 10:20 | |
10:20
leont joined
|
|||
FROGGS | m: say Signature.^methods | 10:21 | |
camelia | rakudo-moar 00be1e: OUTPUT«<anon> <anon> <anon> <anon> arity count params returns ACCEPTS perl gist» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«(<anon> <anon> <anon> <anon> arity count params returns ACCEPTS perl gist)» | ||
lizmat | FROGGS: glr and nom are the same atm... | ||
FROGGS | lizmat: ahh cool :o) | 10:22 | |
I'm not testing diffs between those atm anyway | |||
lizmat | ah, ok :-) | ||
timotimo | there are probably no live streams of yacp::eu? | ||
nine | Do we actually have a master branch right now? | 10:23 | |
timotimo: seems like there's not even recording going on :( | |||
timotimo | WHAT | 10:24 | |
ShimmerFairy | timotimo: box_i doesn't work :( (and box_I doesn't exist. p6box_i fails too) | ||
nine | I seem to remember a camera during the keynote, but there isn't one in sight during brrt++'s talk, and there hasn't been one in the other room before. | 10:25 | |
timotimo | damn | 10:26 | |
oh, how about creating the object in the first place with nqp::radix_I? | |||
ShimmerFairy | timotimo: perhaps. Thing is, it's trying to store an Int into the appropriate part of IntStr that's the problem :) | 10:27 | |
timotimo | if you pass IntStr there, it'll create the IntStr with the Int properly boxed into it, then you can put the string in afterwards | ||
at least in "using the thing as an Int" we rely on the "box_target" to be set properly for that | |||
rather than access to an attribute | |||
it's not simple to make IntStr, which is why i haven't done it yet :D | 10:28 | ||
ShimmerFairy | timotimo: it's in the repo, just fails on bigints :) | ||
dalek | line-Perl6/glr: 4e6aabc | (Stefan Seifert)++ | lib/Inline/Perl6.pm: Update docs due to done -> done-testing change |
10:29 | |
10:29
lizmat left
|
|||
timotimo | does it work properly for NumStr? | 10:29 | |
ShimmerFairy | AFAIK, yes | 10:30 | |
timotimo | cool :) | ||
ShimmerFairy | timotimo: here's where they are: github.com/rakudo/rakudo/blob/nom/...rphs.pm#L1 | 10:31 | |
10:32
Ven left
|
|||
timotimo | i'm rather sure you can never bindattr_i into the boxing slot of a bigint | 10:33 | |
ShimmerFairy | timotimo: everything else handles absurd numbers except IntStr, it seems. | ||
timotimo: yeah, but try 'bindattr' and you'll get a repr mismatch :) | 10:34 | ||
timotimo | yeah | ||
oh | |||
how about this | |||
10:34
rurban left
|
|||
timotimo | nqp::add_I($i, 0, IntStr) | 10:34 | |
that way you should be able to get the bigint out of the other thing properly | |||
and put it into an IntStr | |||
(this would replace nqp::create) | |||
10:36
skids left
|
|||
FROGGS | wow, this is awesome! | 10:36 | |
ShimmerFairy++ | |||
ShimmerFairy | timotimo: that works (and I think I know what I messed up trying radix_I, but add_I has got to be a better hack), but now IntStr.Int won't play nice. Hm... | 10:37 | |
moritz | ShimmerFairy: you can do the same trick there, no? | 10:38 | |
ShimmerFairy | nqp::fromstr_I(nqp::tostr_I(self), Int) is icky, but works :) | ||
moritz | nqp::add_I($intstr, 0, Int) | ||
timotimo | it's icky and not very performant :) | ||
10:38
skids joined
|
|||
ShimmerFairy | yeah, add_I works too :) | 10:38 | |
moritz | once you've got a shiny new hammer... | ||
ShimmerFairy | So, I'll add this fix, un-skip the tests that broke on bigints, and try a spectest :) | 10:39 | |
timotimo | looking forward to it :) | ||
10:40
lizmat joined
|
|||
FROGGS | .tell japhb all tests pass now on my linux box... | 10:41 | |
yoleaux | FROGGS: I'll pass your message to japhb. | ||
timotimo | [ptc]: ^5 | 10:42 | |
dalek | osystem: 53fbf91 | RabidGravy++ | META.list: Add XDG::BaseDirectory |
||
ShimmerFairy | timotimo: clearly, it's time for us to get nqp::getattr_I and nqp::bindattr_I :P | 10:43 | |
lizmat | hmmm.. I'm seeing a significant increase in bare startup time: now at 134 msecs for me (from ~ 94 msecs) | ||
timotimo | ShimmerFairy: the thing is it's not the same thing internally :) | 10:44 | |
and nqp is meant to give you close access to the underlying vm, or at least that's how i think of it | 10:46 | ||
lizmat | seems to be at least partly related to the allomorph changes :-( | 10:48 | |
ShimmerFairy | timotimo: I figured, _I seems to be the oddball type of the basic nqp ones :) | ||
lizmat: yeah, I think I noticed a bit of that myself :( . If you look at roast's commit history, you'll see a change I made to integration/weird-errors.t because ~something~ in my changes made one test much slower. | 10:49 | ||
dalek | kudo/cpp3: bb21848 | FROGGS++ | / (21 files): re-apply patch to add C++/NativeCall support |
||
10:49
Alina-malina left
10:51
Alina-malina joined
|
|||
lizmat | ShimmerFairy: ok, I guess we need to figure out what that is :-) | 10:51 | |
10:51
telex left
10:52
telex joined
|
|||
ShimmerFairy | lizmat: my best guess for something slower would be strings in general (doesn't make sense that val() itself is causing _that_ much of a problem), and for that I'd guess how I changed the Q grammar/actions to handle multiple "post-processing" adverbs, like :w, :v, and :x, for example | 10:52 | |
lizmat | ShimmerFairy: but that would mean slower compilation, not execution? | 10:53 | |
10:53
laouji left
|
|||
cdc | Hello #perl6 o/ | 10:54 | |
ShimmerFairy | (and I changed that because the <> and «» literals are defined as q:w:v and qq:ww:v , so that has to work) | ||
cdc | m: my $a = (^6).map(* + 1); $a Z=== (1 ... 6) | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
RabidGravy | been sitting on that one for ages, thought I'd let it free | ||
ShimmerFairy | lizmat: probably, though I never noticed a significant change in parse time | ||
cdc | m: my $a = (^6).map(* + 1); say $a Z=== (1 ... 6) | ||
camelia | rakudo-moar 00be1e: OUTPUT«False» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«(True True True True True True)» | ||
cdc | m: my $a = (^6).map(* + 1).hyper; say $a Z=== (1 ... 6) | ||
camelia | rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'List' in block <unit> at /tmp/MlBkNYgQ5A:1» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«()» | ||
cdc | why this doesn't work with hyper? | 10:55 | |
ShimmerFairy | m: my $a = (^6).hyper.map(* + 1); say $a Z=== (1 ... 6) | ||
camelia | rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'Range' in block <unit> at /tmp/02MH1kz2fJ:1» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«(True True True True True True)» | ||
ShimmerFairy | The .hyper needs to be before the thing you want to hyper into :) | ||
cdc | ShimmerFairy: oh, thanks! | 10:56 | |
ShimmerFairy | cdc: think of ».map, which is the same thing as .hyper.map :) | ||
10:57
laouji joined
|
|||
cdc | ok :) | 10:57 | |
10:57
TEttinger left
|
|||
moritz | .tell FROGGS any ideas regarding github.com/perl6/DBIish/issues/17 ? | 10:59 | |
yoleaux | moritz: I'll pass your message to FROGGS. | ||
FROGGS | .tell moritz let me take a look :P | 11:00 | |
yoleaux | 10:59Z <moritz> FROGGS: any ideas regarding github.com/perl6/DBIish/issues/17 ? | ||
FROGGS: I'll pass your message to moritz. | |||
lizmat | lunch& | 11:01 | |
11:01
lizmat left
11:02
dalek left,
dalek joined,
ChanServ sets mode: +v dalek,
oha left
11:03
oha joined
|
|||
colomon | Hi gang. First compete GLR model smoke run completed overnight. The results are up at smoke.perl6.org/report. | 11:04 | |
moritz | colomon++ | ||
yoleaux | 11:00Z <FROGGS> moritz: let me take a look :P | ||
FROGGS | colomon: cool! | 11:05 | |
colomon | All but the last two columns can be ignored. “30” is a more or less complete run against nom. “02” is a more or less complete run against GLR. | ||
Looks like, I dunno, about half the modules fail under GLR. | |||
11:06
leont left
|
|||
colomon | people can get a handy list of their own modules by looking at (for instance) smoke.perl6.org/report/colomon | 11:06 | |
RabidGravy | well mine are going to stay all failing until the merge is done | 11:09 | |
cdc | colomon: do we have access to tests outputs? | 11:10 | |
11:15
domidumont joined,
cognominal joined,
kjs_ left
|
|||
dalek | kudo/nom: a15b0ef | ShimmerFairy++ | src/core/allomorphs.pm: Make IntStr properly handle bigints Thanks to timotimo++ for showing me the add_I trick that makes it possible. |
11:16 | |
timotimo | ShimmerFairy: FWIW, internally at least we have repr_set_int and repr_set_str functions to set the "internal"/"boxed" value of a thing like Int or Str ... i don't think we expose those as nqp:: ops in the interpreter, though | ||
dalek | ast: be1f8da | ShimmerFairy++ | / (3 files): Un-skip these bigint-using tests. |
11:17 | |
ShimmerFairy | timotimo: unless we find ourselves working with a lot of Int-derived classes in the future, I think we can get by on the add_I trick to transform bigint types :) | 11:18 | |
timotimo | nqp: nqp::set_I(my Int $ = 0, 1); | ||
11:18
camelia left
|
|||
timotimo | mhh | 11:18 | |
or add multi-boxing ops to the p6ops :) | |||
11:19
camelia joined,
domidumont left
|
|||
ShimmerFairy | timotimo: you mean something like nqp::p6boxes_I($val, Int, IntStr) ? :) | 11:19 | |
timotimo | oh | 11:20 | |
11:20
domidumont joined
|
|||
ShimmerFairy | or did you mean something else by "multi-boxing" ? | 11:20 | |
timotimo | no, more like nqp::p6box_Is($Ival, $Sval, Intstr) | ||
camelia | nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 193.exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directoryServer error occurred! Closing Link: ns1.niner.name (Quit: camelia)Lost connect…» | ||
..nqp-jvm: OUTPUT«(signal ABRT)## There is insufficient memory for the Java Runtime Environment to continue.# pthread_getattr_np# An error report file with more information is saved as:# /tmp/jvm-30192/hs_error.log» | |||
..nqp-moarvm: OUTPUT«Confused at line 2, near "nqp::set_I" at gen/moar/stage2/NQPHLL.nqp:516 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:panic:105) from gen/moar/stage2/NQP.nqp:921 (/home/camelia/rakudo-inst-1/share/nqp/lib/nqp.moarvm:comp_unit:872) from gen/…» | |||
11:20
ChanServ sets mode: +v camelia
|
|||
timotimo | >_< | 11:21 | |
RabidGravy | boom | ||
ShimmerFairy | .oO(I think the shopkeeper was lying 'bout that Norwegian Blue) |
||
FROGGS | moritz: I've no solution yet | 11:22 | |
colomon | cdc: not easily. people will need to get their own moar/GLR running to investigate. :) | ||
cdc | colomon: I need to investigate why the testsuite doesn't work on smoke but it does on my computer (moar/GLR powered) :) | 11:25 | |
RabidGravy | yeah, I've had that problem as well | ||
cdc | colomon: I think this is because smoke is powered by a Linux kernel < 3.8 | ||
timotimo | huh? that shouldn't give us problems | 11:26 | |
colomon | cdc: bugs in the smoker are also very spossible | ||
it’s running on hack.p6c.org. | |||
(in terms of Linux) | |||
cdc: what module? | |||
11:26
xinming_ left
|
|||
RabidGravy | timotimo, if the module relies on a feature of the kernel it might | 11:26 | |
cdc | colomon: do you know what's the kernel version of hack.p6c? | ||
timotimo | ah, hm | 11:27 | |
colomon ’s latest changes have given him the ability to smoke single modules easily, so it’s a cinch to just check and see what’s going on. | |||
timotimo | cool | ||
cdc | RabidGravy, timotimo: right. Kains relies on Linux kernel namespaces | ||
11:27
xinming joined
|
|||
timotimo | ah | 11:28 | |
i hadn't seen the mention of Kains | |||
and ... actually don't know what that is | |||
cdc | colomon: smoke.perl6.org/project/Kains | ||
11:28
pat_js joined
|
|||
cdc | timotimo: just a project of mine | 11:28 | |
RabidGravy | cdc, perhaps it's make a Build.pm that bails if the kernel doesn't have the appropriate feature - I've done similar with checking whether native libraries are available | 11:30 | |
colomon | cdc: gist.github.com/colomon/3aa697092a560952b61e | 11:31 | |
highlight seems to be | 11:32 | ||
Error: unshare(0x10020000): Operation not permitted | |||
It seems your system doesn't support user namespaces. | |||
cdc | colomon: right! | ||
RabidGravy: could you share such a code, please? | |||
colomon: thanks for the tests output, anyway. | 11:33 | ||
RabidGravy | cdc, e.g. github.com/jonathanstowe/Audio-Con...r/Build.pm - you'd need to make the equivalent of LibraryCheck to find the appropriate feature or kernel version | 11:35 | |
11:35
perigrin joined
11:36
Ven joined
|
|||
cdc | RabidGravy: thanks! | 11:37 | |
RabidGravy | actually, somethinng that did that could be a generally useful module - i.e assert a required kernel feature | 11:40 | |
11:40
perigrin left
|
|||
bartolin | cdc: hack.p6c runs with kernel 3.16.0-4-amd64 | 11:40 | |
RabidGravy | it is entirely possible that it wasn't compiled with the appropriate feature configured | 11:43 | |
cdc | bartolin: ok, thanks. Then support for namepaces is likely disabled then. | ||
11:43
Ven left
|
|||
bartolin | m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c; say $a[3].WHAT # RT #76698 | 11:46 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...l?id=76698 | ||
camelia | rakudo-moar 00be1e: OUTPUT«(Parcel)» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«(List)» | ||
11:48
RabidGravy left
|
|||
ShimmerFairy | There was a Seq() way back when? Weeeeird O_o | 11:49 | |
FROGGS | m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; say $c.WHAT; $a[3] = $c; say $a[3].WHAT | 11:51 | |
camelia | rakudo-moar 00be1e: OUTPUT«(Parcel)(Parcel)» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«(List)(List)» | ||
timotimo | "way back when"? at that time Seq didn't exist :) | ||
ShimmerFairy | timotimo: it's in that 2010 bug report though | 11:52 | |
bartolin | ShimmerFairy: If you have looked at the ticket: I'm going to close it, because I don't see a bug there. At least nowadays one could use .Array if needed. Do you agree? | ||
FROGGS | bartolin: it very much seems fixed | ||
ShimmerFairy | bartolin: not to mention GLR has thrown a wrench in any list-related ticket :) | ||
bartolin | m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3].Array; $a[3] = $c; say $a[3].perl | ||
camelia | rakudo-moar 00be1e: OUTPUT«["so", "funny"]» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«["so", "funny"]» | ||
bartolin | m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3].Array; $a[3] = $c; say $a.perl | ||
camelia | rakudo-moar 00be1e: OUTPUT«["this", "is", "so", ["so", "funny"]]» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«["this", "is", "so", ["so", "funny"]]» | ||
FROGGS | a slice returns a list, and it stays a list, which is correct | ||
bartolin will add that to the ticket | 11:53 | ||
FROGGS | m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c; say $a.perl | ||
camelia | rakudo-moar 00be1e: OUTPUT«["this", "is", "so", $("so", "funny")]» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«["this", "is", "so", ("so", "funny")]» | ||
FROGGS | m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c; $a[3][1] = "hurz"; say $a.perl | 11:54 | |
camelia | rakudo-moar 00be1e: OUTPUT«["this", "is", "so", $("so", "hurz")]» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«["this", "is", "so", ("so", "hurz")]» | ||
FROGGS | m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c; $a[3][2] = "hurz"; say $a.perl | ||
camelia | rakudo-moar 00be1e: OUTPUT«Index out of range. Is: 2, should be in 0..1 in block <unit> at /tmp/sJUcb_oX1H:1» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«Attempted to STORE to Nil. in block <unit> at /tmp/wWV1nUQLz9:1» | ||
FROGGS | :S | ||
I like camelia's output better | |||
11:56
CIAvash left
11:59
agentzh joined,
agentzh left,
agentzh joined
12:04
kjs_ joined
12:06
Ven joined,
orbusbak left
|
|||
FROGGS | m: my $a = (1, 2, 3); $a[42] = 21 | 12:06 | |
camelia | rakudo-moar 00be1e: OUTPUT«Index out of range. Is: 42, should be in 0..2 in block <unit> at /tmp/nnTEvtevbH:1» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«Attempted to STORE to Nil. in block <unit> at /tmp/o9_DeZFRmB:1» | ||
12:08
telex left
|
|||
FROGGS | [Coke]: I'm sorry, just opened two RT tickets :S | 12:09 | |
Ven | .oO( The wrath of [Coke] ) |
12:10 | |
[Coke] yawns, and is almost ready to grab more koohii. | |||
yoleaux | 09:41Z <lizmat> [Coke]: wrt irclog.perlgeek.de/perl6/2015-09-01#i_11154524 : wasn't it the idea that we rename glr to master ? | ||
12:10
telex joined
|
|||
FROGGS | Ven: when you are on you mac and you got some background processing time over... can you please try: MoarVM/cpp3, nqp, rakudo/cpp3 and then run rakudo's make test? | 12:11 | |
12:12
mprelude joined
|
|||
FROGGS | Ven: I'm especially interested in these two: perl6 t/04-nativecall/11-cpp.t; perl6 t/04-nativecall/13-cpp-mangling.t | 12:12 | |
Ven | FROGGS: I don't have nearly enough battery left atm, but I wrote that down | ||
FROGGS | Ven: and you get extra extra credits if you make it work for clang, that is add the right shell line that invokes clang (at the top of these files) | ||
[Coke] | catching up; let's not do the master rename as part of the glr merge. | ||
FROGGS | Ven: well, no hurry, I'd just like to get results within O(days) | 12:13 | |
bbiab | 12:14 | ||
12:14
FROGGS left
|
|||
[Coke] | so did lizmat++ do some merging? | 12:14 | |
ShimmerFairy | nom into glr, as I recall | 12:15 | |
12:20
cognominal left
12:24
dayangkun joined
12:26
[particle]1 joined
12:27
jordman left,
rhr joined
12:28
zacts left
12:29
jordman joined,
zacts joined
12:32
sufrostico joined
12:34
lizmat joined
12:38
laouji left
12:40
Ven left
|
|||
lizmat | yeah, nom into glr + some allomorphic fixes | 12:40 | |
12:46
[TuxCM] joined
|
|||
[TuxCM] | When pre-compiling a module, its dependencies must be pre-compiled first. | 12:46 | |
Please pre-compile /pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/lib/Slang/Tuxic.pm | 12:47 | ||
that is fine. But *HOW* do I precompile something installed with panda? | |||
m: my $a = ""; say +$a; | |||
camelia | rakudo-moar 00be1e: OUTPUT«0» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«Cannot convert string to number: Strange text where integer expected (but we're not sure what kind of value this wants to be) in '7⏏' (indicated by 7⏏) in block <unit> at /tmp/nWvbK4yNOC:1Actually thrown at: in block <unit> at /tmp/nW…» | ||
colomon | do we have a theory about when GLR will land? I’m curious about the strategy for fixing modules. (Guess I should probably branch for the fix either way....) | ||
[Coke] | lizmat: I think it's safe to bring glr back into nom now. We can decide later if we want nom to move to master. | 12:49 | |
but it's ok if we do the september release off nom. | |||
lizmat | [TuxCM]: at the moment, maybe we should not precompile modules at all | 12:50 | |
[TuxCM] | ok. | ||
12:50
RabidGravy joined
|
|||
[Coke] | heh. was telling one of my coworkers about the minor jet lag issues on the trip. He regularly travels from the US to India, and thought my problems were cute. :) | 12:51 | |
pink_mist | that looks like an odd error out of GLRelia 0_o | ||
lizmat | m: +"" # ShimmerFairy | 12:52 | |
camelia | rakudo-moar 00be1e: OUTPUT«WARNINGS:Useless use of "+" in expression "+\"\"" in sink context (line 1)» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«WARNINGS:Useless use of "+" in expression "+\"\"" in sink context (line 1)Cannot convert string to number: Strange text where integer expected (but we're not sure what kind of value this wants to be) in '7⏏' (indicated by 7⏏) in block <un…» | ||
[Coke] | colomon: I'd like glr to get merged back to nom today. | ||
lizmat | ShimmerFairy: on GLR this breaks... it should just give 0 | ||
ShimmerFairy | actually, GLRelia is correct. As part of my work on val, I decided to make it so that +"" did not return 0. I found nothing in the spec for it, and it feels like ?"0" -> False to me. | ||
I don't know why camelia let it through O_o | |||
colomon | [Coke]: that would certainly simplify matters… but also cause massive ecoysystem breakage. | ||
ShimmerFairy | $ perl6 -e 'say +""' | 12:53 | |
Cannot convert string to number: Strange text where integer expected (but we're not sure what kind of value this wants to be) in '⏏' (indicated by ⏏ | |||
yeah, something's up with camelia perhaps | |||
[Coke] | colomon: yes. we need to break things asap. | ||
lizmat | ShimmerFairy: but what is the point of warning *AND* dieing ? | ||
[Coke] | otherwise we cannot fix them. | ||
colomon | [Coke]: okay, I can live with that as a policy, I guess… | ||
DrForr | Make sure it's right during a live demo :) | ||
[Coke] | plus, everyone is distracted at yapc::eu. :) | ||
ShimmerFairy | lizmat: it doesn't (it is a Failure though, which is why you see two backtraces) | 12:54 | |
colomon | … well, we’ve got a list of failing modules now, and it’s easy enough to built the glr branch of rakudo to fix them on, even if it’s not merged to nom. | ||
[Coke] | we only have 2 weeks until the september release. | ||
lizmat | yeah, and with ShimmerFairy's changes breaking Inline::Perl5 as well | ||
I'm not comfortable merging glr into nom | |||
ShimmerFairy | lizmat: basically, with no spec backing it up, my decision was "I don't see a number in the empty string, so of course "".Numeric should fail" :) | ||
[Coke] | lizmat: why not? | 12:55 | |
what is your preferred course of action then? | |||
lizmat | because I hear reports of all sorts of failures here at YAPC::EU | ||
ShimmerFairy | camelia is on 00be1e, which is before my merge, so it doesn't have the right changes | ||
[Coke] | we can back out shimmeryfairy's change if there isn't concensus on that. | ||
ShimmerFairy | m: say val("42") | ||
camelia | rakudo-moar 00be1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WUhgqqIvWmUndeclared routine: val used at line 1» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«val("42")» | ||
lizmat | like Inline::Perl5 not working on either nom or glr atm | ||
or Text::CSV being broken on both | 12:56 | ||
[Coke] | lizmat: failures where? | ||
ok. | |||
lizmat | and they are canaries for the ecosystem to me | ||
[Coke] | Pro on merge: we only have to fix these things once. | ||
ShimmerFairy | I can push the branch pointers I've got for rakudo and roast, if consensus says a branch would be better for now | ||
[TuxCM] | [Coke] I got the same error in nom that GLRelia just showed | ||
lizmat | [TuxCM]: the +"" error ? | 12:57 | |
[TuxCM] | error was in Text::CSV. I just pushed a fix for that one | ||
ye | |||
s | |||
[Coke] | ShimmerFairy: if you can postpone your changes until we have nom vs. glr sorted, that would be helpful. | ||
12:57
vendethiel joined
|
|||
[Coke] | also, I don't remember seeing any discussion on that change before it went in, but there has been a lot of backlog the past few weeks. | 12:57 | |
lizmat | [Coke]: haven't seen it either.... thought it was discussed | 12:58 | |
12:58
inokenty left
|
|||
[TuxCM] | $attr = $v ~~ Bool ?? $v ?? 1 !! 0 !! $v.defined ?? $v eq "" ?? 0 !! +$v !! 0; | 12:58 | |
ShimmerFairy | [Coke]: they're already there | ||
[TuxCM] | I just added the bold part | ||
[Coke] | lizmat: ok - so, let's get inline::perl5 and text::csv working against nom or glr, and then merge things and make sure they stay working? | ||
ShimmerFairy: postpone = "remove and maybe put back later." | |||
lizmat | [Coke]: sounds like a plan :-) | ||
[TuxCM] | do you need a sit-in somewhere to analyse what is still needed? | 12:59 | |
12:59
Sgeo_ left
|
|||
[Coke] | I'm about to get sucked in to a day long meeting, so I'm useless to the cause, I'm afraid. | 12:59 | |
(I have about an hour, but am already at $dayjob) | |||
ShimmerFairy | if there's proof in the spec, or comments by TimToady or similarly-knowledgeable gurus, I'll gladly make Str.Numeric accept the empty string. Until then, I stand by my "I see no number" decision :) | ||
(I'd also be fine adding a deprecation to +"" for a while) | |||
lizmat | ShimmerFairy: maybe it should return Nil ? | 13:00 | |
13:00
rindolf left,
pochi joined
|
|||
ShimmerFairy | lizmat: I think it's certainly worth discussing. I definitely don't want it returning a numeric value, in any case | 13:01 | |
lizmat | finding some electricity& | ||
13:01
lizmat left
13:02
domidumont left
13:04
masak_venue joined,
[TuxCM] left
|
|||
[Coke] | I actually prefer it returning 0. | 13:05 | |
prior art. | |||
ShimmerFairy: did you discuss this change with anyone before pushing it? | |||
masak | masak_venue: get out | 13:08 | |
13:08
kjs_ left,
masak_venue left,
lizmat joined
|
|||
moritz | masak: be kind :-) | 13:08 | |
cdc | ShimmerFairy: about irclog.perlgeek.de/perl6/2015-09-02#i_11158078, is » supposed to return an HyperSeq? | ||
lizmat | [Tux] + brrt + me in the library with electricity and an emergence hackathon to fix Text::CSV on GLR | 13:09 | |
masak .oO( be kind, especially to your clones ) | |||
moritz | ... and to your original, if you're a clone :-) | ||
cdc | m: (^2)».map(+*).perl.say | ||
camelia | rakudo-moar 00be1e: OUTPUT«((0,), (1,))» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«((0).Seq, (1).Seq)» | ||
masak | moritz: I almost kicked masak_venue, but it turned out I needed to be op, and I couldn't be bothered | ||
cdc | m: (^2).hyper.map(+*).perl.say | ||
camelia | rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'Range' in block <unit> at /tmp/atbdWD1YZg:1» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«HyperSeq.new» | ||
lizmat | ShimmerFairy: apart from all the breakage, I'm *really* disappointed losing 25% bare startup time :-( | 13:10 | |
ShimmerFairy: I'd really like to know TimToady's pov wrt +"" throwing a failure | 13:11 | ||
13:11
brrt joined
|
|||
masak | moritz: a fundamental assumption of the blog post about the clones (that I haven't written) is that "there is no original". technically there is, but no-one gets to be privileged that way | 13:11 | |
13:11
kjs_ joined,
araujo_ joined
|
|||
masak | we lost 25% startup time? :( | 13:11 | |
ShimmerFairy | [Coke]: no, this was part of my process on making stuff work; I saw the tests failing on +"", was surprised, mentioned it in the channel, and then fixed the tests while hacking away. | 13:12 | |
[Coke]: And let me say I was *really* surprised with finding that +"" -> 0 . That feels as wrong as ?"0" -> False to me. | |||
lizmat | masak: yeah, on power, we're now at 128 msecs, before it was 94 msecs | ||
ShimmerFairy | I will momentarily revert my merge and push the branch pointer as an alternative :) | ||
13:12
araujo_ left,
FROGGS joined
|
|||
moritz | masak: I know, I know | 13:12 | |
13:13
dayangkun left,
araujo left
13:17
Averna left,
hernanGOA joined
13:19
leont joined
13:22
[TuxCM] joined
|
|||
ShimmerFairy | Alright, I think I understand how to revert it: revert the merge, and the later revert the revert before merging in again (assuming there've been changes since then), right? | 13:22 | |
lizmat | ShimmerFairy: am too much a git noob to answer that | 13:24 | |
ShimmerFairy | lizmat: that's what the how-to said, I'm just stating it here beforehand in case it's very much the wrong thing to do here :) | ||
hoelzro | o/ #perl6 | 13:28 | |
ShimmerFairy++ # implementing val() | |||
dalek | kudo/nom: e4b5fb3 | ShimmerFairy++ | / (10 files): Revert "Merge branch 'allomorphs' into nom" This reverts commit b516e64c570a1af0982730334b92a2fdcb558aee, reversing changes made to 00be1e89dca669f5da082b96e8205c1a832d8c4f. For better or worse, there are other major changes that prevent this merge from being more helpful than hurtful for now. So this revert is in the interesting of waiting for a better time :) |
13:30 | |
ast: da3f450 | ShimmerFairy++ | / (13 files): Revert "Merge branch 'allomorphs'" This reverts commit b5b4a29d7a1f9bf7f61e09c21b455a911b4ae4b5, reversing changes made to 61048741deb34d2a818e74de705bcfea9fec7a62. Wait to make these modifications to the test files. |
13:31 | ||
13:32
rindolf joined
|
|||
mrf | qgitqwq | 13:32 | |
fail | |||
lizmat | m: <<a "{40+2}" c>>.perl.say | ||
camelia | rakudo-moar 00be1e: OUTPUT«("a", "42", "c")» | ||
GLRelia | rakudo-moar 467b79: OUTPUT«("a", IntStr.new(42, "42"), "c")» | ||
masak | mrf: do you actually have a `qgitqwq` command? :P | 13:34 | |
(because that's awesome and slightly disturbing) | |||
ShimmerFairy | lizmat: for some reason camelia is stuck before the merge (though at this moment it doesn't matter so much :P) | 13:35 | |
moritz | ./perl6-j --target=jar --output=lib/Test.pm.jar -Ilib lib/Test.pm | 13:36 | |
Unhandled exception: java.lang.StackOverflowError | |||
mrf | masak: thats about three commands strung together | ||
masak | moritz: it's very important for the power balance. all the clones get to feel "equal", or -- perhaps more importantly -- all the clones get to imagine they're the original. | ||
13:36
araujo joined,
araujo left
|
|||
mrf | ok I have removed some whitespace from docs/announce/2015.md. How do I commit this. | 13:37 | |
mrf makes his first foray into the perl6 core by fixing some trailing whitespace in docs :D | 13:38 | ||
moritz | mrf: you make a pull request | 13:39 | |
mrf | moritz: new branch? | ||
moritz | mrf: yes | ||
mrf | awesome | 13:40 | |
[TuxCM] | current checkout for nom: ☑ 🐼, ☑ Slang::Tuxic, ☑ Inline::Perl5 | 13:41 | |
masak | .u 🐼 | 13:42 | |
yoleaux | U+1F43C PANDA FACE [So] (🐼) | ||
masak | [TuxCM]: meaning that it all works? | 13:43 | |
hoelzro | +1 to merging glr into nom | ||
we're going to have to break it eventually | |||
[TuxCM] | now testing Text::CSV | ||
All tests successful. | 13:44 | ||
13:44
muraiki joined
|
|||
lizmat | hoelzro: I'm testing merging nom into glr (again) after ShimmerFairy's revert | 13:44 | |
[TuxCM] sits next to lizmat - waiting for decisions | |||
hoelzro | yaaay lizmat++ | ||
lizmat | quite some fails :-( | ||
[TuxCM] | but with current checkout of nom all still passes, which might be an OK reference point | ||
hoelzro | =( | 13:45 | |
muraiki | what does the "nom" in the nom branch indicate? | ||
oh, that's the default branch | 13:46 | ||
cdc | muraiki: new object model | ||
lizmat | New Object Model | ||
muraiki | thanks :) | ||
dalek | kudo/nom: 630102f | (Mike Francis)++ | docs/announce/2015.08.md: Remove trailing whitespace in anounce docs |
||
kudo/nom: e6f3602 | masak++ | docs/announce/2015.08.md: Merge pull request #523 from ungrim97/trailing-whitespace Remove trailing whitespace in anounce docs |
|||
mrf | woot first pull request :D | ||
masak | mrf: merged. | ||
mrf | \0/ | ||
masak | \Ω/ | ||
mrf | showoff | 13:47 | |
masak | \🐼/ | ||
jdv79 | are we still doing version strings as spec'd? | ||
masak | jdv79: ...yes...? | ||
13:47
inokenty joined
|
|||
jdv79 | so 1.05 and v1.05 are equivalent and fine? | 13:48 | |
RabidGravy | so anyway I reached the 100 day streak on github | ||
I can give up programming now | |||
lizmat | RabidGravy-- # on giving up programming :-) | 13:49 | |
RabidGravy++ # for 100 day streak | 13:50 | ||
masak | RabidGravy: you will be missed. | ||
RabidGravy | no, I'm just going to Ibiza for a couple of weeks | ||
;-) | 13:51 | ||
pink_mist | RabidGravy++ # since I don't think RabidGravy+=100 works | ||
dalek | kudo/glr: 18f5d25 | ShimmerFairy++ | t/spectest.data: Add allomorphic.t to spectest.data Somehow forgot about this file, lizmat++ for reminding me :) . |
13:53 | |
13:53
dalek left
13:54
dalek joined,
ChanServ sets mode: +v dalek
|
|||
lizmat | ok, so I merged nom into glr again | 13:55 | |
after that I will try to merge glr into nom and see how that works out | 13:56 | ||
brrt | i've you've merged nom into glr, merging glr into nom is a nop | ||
13:56
khw joined
|
|||
mrf | qqmake test | 13:58 | |
[TuxCM] | building nom … | ||
building glr … | |||
mrf | Apparently I can't type in the right window today | ||
moritz | brrt: it's a fast-forward merge, not a no-op :-) | ||
masak | apparently, mrf can give commands to [TuxCM] over IRC :P | ||
13:59
kjs_ left
|
|||
[TuxCM] | panda fails on glr | 13:59 | |
brrt | moritz: fair enough | ||
dalek | ast/glr: e6b961b | ShimmerFairy++ | S02-literals/allomorphic.t: Unfudge these allomorphic tests I somehow forgot about them as I got into introducing val() and allomorphic types for rakudo. |
||
colomon | [TuxCM]: it was working earlier today. | ||
ast/glr: be1f8da | ShimmerFairy++ | / (3 files): Un-skip these bigint-using tests. |
|||
ast/glr: da3f450 | ShimmerFairy++ | / (13 files): Revert "Merge branch 'allomorphs'" This reverts commit b5b4a29d7a1f9bf7f61e09c21b455a911b4ae4b5, reversing changes made to 61048741deb34d2a818e74de705bcfea9fec7a62. Wait to make these modifications to the test files. |
|||
ast/glr: 235c664 | lizmat++ | / (16 files): Merge branch 'master' into glr |
|||
lizmat | was panda supposed to work on glr now ? | 14:00 | |
14:00
kjs_ joined
|
|||
colomon | lizmat: yes | 14:00 | |
indeed, I tried it again just now and it worked | 14:01 | ||
14:01
kjs_ left
|
|||
jdv79 | why is license in META6.json a scalar? | 14:01 | |
what about "GPL or Artistic"? | |||
[TuxCM] | fails with liz too | 14:02 | |
masak | jdv79: because making it an array would be needless complexity? | ||
jdv79: (besides, the Artistic license is already a superset of GPL) | |||
lizmat | jdv79: no particular reason, really | ||
flussence | just split on spaces if it needs to be parsed, that's what Gentoo's format does | 14:03 | |
jdv79 | meh. just wondering. i guess since rakudo is just Art 2.0 there's something to point to though somewhat arbitrary | 14:04 | |
lizmat | jdv79: when I wrote S22 I never thought about multiple licenses | ||
colomon | lizmat: whoops, may have wandered back to nom | ||
14:04
orbus joined
|
|||
lizmat | colomon: huh? | 14:04 | |
I wanted to have ShimmerFairy's reverts in glr as well | 14:05 | ||
andreoss | m: $_ for ^10**7 | ||
camelia | ( no output ) | ||
colomon | lizmat: I thought I was running panda on glr, but I think I switched back to nom in a different window so I could run something that doesn’t run on glr. | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(timeout)» | ||
colomon | lizmat: I’m having a hard time keeping track of things, because I use p6 for real stuff all the time, and the glr-induced issues are a big gotcha today. | 14:06 | |
Done, built panda for moar-glr | |||
lizmat | colomon :-( | ||
colomon | lizmat: it just means I have to use rakudobrew to switch back and forth a lot. but I loose track of where I am. | ||
I think glr + modules will be fine in the short term, it’s just not fine at this instant. | 14:07 | ||
panda seems to be working okay under GLR for me. | |||
andreoss | $ time perl6-glr -e '$_ for ^10**7' | 14:08 | |
1m8.191s | |||
$ time perl6-nom -e '$_ for ^10**7' | |||
0m23.335s | |||
$ time perl5 -E '$_ for 0..10**7' | |||
0m0.332 | |||
10**7 doesn't seem like a lot | |||
14:09
FROGGS_ joined
|
|||
moritz | patches welcome :-) | 14:09 | |
14:12
FROGGS left
|
|||
timotimo | ShimmerFairy: that mention of Seq may actually refer to a different kind of Seq, which is more about syntactic stuff? i'm not 100% sure | 14:13 | |
ShimmerFairy | timotimo: I'm positive it's a different mention, it's just weird to see there was once something else called Seq :) | ||
dalek | ast/glr: 6c044ce | lizmat++ | S02-literals/quoting.t: Revert some more allomorphic changes breaking GLR |
14:14 | |
lizmat | FWIW, lock.t now consistently fails on OS X with "Abort trap: 6" | 14:16 | |
14:16
Possum left
|
|||
timotimo | mhm | 14:16 | |
14:16
andreoss left,
kjs_ joined
|
|||
hoelzro | yikes, that's probably my fault | 14:17 | |
but then again, I don't think the test was correct earlier | |||
lizmat: is that on GLR or nom? | 14:18 | ||
lizmat | either | ||
hoelzro builds and tries on Arch | |||
14:20
go|dfish joined
|
|||
hoelzro | I never thought I'd say this, but crap, it passes =/ | 14:21 | |
RabidGravy | wahay! | 14:23 | |
colomon | did we change Test’s done to something else? I know there was muttering about it... | 14:24 | |
RabidGravy | done-testing | ||
PerlJam | colomon: done-testing | ||
14:25
coke__ joined
|
|||
colomon | well, that was the sole actual GLR failure on Math::Vector. :) | 14:25 | |
14:25
coke__ is now known as webcoke,
leont left
|
|||
hoelzro | lizmat: is it test 7 or 8 that aborts? | 14:26 | |
masak | m: sub foo(&bar:(Int --> Bool)) { say bar(42) }; sub bar(Int $x) { ?$x }; foo(&bar) | 14:28 | |
camelia | rakudo-moar e6f360: OUTPUT«True» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«True» | ||
masak | m: sub foo($bar:(Int --> Bool)) { say bar(42) }; sub bar(Int $x) { ?$x }; foo(&bar) | ||
camelia | rakudo-moar e6f360: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter $bar: in sub foo at /tmp/_0GGJnVYrI:1 in block <unit> at /tmp/_0GGJnVYrI:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter $bar: in sub foo at /tmp/3CbG0Tzlzd:1 in block <unit> at /tmp/3CbG0Tzlzd:1» | ||
masak | I just explained nested signatures to lichtkind++ | ||
but then I couldn't understand why it doesn't work when I do &bar --> $bar | 14:29 | ||
any simple explanation for that? | |||
hoelzro | commute & | 14:30 | |
moritz | masak: uhm, what doesn't work? | ||
masak | moritz: my second eval. | ||
PerlJam | bar is not $bar | 14:31 | |
masak | oh argh | ||
PerlJam | m: sub foo(&bar:(Int --> Bool)) { say bar(42) }; sub bar(Int $x) { ?$x }; foo(&bar) # how I would have probably done it :) | ||
camelia | rakudo-moar e6f360: OUTPUT«True» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«True» | ||
masak | m: sub foo($bar:(Int --> Bool)) { say $bar(42) }; sub xyzzy(Int $x) { ?$x }; foo(&xyzzy) | 14:32 | |
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3MMUgdexQIVariable '$bar' is not declared. Did you mean '$bar:'?at /tmp/3MMUgdexQI:1------> 3sub foo($bar:(Int --> Bool)) { say 7⏏5$bar(42) }; sub xyzzy(Int $x) { ?$x }; f» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/v6Gn9PrnHeVariable '$bar' is not declared. Did you mean '$bar:'?at /tmp/v6Gn9PrnHe:1------> 3sub foo($bar:(Int --> Bool)) { say 7⏏5$bar(42) }; sub xyzzy(Int $x) { ?$x }; f» | ||
14:32
webcoke left
|
|||
[TuxCM] | Grrrrrrrr, panda builds under glr, but the master branch, not the glr branch. *confusing* | 14:34 | |
colomon | Cannot .elems a lazy list | 14:35 | |
hmmm | |||
YuviPanda | so any vague ideas when GLR will be merged into master? in the order of 'weeks' / 'months'? | ||
RabidGravy | hours/days | 14:36 | |
PerlJam | YuviPanda: if by "master" you mean "nom", [Coke] was going to do it yesterday I thought, so .... probably today sometime | ||
YuviPanda | aaaah | ||
ok :D | |||
what does rakudobrew build? | |||
a version based off nom? | 14:37 | ||
[TuxCM] | Slang::Tuxic pas on glr (skipping Inline::Perl5 for the moment) | ||
RabidGravy | which woould be cool as I may have 14 modules to remedy before I go on holiday | 14:38 | |
14:38
brrt left
|
|||
colomon | YuviPanda: builds nom by default, but to get glr you just say rakudobrew build moar glr | 14:38 | |
(this is true for any branch / tag / commit of rakudo) | 14:39 | ||
(not just glr) | |||
YuviPanda | ah nice | ||
lizmat | moving again& | 14:40 | |
14:40
lizmat left
|
|||
colomon | so… under GLR, why can’t I .elems a lazy list? | 14:41 | |
m: say (1..3).map(*+2).elems | 14:42 | ||
camelia | rakudo-moar e6f360: OUTPUT«3» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«3» | ||
moritz | mostly to guard against accidental reification | ||
m: say (1..*).map(*+2).elems | |||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list in block <unit> at /tmp/0mwsMzox59:1Actually thrown at: in block <unit> at /tmp/0mwsMzox59:1» | ||
moritz | nom hangs | 14:43 | |
camelia | rakudo-moar e6f360: OUTPUT«(timeout)» | ||
14:43
Possum joined
|
|||
moritz | colomon: fwiw this is only for most-likely-infinite lists | 14:43 | |
colomon | sure, if lazy means infinite | ||
hurm…. pre-glr, Math::Polynomial worked, ergo it didn’t hang. | 14:44 | ||
now it dies with Cannot .elems a lazy list | |||
m: say 1..5 Z+ 1 xx * | 14:48 | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)» | ||
camelia | rakudo-moar e6f360: OUTPUT«2 3 4 5 6» | ||
14:48
kjs_ left,
[TuxCM] left
|
|||
colomon | m: say 1..5, 0 xx * Z+ 1..20 | 14:48 | |
GLRelia | rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list in block <unit> at /tmp/voVi3GQojN:1Actually thrown at: in block <unit> at /tmp/voVi3GQojN:1» | ||
camelia | rakudo-moar e6f360: OUTPUT«2 4 6 8 10 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20» | ||
colomon | there, that’s the problem | 14:49 | |
m: say 1..5 Z+ 1 xx * | |||
camelia | rakudo-moar e6f360: OUTPUT«2 3 4 5 6» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)» | ||
colomon | m: say 1 xx * Z+ 1..5 | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)» | ||
camelia | rakudo-moar e6f360: OUTPUT«2 3 4 5 6» | ||
colomon | m: say 0, 1 xx * Z+ 1..5 | ||
camelia | rakudo-moar e6f360: OUTPUT«1 3 4 5 6» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list in block <unit> at /tmp/wdBgE8M1eF:1Actually thrown at: in block <unit> at /tmp/wdBgE8M1eF:1» | ||
14:51
inokenty left
14:52
rarara joined
14:53
kjs_ joined
14:54
andreoss joined
|
|||
andreoss | m: $_ for ^10**9 | 14:54 | |
camelia | rakudo-moar e6f360: OUTPUT«Memory allocation failed; could not allocate 10240 bytes» | ||
andreoss | hangs laptop for me | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(timeout)» | 14:55 | |
14:56
inokenty joined
15:04
kjs_ left
15:05
perl6_newbee joined
15:11
diana_olhovik left
15:12
khw left
|
|||
RabidGravy | boom | 15:13 | |
15:13
masak_venue joined
|
|||
masak_venue | m: subset A; subset B; multi foo(A, B) { say "AB" }; multi foo(B, A) { say "BA" }; foo(1, 1) | 15:14 | |
camelia | rakudo-moar e6f360: OUTPUT«AB» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«AB» | ||
masak_venue | S12 specifies that AB wins here, right? | 15:15 | |
TimToady | m: $_ for ^(10**9) | ||
15:15
leont joined
|
|||
camelia | rakudo-moar e6f360: OUTPUT«Memory allocation failed; could not allocate 10240 bytes» | 15:15 | |
masak_venue | I was reading design.perl6.org/S12.html#Multisub_Resolution but I couldn't find the phrase that says that AB wins instead of tieing. | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(timeout)» | ||
rarara | m: say (flat(0, (1 xx *))) Z+ 1..5 | ||
camelia | rakudo-moar e6f360: OUTPUT«1 3 4 5 6» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(1 3 4 5 6)» | ||
rarara | colomon: ^ | 15:16 | |
15:17
hahainternet joined
15:19
MilkmanDan left,
dha joined
15:21
larion left
|
|||
vendethiel | "in python, your parameter names are expose to the users. They're part of the public API". FWIW, I'm very glad we chose not to (or, rather, removed it pretty early, as I've read) :) | 15:23 | |
.oO( we should write a python import-sorter! ) |
15:24 | ||
^ I'm afraid that's not really doable in Perl6, "sadly" | |||
timotimo | huh? | 15:26 | |
15:26
MilkmanDan joined
|
|||
timotimo | parameter names *are* exposed to the user | 15:26 | |
nine | Aah..my slides are finally done :) | ||
15:27
araujo joined,
araujo left
|
|||
dha | nine - congratulations. | 15:28 | |
masak_venue | vendethiel: we removed it, but quite late in the game. I think it was around 2012. | 15:29 | |
nine | colomon: All you need to do to do .elems on a Seq is .list it | ||
masak_venue | vendethiel: I remember discussing it with jnthn in St Petersburg. | 15:30 | |
ShimmerFairy | m: sub foo(Int $a) { }; say &foo.signature; # and yet you still can, fwiw | 15:32 | |
camelia | rakudo-moar e6f360: OUTPUT«(Int $a)» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(Int $a)» | ||
RabidGravy | yeah | ||
vendethiel | timotimo: I'm talking about named args vs positional args. but yes | ||
15:33
leont left,
domidumont joined
15:35
bioexpress joined
15:36
bioexpress left
|
|||
timotimo | oh, you mean because you can pass all args as nameds in python or something like that? | 15:37 | |
vendethiel | timotimo: yes | 15:39 | |
timotimo | i forgot about that | ||
vendethiel | I think c# stole that from python, as well | ||
15:41
diakopter left
|
|||
japhb | m: ':16<f.8*:4[2]**:2[1,0,0]>/-:60[1,0]'.Numeric.perl.say | 15:42 | |
yoleaux | 07:55Z <nine> japhb: That sounds like some low hanging fruit indeed! | ||
camelia | rakudo-moar e6f360: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => ":16<f.8*:4[2]**:2[1,0,0]>/-:60[1,0]", pos => 26, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => ":16<f.8*:4[2]**:2[1,0,0]>/-:60[1,0]", pos => 26, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)» | ||
yoleaux | 07:59Z <nine> japhb: But someone must have come to the same conclusion, since in the glr branch there already is a multi method print(IO::Handle:D: str:D \x) { | ||
10:41Z <FROGGS> japhb: all tests pass now on my linux box... | |||
japhb | nine: Ah, gotcha. | 15:43 | |
FROGGS: Woot! | |||
m: ':16<f.8*:4[2]**:2[1,0,0]>/-:60[1,0]'.Numeric.perl.say # Should produce <-62/15> | 15:44 | ||
camelia | rakudo-moar e6f360: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => ":16<f.8*:4[2]**:2[1,0,0]>/-:60[1,0]", pos => 26, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => ":16<f.8*:4[2]**:2[1,0,0]>/-:60[1,0]", pos => 26, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)» | ||
japhb | ^^ ShimmerFairy, is that breakage related to your val() changes? | 15:45 | |
ShimmerFairy | japhb: not for now, but note that you're not allowed signed denominators _or_ fractional components in a / fraction :) | ||
(none of the errors I wrote start with "base-10 number...") | |||
japhb | ShimmerFairy: What makes you think that? | 15:46 | |
ShimmerFairy | japhb: S02 | ||
japhb | I'm guessing that's changed then, because I remember no such strictures. (And certainly it worked fine as of a year ago.) | 15:47 | |
ShimmerFairy | > Rational literals are indicated by separating two integer literals (in any radix) with a slash, and enclosing the whole in angles | ||
15:47
diakopter joined
|
|||
ShimmerFairy | and the "no negative denominators" can be seen in tests in roast, at least | 15:48 | |
japhb | The thing inside the :16<> is an integer. It's just parser pushing | ||
colomon | nine: that error is coming inside METAOP_ZIP | ||
japhb | Yes, roast I can see is incomplete. | ||
ShimmerFairy | japhb: no, I mean that there are tests explicitly against negative denoms in Rat literals :) | ||
15:49
CIAvash joined
|
|||
japhb | Who added them? (I certainly did not.) | 15:49 | |
ShimmerFairy | m: say <-1/2>.perl; say <1/-2>.perl | ||
camelia | rakudo-moar e6f360: OUTPUT«-0.5"1/-2"» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«-0.5"1/-2"» | ||
ShimmerFairy | TimToady, I believe | ||
masak_venue | vendethiel: sometimes I wish we had the named-args-to-positional-params mapping in Perl 6 too. but most of the time not. | ||
japhb | Oh, I see the problem ... you're thinking I put something with < > around the whole thing. I didn't. | 15:50 | |
vendethiel | masak_venue: I'm glad we have it... explicitly, really. | ||
I'm terrible at naming things, and like to only do it sparingly :P | |||
nine | colomon: what does the code triggering that looking like? | ||
japhb | m: '-62/15'.Numeric.perl.say | 15:51 | |
camelia | rakudo-moar e6f360: OUTPUT«<-62/15>» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«<-62/15>» | ||
ShimmerFairy | japhb: well, I took my cues writing val() from how integers are handled as literals in Perl6 :) | ||
m: say "62/-15".Numeric.perl | |||
japhb | ShimmerFairy: ^^ You don't need <...> to make a Rat. | ||
camelia | rakudo-moar e6f360: OUTPUT«<-62/15>» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«<-62/15>» | ||
TimToady | you can certainly rely on constant folding to move a negative from the denominator to the numerator, but by spec the sign belongs on the numerator in the representation | ||
ShimmerFairy | TimToady: that's what I saw in the <> tests and in the Rat.new implementation, so I went with it for val() :) | ||
15:52
kjs_ joined
|
|||
japhb | TimToady: I'm simply arguing that without a < ... > wrapping, Str.Numeric and constant-fold should produce the same result. | 15:52 | |
ShimmerFairy | (you'll also see in my code that I added a "please use EVAL" for :#() style radices, on the interest of not turning val() into a mini-P6 parser) | ||
japhb | ShimmerFairy: I guess my question is: Why re-implement Str.Numeric. It worked. Well. All that was missing was allomorphism. | ||
15:53
kjs_ left
|
|||
japhb spent quite a lot of time on it, actually | 15:53 | ||
ShimmerFairy | japhb: I moved the implementation of number parsing to val(), and in the process sought to make a less magical converter. I think there's a point where .Numeric can't do everything. | ||
japhb | You *stripped out functionality* | 15:54 | |
TimToady | the intent is that val() support :# as well | ||
ShimmerFairy | :16<f.8*:4[2]**:2[1,0,0]>/-:60[1,0] would fail in what I wrote, both because :#[] is NYI and because the function cautiously prohibits anything fractional in adverbial radices where / fractions are concerned. | ||
japhb | Right, but you NYI something that was *ALREADY IMPLEMENTED* | ||
ShimmerFairy | and :#<num*num**num> produces a Num, which is not allowed for Rat literals. | ||
TimToady | sorry, a bit distracted by lightening talks at the moment :) | 15:55 | |
ShimmerFairy | japhb: well, :#[] was NYI in yours too, and fractional radices nor signed denoms are spec'd as valid for Rat literals (and I based val() on "find valid numeric literals", not "magically EVAL into a number") | 15:56 | |
japhb | I fully admit I have a vested interest in this code, so that makes me a bit more emotional, but my point is: Refactoring does not mean "strip out the things that seem too magical". Don't NYI something that *is* I, without asking why. | ||
ShimmerFairy | (also, I will point out that my work has been temporarily unmerged, so camelia won't be showing the results of my work) | ||
japhb: I just went by what the specs and tests told me. Don't blame me for trying my best in that regard. | 15:57 | ||
japhb | I understand. I'm sorry if I seem frustrated. My apologies there. | ||
hoelzro | .tell lizmat I think that abort() is from libuv; why, I don't know, but at least I can reproduce it on OpenBSD | 15:58 | |
yoleaux | hoelzro: I'll pass your message to lizmat. | ||
japhb | I'm trying to say: There was nothing to implement there other than 1) what was in the TODO block at the top, and 2) allomorphism, which I couldn't get to work at the time. Why do a from-scratch re-impl? | ||
skids | ShimmerFairy: If I read TimToady's comment correctly the idea with neg denoms is supposed to be "allow them on input, but never output them that way" | ||
ShimmerFairy | japhb: And the reason why I didn't simply copy over your implementation is because it seemed huge and confusing, and I wanted to spend my time writing code instead of trying to interpret it. This doesn't mean much though, when you consider my implementation is similarly huge and unwieldy :P . | ||
(it really should be implemented as a grammar/actions kind of thing, but I don't know how much slower that would be) | 15:59 | ||
japhb | It's because the problem space is more complex than it seems. :-) | ||
grondilu | Hello. If I define infix:<*> for my class, shouldn't there a default consistant infix:<**>? | 16:00 | |
japhb | It would be *much* slower. I hand-tuned that code (at least for the backends that existed at the time), and grammars didn't come close, IIRC. | ||
PerlJam | skids: Aye, see S02:856 | ||
synbot6 | Link: design.perl6.org/S02.html#line_856 | ||
ShimmerFairy | also, I ended up coding a poor-man's version of regex's :: in the process, so that was cool :P | 16:01 | |
japhb | Str.Numeric is a difficult but very hot function for a large class of glue and data analysis programs, so it deserves special care. | ||
heh | |||
16:02
kjs_ joined
|
|||
ShimmerFairy | japhb: considering the increase in startup and that one sorting test that blew up in time taken (I think I know why, it involves a bunch of <>s in an AT-POS somewhere), I'd have to concur :) | 16:02 | |
japhb | :-) | 16:03 | |
ShimmerFairy | japhb: I'd still like to try a version that runs on grammars, or hooks into the slang, and see the difference. Maybe even having val() be a compile-time function wherever possible could speed things up | ||
grondilu guesses he must implement the Numeric role or something | |||
16:03
raiph left,
kjs_ left,
raiph joined
16:04
skids left
|
|||
japhb | ShimmerFairy: I'm all for doing that comparison against modern moarvm; it seems likely that the tuning I went for could be done better, and the grammar engine is probably way more efficient than it was then. | 16:04 | |
masak_venue | grondilu: shouldn't there be a default consistent infix:<**>? no, I don't believe there should be. | ||
TimToady | well, the grammar engine is still a lot slower than it should be | ||
TimToady has at least 3 optimizations in mind | |||
ShimmerFairy | japhb: I'd definitely appreciate an implementation that didn't recreate a recursive descent parser :P (though doing it gives me hope that writing a PEG-doing thing in elisp won't be hard for me, when I want to focus more on writing a p6 major mode) | 16:05 | |
TimToady | ovid keynoting now... | 16:06 | |
japhb | TimToady: How big an effect do you think those will have? | ||
TimToady | dunno | 16:07 | |
ShimmerFairy | .oO(How would you choose which optimization to try first? Longest Timespan Minimizer?) |
||
RabidGravy | or you could take stuff out until it can't parse perl anymore and then put the last bit back. | 16:08 | |
japhb | RabidGravy: *snrk* | 16:09 | |
16:12
raiph left
16:13
raiph joined
16:19
dwarring left
|
|||
ShimmerFairy | japhb: I do want to apologize for just replacing your existing code like that. I admit I wanted to write such a parser more than I wanted to understand the existing code :3 (and considering you wrote the original Str.Numeric, I'm sure you know why I liked the idea of writing it ☺) | 16:19 | |
masak_venue | Ovid++ | 16:22 | |
16:26
hernanGOA left
16:29
dha left
|
|||
ShimmerFairy | g'night, #perl6 o/ I'll think more on val()-related stuff tomorrow :) | 16:30 | |
RabidGravy | Ovid++ # dunno why, but he's alright anyway | 16:31 | |
16:31
larion joined
16:34
raiph left
|
|||
hoelzro | night ShimmerFairy | 16:34 | |
16:35
raiph joined
16:36
hernanGOA joined
16:38
andreoss` joined
16:39
andreoss left
16:40
kjs_ joined
|
|||
japhb | ShimmerFairy: I do understand, and thank you. :-) | 16:42 | |
Oh, I guess since he went to bed ... | 16:43 | ||
16:43
n0tjack joined
|
|||
japhb | .tell ShimmerFairy I do understand, and thank you. :-) | 16:43 | |
yoleaux | japhb: I'll pass your message to ShimmerFairy. | ||
japhb | *she | ||
PerlJam | s/she/fae/ ;) | ||
16:44
cognominal joined
|
|||
RabidGravy | they | 16:44 | |
dalek | ast: 4747cd4 | usev6++ | S06-traits/is-copy.t: Add test for RT #122220 |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=122220 | ||
RabidGravy | simplifies | ||
japhb | PerlJam: Is that a joke, or her actual prefered pronoun? | ||
PerlJam | totally a joke. | ||
japhb | Ah, OK | ||
muraiki | haha | ||
japhb has always been bad with names, and is apparently now bad with pronouns too ... | 16:45 | ||
RabidGravy | this is why I just call everyone sweety and ignore the gender issue | 16:46 | |
japhb winces | |||
PerlJam | RabidGravy: ah ... a taste-based nouning. :) | 16:47 | |
16:47
andreoss` left
|
|||
PerlJam | er, pronouning | 16:47 | |
muraiki | I guess RabidGravy would have to go by "savory" then | 16:48 | |
RabidGravy | oi usually works ;-) | 16:49 | |
PerlJam | masak_venue: sometime tell us what Ovid did or said to earn your approval. (or was it just that he was there?) | ||
16:54
diana_olhovik_ joined
|
|||
RabidGravy | it was a blog post by Ovid that made me jump back in to perl 6, so maybe that should be negative karma ;-) | 16:58 | |
16:59
kjs_ left
|
|||
masak_venue | PerlJam: he said a lot of sage things about Perl, Perl 5 and Perl 6. | 17:00 | |
PerlJam: I can probably summarize better later. :) | |||
17:00
masak_venue left
17:06
espadrine_ is now known as espadrine
|
|||
dalek | rl6-roast-data: 0344f33 | coke++ | / (10 files): today (automated commit) |
17:07 | |
[Coke] | Boy, after two days back at $dayjob, I miss hanging out with everyone at the SPW. :| | 17:10 | |
jdv79 | [Coke]: how cold is the fusion today? | 17:11 | |
colomon | [Coke]: didn’t take two days for me. :) | 17:12 | |
[Coke] | colomon: today is just particularly bad. | 17:13 | |
colomon | ah | ||
17:13
cognominal left,
cognominal joined
17:14
rarara left,
pat_js left
17:15
virtualsue joined
17:18
araujo joined,
araujo left,
araujo joined,
araujo left
17:20
[Sno] left
17:21
araujo joined,
[Sno] joined
17:22
araujo left
17:26
diana_olhovik joined
17:27
diana_olhovik_ left
|
|||
n0tjack | r: say [1..10]; | 17:32 | |
GLRelia | rakudo-moar a6bb0b: OUTPUT«[1 2 3 4 5 6 7 8 9 10]» | ||
..rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory» | |||
camelia | rakudo-{moar,jvm} e6f360: OUTPUT«1 2 3 4 5 6 7 8 9 10» | ||
17:34
virtualsue left
|
|||
[Coke] sighs, and heads back to the meeting. | 17:37 | ||
17:37
skids joined
|
|||
hoelzro | .tell pmurias I've been trying to merge the js branch with master; is there code that is specific to how the MoarVM serialization process works? | 17:43 | |
yoleaux | hoelzro: I'll pass your message to pmurias. | ||
17:46
mohij joined,
diana_olhovik_ joined
|
|||
japhb | [Coke]: I'm somewhat surprised that you haven't just created an nqp-coldfusion and been done with it. ;-) | 17:47 | |
17:47
diana_olhovik left
|
|||
mohij | What's the reason for merging glr back to nom if nom will be the legacy branch and glr the new master? | 17:48 | |
japhb | mohij: I think whatever the names are, people are generally trying to say "make glr the default branch", whether that be by merging it into nom, by setting it default, by renaming it master and setting *that* to be the default again, whatever. | 17:49 | |
RabidGravy | m: role F { }; sub (:$foo) { } does F ; # why does this work ? | 17:50 | |
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
japhb | The overall point is just "Can we please be running glr as the default soon?" because we only have a couple weeks until the next scheduled release. And it's a big one. | ||
17:50
rangerprice joined
|
|||
RabidGravy | m: role F { }; sub (:$foo) does F { }; # whereas this doesn't ? | 17:51 | |
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/meutR6Y_sECannot call trait_mod:<does>(Sub, F); none of these signatures match: (Mu:U $doee, Mu:U $role) (Variable:D $v, Mu:U $role)at /tmp/meutR6Y_sE:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bnXxNi7ecUCannot call trait_mod:<does>(Sub, F); none of these signatures match: (Mu:U $doee, Mu:U $role) (Variable:D $v, Mu:U $role)at /tmp/bnXxNi7ecU:1» | ||
japhb | (Due to previous declaration that initial spec will be slushy-frozen this month.) | ||
colomon | Is Phaser::ATEXIT in any way useful today? | ||
17:51
diana_olhovik___ joined
17:52
diana_olhovik_ left
|
|||
colomon has gotten three of his previously failing modules to work under GLR. two of them were dead easy. | 17:53 | ||
RabidGravy | well glr and nom need to be merged to somewhere as there are changes in both | ||
colomon | the biggest issue I’m seeing so far is the switch from done to done-testing. | 17:55 | |
17:58
xiaomiao left
18:02
xiaomiao joined
18:03
lizmat joined
|
|||
dalek | ast: 6e925d7 | usev6++ | S14-roles/parameterized-mixin.t: Add test for RT #123511 |
18:04 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=123511 | ||
18:08
diana_olhovik_ joined,
FROGGS_ is now known as FROGGS,
sufrostico left,
diana_olhovik___ left
|
|||
FROGGS | japhb: btw, the C++ stuff works so war on linux/gcc and windows/msvc | 18:09 | |
s/gcc/g++/ | |||
18:11
rangerprice left
18:12
diana_olhovik___ joined
18:13
diana_olhovik_ left
|
|||
n0tjack | I saw the async test-runner linked from the p6 news blog (bit.ly/1JBMLvV) | 18:13 | |
is there any syntactic sugar that to create non-reentrant procs like maybe-run-tests() there? | 18:14 | ||
rather than doing it manually with a global flag? | |||
18:17
araujo joined
18:18
perl6_newbee left
|
|||
dalek | kudo/cpp3: 87da75e | FROGGS++ | t/04-nativecall/1 (2 files): skip test file when we cannot compile C++ |
18:19 | |
18:19
diana_olhovik___ left
|
|||
_itz | 18:20 | ||
18:21
dwarring joined
18:22
skids left
|
|||
muraiki | 18:22 | ||
18:22
espadrine left,
diana_olhovik_ joined
|
|||
FROGGS .oO( This page was intentionally left blank ) | 18:23 | ||
_itz | trying ssh client from phone sorry | 18:24 | |
YuviPanda | my client won't let me send a blank line | ||
TimToady | ShimmerFairy: I am in favor of +"" returning 0 because "0" is actually a special case: the only number we require a leading 0 on | 18:27 | |
n0tjack | p6: say +""; | ||
camelia | rakudo-moar e6f360: OUTPUT«0» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«0» | ||
TimToady | so arguably the correct representation of 0 is actually "" :) | 18:28 | |
FROGGS | japhb: cpp3 also works on my 32bit linux, though that has the same g++ version as my dev machine... 4.8.4 | 18:31 | |
japhb: os / g++ version do you have access to? | 18:32 | ||
18:32
hernanGOA left
|
|||
TimToady | m: sub num2str ($num is copy) { my $str = ""; while $num { $str = $num % 10 ~ $str; $num div= 10 }; $str }; say "<{num2str(42)}> <{num2str(0)}>" | 18:33 | |
camelia | rakudo-moar e6f360: OUTPUT«<42> <>» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«<42> <>» | ||
18:33
CIAvash left
18:35
diana_olhovik_ left
|
|||
japhb | FROGGS: gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 | 18:37 | |
FROGGS | ahh, same as mine then | ||
18:37
sjn_phone_ joined
|
|||
japhb goes to pick up lunch before meeting | 18:38 | ||
18:39
yqt joined
|
|||
TimToady | ShimmerFairy: the code above demonstrates why I think "" is a reasonable degenerate case, and we try to get the degenerate cases right in Perl 6 | 18:41 | |
moritz | m: my @n = "*"; @n[1..2] = "*@*".split("*") | 18:42 | |
camelia | ( no output ) | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/CGi12jt6cW:1» | ||
moritz | GLR bug, I think | ||
m: my @n = "*"; @n[1..2] = <a b>.sort | |||
camelia | ( no output ) | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/b0JNaSJFCe:1» | ||
moritz | m: my @n = "*"; @n[1, 2] = <a b>.sort | ||
camelia | ( no output ) | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/96SIbgG5UU:1» | ||
18:43
larion left
|
|||
moritz | m: my @n = "*"; @n[1, 2] = <a b>t | 18:43 | |
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/y2btxm0WKXTwo terms in a rowat /tmp/y2btxm0WKX:1------> 3my @n = "*"; @n[1, 2] = <a b>7⏏5t expecting any of: infix infix stopper statement end statem…» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mVT0ipOB_8Two terms in a rowat /tmp/mVT0ipOB_8:1------> 3my @n = "*"; @n[1, 2] = <a b>7⏏5t expecting any of: infix infix stopper statement end statem…» | ||
moritz | m: my @n = "*"; @n[1, 2] = <a b> | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
moritz | m: my @n = "*"; @n[1, 2] = <a b>.sort | ||
camelia | ( no output ) | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/Y43rv70jju:1» | ||
moritz | m: my @n = "*"; @n[1..2] = <a b> | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
18:47
sjn_phone_ left
|
|||
moritz | m: my @n; @n[0, 1] = <a b>.sort | 18:47 | |
camelia | ( no output ) | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/2Hdo58uGHA:1» | ||
18:47
st_iron joined
|
|||
st_iron | hello | 18:47 | |
moritz | hi st_iron | 18:48 | |
dalek | ast/glr: c6b955c | moritz++ | S32-list/seq.t: Add failing test for a GLR regression assignment of a Seq to an array slice dies with "This Seq has already been iterated" |
18:49 | |
st_iron | I just realized that it is the time to really start playing with perl6 until Christmas | 18:51 | |
tadzik | it is :) | ||
then you still get your chance at finding something that really needs fixing before christmas comes | 18:52 | ||
18:52
sufrostico joined,
sufrostico left
|
|||
st_iron | absolutely | 18:53 | |
lizmat | dinner& | 18:54 | |
yoleaux | 15:58Z <hoelzro> lizmat: I think that abort() is from libuv; why, I don't know, but at least I can reproduce it on OpenBSD | ||
18:54
lizmat left
|
|||
hoelzro | (on that note, I discovered that it's because libuv is allocating too many file handles for use with kqueue) | 18:55 | |
will continue researching after (work&meetup) | |||
18:57
DavidIAm joined
|
|||
DavidIAm | I don't suppose there is any facility like Maybe/Option planned/existant in perl 6 so that you can telll the diff between a value that is undef and a value that is not set at all? I was disappointed to see Perl with only 1 star in www.lucidchart.com/techblog/2015/0...r-science/ | 18:58 | |
tadzik | hoelzro: I'll have another patch to linenoise! | ||
for M-d | |||
hoelzro | tadzik++ | 19:00 | |
19:08
dha joined
19:13
raiph left,
raiph joined
|
|||
muraiki | DavidIAm: I'm also a fan of Maybe/Option. in p6 you can at least specify that an argument must be defined (or even undefined) in addition to its type | 19:15 | |
that doesn't get us around everything, but it helps prevent some errors | 19:16 | ||
DavidIAm | yeah, I can see that. | ||
arnsholt | m: class A {}; multi foo(A:D $) { say "defined" }; multi foo(A:U $) { say "undef" }; foo(A); foo(A.new) # DavidIAm | ||
camelia | rakudo-moar e6f360: OUTPUT«undefdefined» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«undefdefined» | ||
arnsholt | The A:D form requires the parameter to be defined (so a "Just a" in Haskell terms), while A:U requires undefined | 19:17 | |
muraiki | arnsholt: do we have anything approaching do notation in p6? even if we don't, I don't see why it wouldn't be feasible, but then again I don't know mcuh about p6 guts | 19:18 | |
19:18
telex left,
domidumont left
|
|||
arnsholt | Do notation doesn't really make sense in Perl 6, since every statement sort of is in the IO monad anyways | 19:19 | |
DavidIAm | so you're saying if I'm groking it that you can, per class, create a multi variant that is typed to catch the call when the parameter passed is undefined undesirably. | ||
RabidGravy | yes | 19:20 | |
DavidIAm | Or require that it be passed. But that doesn't really function from the opposite end | ||
when you're holdin gsomething that you want to operate on that might not be defined? | |||
19:20
telex joined
|
|||
muraiki | m: class A {}; sub foo(A:D $) { say "lol" }; foo(A); | 19:20 | |
camelia | rakudo-moar e6f360: OUTPUT«Parameter '<anon>' requires an instance of type A, but a type object was passed. Did you forget a .new? in sub foo at /tmp/6V20leLA2Q:1 in block <unit> at /tmp/6V20leLA2Q:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Parameter '<anon>' requires an instance of type A, but a type object was passed. Did you forget a .new? in sub foo at /tmp/0C9x6_eBXA:1 in block <unit> at /tmp/0C9x6_eBXA:1» | ||
arnsholt | Basically, what muraiki showed. If you have an "only" sub (that is, non-multi) it'll cause an exception if you pass the wrong thing | 19:21 | |
DavidIAm | I suppose you could create a function with which to operate on the value you are holding safely. | ||
19:21
frobisher joined
|
|||
muraiki | man, that's a really nice error message | 19:21 | |
m: class A {}; sub foo(A:D $) { say "lol" }; foo(); | 19:22 | ||
camelia | rakudo-moar e6f360: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub foo at /tmp/PHpSgbdQhw:1 in block <unit> at /tmp/PHpSgbdQhw:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub foo at /tmp/ICjLqySFik:1 in block <unit> at /tmp/ICjLqySFik:1» | ||
muraiki | hrm, that's not really what I wanted. well, you get the point | ||
19:22
dha left
|
|||
DavidIAm | I doubt I need to go into why creating another function (or pair of) seems tedious if you have to do it particularly often. | 19:23 | |
19:23
khw joined
|
|||
ugexe | m: my $x; multi sub foo($y where *.defined) { say "defined"; }; multi sub foo($y where *.defined.not) { say "not defined"; }; foo($x); $x = 1; foo($x) | 19:24 | |
camelia | rakudo-moar e6f360: OUTPUT«not defineddefined» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«not defineddefined» | ||
muraiki | DavidIAm: I think part of the reason things work this way is for the sake of accommodating the meta-object protocol (might be using the wrong term here) | 19:25 | |
DavidIAm | that dual evaluation tool is super cool. | ||
muraiki | where's that presentation... | 19:26 | |
jnthn.net/papers/2015-fosdem-static-dynamic.pdf | |||
I came to perl6 being a bit more of a fan of strong typing, which is where you tend to see things like option/maybe | |||
ugexe | or something like multi sub foo($y where *.defined.not, |c) { $y = 1; nextwith($y,|c) } | 19:27 | |
muraiki | that talk made me undersatnd what not having that isn't necessarily a horrible thing, and why p6 went this route | ||
at the very least its' more safety than clojure will give you ;) | |||
DavidIAm | relative improvements are certainly not nothing. | ||
bartolin | m: my $x; my @a = 1,2; $x = Array.new(@a) => 'x'; @a.pop(); say $x; # is that change with glr known/wanted | ||
camelia | rakudo-moar e6f360: OUTPUT«1 => x» | 19:28 | |
GLRelia | rakudo-moar a6bb0b: OUTPUT«[1 2] => x» | ||
bartolin | m: my $x; my @a = 1,2; $x = @a => 'x'; @a.pop(); say $x; | ||
camelia | rakudo-moar e6f360: OUTPUT«1 => x» | 19:29 | |
GLRelia | rakudo-moar a6bb0b: OUTPUT«[1] => x» | ||
DavidIAm | have there been any presentation decks that have to do with the discussion of nothings within perl 6? | 19:30 | |
moritz | Mu | ||
muraiki | I think he means undef, not Mu :) | 19:31 | |
moritz | muraiki: Mostly Undef, then :-) | ||
muraiki | from the tiny bit of the tutorial I did, it seems like Rust does a good job of using Option/Maybe throughout without pulling you into monad land | ||
I think if I need to write some "do a bunch of things that could fail, aborting if one fails" code I'll use promise combinators of some sort. | 19:33 | ||
moritz | muraiki: or use die() | 19:35 | |
try it. It's awesome. | |||
muraiki | well, without terminating the whole thing :) | ||
RabidGravy | :) | ||
DavidIAm | is there a 'promise failure' direction? "this promise will never be fulfilled" sort of thing to do? | 19:36 | |
moritz | you can have try { } blocks to limit its scope | ||
muraiki | well yeah | ||
moritz | you can also use a subroutine, and return or fail at various points | ||
which also naturally limits the scope of the failure | |||
DavidIAm | m: my $x; $x.stupendousmethod() | ||
camelia | rakudo-moar e6f360: OUTPUT«Method 'stupendousmethod' not found for invocant of class 'Any' in block <unit> at /tmp/IlnFyVPkbN:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Method 'stupendousmethod' not found for invocant of class 'Any' in block <unit> at /tmp/JPhKjkrGLT:1» | ||
DavidIAm | hmm. | ||
moritz | DavidIAm: if you break a promise, it'll never be fulfilled | ||
muraiki | to give additional context to what I'm talking about, I'm normally wanting to do a bunch of things concurrently and collect any errors, of whihc there may be more than one | 19:37 | |
DavidIAm | moritz - so like, promise.break() or such? | ||
muraiki | and that's one of the big pain points p6 solves for me, since our entire code base is in p5 and talking between the two is so nice | ||
moritz | DavidIAm: correct | ||
DavidIAm: doc.perl6.org/type/Promise | |||
ugexe | use a supply block, emit any errors, and close the supply if any errors tickle your fancy enough to want to stop proceeding | 19:38 | |
muraiki | ugexe: yeah, I love supplies. that's actually what got our first p6 code into almost-production (product not yet launched) because supplies made it so easy | 19:39 | |
DavidIAm | so you might end up with my $x; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()) } catch { $prom.break("No can do") } | ||
m: my $x; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()) } catch { $prom.break("No can do") } } | 19:40 | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ytmM04axmoStrange text after block (missing semicolon or comma?)at /tmp/ytmM04axmo:1------> 3try { $prom.keep($x.dereferencethis()) }7⏏5 catch { $prom.break("No can do") } } expecting any o…» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_4JmpwakwvStrange text after block (missing semicolon or comma?)at /tmp/_4Jmpwakwv:1------> 3try { $prom.keep($x.dereferencethis()) }7⏏5 catch { $prom.break("No can do") } } expecting any o…» | ||
DavidIAm | heh. | ||
DavidIAm mumbles while looking up try/catch. | 19:42 | ||
ugexe | its not going to work with a non-existent method either | ||
muraiki | DavidIAm: this has a good intro to promises in p6: jnthn.net/papers/2013-npw-conc.pdf | ||
ugexe | oh duh, thats the point! | 19:43 | |
DavidIAm | :D | ||
19:44
st_iron left
|
|||
DavidIAm | m: my $x; sub breakable ($prom, $x) { $prom.keep($x.dereferencethis()); CATCH { $prom.break("No can do") } } | 19:44 | |
GLRelia | ( no output ) | ||
camelia | ( no output ) | ||
DavidIAm | there's obviously something I don't get there. Huh. | ||
make the promise be a promise maybe will help. | 19:45 | ||
ugexe | you have to call the sub | 19:46 | |
say breakable(Promise.new, ::('asdf')).perl or some such | 19:48 | ||
DavidIAm | ah, yes. of course. | 19:49 | |
dalek | c: d227b15 | (David H. Adler)++ | lib/Type/IO/Spec/ (4 files): Added TODO comments to the pod files in lib/Type/IO/Spec to be in line |
19:50 | |
muraiki | hrm yeah, I'm having trouble figuring out the right way to catch the failure when calling a non-existent method | 19:51 | |
m: class A {}; my $x = A.new; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()) }; CATCH { default { $prom.break("No can do") } } }; my $p = Promise.new(); breakable($p, $x); say $p.status | |||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Planned» | ||
camelia | rakudo-moar e6f360: OUTPUT«Planned» | ||
ugexe | m: class A {}; my $x = A.new; say $x.?blargh() | 19:52 | |
camelia | rakudo-moar e6f360: OUTPUT«Nil» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Nil» | ||
DavidIAm | Nil? That's a new one on me. | ||
moritz | muraiki: the CATCH block must be inside the try { } block | ||
muraiki | whoops, thanks mortiz | ||
moritz* | |||
m: 'class A {}; my $x = A.new; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()); CATCH { default { $prom.break("No can do") } } } }; my $p = Promise.new(); breakable($p, $x); say $p.status | 19:53 | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jYYWD5rX4iUnable to parse expression in single quotes; couldn't find final "'" at /tmp/jYYWD5rX4i:1------> 3.new(); breakable($p, $x); say $p.status7⏏5<EOL> expecting any of: sing…» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q_elZu__3SUnable to parse expression in single quotes; couldn't find final "'" at /tmp/Q_elZu__3S:1------> 3.new(); breakable($p, $x); say $p.status7⏏5<EOL> expecting any of: sing…» | ||
muraiki | yay failure to copy correct | ||
maybe I should do this in a text editor instead of via perl6 - e | |||
class A {}; my $x = A.new; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()); CATCH { default { $prom.break("No can do") } } } }; my $p = Promise.new(); breakable($p, $x); say $p.status | |||
ok I give up. I am just spamming the channel now. but you get the point, DavidIAm | |||
DavidIAm | I'm working on understanding. | 19:54 | |
oh, there IS a try block. okay. | |||
what's the default block? | |||
muraiki | yeah the exceptions page doesn't actually explain the try block :( | ||
RabidGravy | dha, cheers I actually thought I did that but clearly not | ||
moritz | m: sub breakable($p, $x) { try { $p.keep($x.nope); UNDO { $p.break("OH NOEZ" } } }; breakable( my $p = Promise.new, (class :: { }).new ); say $p.status | 19:55 | |
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qo4ps0ebMYUnable to parse expression in argument list; couldn't find final ')' at /tmp/qo4ps0ebMY:1------> 3eep($x.nope); UNDO { $p.break("OH NOEZ" 7⏏5} } }; breakable( my $p = Promise.new, (» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/H6U9aNwP_7Unable to parse expression in argument list; couldn't find final ')' at /tmp/H6U9aNwP_7:1------> 3eep($x.nope); UNDO { $p.break("OH NOEZ" 7⏏5} } }; breakable( my $p = Promise.new, (» | ||
muraiki | DavidIAm: you can match on the exception type, such as CATCH { when X::FooException { ... } } | ||
moritz | m: sub breakable($p, $x) { try { $p.keep($x.nope); UNDO { $p.break("OH NOEZ") } } }; breakable( my $p = Promise.new, (class :: { }).new ); say $p.status | ||
camelia | rakudo-moar e6f360: OUTPUT«Broken» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Broken» | ||
DavidIAm | so 'default' is a parallel level with 'when' for a switch type statement sequence | ||
muraiki | DavidIAm: if you dno't provide a default, the then exception propagates | ||
DavidIAm | or ist hat part of a CATCH block definition | 19:56 | |
moritz | DavidIAm: inside the CATCH block you can have 'when' blocks to match against the exception, or a 'default' block that runs for every exception that isn't matched | ||
DavidIAm | Ahhhhhhhhhhhh! | ||
moritz | DavidIAm: and if none of the blocks match, the exception is rethrown | ||
DavidIAm | I think that sounds clever. | ||
no need for manual rethrowing. guut. | |||
moritz | and try { } is like having a CATCH { default { } } inside a block | ||
so, a catch-all | 19:57 | ||
DavidIAm | without hte try the scope is the full app? | ||
moritz | no, the outer scope of the CATCH block | ||
if 42 { CATCH {... }; only here }; not here | |||
DavidIAm | UNDO? hm. | 19:58 | |
Oh, alright moritz, note.d | |||
moritz | UNDO runs on unsuccessful scope exit | ||
muraiki | nice | ||
moritz | m: sub breakable($p, $x) { try { $p.keep($x.nope); CATCH { default {$p.break("OH NOEZ") } } } }; breakable( my $p = Promise.new, (class :: { }).new ); say $p.status | ||
camelia | rakudo-moar e6f360: OUTPUT«Broken» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Broken» | ||
moritz | since there's a CATCH block in here, the 'try' is redundant | 19:59 | |
m: sub breakable($p, $x) { $p.keep($x.nope); CATCH { default {$p.break("OH NOEZ") } } }; breakable( my $p = Promise.new, (class :: { }).new ); say $p.status | |||
camelia | rakudo-moar e6f360: OUTPUT«Broken» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Broken» | ||
DavidIAm | Unable to parse expression in argument list; couldn't find final ')' <-- can't quite get that. | ||
RabidGravy | moritz, I actually like the redundant try when you want to introduce a scope anyway :) | 20:00 | |
moritz | DavidIAm: nopaste the code somewhere, I can take a look | ||
frobisher | documentation opinions. There are some TODOs in the docs that read "=begin comment\n\nTODO blah\n\n=end comment" Should those just be turned into "=comment TODO blah"? | ||
20:00
frobisher is now known as dha
|
|||
DavidIAm | moritz - no worries, thanks though. learning curve. | 20:01 | |
moritz | depends on the size of the "blah" | 20:02 | |
if it's short, one line is fine; if it's a paragraph, several lines | |||
dha | right. e.g. "TODO: publish_method_cache" | ||
I'm on the fence about "TODO: submethod_table, declares_method, lookup, cache, cache_get, cache_add" | 20:03 | ||
DavidIAm | with a negative test passing I try to get a positive test to pass | ||
to define a class WITH a nope method. is class Z { sub nope { 1 } } inadequate? | |||
dha | Hm. or... maybe those should be turned into headings and then given TODO comments. | ||
muraiki | DavidIAm: use "method nope" | 20:04 | |
DavidIAm | Just so! Thank you muraiki | ||
RabidGravy | dha, that looks like it could be made into a stub =head2 ....\n\n=comment TODO buut I guess not all like that | ||
dha | Right. | 20:05 | |
DavidIAm | That's rather a noisty promisy way to handle a possibly undefined reference though. Not nearly the .? though entirely customizable. | ||
moritz | RabidGravy: the docs should be readable to the user | ||
dha | so... s/could/should/ ? :-) | ||
moritz | RabidGravy: and I don't find empty headings very readable | ||
dha | moritz - Hm. I guess I disagree. But not strongly enough to argue the point. Would you rather they were just made into one or more TODOs? | 20:06 | |
oh, here's one that has =begin comment, etc, but *also* hashes at the beginning of the comment lines. I *think* that may be overkill. | 20:07 | ||
moritz - FWIW, I note that there are currently many empty headings. | 20:08 | ||
moritz | dha: what would you feel if you bought a book where many of headings didn't have any text below it? | ||
I don't see why we should apply a lower standard in our docs | |||
dha: I know; I don't like that. | 20:09 | ||
dha | I would feel it was incomplete. But that's a fact of life with the docs at this point. | ||
An empty heading indicates that something is there, if not actually fleshed out yet. | |||
RabidGravy | right, but a this is being released dynamically and there is no other way of people finding the presence of those things | 20:10 | |
dha | (note: I'm trying to discuss, rather than argue. Not sure if that's coming across in text, though) | ||
What RabidGravy said. | |||
20:10
darutoko left
|
|||
dha | Thanks. That says what I was trying to say better than I did. | 20:10 | |
moritz | wel, if I search for something via google, and find a headline that matches what I search, and then there's nothing there... | ||
then I'd rather not find that document in the first place | |||
YMMV :-) | 20:11 | ||
dha | Hm. are many people searching for P6 docs on google? | ||
And, even if people are doing that, what about the people who are reading the docs at, e.g. doc.perl6.org? | |||
moritz | there's significant traffic from google, yes | 20:12 | |
muraiki | I search for docs via google | ||
muraiki is one data point | |||
moritz | (last I looked into the stats) | ||
RabidGravy | as a programmer I tend to go what can I do with this thing, so knowing that there is a method helps | ||
dha | muraiki - in which direction? | ||
RabidGravy | plus obviously this isn't the desired end state | ||
I would say it would be bad if it was still like that after we hit 6.0.0 | 20:13 | ||
20:13
colomon left
|
|||
RabidGravy just looks in the source :-\ | 20:14 | ||
20:14
kaare_ left
|
|||
dha | Is 6.0.0 what's coming out for christmas? If so, although I don't *wish* to be negative, I'm not convinced that the docs will be anywhere near finished by then. | 20:14 | |
In which case, maybe it would be better to hide undocumented things. But I'm unsure about this. :-/ | 20:15 | ||
moritz | www.p6c.org/stats/doc.perl6.org # seems the number of visitors from google is declining | 20:16 | |
RabidGravy | weird, I'd have thought it would be the other way | ||
dha | wow, yeah. | ||
RabidGravy | but maybe people find them once and just bookmark | 20:17 | |
muraiki points at Sep/2015 3: there's me! | |||
yeah, that's interesting | |||
dha | All right. I guess I'll leave things as is for now. But I'm taking the '#'s out of the comment block. that's just silly. | 20:20 | |
:-) | |||
As a side note, if we *do* come to a conclusion (if that's even feasible... :-) that empty headings should be hidden by December, we will need to actually do that. | 20:21 | ||
20:21
blackcat_ left
|
|||
moritz | until then, folks who write stuff decide on a case-by-case base | 20:22 | |
thou | ugexe: Thanks for all your help the other day, sorry if I came off like a jerk. | 20:23 | |
dalek | c: 829ef12 | (David H. Adler)++ | lib/Type/Metamodel/PrivateMethodContainer.pod: Cleaned up TODO comment in |
||
dha | moritz - indeed, that is true. I happen to find that a bit of a problem, but I have no viable solution. *shrug* | ||
...and now I come across a "=for comment". *sigh* | 20:25 | ||
Unless anyone has an objection, I'm going to change that to a =begin/=end | 20:26 | ||
DavidIAm | its a comment that shouldn't be int he POD output? | 20:28 | |
RabidGravy | I find myself type =for comment | 20:29 | |
20:29
xfix left
|
|||
RabidGravy | DavidIAm, that syntax is P5 pod | 20:29 | |
20:30
colomon joined
|
|||
dha | RabidGravy - well, it's apparently inconsistent with most of the comments in the docs. | 20:30 | |
DavidIAm | rabid - I know, I read about it in... perl 5 pod documentation. | ||
RabidGravy: is this change in perl6 then, format purpose is not a thing in pod any more? | |||
RabidGravy | not sure it even parses in P6 | ||
20:30
SamuraiJack left
|
|||
RabidGravy | it's =begin ,.. =end now | 20:31 | |
20:31
rindolf left
|
|||
RabidGravy | so =begin pod ... =end pod | 20:31 | |
dha | actually, perl6 --doc doesn't spit up on =for comment | 20:32 | |
RabidGravy | fair enough | 20:33 | |
dha | But I'm changing it. HA! I HAVE THE POWER! | ||
pink_mist | the power of greyskull! | ||
dalek | c: b3fec16 | (David H. Adler)++ | lib/Type/MixHash.pod: Changed =for comment to =begin/=end comment in lib/Type/MixHash.pod |
20:34 | |
dha | pink_mist++ | ||
RabidGravy | It would be cool if the "=begin FOO" -> $=FOO thing was implemented, is it just the pod parser not doing it? | 20:38 | |
dha | dunno. | 20:40 | |
pink_mist | what is this "=begin FOO" -> $=FOO thing? | ||
dha just assumes RabidGravy has been drinking. | 20:41 | ||
:-) | |||
flussence | the $=pod thing? Yeah, I kinda want that too... | ||
RabidGravy | the content of a =begin FOO .. =end FOO block goes in a $= variable | ||
dha, I've always been drinking. I wouldn't do software if I hadn't ;-) | 20:42 | ||
flussence | I tried to use $=data for something once a long time ago, it was NYI, got frustrated and gave up (as usual...) | ||
pink_mist | for 100 days straight then, RabidGravy? :P | ||
dha | Oh, I meant in general. :-) | ||
RabidGravy | pink_mist, I'm not sure I've had a day this year I didn't have *some* beer :) | 20:43 | |
20:45
cognominal left,
blackcat_ joined
|
|||
RabidGravy | pink_mist, I actually thought I'd get to 1000 commits to github in a year before 100 days but only 917 commits | 20:47 | |
but then I thought I'd get 10,000 listens on soundcloud | 20:48 | ||
flussence, it would be really useful for small bits of data you want to bundle | 20:50 | ||
colomon has gotten maybe 100 listens on soundcloud. :) | |||
dha | What the...? | 20:51 | |
RabidGravy | colomon, linky? | ||
dha | is there really a method in the Submethod class called "flurb"? | ||
colomon | soundcloud.com/solomon-foster-1 | ||
dha | I note the documentation for flurb says "method description here" | 20:52 | |
colomon | Woah, RabidGravy, that was fast! :) | ||
RabidGravy | :) | ||
colomon cannot listen at the moment, alas. | 20:53 | ||
dha | I'm putting a TODO comment under flurb. | 20:54 | |
RabidGravy | colomon, you should hook up with pdcawley he's well into traditional music | 20:55 | |
colomon | Yes, I’ve chatted with him a bit here and there. | ||
dalek | c: d4e7d73 | (David H. Adler)++ | lib/Type/Submethod.pod: Added TOTO comment to lib/Type/Submethod.pod |
||
20:55
TEttinger joined
|
|||
colomon | I think he’s more into songs than I am, and I’m more into tunes, but there’s definitely some overlap, and I’ve gotten tips to some GREAT music following him on twitter. | 20:56 | |
RabidGravy | I think it's unlikely you'd be into my stuff - a whole alternative unoiverse of noise | 20:57 | |
but good stuff | 20:58 | ||
:) | |||
colomon | Yeah, still without having listened to yours yet, I wonder if you’d be into my friend Asher’s music. Let me see if I can find a link, | 20:59 | |
oh hey, he’s on soundcloud too: soundcloud.com/asherperkins | |||
(he’s a fantastic button accordion player, was part of the band at my wedding reception when he was in middle school.) | 21:00 | ||
RabidGravy | keep meaning to hack up an accordionMIDI controller | 21:02 | |
muraiki | this does not sound like button accordion | 21:03 | |
colomon | muraiki: if you’re listening to Asher’s SoundCloud, it’s not. :) He’s not *just* an accordion player. | 21:04 | |
muraiki | ah, I see now :) the trad in solomon-foster-1 is nice though (that's you?) | ||
colomon | yes, that’s me | ||
muraiki | :D | ||
colomon | danke | 21:05 | |
muraiki | someday I'll get a set of uilleann pipes... | ||
I have a low whistle that I unfortunately never play. there's just not enough time for all the instruments I want ot pursue | |||
21:05
Woodi left
|
|||
RabidGravy | muraiki, I think I have something in the region of thirty distinct types of musical instrument, there's always time :) | 21:07 | |
muraiki | RabidGravy: do you play any brass instruments? because that's eaten up all of my shakuhachi time, hehe | 21:08 | |
with brass it's like you miss 2 days practice and a week's worth of learning is gone | |||
colomon | muraiki: www.bensonandcorneliuspipes.com/ | ||
RabidGravy | No brass, saxophone when my lungs let me though | ||
muraiki | RabidGravy: ah, I got a tenor sax last year only to develop TMJ (jaw problem) so I've pretty much given up on it :( | 21:09 | |
colomon: I feel like somehow we've talked about pipes before and you linked this to me. hehe | |||
colomon | muraiki: I was thinking the same, but you still haven’t bought a set. ;) | ||
muraiki | that's what buying a house does for you... something breaks here, a few grand, something breaks there, a few grand... | 21:10 | |
RabidGravy | colomon, yeah my stuff is more like asher's ;0 but probably more extreme ;-) | ||
21:10
virtualsue joined
|
|||
colomon | muraiki: yeah, don’t I know! We actually completely missed on the main house repairs we wanted to make in the spring — too much money spent on things that were emergencies. :( | 21:11 | |
muraiki | colomon: not fun :( | 21:12 | |
colomon | eh, it’s life. but it’s frustrating. | ||
muraiki | yeah, there's uilleann pipes to be bought! | ||
colomon | We’d probably buy a concertina first. | 21:14 | |
hmm… www.concertinas.ca/ | |||
and ha! Frank’s got a video of Asher playing one of Frank’s concertinas. | |||
muraiki | I borrowed a concertina from a friend briefly... the whole "different notes on pull and push" is a bit of a mind-bender at first | 21:15 | |
colomon | muraiki: I’ve gotten very marginally competent on button accordion, which is the same thing with push and pull. it really is wildly different from most other instruments. | 21:16 | |
colomon will have to go offline in a minute, probably suddenly. | |||
when you find a groove with it, it’s really, really nice. :) | 21:17 | ||
21:17
pmurias joined
|
|||
dalek | p/js: 2c3d2ac | (Pawel Murias)++ | src/vm/js/ (3 files): Pass test 67. Implement nqp::setcontspec with code_pair. |
21:17 | |
21:18
colomon left
|
|||
_itz returns from ypc pool party | 21:22 | ||
RabidGravy | dj good? | 21:28 | |
21:28
n0tjack left
21:29
n0tjack joined
|
|||
_itz | yeah tony de vit | 21:32 | |
not really but there was mucho free beer | 21:33 | ||
dha | Ok, all undocumented items under doc/lib have TODO comments now. Unless I missed some. | 21:34 | |
21:39
thou left
21:40
colomon joined
21:42
thou joined
21:43
muraiki left
|
|||
RabidGravy | dha++ # do that stuff | 21:45 | |
21:49
dha left
21:51
AlexDaniel joined
|
|||
AlexDaniel | m: sub foo { my %h = <one two three four>; return (%h, 'test'); }; say foo<one>; | 21:51 | |
camelia | rakudo-moar e6f360: OUTPUT«postcircumfix:<{ }> not defined for type Parcel in block <unit> at /tmp/sircczOUAe:1Actually thrown at: in block <unit> at /tmp/sircczOUAe:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«postcircumfix:<{ }> not defined for type List in block <unit> at /tmp/9JlS7i2hbH:1Actually thrown at: in block <unit> at /tmp/9JlS7i2hbH:1» | ||
21:51
n0tjack left
|
|||
RabidGravy | it's the comma | 21:58 | |
m: sub foo { my %h = <one two three four>; return %h.push(test => 1); }; say foo<one> | 21:59 | ||
camelia | rakudo-moar e6f360: OUTPUT«two» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«two» | ||
raiph | m: =foo blah blah$=pod.grep(*.name eq 'foo').map(*.contents[0].contents.say); # see stackoverflow.com/a/27936867/1077672 | ||
camelia | rakudo-moar e6f360: OUTPUT«blah blah» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«[blah blah]» | ||
RabidGravy | aaaaaaaaaaah! | 22:00 | |
AlexDaniel | RabidGravy: ah no, I just wondered if it would act on the first element of the list | ||
22:00
rurban joined
|
|||
RabidGravy | :) | 22:00 | |
raiph :) nice | 22:01 | ||
virtualsue | Soo DrForr has somehow managed to land himself in hospital in Granada (before he got he pissed!) | 22:02 | |
RabidGravy | boo | ||
virtualsue | he's joking a bit on FB | ||
RabidGravy | how did he achieve that? | ||
virtualsue | but Wendy says he broke his leg quite badly | 22:03 | |
trying to find out some details -- nobody knows except him and (possibly) the paramedics | |||
jdv79 | did the night seem unfulfilled that nobody got thrown in the pool? | 22:04 | |
virtualsue | yes. i was pondering having a swim | ||
jdv79 | it was so close for so long. i thought at least someone would have fallen in at least | ||
virtualsue | but i think that was the beer/sangria talking | 22:05 | |
_itz | I wanted to find the python-perl guy :) | ||
virtualsue | bad _itz! we are an inclusive community!! | ||
we love everyone -- even the unlovable ones! | |||
like python types | 22:06 | ||
jdv79 | how did DrForr manage this? | ||
22:06
n0tjack joined
|
|||
RabidGravy | Just seen miyagawa's pictures no-one in the pool | 22:06 | |
dalek | kudo-star-daily: df33519 | coke++ | log/ (9 files): today (automated commit) |
||
jdv79 | yeah , the pool was a bust | ||
virtualsue | there was absolutely no swimming despite the wonderful on-demand availability of food and drink | 22:07 | |
RabidGravy | I think I should have been there then | ||
virtualsue | yes clearly | 22:08 | |
i should have push _itz in | |||
RabidGravy | :) | ||
[Coke] | japhb: (nqp-coldfusion) I am not going to encourage them. | 22:09 | |
virtualsue | he's fat enough to float | ||
RabidGravy | actually on this picture it looks like everyone is *avoiding* the pool | ||
aw poor itz | |||
jdv79 | what pic? | ||
virtualsue | i couldn't do that - he can't swim | 22:10 | |
_itz | I did consider changing the the $yapc[0]="room" signs to @ | ||
22:11
n0tjack left
|
|||
virtualsue | ++ | 22:11 | |
_itz | the signs sould be inclusive perl | ||
RabidGravy | miyagawa's pic on FB kind of taken with balconies to the left | ||
_itz++ | 22:12 | ||
AlexDaniel | m: my UInt $x = 25; my Int $y = 30; $x -= $y | ||
camelia | rakudo-moar e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int' in block <unit> at /tmp/i4b_nrNvbh:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int' in block <unit> at /tmp/JE0HUc4VLu:1» | ||
AlexDaniel | isn't it less than awesome? | ||
22:12
dha joined
|
|||
jdv79 | i don't do the fb so not sure what you mean | 22:13 | |
RabidGravy | tricky as there could be thousands | ||
anyway time to crash | 22:14 | ||
AlexDaniel | m: my UInt $x = 0; $x--; | ||
camelia | rakudo-moar e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int' in block <unit> at /tmp/tYBHNhQrI0:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int' in block <unit> at /tmp/G1WL659Vmd:1» | ||
AlexDaniel | hm, maybe it is good enough | ||
[Coke] | .seen lizmat | 22:16 | |
yoleaux | I saw lizmat 18:54Z in #perl6: <lizmat> dinner& | ||
[Coke] | .seen jnthn | ||
yoleaux | I saw jnthn 27 Aug 2015 17:34Z in #perl6: <jnthn> So may need bringing in line with what actually got done. | ||
22:18
RabidGravy left
|
|||
virtualsue | pretty sure jnthn is going to be offline for a day or two | 22:19 | |
mohij | tadzik: github.com/patzim/rakudobrew | 22:21 | |
22:21
larion joined
|
|||
mohij | .tell tadzik github.com/patzim/rakudobrew | 22:23 | |
yoleaux | mohij: I'll pass your message to tadzik. | ||
mohij | .tell tadzik Supports shell local switching and dynamically determining the target version. | ||
yoleaux | mohij: I'll pass your message to tadzik. | ||
22:25
skids joined
22:30
Sgeo joined
22:31
pmurias left
|
|||
AlexDaniel | m: subset MyInt of Int where * < 0; my $x = MyInt(5); | 22:32 | |
camelia | rakudo-moar e6f360: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0) in block <unit> at /tmp/nlqKsKV3MR:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0) in block <unit> at /tmp/ukCrHHvrhj:1» | ||
AlexDaniel | what is “cs = 0”? | ||
virtualsue | looks like a trivial problem | 22:33 | |
AlexDaniel | virtualsue: you think I should submit an issue? | 22:34 | |
virtualsue | i'd guess 'cs=0 ' some sort of debugging output - i'm about to pull and build glr now anyway | 22:35 | |
sure | |||
but i wouldn't mark it as high priority, since the issue is more "give me a better error" rather than a regression or something serious | 22:36 | ||
dha | Well, arguably, you don't know, because you don't have a better error. :-) | ||
virtualsue | yes, you do know | 22:37 | |
he declared myInt to be the negative ints, and he tried to set it to a positive int | |||
that's a fail | |||
dha | Oh fine. *pout* | 22:38 | |
japhb | [Coke]: Don't think of it as "encouragement". Think of it as "abstracting away". | ||
virtualsue | heh | ||
22:38
rurban left,
n0tjack joined
|
|||
_itz | src/core/frame.c|1460 col 81| MVM_exception_throw_adhoc(tc, "Cannot invoke this object (REPR: %s, cs = %d)",src/core/frame.c|1460 col 81| MVM_exception_throw_adhoc(tc, "Cannot invoke this object (REPR: %s, cs = %d)", | 22:40 | |
oops twice | |||
AlexDaniel | m: subset MyInt of Int where * < 0; my $x = MyInt(-10); | ||
camelia | rakudo-moar e6f360: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0) in block <unit> at /tmp/ubzNBIPCmM:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0) in block <unit> at /tmp/MSfFBHi8wP:1» | ||
AlexDaniel | virtualsue: not that it works with negative ints… | 22:41 | |
skids was just looking at RT#124442 which also complains about this error message. | |||
AlexDaniel | oh! | 22:42 | |
skids | It was not getting it for the same reasons though. | ||
AlexDaniel | ok, I almost hit the send button | 22:43 | |
but looks like a duplicate, sooo… | |||
skids | Well, no, not really. | ||
But there might be one in there let me search, | |||
22:46
n0tjack left
|
|||
AlexDaniel | skids: so, do you want me to submit it? :) | 22:47 | |
virtualsue | i'm not skids but i think submit and let someone mark it as a duplicate if it is one | ||
AlexDaniel | whatever | ||
skids | Yes do I could not find anythng. | ||
virtualsue | err on over not under reporting | 22:48 | |
22:48
n0tjack joined
|
|||
skids | AlexDaniel++ | 22:48 | |
virtualsue | AlexDaniel++ # QA | ||
AlexDaniel | :) | 22:49 | |
virtualsue waits slow hotel wifi that is very slow | |||
_itz | rakudo-jvm: subset MyInt of Int where * < 0; my $x = MyInt(-10); | ||
GLRelia | rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory» | ||
camelia | rakudo-jvm e6f360: OUTPUT«Can not invoke this object in block <unit> at /tmp/1fEwYvQavY:1» | ||
virtualsue | haha | 22:50 | |
broken code is broken | |||
\o/ | |||
_itz | rakudo-jvm: subset MyInt of Int where * < 0; my MyInt $x = -10 | ||
GLRelia | rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory» | ||
camelia | ( no output ) | ||
_itz | rakudo-jvm: subset MyInt of Int where * < 0; my MyInt $x = 10 | 22:51 | |
GLRelia | rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory» | ||
camelia | rakudo-jvm e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'MyInt' but got 'Int' in block <unit> at /tmp/925Svvlc6x:1» | ||
virtualsue wonders why GLRelia is having perms issues and thinks _itz might be able to fix that | |||
AlexDaniel | m: subset MyInt of Int where -20 < * and * < 0; my MyInt $x = 666; say $x; | 22:52 | |
camelia | rakudo-moar e6f360: OUTPUT«666» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«666» | ||
AlexDaniel | I know that I can do chaining here, but… | ||
what is the right way to do that without chaining ops? | |||
22:52
n0tjack left
|
|||
japhb | virtualsue: I don't think it's having permissions problems; rather I think r-j just wasn't built for GLRelia. | 22:53 | |
22:53
xnrand is now known as tumblr
|
|||
virtualsue | ah - | 22:54 | |
_itz | yeah I never bothered .. its a stop jap until glr becomes master .. I should have commented out more targets I guess | ||
virtualsue | poor DrForr - he doesn't know what hospital he's in. suspect that's because he has some Good Drugs | ||
virtualsue watches rakudobrew compile finally (again: this is the hotel wifi,not p6 :-) ) | 22:55 | ||
AlexDaniel | m: subset MyInt of Int where (-20 < * and * < 0); my MyInt $x = 666; say $x; | 22:56 | |
camelia | rakudo-moar e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'MyInt' but got 'Int' in block <unit> at /tmp/2HhqI9NC0F:1» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'MyInt' but got 'Int' in block <unit> at /tmp/s71luAaiZJ:1» | ||
AlexDaniel | oh, so it needs () | 22:57 | |
I don't like that without () it is so silent… | |||
22:57
Possum left
22:59
tumblr is now known as xnrand
|
|||
AlexDaniel | m: subset MyInt of Int where (* < 0 and * > 0); my MyInt $x = 100; say $x; | 22:59 | |
camelia | rakudo-moar e6f360: OUTPUT«100» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«100» | ||
AlexDaniel | uhmmmmm | ||
m: subset MyInt of UInt where * < 0; my MyInt $x; say $x; | 23:02 | ||
camelia | rakudo-moar e6f360: OUTPUT«(MyInt)» | ||
GLRelia | rakudo-moar a6bb0b: OUTPUT«(MyInt)» | ||
[Coke] | japhb: thankfully, the official CF version runs on the jvm... so nqp-j is fine. Just need mojo6 on jvm, done. | 23:04 | |
23:05
frobisher joined
23:08
dha left
23:10
n0tjack joined
23:12
mohij left,
virtualsue left
|
|||
skids | moritz: PR#522 will likely fix the bug mentioned in roast c6b955cf (but the test add there should be "ok" not "say"). | 23:13 | |
23:15
n0tjack left
|
|||
skids | Oh, nm, the PR does not fix it. | 23:21 | |
wait... somethings up in my tree. | 23:23 | ||
timotimo barks up skids' tree | |||
skids | o/ | ||
Ah, ok, yes, that PR does fix that. For some reason "make spectest" will rebuild but not install? Or something. | 23:26 | ||
23:26
mr-foobar left
23:28
thou left,
frobisher is now known as dha
23:33
vendethiel left
23:35
mprelude left
|
|||
dalek | ast/glr: d6a9f7c | skids++ | S32-list/seq.t: skip new test code that was aborting the test file Also, fix the test to actually be a test. Also, mention the PR that will fix the bug. |
23:35 | |
skids | .tell moritz see roast/glr commit d6a9f7c | 23:37 | |
yoleaux | skids: I'll pass your message to moritz. | ||
timotimo | i'm kinda confused/surprised by people mentioning "my %d" having "state-like behaviour" in -n one-liners :| | 23:41 | |
23:42
n0tjack joined
23:47
n0tjack left
23:54
AlexDaniel left
|
|||
dalek | c: cbb84c8 | (David H. Adler)++ | lib/Language/5to6.pod: Added entry for Perl-ToPerl6 to lib/Language/5to6.pod Spelling correction in the entry for Mad in 5to6.pod as well. |
23:59 |