»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:00 pdcawley joined
TimToady doesn't even see where <.foo()> is parsed, offhand 00:00
must be coming from deeper down
jnthn Inherited from QRegex::P6Regex::Grammar iirc 00:01
TimToady if we just change that to parse EXPR instead of variable, will it magically do the right thing with <&foo('stuff')> ? 00:02
the other is obviously a different bug
that is, the :var variant
Quom TimToady: Doubt it :(
TimToady: I was looking at the code yesterday
jnthn Is it a parsing bug, or is it that the re-write done with we have a lexical rule messes things up?
Quom In... Cursor.pm? 00:03
But maybe I'm completely wrong
TimToady the <&foo()> is a parsing bug, the <foo()> is a rewrite problem, likely
rurban I get the same t/nativecall/01-basic.t problem with 32bit cygwin also
I'll look at it tomorrow
Quom rurban++ again :)
00:03 Quom is now known as Mouq
TimToady <&foo('bar')> attempts to parse with the MAIN variable rule, which of course can't understand the postfix 00:04
the <foo('bar')> actually makes the call, but fails to pass the arguments
rurban I like my new smokers: perl514.cpanel.net:8010/one_line_per_build
jnthn TimToady: Only in the lexical case, though? 00:06
TimToady presumably 00:07
I think we rely on passing args sometimes in the method case 00:08
lue r: grammar G { token TOP { <multiple(2.3)> }; token multiple($by) { (\-? <digit>+ [\. <digit>+]?) <?{ (+$0 / $by).narrow ~~ Int }> } }; G.parse("4.6").say; # jnthn: works here
camelia rakudo-parrot 522629, rakudo-jvm 522629, rakudo-moar 522629: OUTPUT«「4.6」␤ multiple => 「4.6」␤ 0 => 「4.6」␤ digit => 「4」␤ digit => 「6」␤␤»
jnthn Well, yeah, and the Rakudo grammar does it plenty too :)
00:10 pdcawley left
lue jnthn: that's why I was initially confused as to why the my token version failed :) "but Grammar.nqp can do it!" 00:11
jnthn Urgh
INTERPOLATE doesn't know what to do with args. Worse, it uses args to convey stuff it needs to know to delegate correctly.
I suspect we shouldn't be using that here, though. 00:12
> my token foo($bar = "oops") { foo {say $bar} }; say "foo" ~~ /<foo("baz")>/ 00:16
baz
TimToady \o/
jnthn Guess I should spectest :)
TimToady me is testing a parsing patch for <&foo()>
jnthn is kinda ready for sleep :)
lue I have a grammar fix that's about ready to be committed and pushed too :D 00:17
jnthn Got all day tomorrow for Perl 6 things. Planning to work on Moar nativecall and maybe some Star prep bits.
00:17 [Sno] left 00:18 telex left
Mouq jnthn: Yeah, sorry I wasn't very specific earlier with why it wouldn't Just Work 00:18
jnthn: I was doing stuffs
00:18 telex joined
jnthn np 00:19
I'm not especially fast tonight either :)
TimToady one can force <&foo()> to parse by changing it to use EXPR at a= precedence, but the semantics are wrong, since it wants it to return the function pointer to call
when it thinks of it as a variable 00:20
so that will also take a deeper solution
dalek kudo/nom: 20193f6 | jnthn++ | src/ (2 files):
Fix arg passing of <foo(...)> where foo is lexical
00:22
jnthn Could use a test, but I'm heading off for the night :) 00:23
'night o/
lue jnthn o/ 00:24
TimToady o/
00:25 telex left, ggoebel11113 joined 00:26 denisboyun left, ggoebel11112 left, telex joined 00:27 hoverboard joined 00:36 aje_ left 00:37 daxim left 00:38 pecastro left 00:49 yoleaux left, atrodo left, telex left, ggoebel11113 left, dylanwh left, atrodo joined 00:50 Ulti left, awwaiid_ left, Ulti joined, Mouq left, yoleaux joined, ChanServ sets mode: +v yoleaux, awwaiid joined 00:51 dylanwh joined, rurban left, daxim joined, clkao left 00:52 clkao joined, Mouq joined 00:54 btyler joined 00:55 awwaiid left, ggoebel11114 joined 00:56 btyler left 00:57 Mouq left 01:00 btyler joined, awwaiid joined 01:01 telex joined, daxim_ joined 01:02 daxim left 01:03 _thou joined 01:04 btyler_ joined 01:08 thou left, btyler left, rurban joined, Mouq joined 01:11 btyler_ left 01:13 Quom joined 01:14 atrodo left, dylanwh left, Mouq left, atrodo joined 01:17 rurban left 01:18 rurban joined 01:20 dylanwh joined 01:30 atrodo left, dylanwh left, tokuhirom left, rurban left 01:31 tokuhirom joined, dylanwh joined, rurban joined, atrodo joined 01:37 rurban left 01:38 woosley joined 01:39 bluescreen10 left 01:42 sbauer left 01:43 rurban joined 01:47 bjz joined 01:52 sbauer joined 01:55 Alina-malina left 01:56 Alina-malina joined 02:01 SHODAN left 02:02 grep0r left 02:04 atrodo left 02:07 felher left, grep0r joined, Alina-malina left, atrodo joined 02:08 rurban left, dylanwh left
Quom has most of a GIF decoder written. Why? Dunno, why not? 02:08
02:08 dylanwh joined, sbauer left, sbauer joined
dalek kudo/nom: 656089e | lue++ | src/Perl6/Grammar.nqp:
More descriptive failure for missing block

This brings Rakudo in line with STD on this matter, and fixes long-standing RT bug #66776.
02:09
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=66776
02:09 felher joined 02:10 klapperl_ left
Quom lue++ 02:11
02:11 rurban joined 02:12 klapperl joined
Quom m: my $x = Nil; $x //= 1; say $x 02:40
camelia rakudo-moar 20193f: OUTPUT«1␤»
Quom m: my $x := Nil; $x //= 1; say $x
camelia rakudo-moar 20193f: OUTPUT«Nil␤»
Quom n: my $x := Nil; $x //= 1; say $x
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Writing to readonly scalar␤ at /tmp/bD_8rvcImF line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤ at /home/p6e…»
02:45 ilbot3 left 02:46 ilbot3 joined
lue holy déjà vu! :D rt.perl.org/Ticket/Display.html?id=77152 02:49
03:15 rurban1 joined
rurban1 That's now my public buildbot url: perl514.cpanel.net/build/one_line_per_build 03:15
03:15 molaf left
rurban1 rakudo fails with parrot=master because nqp is hardcoded to a failing version. nqp=master works fine 03:16
03:18 woosley1 joined, woosley1 left
Quom rurban1: git describe > tools/build/PARROT_REVISION or some such in the nqp repo 03:18
err jk
git describe in the parrot repo 03:19
03:19 woosley left
Quom and then it goes into tools/build/PARROT_REVISION 03:19
Quom is super unhelpful tonight 03:21
03:47 aindilis joined 03:48 kaare__ joined 03:55 SamuraiJack_ joined 03:56 xragnar_ joined, xragnar is now known as Guest42235, Guest42235 left, xragnar_ is now known as xragnar
lue Looking at UTS#18, RL1.3: union would be <rule + rule>, set difference would be <rule - rule>, but I can quite figure out set intersection, except perhaps [<rule> & <rule>] 03:59
Quom lue: "Terms may also be combined using & for set intersection, | for set union, and ^ for symmetric set difference" 04:00
lue Quom: within <> rules?
ooh, we actually have symmetric set difference? Cool!
Quom lue: Mmhm. Very NYI though 04:01
std: /<+ :HexDigit & :Upper >/
camelia std 09dda5b: OUTPUT«ok 00:01 123m␤»
Quom m: /<+ :HexDigit & :Upper >/
camelia rakudo-moar 656089: OUTPUT«===SORRY!=== Error while compiling /tmp/n4x0yRgf7J␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/n4x0yRgf7J:1␤------> /<+ :HexDigit ⏏& :Upper >/␤ expecting any of:␤ …»
Quom n: /<+ :HexDigit & :Upper >/
camelia ( no output )
Quom std: /<+ (:HexDigit & :Upper) + [q] >/ 04:02
camelia std 09dda5b: OUTPUT«ok 00:01 124m␤»
Quom m: /<+ (:HexDigit & :Upper) + [q] >/
camelia rakudo-moar 656089: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at /tmp/owzrtsaIgX:1␤------> /<+ ⏏(:HexDigit & :Upper) + [q] >/␤Unrecognized regex metacharacter + (must be quoted to match l…»
lue I'm assuming + is almost, but not quite, like | 04:03
Quom lue: So riddle me this, what's the difference between "." and "<.>" in a regex?
lue According to S05, one grapheme. So i.e., /<.>/ == /./ == /:nfg ./ == /:nfc <.>/ == /:nfd <.>/ == ... 04:04
(<rule + rule> probably is handled slightly differently than <rule | rule>, to be clear about that statement of mine) 04:05
almost forgot, <.> is also equivalent to <G/./> :P 04:07
Quom std: /:HexDigit:Upper/ 04:08
camelia std 09dda5b: OUTPUT«===SORRY!===␤Unrecognized regex modifier :HexDigit at /tmp/0YqZRwBeD8 line 1:␤------> /:HexDigit⏏:Upper/␤Unrecognized regex modifier :Upper at /tmp/0YqZRwBeD8 line 1:␤------> /:HexDigit:Upper⏏/…»
Quom std: /<:HexDigit:Upper>/ 04:09
camelia std 09dda5b: OUTPUT«===SORRY!===␤Unable to parse metachar at /tmp/_Cuno0zRTF line 1:␤------> /⏏<:HexDigit:Upper>/␤Couldn't find final '>'; gave up at /tmp/_Cuno0zRTF line 1:␤------> /<:HexDigit⏏:Upper>/␤ expect…»
Quom m: /<:HexDigit:Upper>/
camelia ( no output )
Quom Yeah
>_>
m: /<:HexDigit|:Upper>/
camelia rakudo-moar 656089: OUTPUT«===SORRY!=== Error while compiling /tmp/zvKHyeOtcm␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/zvKHyeOtcm:1␤------> /<:HexDigit⏏|:Upper>/␤ expecting any of:␤ …»
Quom m: /<:HexDigit | :Upper>/
camelia rakudo-moar 656089: OUTPUT«===SORRY!=== Error while compiling /tmp/vGwm5DOYk_␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/vGwm5DOYk_:1␤------> /<:HexDigit ⏏| :Upper>/␤ expecting any of:␤ …»
lue std: /<:HexDigit | :Upper>/
camelia std 09dda5b: OUTPUT«ok 00:01 123m␤»
Quom Rakudo cheats hardcore
the rule for that assertion is about as sophisticated as /[<[+-]>['['<bla>']' | ':'<bla>]]+/ 04:11
lue Ooh, I wonder how many people would object if I spec'd unicode set ops for those subrules, ∪ (union), ∩ (intersection), and ⊖ (symmetric difference) :) 04:15
Quom Compare: github.com/perl6/nqp/blob/master/s...r.nqp#L345 and github.com/perl6/std/blob/master/STD.pm6#L5220
lue oh, and ∖ for set difference of course 04:16
Quom: yeah, I'd say nqp's version could use some work :) 04:17
Quom lue: Some people may look at you funny, but I don't think anyone would redact those set changes 04:18
s/set/spec/
Unless they do, of course
lue Quom: either of set and spec works there though :)
That's why I haven't already made the changes, I'd rather other people knew ahead of time. 04:19
( by the way, P6 only has (-) for set difference, not the non-Texas ∖ version. I imagine "looks too much like backslash" may be the answer ☹) 04:20
Quom lue: Waaat? 04:21
lue Last I checked, anyway
Quom m: say set(1,2,3,42) ∖ set(2,3) # pretty sure otherwise...
camelia rakudo-moar 656089: OUTPUT«set(1, 42)␤»
Quom n: say set(1,2,3,42) ∖ set(2,3)
camelia niecza v24-109-g48a8de3: OUTPUT«set(1, 42)␤»
Quom std: say set(1,2,3,42) ∖ set(2,3)
camelia std 09dda5b: OUTPUT«===SORRY!===␤Confused at /tmp/vfk9Ow5J65 line 1:␤------> say set(1,2,3,42) ⏏∖ set(2,3)␤ expecting any of:␤ feed_separator␤ infix or meta-infix␤ infixed function␤ statement modifier loop␤Parse failed␤FA…»
lue oh! That's cool :)
Quom std: say set(1,2,3,42) ∪ set(2,3) 04:22
camelia std 09dda5b: OUTPUT«===SORRY!===␤Confused at /tmp/tqY6sQyPdw line 1:␤------> say set(1,2,3,42) ⏏∪ set(2,3)␤ expecting any of:␤ feed_separator␤ infix or meta-infix␤ infixed function␤ statement modifier loop␤Parse failed␤FA…»
Quom Silly STD
lue m: say set(1,2,3,42) ⊖ set(2,3) # betcha perl6 doesn't have THIS!
camelia rakudo-moar 656089: OUTPUT«set(1, 42)␤»
lue well then
Quom lue: :)
lue m: say set(1,2,3,42) (^) set(2,3)
camelia rakudo-moar 656089: OUTPUT«set(1, 42)␤»
Quom lue: github.com/rakudo/rakudo/blob/nom/...erators.pm 04:23
Or doc.perl6.org/type/Set + doc.perl6.org/type/Bag
I should really do the operator documentation for Bag there :/ 04:24
lue [in retrospect, having the grapheme (de-)exploders use a leading alphabetic character may not be the best of choices. Though I can't think of a proper ASCII(ish) leading symbol]
Quom lue: What's wrong with just scoped :nfkd? 04:25
etc
lue Ask TimToady :) I think the idea is to explicitly check just one grapheme, instead of potentially many. 04:26
r: constant term:<<"\x2205">> = set();
camelia rakudo-jvm 656089: OUTPUT«(timeout)» 04:27
( no output )
04:29 BenGoldberg left
Quom r: constant term:["\x2205"] = set(); 04:31
camelia rakudo-moar 656089: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
..rakudo-parrot 656089, rakudo-jvm 656089: OUTPUT«===SORRY!===␤No such method 'ast' for invocant of type 'NQPMu'␤»
Quom Dang :(
r: my $x = s; constant term:<<"$x">> = set(); say s 04:32
camelia rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter = (must be quoted to match literally)␤at /tmp/tmpfile:1␤------> my $x = s; constant term:<<"$x">> ⏏= set(); say s␤Couldn't find terminator ;␤a…»
..rakudo-parrot 656089: OUTPUT«␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀[␀␀␀0␀␀␀m␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀…»
Quom r: my $x = s; constant term:<<$x>> = set(); say s
camelia rakudo-parrot 656089: OUTPUT«␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀[␀␀␀0␀␀␀m␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀…»
..rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter = (must be quoted to match literally)␤at /tmp/tmpfile:1␤------> my $x = s; constant term:<<$x>> ⏏= set(); say s␤Couldn't find terminator ;␤at …»
Quom Oh
I'm dumb
r: my $x = "s"; constant term:<<"$x">> = set(); say s
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Colon pair value '"$x"' too complex to use in name␤at /tmp/tmpfile:1␤------> my $x = "s"; constant term:<<"$x">>⏏ = set(); say…»
Quom At least it's a nice error :) 04:33
04:33 rurban1 left 04:41 Quom left 04:42 rurban1 joined 04:47 xinming__ left
lue Hrm, looks like to get \n to work properly, I'd have to modify VM-specific stuff in NQP. I think I found where the change needs to happen, just no clue how :/ 04:54
(for those curious, the full list \n needs to support in P6 is <[\xA..\xD]> | \xD\xA | \x85 | \x2028 | \x2029 ) 04:56
05:02 FROGGS left 05:37 rurban1 left 05:38 kaare__ left 05:40 clkao left 05:41 clkao joined 05:45 xenoterracide left 05:57 hoverboard left 06:10 kaare__ joined 06:11 fridim__ joined 06:19 Vlavv left 06:31 vincent22 joined, xenoterracide joined 06:32 Vlavv joined 06:33 vincent22 left 07:06 brrt joined 07:20 Alina-malina joined 07:22 takesako___ left 07:24 darutoko joined 07:38 takesako___ joined 07:49 denisboyun joined 07:54 denis_boyun joined, denisboyun left 07:55 FROGGS joined 07:56 zakharyas joined 07:58 SHODAN joined 08:11 zakalwe left, arnsholt left 08:16 zakalwe joined, rafail joined 08:22 rafail left 08:26 Alina-malina left, Alina-malina joined
FROGGS .tell lue The current understanding is that this field is either set by pause/cpan or by panda when installing from github 08:29
yoleaux FROGGS: I'll pass your message to lue.
08:34 kaleem joined 08:39 pdcawley joined 08:46 denis_boyun left 08:47 AW3i joined 08:49 xinming_ joined 08:52 fhelmberger joined
FROGGS p6: my %a; %a<foo> = <a b c>; %a<foo>.=uniq; say %a<foo> 08:55
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089, niecza v24-109-g48a8de3: OUTPUT«a b c␤»
FROGGS \o/
09:26 dmol joined
jnthn morning, #perl6 09:35
JimmyZ morning, jnthn 09:36
parrot.org is down? 09:37
FROGGS morning 09:39
JimmyZ: seems like 09:40
brrt morning all 09:50
what
such fuuu
ehm... 09:51
parrot's channel was irc.parrot.org right
ehm
irc.perl.org #parrot
FROGGS right 09:53
09:54 pecastro joined
brrt well, thats empty, too 09:55
09:58 pecastro_ joined 10:00 pecastro left
masak quick, someone get rurban to assert that Parrot is still alive and well! 10:06
brrt warning: sarcasm detection is ambigous 10:09
ambiguous
masak sorry, I should take care not to kick a sleeping Parrot. 10:10
brrt … poor parrot :-(
anyway
moving on
:-)
10:11 pdcawley left 10:18 pdcawley joined 10:24 xenoterracide left
jnthn m: for lines { .say } 10:24
camelia rakudo-moar 656089: OUTPUT«===SORRY!===␤Function 'lines' needs parens to avoid taking the block␤at /tmp/fHufTTh2cc:1␤------> for lines { .say }⏏<EOL>␤Missing block (apparently taken by 'lines')␤at /tmp/fHufTTh2cc:1␤------> for …»
jnthn nice :)
lue++
10:40 Woodi joined
Woodi morning and have a nice spring :) 10:41
FROGGS hi Woodi 10:42
10:46 denisboyun joined 10:51 daniel-s joined 11:02 pippo joined 11:05 rurban1 joined 11:11 rurban1 left
FROGGS m: my %foo = a => 1, b => 2; say %foo{ (%foo (&) %foo).keys }.kv # how do I get the keys back? 11:12
camelia rakudo-moar 656089: OUTPUT«0 1 1 2␤»
FROGGS ohh, adverbs ftw!
m: my %foo = a => 1, b => 2; say %foo{ (%foo (&) %foo).keys }:kv
camelia rakudo-moar 656089: OUTPUT«a 1 b 2␤»
FROGGS m: my %foo = a => 1, b => 2; say %foo{ (%foo (&) %foo).keys }:kv.perl 11:13
camelia rakudo-moar 656089: OUTPUT«===SORRY!=== Error while compiling /tmp/ksH6fcJB5T␤Two terms in a row␤at /tmp/ksH6fcJB5T:1␤------> > 2; say %foo{ (%foo (&) %foo).keys }:kv⏏.perl␤ expecting any of:␤ pair value␤ infix stop…»
FROGGS m: my %foo = a => 1, b => 2; say (%foo{ (%foo (&) %foo).keys }:kv).perl
camelia rakudo-moar 656089: OUTPUT«(("a", 1), ("b", 2))␤»
11:28 AW3i left 11:35 brrt left 11:36 daniel-s left, daniel-s joined
colomon m: role A { method a() { say self.WHAT; }; }; class B does A { }; B.new.a 11:40
camelia rakudo-moar 656089: OUTPUT«(B)␤»
colomon m: role A { method a() { say "{ self.WHAT }"; }; }; class B does A { }; B.new.a
camelia rakudo-moar 656089: OUTPUT«use of uninitialized value of type B in string context␤␤»
colomon :/
FROGGS m: role A { method a() { say "{ self.WHAT() }"; }; }; class B does A { }; B.new.a 11:41
camelia rakudo-moar 656089: OUTPUT«use of uninitialized value of type B in string context␤␤»
FROGGS well, that is correct
m: role A { method a() { say "{ self.WHAT.^name }"; }; }; class B does A { }; B.new.a 11:42
camelia rakudo-moar 656089: OUTPUT«B␤»
jnthn colomon: .Str vs .gist 11:43
colomon jnthn++ # that fixed my code 11:44
colomon is sure he has made that mistake before... 11:50
11:51 daniel-s left, daniel-s joined 12:04 daniel-s left 12:05 daniel-s joined 12:08 rurban1 joined 12:11 kurahaupo joined 12:12 rurban1 left 12:13 mscha joined
mscha perl6: say i**2; 12:13
camelia niecza v24-109-g48a8de3: OUTPUT«-1+1.2246063538223773E-16i␤»
..rakudo-parrot 656089, rakudo-moar 656089: OUTPUT«-1+1.22464679914735e-16i␤»
..rakudo-jvm 656089: OUTPUT«-1+1.2246467991473532E-16i␤»
mscha perl6: say i*i; 12:14
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089, niecza v24-109-g48a8de3: OUTPUT«-1+0i␤»
12:17 daniel-s_ joined, daniel-s left 12:21 kaare__ left
dalek kudo-star-daily: 3afb94d | coke++ | log/ (5 files):
today (automated commit)
12:21
12:29 daniel-s_ left 12:30 daniel-s_ joined, skids left, colomon left 12:34 colomon joined, xinming__ joined 12:36 xinming_ left, daniel-s_ left 12:41 daniel-s_ joined
masak perl6: say 0.5 + 0.5 12:44
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089, niecza v24-109-g48a8de3: OUTPUT«1␤»
masak perl6: say (0.5 + 0.5).^name
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089, niecza v24-109-g48a8de3: OUTPUT«Rat␤»
jnthn perl6: say (0.5 + 0.5).narrow.^name
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method narrow in type Rat␤ at /tmp/tmpfile line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤…»
..rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«Int␤»
masak oh, .narrow
r: say (i*i).narrow.^name
dalek volaj: 4f32216 | jnthn++ | lib/NativeCall.pm6:
Guess .dll on Windows when no data.

If you ignore the link error and use a DLL from another platform's build, this gets things working on JVM on Windows.
volaj: ea7f1fb | jnthn++ | lib/NativeCall.pm6:
Updates to CArray to convey type to REPR compose.

This will be needed for Moar to be able to handle CArray. Can maybe get some further cleanups here in the future once everyone switches over to the compose protocol. Didn't try on Parrot yet, but no JVM regression on CArray tests with this patch.
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«Int␤»
masak Rakudo++
jnthn Suddenly dalek :)
12:48 guru joined, guru is now known as Guest5186, xinming_ joined, Guest5186 is now known as ajr_ 12:49 lizmat joined 12:50 xinming__ left 12:52 lizmat left, lizmat joined 12:54 kaare__ joined, daniel-s_ left 13:02 daniel-s_ joined 13:03 [Sno] joined
dalek ecs: 8fdda4d | (Elizabeth Mattijsen)++ | S11-modules.pod:
Rename META.info -> META6.json

Andreas Koenig pointed out that .info is being used for quite some other things on the Open Source world. So we (FROGGS + lizmat) decided to change the name in such a way, that it is more in line with the world and still an easy way to distinguish a Perl 6 distribution from other distributions.
13:06
ecs: 9acccd1 | (Elizabeth Mattijsen)++ | S11-modules.pod:
Merge branch 'master' of github.com/perl6/specs
13:14 lizmat left 13:15 lizmat joined
[Coke] where is the GSOC channel? irssi seems to think it's dead, and isn't telling me the name of the channel it used to be. 13:16
masak so... .IO.l tells me if something is a symlink -- but how do I answer the question "what does it link to?" -- either using Perl 5/6 itself, or with a Unix command. 13:21
...?
moritz perldoc -f readlink 13:22
p5 13:23
in unix, 'ls -l' tells you where it goes, and 'chase' recursively follows symlinks
13:23 bluescreen10 joined
masak hm, I don't seem to have `chase` installed. 13:23
what I'm writing is a Perl 6 program, so I guess I'll just invoke Perl 5 from it for now. 13:24
moritz++
moritz mlenz@mlenz-workstation:~/p6/rakudo$ git grep readlink
src/core/IO.pm: # NYI: requires readlink()
13:24 bluescreen10 left
masak heh. 13:25
13:25 bluescreen10 joined, bluescreen10 left 13:26 bluescreen100 joined, bluescreen100 left, bluescreen10 joined 13:28 kaare__ left, kbaker_ joined 13:31 dayangkun left
FROGGS [Coke]: #soc-help on irc.perl.org 13:35
dalek ecs: 1ebc34a | (Elizabeth Mattijsen)++ | S11-modules.pod:
Use "perl" to indicate necessary Perl version
masak what's the way to die without a stacktrace in Perl 6 again?
[Coke] 13:36
13:36 [Coke] joined
FROGGS m: die "huh" 13:36
camelia rakudo-moar 656089: OUTPUT«huh␤ in block at /tmp/47ffYxdZ6v:1␤␤»
FROGGS m: fail "huh"
camelia rakudo-moar 656089: OUTPUT«Unhandled exception: huh␤ at src/gen/m-CORE.setting:11018 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:129)␤ from src/gen/m-CORE.setting:12444 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:…»
[Coke] ah. -all- my irc.perl.org connections were dead. 13:37
FROGGS masak: perhaps just say() and exit 1 :o)
jnthn note and exit 1, I guess
masak bah 13:47
stacktraces, whether you want it or not.
13:47 [Sno] left
masak they're absolutely useless when the script is a small Unix-like tool with no call stack at all. 13:47
13:47 [Sno] joined
jnthn I just told you how to do a mesage and exit without one. 13:47
*message
masak right. 13:48
jnthn If you're going to do it in a bunch of places, factor it out into a sub.
masak in other words, Perl 6's &die is not up to the task.
jnthn If you're doing it a lot and have a good name for said sub, suggest it for inclusion i core.
masak &die-without-the-bloody-stacktrace :)
jnthn Right, it's for throwing an exception, which means the situation is *exceptional*. 13:49
masak looks up synonyms of 'die'
"conk" :P
jnthn hehe
masak "expire" is pretty good, because it looks a bit like "exit". 13:50
jnthn Bit overloaded with things like cache expiration though...
perish :)
masak "stop" 13:51
no, that doesn't convey "with a message" well enough...
"halt" could work.
jnthn yeah
13:52 lizmat left
jnthn terminate is a bit long 13:52
choke :)
masak a bit graphic, pehaps. 13:53
13:53 btyler joined
jnthn Yeah, true :) 13:53
13:54 lizmat joined
lizmat actually, in one of my custom test modules 13:55
I've used "urgh" as the name of a sub to quit testing immediately without any stack / reports
"urgh" being the sound the bad guy makes when he bites the dust in a comic 13:56
13:57 skids joined
flussenc1 "exeunt" would be close to exit, while having strong textual connotations... 13:57
13:58 flussenc1 is now known as flussence, tgt joined 13:59 [Sno]_ joined, flussence left, [Sno]_ left, flussence joined
lizmat dwfa as in die without further ado 13:59
13:59 [Sno]_ joined, [Sno]_ left 14:00 [Sno]_ joined, [Sno]_ left, [Sno] left
lizmat r: my $a = <a b b c>; say $a.uniq.perl; say uniq($a).perl # still not sure whether this inconsistency is correct 14:06
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«("a", "b", "c").list␤(("a", "b", "b", "c"),).list␤»
jnthn lizmat: Yes, that one is
colomon lizmat: do you think it makes sense to call uniq on a list of lists?
jnthn lizmat: A method call is always on the contents of a scalar, whatever it may be. 14:08
lizmat ok, that makes sense
14:09 kivutar joined 14:10 tgt left
masak kinda likes "urgh" 14:12
dylanwh has used bork() in similar contexts.
14:12 [Sno] joined, [Sno] left 14:13 [Sno] joined 14:14 rindolf joined 14:19 treehug88 joined, [Sno]_ joined
dalek ecs: 2168510 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Add lemma's for PAUSE and CPAN
14:20
14:21 [Sno] left, [Sno]_ is now known as [Sno]
mscha Why not simply: exit "something went wrong" 14:23
or if you want a different value: exit "something went very wrong", 2 14:24
14:24 salv0 left
moritz has .stop been proposed already? 14:24
masak TimToady: S09 suggestion: rename :map to :project 14:25
mscha: I kinda like that -- but I'd want it as `exit 2, :message("something went very wrong");`
[Coke] (die with a message) ABEND 14:26
14:26 SamuraiJack_ left 14:28 kaleem left 14:40 fhelmberger left 14:42 salv0 joined 14:47 guru joined, ajr_ left 14:48 guru is now known as Guest11659, Guest11659 is now known as ajr_
lizmat notices that TimToady's uniq/squish changes cause regressions in uniq.t/squish.t 14:59
FROGGS++ seems to think it may be a problem in gather take 15:00
wlll, actually it appears to be a subtle difference between .take and take($_)
15:04 Rix joined
masak r: $_ = (1, 2, 3); .say for gather .take 15:04
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«1␤2␤3␤»
masak r: $_ = (1, 2, 3); .say for gather take($_)
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«1 2 3␤»
masak yep.
same as we talked about before with $a.uniq vs uniq($a), I think. 15:05
FROGGS masak: yes, maybe it takes a while until it sinks in :o)
15:07 kivutar left 15:11 rurban1 joined 15:15 rurban1 left
dalek kudo/nom: 01f1ca4 | (Elizabeth Mattijsen)++ | src/core/List.pm:
Fix test failures on uniq.t/squish.t

Calling .take flattens, whereas take($_) doesn't. So when taking a hash with a single key/value pair, only the pair was taken in the .take case. This broke the tests.
15:20
ast: 76bf067 | (Elizabeth Mattijsen)++ | S32-list/uniq.t:
Remove reference to discussion on p6l
ast: c241c7d | (Elizabeth Mattijsen)++ | S32-list/ (2 files):
Add tests for #121434, can now be closed
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121434 15:21
15:22 takesako___ left 15:23 kurahaupo left 15:30 raiph joined
colomon m: my @a := 1, -> $x { $x + 2, $x + 2 } … * ; say @a[^10] 15:30
camelia rakudo-moar 656089: OUTPUT«===SORRY!=== Error while compiling /tmp/8ROSl8Qn4B␤Two terms in a row␤at /tmp/8ROSl8Qn4B:1␤------> my @a := 1, -> $x { $x + 2, $x + 2 } ⏏… * ; say @a[^10]␤ expecting any of:␤ postfix␤ st…»
dalek kudo/nom: 4a3a406 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
Changelog entry for .=uniq/squish fix
15:31
colomon m: my @a := 1, -> $x { $x + 2 } … * ; say @a[^10] 15:32
camelia rakudo-moar 656089: OUTPUT«===SORRY!=== Error while compiling /tmp/bHTAEEDjL9␤Two terms in a row␤at /tmp/bHTAEEDjL9:1␤------> my @a := 1, -> $x { $x + 2 } ⏏… * ; say @a[^10]␤ expecting any of:␤ postfix␤ statement …»
colomon ack, bad Colloquy, bad. 15:33
15:34 rurban1 joined
colomon m: gist.github.com/colomon/9550146 15:35
camelia rakudo-moar 656089: OUTPUT«(timeout)»
colomon whoops
m: gist.github.com/colomon/9550146
camelia rakudo-moar 656089: OUTPUT«0.5 0.75 0.5625 0.703125 0.585938 0.683594 0.598145 0.672913 0.605621 0.666183␤»
colomon m: gist.github.com/colomon/9550146 15:37
camelia rakudo-moar 656089: OUTPUT«0.633506773205973␤»
colomon m: gist.github.com/colomon/9550146 15:39
camelia rakudo-moar 656089: OUTPUT«3.15703017645517␤»
15:39 pecastro_ is now known as pecastro
colomon there we go 15:39
m: gist.github.com/colomon/9550146
camelia rakudo-moar 656089: OUTPUT«3.1493784731686␤»
15:39 takesako___ joined
colomon m: gist.github.com/colomon/9550146 15:40
camelia rakudo-moar 656089: OUTPUT«3.14472328668891␤»
colomon m: gist.github.com/colomon/9550146 15:41
15:41 yoleaux left
camelia rakudo-moar 656089: OUTPUT«3.14316070553226␤» 15:41
masak [\*] @b Z/ 15:42
looks like a very confused \o/ :)
TimToady doesn't look like it converges very fast... 15:44
colomon TimToady: you can say that again
but it's a cool equation, easily implemented, at any rate.
TimToady 1,2,2,4,4,4,4,... is a cool sequence 15:45
15:45 yoleaux joined, ChanServ sets mode: +v yoleaux, yoleaux left
colomon (note that this one is 2, 2, 4, 4, 6, 6, 8, 8 … ) 15:45
TimToady though I'd guess people would expect the next number to be 8 rather than 6
15:45 yoleaux joined, ChanServ sets mode: +v yoleaux
TimToady m: my @a := 1, -> $x { $x + 2, $x + 2 } ... *; say @a[^20] 15:46
camelia rakudo-moar 656089: OUTPUT«1 3 3 5 5 7 7 9 9 11 11 13 13 15 15 17 17 19 19 21 21 23 23 25 25 27 27 29 29 31 31 33 33 35 35 37 37 39 39␤»
colomon right
TimToady why doesn't that double the number of entries each time? 15:47
colomon TimToady
ack
masak TimToady: because the block only takes one parameter?
colomon TimToady: sequence op takes the last thing on the sequence
doesn't matter how many you add
masak TimToady: you're thinking of some different semantics :P 15:48
japhb__ I have an array of strings. I want to check for certain special strings, do something in response to finding them, and remove them from the array. Array order is not critical -- it's effectively a set in disguise -- and array identity is not important (I can create a new array if needed). What's the most idiomatic and terse way to do this? In Perl 5, I would do "my %hash = map {($_ => 1)} @array; thing_a() if delete $hash{key_a}; thing_b() if delete $hash{ke
TimToady goes for a second cup of coffee to see if that doubles his previous output 15:49
15:49 erdic left
colomon just hopes TimToady doesn't come back and re-spec the sequence op 15:50
15:50 erdic joined
TimToady nope, I figgered it out while I was pouring the second cup of coffee 15:51
15:51 Mouq joined
colomon japhb__: @array.grep({ if Test($_) { something($_); False; } else { True; }) 15:51
japhb__: though sideeffects in grep make me kind of queasy 15:52
15:52 btyler left
colomon japhb__: my @special = @array.grep({ Test($_) }); @special.map({ something($_) }); @array = (@array (-) @special).lis 15:53
errr, .list
Mouq @array.map: {when "key_a" { thing_a }; when "key_b" { thing_b } }
15:53 treehug8_ joined
colomon has been using (-) a good bit in his $work code 15:54
15:54 treehug88 left 15:56 kivutar joined
japhb__ Mouq: Deleting the special values from the array is a key part of the question. :-) 15:59
15:59 ajr_ left
japhb__ Colomon's first answer is interesting, despite his queasiness at suggesting it. :-) 16:00
colomon japhb__: and my second answer doesn't work -- it's effectively also calling uniq on the array
Mouq japhb__: Just use a Set and :delete?
colomon Mouq: that too is like calling uniq on the array 16:01
of course, if it really is a set in meaning anyway...
Mouq my $set = set @array; thing_a if $set<key_a>:delete; etc
japhb__ colomon: Yeah, the values were already uniq at the start (it's a list of active capability flags, effectively) 16:02
Mouq: Hmmm, I'd forgotten that :delete works on sets. 16:03
colomon wonders if that has been tested 16:04
TimToady sets are immutable
might work on a SetHash
japhb__ m: my @array = <a b c>; my $set = set @array; say "saw a" if $set<a>:delete; say "saw q" if $set<q>:delete; @array = $set.list; say @array;
camelia rakudo-moar 656089: OUTPUT«Cannot call 'delete_key' on an immutable 'Set'␤ in block at src/gen/m-CORE.setting:1932␤ in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2554␤ in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2541␤ in block at /tmp/aKpwHgkY4t:1␤␤»
16:04 guru joined 16:05 guru is now known as Guest1628
lizmat r: (<a b c>.Set)<a>:delete 16:05
camelia rakudo-parrot 656089: OUTPUT«Cannot call 'delete_key' on an immutable 'Set'␤ in block at gen/parrot/CORE.setting:1936␤ in sub postcircumfix:<{ }> at gen/parrot/CORE.setting:2558␤ in sub postcircumfix:<{ }> at gen/parrot/CORE.setting:2545␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 656089: OUTPUT«Cannot call 'delete_key' on an immutable 'Set'␤ in block at gen/jvm/CORE.setting:1932␤ in sub postcircumfix:<{ }> at gen/jvm/CORE.setting:2554␤ in sub postcircumfix:<{ }> at gen/jvm/CORE.setting:2541␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 656089: OUTPUT«Cannot call 'delete_key' on an immutable 'Set'␤ in block at src/gen/m-CORE.setting:1932␤ in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2554␤ in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2541␤ in block at /tmp/tmpfile:1␤␤»
japhb__ TimToady: What's the idiom for making a SetHash from an array?
colomon .SetHash
colomon hopes he has it right today
lizmat r: <a b c>.SetHash.perl.say 16:06
camelia rakudo-parrot 656089, rakudo-moar 656089: OUTPUT«SetHash.new("a","b","c")␤»
..rakudo-jvm 656089: OUTPUT«SetHash.new("b","a","c")␤»
japhb__ m: my @array = <a b c>; my $set = @array.SetHash; say "saw a" if $set<a>:delete; say "saw q" if $set<q>:delete; @array = $set.list; say @array;
camelia rakudo-moar 656089: OUTPUT«saw a␤b c␤»
japhb__ Oooh, that will work nicely.
TimToady usually you're building up a SetHash one value at a time, so $sethash{$key}++ is the normal thing :)
colomon $sethash{$key}-- works too? 16:07
lizmat yes
TimToady specced to
colomon afk # "Now now now READ!" -- a certain five year old, over and over again
TimToady and lizmat++ put a lot of work into making it work
lizmat r: my $s= <a b c>.SetHash; $s<a>--; say $a.perl
japhb__ TimToady: Nah, my array is actually the result of a parser (match objects thrown away by that point, the parser is a separate module).
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$a' is not declared␤at /tmp/tmpfile:1␤------> s= <a b c>.SetHash; $s<a>--; say $a.perl⏏<EOL>␤ expecting any…»
lizmat r: my $s= <a b c>.SetHash; $s<a>--; say $s.perl
camelia rakudo-parrot 656089, rakudo-jvm 656089, rakudo-moar 656089: OUTPUT«SetHash.new("b","c")␤»
lizmat r: my $s= <a b c>.SetHash; $s<a>++; say $s.perl 16:08
camelia rakudo-parrot 656089, rakudo-moar 656089: OUTPUT«SetHash.new("a","b","c")␤»
..rakudo-jvm 656089: OUTPUT«SetHash.new("b","a","c")␤»
lizmat r: my $s= <a b c>.BagHash; $s<a>++; say $s.perl
camelia rakudo-jvm 656089: OUTPUT«("b"=>1,"a"=>2,"c"=>1).BagHash␤»
..rakudo-parrot 656089, rakudo-moar 656089: OUTPUT«("a"=>2,"b"=>1,"c"=>1).BagHash␤»
16:09 Guest1628 is now known as ajr_ 16:10 denisboyun left
dalek ecs: 7b30bf2 | (Elizabeth Mattijsen)++ | S11-modules.pod:
Make CPAN/Github more generic "autorities"
16:11
lizmat oops, *authorities
Mouq m: my @array = gather for <a b c> {when "a" {say "saw a"};when "q" {say "saw q"}}; say @array 16:12
camelia rakudo-moar 656089: OUTPUT«saw a␤␤»
Mouq m: my @array = gather for <a b c> {when "a" {say "saw a"};when "q" {say "saw q"};default{.take}}; say @array
camelia rakudo-moar 656089: OUTPUT«saw a␤b c␤»
16:14 Mouq left 16:16 rurban1 left 16:22 arnsholt joined 16:25 kivutar left 16:26 benabik left, rurban1 joined 16:29 daniel-s_ left, daniel-s_ joined
lizmat while working again on S11/S22, I'm coming to the conclusion that "auth" (such as cpan:JRANDOM) 16:31
is really a combination of "authority" and "userid" 16:32
and that "author" would be an optional (possibly real name) of the author / last maintainer
to add to this, I think we need to split off the content delivery part from the authority 16:33
CPAN in Perl 5 is an example of being an authority *and* a content delivery
what we're doing now at the QA hackathon, is starting to use CPAN as a content delivery system, but not yet as an authority 16:34
the current Perl6 ecosystem / panda, is an example of an authority only
the content delivery there is done by github
TimToady we mainly have to be careful to preserve the concept of "identity", so we never accidentally install two different things thinking they're the same thing
but github hashes mostly solve that 16:35
lizmat so the combination of the auth cpan:JRANDOM and ver 1.0 would be an identity ? 16:36
TimToady well, and the module name
lizmat of course, yes
TimToady that's assuming cpan never allows v1.0 to be redefined
but maybe we should be pushing cpan toward cryptochecksums
lizmat techincally, PAUSE only checks the names of tarballs 16:37
you can only upload a tarball with the same name once
PAUSE already does checksums (SHA1, SHA256 and MD5) 16:38
16:38 kaare__ joined
lizmat in my view, an authority is responsible for selecting the content for a given distribution request 16:39
specifically, if there is *no* auth and/or no version, it should give the content that is best for the requestor 16:40
whatever the authority decides is best
in the Perl 5 CPAN case, this is from the module list
TimToady that is something different from auth, so should probably have a different name 16:41
lizmat for Perl 6 I was thinking we need to generalize that into functionality that an authority (CPAN / ecosystem / some company's own authority) would mean
TimToady it's something that decides what a wildcard auth meatns
*means
lizmat indeed
TimToady auth as a concept has nothing to do with retrieval, only who says what that name/version mean exactly 16:42
mixing that up with retrieval seems like a confusion to me
yes, it's a kind of authority, but I'd rather give it a different name to avoid confusion 16:43
lizmat ecosystem ?
TimToady well, it's a decider of wildcards, like a path searcher, or some such 16:44
it's a recommender, an oracle, a travel agent
lizmat hmmm... I see this process as non-automatic, essentially community driven 16:45
TimToady it's an editorial function, yes
it's like an editor picking which authors you get to read
lizmat use Novel; 16:46
indeed
however, this is not during runtime, this is to pick for installation
once it is installed, we already have all bases covered (I think)
TimToady it's like a book's identity is its author, its name, its revision 16:47
that's the S11 meaning of auth
16:47 ajr_ left
TimToady just that some authors are, like, companies or groups 16:47
lizmat indeed, but if somebody says: "give me a good book on Foo", which one will one get ?
TimToady but we should keep the publishing/bookselling as a separate concept
16:47 ajr joined 16:48 ajr is now known as Guest24638
TimToady just don't want to usurp "auth" for that somebody instead of the original author 16:48
16:48 Guest24638 is now known as ajr_
[Coke] "what's up?" explosm.net/comics/3493/ ISTR this might relate to masak. 16:49
lizmat what we need, is some community driven / accepted way of handling incomplete identity requests
similar to Perl5's module list
TimToady oh, btw, lizmat++ for fixing the .take thing
lizmat yw :-)
dalek p/rotwang/parallel-make-gh152: 6ad73ae | (Bartłomiej Palmowski)++ | / (3 files):
Fix parallel make GH #152

just not on netbsd
Analysis and Patch by Rotwang: 1) Inside nqp's main makefile three libraries have the same make recursive jump. Which means that more than one make instance (separate processes) will try to build the same objects.
2) dyncall makefiles fail due to:
  lists.gnu.org/archive/html/bug-make...00019.html
16:50
lizmat FROGGS++ found the fix, really
arnsholt jnthn: FYI, I've started a branch to skip the stringification step of JAST to bytecode compilation
TimToady but sure, especially when an author goes silent and a different author's fork becomes the new standard
16:50 treehug8_ left
arnsholt I think it should be mostly a matter of putting in the elbow-grease (knock on wood) 16:50
TimToady you need such editorial control not just at the community level, but at the company level as well, maybe more so than community control even 16:51
since companies tend to be more risk adverse than the community
lizmat I was using community in a loose sense here
TimToady okay, just wanted to make sure the concept stays multi-level :) 16:52
lizmat the way I see it, is that the first part of the auth
is something that indicates what I just called "authority"
but maybe "ecosystem" is better
16:52 pecastro left
TimToady it's a false indication, I think 16:52
16:52 treehug88 joined
lizmat in the sense that we can have multiple ecosystems 16:52
from which to install distributions
TimToady the editorial function really has very little to do with the original naming authority 16:53
lizmat true
but we need something here to really have things starting to work
TimToady think about how URLs work; editorial work is almost always done with other people's URLs, not one's own
jnthn arnsholt: Awesome. Did you see my "why things don't quite work on Windows for perl6-j NativeCall" from yesterday?
TimToady so trying to read more into the URL than original authorship would be mistake 16:54
same with the "cpan:" or the "github" prefix, it should only be identity, not editorial
lizmat so you would only see CPAN and github as content delivery systems 16:55
or any place where to get distributions
TimToady and how would you pick between those if the editor has to be one or the other?
lizmat and just have a single editor ?
skids
.oO(other environments use "publisher")
16:56
TimToady would just prefer that the editor not be given a name that would confuse it with "auth"
which is more of a URL concept
lizmat when you're installing a module, you most likely already have selected the content delivery system to install from
TimToady sure, but there are maybe two different things called 'cpan' here. or maybe the auth should be 'pause:' instead of 'cpan:' 16:57
lizmat indeed, the content delivery part, and the part that tells you which distribution to download for "Foo" (any author/any version) 16:58
arnsholt jnthn: No, I didn't 17:00
arnsholt scrollbacks 17:01
lizmat QA hackathon midway standup time&
TimToady has to go watch the new Miyazaki movie now :) 17:04
arnsholt jnthn: Cheers, those are exactly the kinds of thing I expected might happen 17:06
lizmat TimToady: recommendation manager (as a term instead of authority) 17:10
17:11 ajr_ left, guru joined 17:12 guru is now known as ajr_
colomon TimToady++ 17:15
rurban TimToady: I cried at this movie. Very good
colomon is several Miyazaki movies behind at this point.
17:21 zakharyas left 17:31 [Sno] left
dalek ecs: 14ba243 | (Elizabeth Mattijsen)++ | S11-modules.pod:
Spec "production" flag in META6.json
17:32
lizmat QA hackathon dinner& 17:34
17:34 lizmat left 17:41 ajr_ left 17:45 Khisanth left 17:46 Khisanth joined 17:47 FROGGS left 17:49 Rotwang1 joined
arnsholt jnthn: Bah. There's no ldout in Perl's %Config 17:50
Maybe it's in ExtUtils somewhere
17:50 Khisanth left 17:51 Khisanth joined 18:05 xenoterracide joined 18:07 SamuraiJack_ joined 18:10 SamuraiJack_ left
timotimo o/ 18:12
18:13 rom1504 left 18:16 guru joined, guru is now known as ajr_ 18:21 pecastro joined 18:24 fridim__ left, FROGGS joined
lue hello world o/ 18:28
yoleaux 08:29Z <FROGGS> lue: The current understanding is that this field is either set by pause/cpan or by panda when installing from github
lue FROGGS: I've just come to the conclusion that I should wait for all the hackathon-related dust to settle, and to read the resultant changes, before really complaining about anything. :) 18:29
[I suppose I was just surprised that a critical part of identifying any given module was suddenly changed in how it's set] 18:30
FROGGS lue: yes you are right, it is likely to change again because we are just in the transition from speccing to implementing it 18:31
18:33 tgt joined
dalek volaj: ef713c4 | jnthn++ | t/06-struct.c:
Tweak 06-struct.c to cope with MSVC.

Treats long as 32-bit even on a 64-bit box.
18:39
volaj: be4edd4 | jnthn++ | t/06-struct.t:
Fix assignment/binding confusion.
volaj: b970480 | jnthn++ | t/06-struct.t:
Correct test message.
volaj: 2454ace | jnthn++ | t/07-writebarrier.t:
Another container avoidance in binding.
timotimo i still need to find some place to stay for the GPW in 2 weeks
18:48 kurahaupo joined 18:49 FROGGS left 18:53 zakharyas joined 18:54 bluescreen10 left, bluescreen10 joined 18:58 darutoko left
nwc10 OK, so I have a nice fresh perl6-m 18:58
how do I gest zavolaj?
18:59 hoverboard joined
nwc10 test 19:02
moritz nwc10: since it has no dependencies, cloning the zavolaj repo and building it is probably faster than using panda 19:14
nwc10 it's not clear how to "build" it
but I sort of answered the question on #moarvm
raiph m: for $*IN {.say} 19:17
camelia rakudo-moar 4a3a40: OUTPUT«Failed to write bytes to filehandle: bad file descriptor␤ in method print at src/gen/m-CORE.setting:13550␤ in method print at src/gen/m-CORE.setting:13548␤ in method say at src/gen/m-CORE.setting:13562␤ in method say at src/gen/m-CORE.setting:1…»
raiph ww
m: lines 19:19
camelia rakudo-moar 4a3a40: OUTPUT«(signal SEGV)»
moritz for $*IN {.say} is like $*IN.say
raiph moritz: yeah, didn't mean that to be in public channel 19:20
r: lines
camelia ( no output ) 19:21
..rakudo-moar 4a3a40: OUTPUT«(signal SEGV)»
moritz that one, OTOH, shouldn't segv :-)
raiph p: for lines {.say} 19:22
camelia rakudo-parrot 4a3a40: OUTPUT«===SORRY!===␤Function 'lines' needs parens to avoid taking the block␤at /tmp/YGrlngaxqh:1␤------> for lines {.say}⏏<EOL>␤Missing block (apparently taken by 'lines')␤at /tmp/YGrlngaxqh:1␤------> for …»
raiph p: for .lines {.say} 19:23
camelia rakudo-parrot 4a3a40: OUTPUT«Cannot call 'lines'; none of these signatures match:␤:(Cool:D: *%_)␤ in any at gen/parrot/BOOTSTRAP.nqp:1219␤ in any at gen/parrot/BOOTSTRAP.nqp:1210␤ in method lines at gen/parrot/CORE.setting:3581␤ in block at /tmp/Y6Fmu9jg9c:1␤␤»
raiph p: for lines() {.say}
camelia rakudo-parrot 4a3a40: OUTPUT«There were three men came out of the West␤Their fortunes for to try␤And these three men made a solemn vow␤John Barleycorn must die␤␤They've ploughed, they've sewn, they've harrowed him in␤Threw clouds upon his head␤And these three men made …»
raiph p: say for lines() %{$_}++
camelia rakudo-parrot 4a3a40: OUTPUT«No such method 'succ' for invocant of type 'Block'␤ in sub postfix:<++> at gen/parrot/CORE.setting:1791␤ in sub postfix:<++> at gen/parrot/CORE.setting:1790␤ in block at /tmp/bPExxr09VN:1␤␤»
raiph p: for lines() my %a{$_}++ and say %a 19:24
camelia rakudo-parrot 4a3a40: OUTPUT«===SORRY!=== Error while compiling /tmp/Nqb_O8K1zv␤Missing block␤at /tmp/Nqb_O8K1zv:1␤------> for lines() ⏏my %a{$_}++ and say %a␤ expecting any of:␤ postfix␤ infix stopper␤ inf…»
raiph p: for lines() { my %a{$_}++} and say %a
camelia rakudo-parrot 4a3a40: OUTPUT«===SORRY!=== Error while compiling /tmp/7WgtoBb1bm␤Invalid hash shape; type expected␤at /tmp/7WgtoBb1bm:1␤------> for lines() { my %a{$_}⏏++} and say %a␤ expecting any of:␤ postfix␤ stat…»
raiph p: my %a; for lines() { %a{$_}++}; say %a 19:25
camelia rakudo-parrot 4a3a40: OUTPUT«("There were three men came out of the West" => 1, "Their fortunes for to try" => 1, "And these three men made a solemn vow" => 2, "John Barleycorn must die" => 1, "" => 9, "They've ploughed, they've sewn, they've harrowed him in" => 1, "Threw clouds upo…»
raiph darn it, sorry for spam, ww again :(
19:27 kurahaupo left 19:28 kurahaupo joined 19:29 treehug88 left 19:31 treehug88 joined 19:53 colomon left 19:54 colomon joined
colomon m: say lines().Bag 20:00
camelia rakudo-moar 4a3a40: OUTPUT«(signal SEGV)»
colomon p: say lines.Bag
camelia rakudo-parrot 4a3a40: OUTPUT«bag(There were three men came out of the West, Their fortunes for to try, And these three men made a solemn vow(2), John Barleycorn must die, (9), They've ploughed, they've sewn, they've harrowed him in, Threw clouds upon his head, John Barleycorn was de…»
colomon p: say lines.Bag.perl
camelia rakudo-parrot 4a3a40: OUTPUT«("There were three men came out of the West"=>1,"Their fortunes for to try"=>1,"And these three men made a solemn vow"=>2,"John Barleycorn must die"=>1,""=>9,"They've ploughed, they've sewn, they've harrowed him in"=>1,"Threw clouds upon his head"=>1,"Jo…»
retupmoca panda on moarvm won't bootstrap for me: ===SORRY!===\n!cursor_start_cur cannot restart a cursor 20:01
does anyone else see this, or did I break something locally?
lue retupmoca: does panda work with other backends? 20:07
jnthn It's first time I've seen that issue mentioned here 20:08
lue Just got it trying to use ufo on zavolaj too, affecting all backends :/ 20:16
Yeah, as I suspected, it seems to be my fault :( 20:17
jnthn: anything about {$*BORG<culprit> := $*BORG<culprit> // $<EXPR>.CURSOR.at(self.pos)} that makes you recoil in horror? :) 20:21
20:22 zakharyas left
lue STD's version of the same is github.com/perl6/std/blob/master/STD.pm6#L1215 20:22
jnthn Hmm. I'm sure .at is what you're looking for there
What are you tyring to do?
Shift the cursor to that position?
.'!cursor_pos' may do it if so
20:23 erdic left, erdic joined
lue At that point, I'm trying to set $*BORG<culprit> to a position that gets used in reporting when a block is missing. 20:23
jnthn ah, then at certainly sounds wrong. 20:24
lue (this is in xblock in the grammar, for context) 20:25
jnthn See if the method I suggested might do it
But I don't know what it returns
lue jnthn: I use .'!cursor_pos' in pblock to move the position for the error, so I'm certain that's wrong. 20:26
jnthn Oh, what's not what you wnat to do?
oh... 20:27
lue jnthn: I think I may just want $<EXPR>.CURSOR.pos
jnthn It looks like whatever_thingy.cusror(self.pos) will just make a cursor that is set to that position.
uh, the current position.
lue jnthn: I feel silly. I'm not actually using <culprit> :P 20:28
jnthn: STD uses <culprit> to accomplish an error message with two "this is the code that fails" things; I opted for making existing error functions do that for me, thus negating the need for culprit. 20:30
jnthn ok :)
Then, easy fix? 20:31
20:31 denisboyun joined
lue Yeah, just deleted all the stuff with <culprit>. Testing to see if it builds, and then try to run ufo. 20:31
cool, now I get a totally different error for ufo :) 20:35
dalek kudo/nom: a2db06e | lue++ | src/Perl6/Grammar.nqp:
Remove useless code from grammar.

Better yet, it was causing errors!
20:36
lue retupmoca: pull latest rakudo and try again, should work :)
lue afk
20:46 raiph left 20:48 treehug88 left
jnthn arnsholt: I think explicitly-manage will want a re-visit at some point in terms of its implementation details... 20:49
21:00 bluescreen10 left
arnsholt jnthn: I want to remove it entirely, once I get a chance to refactor some bits, actually 21:04
It's a terrible, terrible hack
21:11 clkao left 21:13 clkao joined 21:16 kbaker_ left
timotimo o/ 21:18
jnthn arnsholt: Yeah, tell me about it... And my way of making it sorta-work on Moar is an even worse hack.
arnsholt: As in, "every single call pays the price for the hack" 21:19
[Coke] that sounds... bad 21:20
jnthn Yeah. It needs to die. 21:21
We can worry about that once the test suite passes on Moar though.
21:21 skids left
dalek p: f71ff29 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Add decont for nativecallrefresh.
21:26
p: 5cafc1d | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Hack to make the cstr thing work out.

The plan is to make that go away, but for now we depend on it to get the NativeCall tests passing.
21:27 BenGoldberg joined 21:28 rindolf left
jnthn With latest Moar/NQP/Rakudo/NativeCall, on my box at least we now pass everything except the callback tests. 21:30
nwc10 NQP build midway
jnthn Trying out DBIish on Moar is greatly encouraged, if anybody has the tuits :)
arnsholt: What is the role of the callback cache, roughly? 21:32
jnthn is trying to work out what it's keyed on... 21:34
21:35 Mouq joined 21:37 Bucciarati left, Bucciarati joined
rurban1 mingw32 has perl 5.8.8. // fails there. (nqp Configure git-options) 21:38
nwc10 jnthn: presumably it's LHF to get the zavolaj tests to report the correct test numbers for the ok's
(ie resetting the Test.pm idea of current test after the C tests) 21:39
jnthn nwc10: Yes, if it causes issues.
nwc10 "it's not pretty" and 2 of us have mistaken it
jnthn++ # "works on my machine too"
01-07 all happy
jnthn yay
21:40 kaare__ left
jnthn Now I just have callbacks left, then... :) 21:40
nwc10 beer and curry?
jnthn Well, already full of steak from dinner )) 21:41
But beer...now there's a good idea.
nwc10 I think you deserve it
21:42 clkao_ joined
jnthn picks out an imperial IPA 21:43
www.ratebeer.com/beer/omnipollo-neb...ar/184949/ :) 21:44
nwc10 works on "my" machine with ASAN
(that's all the way to zavolaj)
jnthn yay
21:47 clkao left 21:54 flussence left, flussence joined 21:55 yoleaux left, yoleaux joined, ChanServ sets mode: +v yoleaux 21:56 telex left 21:58 telex joined 22:02 pippo left 22:15 fridim__ joined 22:17 colomon left 22:18 colomon joined, tgt left, Vlavv left 22:19 Vlavv joined 22:20 aindilis left, aindilis joined 22:23 Bucciarati left, jnap joined
arnsholt jnthn: From memory, it's keyed on the function. It's caching the stuff needed to pass a given function as a callback 22:24
22:24 jnap2 left
jnthn arnsholt: Yeah, figured enough...I think. Working on porting it. 22:24
arnsholt jnthn: FWIW, my plan for killing CStr and friends requires a way of signalling to NativeCall whether the memory associated with a thing should be freed on GC or not 22:25
Then we can just unmarshal strings to a CArray[int8] corresponding to an encoding (via Buf, is my thinking) and signal freeing semantics on the array 22:26
timotimo the Yen character no longer means Z since when?
nwc10 r: printf "%x\n", 911352958828937218 22:28
camelia rakudo-parrot a2db06, rakudo-jvm a2db06: OUTPUT«ca5c6b000000002␤»
..rakudo-moar a2db06: OUTPUT«ca5c6b000000000␤»
nwc10 one of these is not like the others
22:29 Bucciarati joined
jnthn nwc10: Dunno if that specific case is to blame, but we still have a few failing sprintf tests. 22:29
arnsholt nwc10: Any idea if there's a place in Perl's config stuff where I can get the linker's flag to specify output file? (-o on Unix, but crucially not on Windows) 22:30
Doesn't appear to be in Config.pm
nwc10 I don't know. Ask leont 22:31
but the answer might be "didn't exist in Config.pm, so got hard coded by platform"
but I think that leont will know
he's probably asleep in Lyon currently
arnsholt Yeah, might be. Thanks 22:32
lue timotimo: since putting it in Sc made more sense :)
arnsholt Looks like ExtUtils::CBuild knows, but doesn't look like it's part of the public API
nwc10 I should go to bed 22:33
arnsholt Me too =)
nwc10 in case the small alarm clock repeats her performance from this morning and is climbing on me before 7am
dalek p: ce3915e | rurban++ | tools/lib/NQP/Configure.pm:
[Configure] omit unneeded 5.10ism, needed for mingw (5.8.8 perl)

Fixes GH #165
22:35
jnthn nwc10: Sounds wise :)
nwc10: Sleep well
nwc10 thanks. you too
jnthn Eventually :) 22:36
rurban parrot has such a config flag 22:42
arnsholt Yeah, but it has it specified in its own config files, so it's not that easy to get to for the JVM backend
rurban cc_o_out it is
and ld_out also 22:43
jnthn Moar has one too, but if you're only buildin gthe JVM backend neither of those help much...
rurban hmm, Configure could pass that around
arnsholt Which is why I wanted to find it in Perl's stuff, for the JVM backend
jnthn *nod* 22:44
Well, to a first approximation MSVC is /Fo and everything else is -o :)
arnsholt True, true
jnthn
.oO( I pity the /Fo... )
arnsholt What's the value of $^O on Windows? 22:45
rurban well, since perl uses -o everywhere just not in win32, it should be easy
mswin32
MsWin32 exaclty 22:46
perldoc perlport
arnsholt Cool. Then it should be easy to specialcase for Windows
rurban Uuh, MSWin32
link has -out:, the rest /Fo afaik 22:47
Mouq lizmat, FROGGS: Since META.info/META6.json is going to be hooked to the spec, does that mean it itself should be versionable?
rurban see win32/Makefile
22:48 rurban1 left
lue Mouq: perhaps the perl6 version parameter takes care of it? 22:48
Mouq lue: True enough, I just wanted to put it up for consideration 22:51
22:54 mscha left 23:02 [Sno] joined 23:06 Psyche^_ joined 23:07 kurahaupo left
Mouq p6: my $x; say $x++, $x++ 23:08
camelia rakudo-parrot a2db06, rakudo-jvm a2db06, rakudo-moar a2db06, niecza v24-109-g48a8de3: OUTPUT«01␤»
Mouq p6: my $x; say {$x++}(), {$x++}()
camelia rakudo-parrot a2db06, rakudo-jvm a2db06, rakudo-moar a2db06, niecza v24-109-g48a8de3: OUTPUT«01␤» 23:09
23:10 Psyche^ left 23:14 daniel-s_ left, daniel-s_ joined 23:18 skids joined 23:19 jnap left 23:20 rurban1 joined 23:38 daniel-s__ joined, klapperl_ joined 23:39 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar, erdic_ joined 23:41 xinming__ joined, guru joined 23:42 guru is now known as Guest48370 23:43 Shozan joined, daniel-s__ left 23:44 daniel-s__ joined, daniel-s_ left, erdic left, ajr_ left, Khisanth left, arnsholt left, takesako___ left, xinming_ left, Woodi left, SHODAN left, klapperl left, rurban left, sbauer left, dylanwh left, atrodo left, tokuhirom left, rurban1 left, Psyche^_ left, Bucciarati left, Vlavv left, yoleaux left, mtj_ left, tadzik left, sbauer_ joined 23:45 erdic_ left, erdic_ joined, hoverboard left
dalek volaj: 20e50da | jnthn++ | t/08-callbacks.c:
Another Win32 hack/workaround.

Will solve these properly shortly.
23:45
23:46 pecastro left 23:47 d4l3k_ joined 23:48 pecastro joined 23:49 sftp_ joined, Ben_Goldberg joined, Ulti_ joined 23:50 bowtie_ joined, Psyche^ joined 23:51 erdic joined, Util_ joined 23:52 dwarring joined, Khisanth joined 23:53 retupmoc1 joined, thilp_ joined, rurban joined, FROGGS joined 23:54 ribasushi_ joined 23:55 cooper_ joined, Woodi joined, mtj_ joined, sbauer_ left, xinming__ left, erdic_ left, skids left, colomon left, fridim__ left, BenGoldberg left, ilbot3 left, felher left, awwaiid left, ggoebel11114 left, Ulti left 23:56 vendethiel left, retupmoca left, sftp left, cooper left, thilp left, ribasushi left, Util left, dalek left, Ayiko left, bowtie left, cooper_ is now known as cooper, ribasushi_ is now known as ribasushi, cooper left, cooper joined, d4l3k_ is now known as dalek, Mouq left, thilp_ left
dwarring r: gist.github.com/dwarring/9559508 23:56
camelia rakudo-parrot a2db06, rakudo-jvm a2db06, rakudo-moar a2db06: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ is used at line 12␤␤»
23:57 Guest48370 left 23:59 FROGGS left
TimToady needs a 'use Test;' presumably 23:59