ugexe github.com/perl6-community-modules...t/01.t#L33 <- the failing code 00:05
it passes for me on 2017.04.3 but not blead 00:06
timotimo that should perhaps be changed to use a IO capture module or something 00:07
ugexe m: (IO::Handle.new but role { }).say("a") 00:08
camelia IO::Handle is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in method new at src/RESTRICTED.setting line 32
in block <unit> at <tmp> line 1
ugexe m: IO::Handle.new.say("a") # even
camelia IO::Handle is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in method new at src/RESTRICTED.setting line 32
in block <unit> at <tmp> line 1
ugexe that cant be it, that fails for me in 04 too 00:09
timotimo why is it even using $fh.say($u) there? 00:10
it's apparently supposed to check if the gist is okay?
ugexe no idea 00:11
so those method print and print-nl allow it to work on 04 and earlier 00:12
my $scalar; my $fh = IO::Handle.new but role { method print(*@stuff) { $scalar ~= $_ for @stuff }; method print-nl { self.print("\n") } }; $fh.say("OH HAI"); $fh.say("bai bai"); say $scalar
it works with $fh.print though 00:18
possibly github.com/rakudo/rakudo/commit/76...1fbffee03c ? 00:25
timotimo yeah, now it goes through nqp::printfh instead of through self.print
and since the IO::Handle was .new'd but not properly opened: bang! 00:26
might want to consider making IO::Handle.new explode
or something?
anyway, bedtime
ugexe looks like maybe because before the print was doing unbox_s(.Str) but now its unbox_s(x.gist) 00:28
that test isn't needed anyway 00:36
fixed in URI now anyway github.com/perl6-community-modules...2a6b264597 00:44
samcv ugexe++ :-) 00:48
oh ugexe i have a new grammar thing i'm working on for spdx
ugexe what? you didnt want to keep building on an abnf grammar?? 00:50
you quickly realize its ok for validating, and thats about it 00:51
samcv abnf? 00:52
this is what the parse tree looks like gist.github.com/samcv/7ba95a0f1d3d...a8dae0b7a6
ugexe the grammar i wrote in that one comment was translated from the abnf grammar in the spdx spec 00:53
samcv ah
ugexe its the grammar you usually see in RFC docs
samcv i think this tree will be much easier for parsing
still need to get parens to work. but should be able to figure that out with how the grammar is 00:55
ugexe why is compound expression the same as the or-and?
samcv because they're all OR or AND
ugexe thats every compound expression no?
samcv and then we can see their position and the keywords between them
simple-with-exception 00:56
there's that
also gives room to add more things. i mean not everything only has OR and AND in it
when you have parens, then those will be broken up into or and
or-and matches that can be processed independently 00:57
ugexe you sound like you know what you're doing which is more than i can say so... 00:58
samcv just thought you might want to see it. i had to change how i did it from before because it became untenable 00:59
ugexe yeah i saw the new branch
samcv yeah 'next' branch
ugexe one problem im wondering is if we can make the version ranges work in elastic search query 01:00
samcv hmm
sure
GPL-1.0+ becomes GPL-1.0 or GPL-2.0 or GPL-30.
ugexe i think the only way to really make it work would be to turn ranges into a bunch of literal Foo-1.1 OR Foo-1.2 OR Foo-1.3
samcv haven't used elastic before
yeah of course. and we know all the licenses before hand 01:01
ugexe it already handles a q=license:Whatever OR (license:whatever AND license:whatever)
samcv or even /'GPL-3.' . / 01:02
idk can we do any uh. regex type things
ugexe version ranges are supported for versions
version:1.*
but not 1.+
samcv i mean for licenses though
but for licenses i mean
ugexe right i imagine its just a string match or a fuzzy match
samcv you can do GPL-3.* ?
ugexe i believe you can do string fuzzy matching like sql 01:03
so GPL-3.% or something
samcv ok 01:04
so we can do GPL-3.% OR GPL-4.%
just do one more version than we know about? 01:05
hm
ugexe well if you want 2.1+ it could match 2.0
samcv hm 01:10
give it every version number
2.1 2.2 2.3 2.4 2.5 2.6 2.7.. and then 3.+
you can put as many thnigs as you wish yes? 01:11
ugexe yeah 01:29
lizmat Files=1192, Tests=56879, 208 wallclock secs (12.20 usr 4.89 sys + 1225.65 cusr 123.04 csys = 1365.78 CPU) 06:40
[Tux] This is Rakudo version 2017.04.3-153-ge5870c11d built on MoarVM version 2017.04-44-gf0db8822 07:13
csv-ip5xs 3.143
test 13.788
test-t 4.516 - 4.571
csv-parser 13.441
samcv nice and low 07:31
[Tux] essentially no change 07:49
Ulti win 3 09:00
erk
dogbert17_ Hmm, have some (stress)test failures. t/spec/S06-signature/types.t, t/spec/S17-supply/syntax.t and t/spec/S32-exceptions/misc.rakudo.moar 09:57
Zoffix t/spec/S17-supply/syntax.t is a flopper the other two are known 10:08
Geth rakudo/nom: 0338ce46dc | (Elizabeth Mattijsen)++ | 2 files
Also fix .iterator/.pairs for RT #131241

  - abstract the Proxy logic in a proxy sub
  - make both .iterator (which feeds .pairs) and .values use that
10:27
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131241
rakudo/nom: 14e09532e7 | (Elizabeth Mattijsen)++ | src/core/MixHash.pm
Oops, another copy-pasto :-(
10:32
roast: f5de360692 | (Elizabeth Mattijsen)++ | 2 files
Fix more tests broken by fix to RT #131241
10:33
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131241
Zoffix m: use nqp; with "/tmp/barz" { .IO.spurt: "weeeeee"; nqp::copy($_, $_); dd .IO.slurp } 10:49
And occasionally is just trashes the file instead of hanging :)
ZofBot: fun!
ZofBot Zoffix, rel2abs( $path, $base ) ; If $base is not present or '', then $*CWD is used
camelia (timeout) 10:50
Zoffix m: $*CWD = 'foos'; dd $*SPEC.rel2abs: '/foo'
camelia "/foo"
Zoffix m: $*CWD = 'foos'; dd $*SPEC.rel2abs: 'meow' 10:51
camelia "foos/meow"
Zoffix m: $*CWD = 'foos'; dd $*SPEC.rel2abs: 'meow', ''
camelia "foos/meow"
Zoffix ZofBot: indeed it is!
ZofBot Zoffix, setting was way smaller then By now we are even doing stuff like lazily deserializing parts of CORE
Geth rakudo/nom: 8088f08050 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
Abstract R:I.Mappy-kv-from-pairs logic into a role

Because I need the role for (Bag|Mix)Hash.kv, which is basically the same, but needs a specific .pull-one.
10:58
dogbert17_ Zoffix: hmm, I thought the problems with syntax.t had been fixed ... let me investigate 11:29
Geth rakudo/nom: 45305ecaea | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
Simplify Mappy-kv-from-pairs.pull-one a bit
11:50
rakudo/nom: e7087f295f | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
Argh, cannot use binding in code that does role
12:23
rakudo/nom: c61c7f883d | (Elizabeth Mattijsen)++ | 2 files
Also fix .kv for RT #13124
12:29
roast: 7be833903b | (Elizabeth Mattijsen)++ | 2 files
Fix final tests broken by fix to RT #131241
12:30
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131241
lizmat afk& 12:31
Zoffix great... forgot to turn off my VM last night :/ Good thing it wasn't the 64-core one 12:41
timotimo whoops. is it expensive even when it's idling? 12:42
Zoffix Same cost when it's ideling. Though I normally use 24CPU/24GB RAM pre-emptive one which is much cheaper than non-preemptive ones. preemptive = they can turn it off at any second, though it rarely happens. 12:45
timotimo damn
Zoffix $0.633/hr for non-preemptive $0.191 for pre-emptive. I guess I'm not exactly going broke for leaving it on for 16 hours... just annoying :) 12:46
64-core/416GB RAM one is $2.653/hr for non-preemptive and $0.801/hr for preemptive 12:47
timotimo right, annoying indeed 12:48
Zoffix .tell mst this looks like something you wanted to add to Perl 5. Any opinions? github.com/perl6/ecosystem/issues/334 13:01
yoleaux Zoffix: I'll pass your message to mst.
Geth rakudo/nom: 08a8075f91 | (Zoffix Znet)++ | src/core/IO/Path.pm
[io grant] Fix IO::Path.copy/move when source/target are same

Fixes RT#131242: rt.perl.org/Ticket/Display.html?id=131242
13:04
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131242
Geth roast: 4fdb8504cd | (Zoffix Znet)++ | 2 files
[io grant] Test IO::Path.copy/move when source/target are same

RT#131242: rt.perl.org/Ticket/Display.html?id=131242 Rakudo fix: github.com/rakudo/rakudo/commit/08a8075f91
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131242
Zoffix [Coke]: why careful? Something's up with your new position at TPF? 13:07
Zoffix & 13:19
[Coke] Zoffix: wrong window 13:21
nine Zoffix: github.com/perl6/toolchain-bikeshe...r/build.md 13:54
Zoffix Not overly interested in that stuff, but I see you commented the link on GitHub Issue, so it'll reach the right parties :) 13:55
nine Zoffix: yeah. Good thing I noticed your message to mst. Would have been a waste if multiple groups worked on this independently. 14:00
ugexe the problem i foresee coming from 334 is that its going to ultimately be huge. listing the version, support, various package managers... and then you'll end up wanting to add optional/test/build/emulates/supercedes dependencies and so on. It doesn't really belong in core, it doesn't really belong in the ecosystem spec (because it would be any ecosystem) 14:23
i would imagine you would use a build module for this purpose 14:24
timotimo we want something for "test-depends", too :P
and optionals, how do we do optionals?
ugexe the toolchain-bikeshed is pretty simple, and intended to allow installing things like Inline::Perl5 with core perl6 14:25
there are no optionals yet :P
because then we need to define optional test and build and... should probably just steal whatever perl 5 meta spec did 14:26
timotimo we could just make the meta a dockerfile 14:27
ugexe or steal all their good parts 14:28
jnthn Would be good to consider the Windows "just download, verify, and install the DLL" thingy into this too 14:36
Which is probably the leading use of Build.pm 14:37
timotimo yeah, that'd be nice
jnthn Which I figure is also not a long-term solution :)
timotimo "hey i have this https url here and a few different hashes"
ugexe verify? lol
timotimo "also please get the right bitness" 14:38
jnthn ugexe: Yes, the hashes are included in the Build.pm, meaning there's detection if the thing that was downloaded got tampered with
timotimo but who verifies the meta6.info? 14:39
jnthn Or some non-malicious accident :)
timotimo: It's not foolproof, but it does mean that somebody would have to get a github commit bit on the module *and* access to where the DLLs are stored 14:40
Which is a good step up from just needing to get to the latter
timotimo aye 14:41
ugexe that type of logic would work better in a hook 14:44
which, an idea timotimo gave me, would give zef a place to provide its fetching mechanism
timotimo but we were hoping to make things declarative? :| 14:45
Zoffix NeuralAnomaly: status 14:46
NeuralAnomaly Zoffix, [✘] Next release will be in 2 weeks and 4 days. Since last release, there are 13 new still-open tickets (0 unreviewed and 0 blockers) and 185 unreviewed commits. See perl6.fail/release/stats for details
Zoffix wow, 185 commits already :o
ugexe timotimo: well afaik the declarative stuff is intended to be simple enough to go into the core Distribution object - enough that Inline::Perl5 could be installed. im not sure how fetching logic can fit into that though 14:48
you could still declare it, but the logic to fetch it needs to exist somewhere
timotimo hm, you mean any meta6 should be properly installable even without an installer? 14:49
just through code that's inside rakudo?
ugexe thats what i've always strived for
Zoffix The March release: "NeuralAnomaly Zoffix, [✘] Next release will be in 2 weeks and 4 days. Since last release, there are 13 new still-open tickets (13 unreviewed and 0 blockers) and 56 unreviewed commits"
m: say 185/56
camelia 3.303571
ugexe you can install modules with Build.pm now without an installer 14:50
timotimo hmm
ugexe if we had some way to abstract the logic to create a fetching or extracting command (curl, tar, etc) per-system into some generic command then it could 14:53
which is what zef does, but thats way too much cruft for core
[Coke] win 2 14:56
argh
Zoffix You win a new TV!
timotimo the toolchain bikeshed build.md file contains a json that's invalid because it uses non-string hash keys 14:59
nine timotimo: ah that's what the syntax highlighter tries to tell me? 15:04
timotimo i believe so 15:12
pmurias m: bag<foo bar bar>.Stringy 15:16
camelia 5===SORRY!5=== Error while compiling <tmp>
Use of non-subscript brackets after "bag" where postfix is expected; please use whitespace before any arguments
at <tmp>:1
------> 3bag7⏏5<foo bar bar>.Stringy
expecting any of:
a…
pmurias m: bag <foo bar bar>.Stringy
camelia ( no output )
pmurias m: say bag <foo bar bar>.Stringy
camelia bag(foo bar bar)
pmurias m: say bag(<foo bar bar>).Stringy
camelia foo bar(2)
timotimo that's just the gist, though 15:17
m: say (bag <foo bar bar>.Stringy).perl
camelia ("foo bar bar"=>1).Bag
pmurias is the order of elements in Bag.Stringy defined?
where are using that to compare stuff in a test 15:18
Zoffix s: bag(), 'Stringy', \() 15:20
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/08a8...Mu.pm#L524
pmurias and it fails on rakudo.js because they are returned in a different order
Zoffix s: bag(), 'Str', \()
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/08a8...gy.pm#L365
timotimo if there's no "sort" in the implementation of Stringy, then we're not supposed to rely on its ordering
... well, you could interpret that the other way around, too
Zoffix pmurias: IMO no. It's unordered all the way down and the test should be fixed. 15:21
pmurias I'll fix the test then
Zoffix m: say 'baz bar foo' ~~ m:g/@(<foo bar baz>)/ 15:26
camelia (「baz」 「bar」 「foo」)
Zoffix This is cool
m: say 'foo bar meows' ~~ m:g/ %(<fo ba me ow>) \S+ /; 15:31
camelia P6opaque: no such attribute '$!reified' in type List when trying to get a value
in regex at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix hehe
Filed: rt.perl.org/Ticket/Display.html?id=131243 15:35
Geth roast: 66d6132fd3 | (Pawel Murias)++ | S03-operators/div.t
Skip 64bit specific test on platforms that are 32bits
15:47
roast: 6d781bc4de | (Pawel Murias)++ | S03-operators/bag.t
Stop comparing Bags with eq

That depends on the order of keys in Bag.Stringy which is implementation specific and not specced.
Zoffix (FWIW eqv (that is `is-deeply` test) works on Bags) 15:52
s: &infix:<eqv>, \(bag(), bag())
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/08a8...gy.pm#L759
Zoffix yea 15:53
s: &infix:<eqv>, \(%, %)
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/08a8...ap.pm#L366
Zoffix m: dd :{ 42 => 42 } eqv :{ 42 => 42 } 15:54
camelia Bool::True
Zoffix m: dd :{ 42 => 42 } eqv :{ 42 => 41 }
camelia Bool::False
TimToady notes that .perl and .gist do guarantee sorted order 15:59
Zoffix s: bag(), 'perl', \() 16:02
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/08a8...gy.pm#L375
Zoffix Don't look like it 16:03
TimToady they're supposed to
Zoffix And if it does, then .Stringy also does, 'cause they're using the same Baggy!LISTIFY method
s: bag(), 'raw_hash', \()
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/08a8...gy.pm#L756
TimToady you can always iterate a hash yourself if you really want unordered 16:04
sets and bags should follow the same policy
Zoffix So Hash.Str is guaranteed to be ordered? 16:05
Oh yeah: multi method Str(Map:D:) { self.sort.join("\n") }
m: use nqp; dd nqp::getattr(Map.new(<a 42>), Map, '$!storage').^name 16:06
camelia "BOOTHash"
Zoffix And Baggy takes nqp::iterator() of BOOTHash and just loops over it... I'm guessing that's unordered 16:07
timotimo yeah, that's unordered
Zoffix Filed: rt.perl.org/Ticket/Display.html?id=131244 16:09
.tell pmurias I was wrong. The .Str/.Stringy/.gist/.perl on Baggies is supposed to be ordered (RT#131244), but the fix will be in Rakudo, so I don't think any chances to JS backend to handle this are needed. 16:10
yoleaux Zoffix: I'll pass your message to pmurias.
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131244
TimToady just because hashy things are fundamentally unordered doesn't mean we always have to present them that way
Zoffix s/chances/changes/;
[Coke] TimToady: Didn't we say at one point that we were going to rand all of them so people didn't rely on an implicit order that wasn't promised? 16:11
TimToady yes, we did, at one point 16:12
but we said the other thing later :)
the educational value is repeated inflicted on people who are probably not ready to learn it 16:13
*repeatedly
hmm, that seems to be two different thoughts stuck together, need more coffee 16:14
anyway, it's lies-to-children that don't hurt much because the user generally wants the output sorted anyway, and if they sort things themselves they don't pay twice 16:15
and anyone who's writing an algorithm whose performance depends on not sorting is probably gonna be smart enough to know the truth by then 16:16
but we're also fighting the innate tendency in humans to say "I had to go through this pain, so you do too, and the sooner the better." :) 16:17
so anyway, the current policy is that explicit iteration never sorts, but the implicit iteration done for things that stringify does sort 16:22
Zoffix huggable: sorted hash :is: "current policy is that explicit iteration never sorts, but the implicit iteration done for things that stringify does sort" irclog.perlgeek.de/perl6-dev/2017-...i_14519754 16:23
huggable Zoffix, Added sorted hash as "current policy is that explicit iteration never sorts, but the implicit iteration done for things that stringify does sort" irclog.perlgeek.de/perl6-dev/2017-...i_14519754
TimToady understands that this is also a little surprising to people coming from Perl 5, but that's just one of the spots where we decided to break with the past 16:24
lizmat Zoffix TimToady: this would apply to Sets as well ? 16:25
TimToady yes
Zoffix lizmat: yeah and baggies, which currently don't sort. I've just filed a ticket for that: rt.perl.org/Ticket/Display.html?id=131244
lizmat yeah, saw that 16:26
am currently deep in a Set/Mix refactor to make them faster
TimToady the assumption here is that most internal operations that have to be fast do not involve stringification, which is only needed at the endpoint 16:28
lizmat TimToady: with the exception of .WHICH, which *is* needed for internal operations of Set/Bag/Mix 16:30
TimToady well, we're trying to get away from strings for .WHICH eventually anyway 16:31
but yeah, if you're gonna have an identity on something underordered, the disorder can't participate
TimToady wonders what "underordered" means... 16:32
Zoffix m: dd % .push: "foo\n42\nbar\n70\nber\n70".lines.pairup».antipair 16:34
camelia Hash % = {"42" => "foo", "70" => $["bar", "ber"]}
Zoffix I ♥ Perl 6
TimToady I guess, if we end up with probabilistic hashing for identity, we can at least limit the possibility of collision to the objects of the same type, since the type is part of the identity, and any given type could take extra steps to make a collision impossible, if we set it up right 16:38
baking in all the information from the value is one way to do that, but as we see from our current implementation, that can be slowish 16:39
not just in generation, but comparing two strings can be a lot slower than comparing two integers 16:40
lizmat well, 2x two integers, I guess: one for the type 16:42
TimToady another way to guarantee uniqueness is with a value registry for the type, presumably one that can look up a value via its parts without going through the trouble of generating a stringy WHICH, or there's no point 16:43
basically, teaching the type to intern itself
re 2x, sure, though one could engage in sophistry and argue that any 2 integers just form a single larger integer :P 16:45
note I didn't say how large an "integer" is :)
TimToady doesn't know offhand if 64 bits is enough to make people comfortable about lack of collisions 16:47
but anyway, types that know how to make integer identities is the long-term goal 16:48
buggable ???????????? It's time for the monthlyAccidental /win Lottery ???????????? We have ballots submitted by users! And the winner is... 17:45
True
Zoffix disregard :) 17:48
m: sub foo { my %h = :42a, :55b; (%h, 42, 72) }; my (%h, $x, $y) = foo; dd [ %h, $x, $y ] 17:52
camelia [{"42" => 72, :a(42), :b(55)}, Any, Any]
Zoffix Looks like a bug to me. I didn't ask it to be slurpy... 17:53
mc: sub foo { my %h = :42a, :55b; (%h, 42, 72) }; my (%h, $x, $y) = foo; dd [ %h, $x, $y ]
committable6 Zoffix, ¦2015.12: «[{"42" => 72, :a(42), :b(55)}, Any, Any]»
Zoffix shocking no one found that before :S
Or am I *supposed* to bind to it?
mc: sub foo { my %h = :42a, :55b; (%h, 42, 72) }; my (%h, $x, $y) := foo; dd [ %h, $x, $y ] 17:54
committable6 Zoffix, ¦2015.12: «[{:a(42), :b(55)}, 42, 72]»
Zoffix Ah. I guess I am. Nevermind
ugexe my $scalar; my $fh = IO::Handle.new but role { method print($stuff) { $scalar ~= $stuff; }; method print-nl { self.print("\n") } }; $fh.say("OH HAI"); say $scalar; # Zoffix, did you see this doesn't work anymore (for better or worse)? 18:05
$fh.print("OH HAI"); still works though
Zoffix Yeah, I saw.
I don't see why .say need to be defined in terms of .print and .print-nl 18:06
easier to make fake handles?
.say => arg.gist => .print + .print-nl; .put => arg.Str => .print + .print-nl 18:07
yea
ugexe the only thing i can see is maybe you need an addition .Str in the new multi? 18:12
Zoffix I'll make everything go via .print. So one could do class IO::FakeHandle is IO::Handle { method print { do-stuff-with-data } }; and be covered for all use cases 18:18
Will do in ~5 hours
Zoffix & 18:19
nine Overriding print and expecting to see a change in say is programming to an implementation rather than an interface. That behavior was never promised and promising it would rob us of an important optimization opportunity. 18:21
Zoffix Well, not everything (e.g not .write); but: .say, .put, .printf, .print-nl
m: <do-it don't-do-it>.pick.say 18:22
camelia do-it
Zoffix bah
nine: well, we do similar stuff in Iterator. You can define .push-all, but if you don't it'll use .pull-one 18:23
nine As you said: if you don't. But IO::Handle does.
Zoffix I see. 18:24
nine Also .push-all is just an optimization while .say does have different semantics to .print
Zoffix m: say "foo bar ber" ~~ m:g/ < foo bar ber > / 18:25
camelia (「foo」 「bar」 「ber」)
Zoffix Cool
nine Very different in fact as .say is targeted at humans and thus uses .gist for stringification, while .print is a much more low level output mechanism.
Zoffix OK. Then, I'll leave it as is. 18:26
\o/ I'm using Perl 6 in production, while making money for it \o/ 19:12
Replaced a 14-line bash script with an 8-line Perl 6 script :P
stmuk does anyone have a Windows system handy?
Zoffix (well, and added a feature to it too)
stmuk: I do
Win7
buggable Zoffix, Thank you for entering Accidental /win Lottery! The next draw will happen in 4 weeks, 2 days, 4 hours, 47 minutes, and 13 seconds
Zoffix buggable: dammit! that wasn't it!
stupid robot 19:13
Win7 19:15
/win7
buggable Zoffix, Thank you for entering Accidental /win Lottery! The next draw will happen in 4 weeks, 2 days, 4 hours, 44 minutes, and 32 seconds
Zoffix stmuk: what'd you need? 19:16
OK, I'll step away then :) 19:19
ZofBot: start
ZofBot Zoffix, push: :42gihub
Zoffix Interesting... 19:20
stmuk quick test of thnew msi
Zoffix Ah, the start only works via /msg I guess
stmuk errr
Zoffix stmuk: OK, where is it?
stmuk I'm still scping
Zoffix OK, ping me when ready
stmuk it should be a few mins only 19:21
Geth rakudo: MasterDuke17++ created pull request #1074:
Make some X::Invalid::Concreteness attributes Bool
stmuk ADSL-- # too A 19:22
Zoffix well, fwiw, I'm having issues running the uninstaller for 2016.11 star :/ tells me it can't find some shortcut and then aborts the whole thing :/
Zoffix just shift+del the C:/rakudo 19:23
And M:/.zef and M:/.perl6
stmuk yes I think someone else reported that as well .. it really needs love from someone who uses Windows more than 10 mins every 3 months (like me) 19:24
Zoffix uses Windows 100% at home :) 19:25
But not for coding... :)
Geth rakudo/nom: 85c54db880 | (Daniel Green)++ | src/core/Exception.pm
Make some X::Invalid::Concreteness attributes Bool

These are Boolean options, so coerce them to Bool when called from BOOTSTRAP.nqp.
19:26
rakudo/nom: 701dab3cb8 | lizmat++ (committed using GitHub Web editor) | src/core/Exception.pm
Merge pull request #1074 from MasterDuke17/minor_fix_to_X_Invalid_Concreteness_exception

Make some X::Invalid::Concreteness attributes Bool
stmuk gaming?
stmuk I/
Zoffix Yeah. And to run a Linux VM in in which I do the coding :)
stmuk I've been tempted by thimbleweed park
MasterDuke_ lizmat: thanks. part of making the currently broken roast tests better
stmuk pl6anet.org/drop/rakudo-star-2017.0...0(JIT).msi 19:28
MasterDuke_ i used to use windows for gaming only, but now games are so much better about running natively in linux and/or wine has gotten really good that i've 100% switched to linux
stmuk of course .1 is .3
Zoffix downloading; 3m left 19:29
My glowing keyboard doesn't work in Linux :) 19:30
Well, the custom buttons and custom lighting doesn't
tadzik I thought I'm on #gamingonlinux for a second there :o
Zoffix stmuk: so what am I testing? Just that it installs and works? 19:34
stmuk yes
say "hello world"
Zoffix "Security warning: The publisher cannot be verified"... Amusing that one of the buttons it provides is "Run" :) Run... away? :) 19:35
stmuk yes its not signed or whatever
Zoffix "Warning 1909.Could not create Shortcut Rakudo Perl 6.lnk. Verify that the destination folder exists and that you can access it" 19:37
Is it trying to make it on Desktop?
C:\Users\zoffix>perl6 -v 19:38
This is Rakudo version 2017.04.3 built on MoarVM version 2017.04-53-g66c6dda
stmuk I've never seen that .lnk message it should just install under c:\rakudo
Zoffix C:\Users\zoffix>perl6 -e "say 'It works!'"
ugexe timotimo: the telemeh commits seem to have broken appveyor windows builds
Zoffix It works!
stmuk yay! 19:39
developers! developers! developers!
Zoffix ZofBot: developers! developers! developers!
ZofBot Zoffix, * Perl 5's "${
Zoffix stmuk: I guess I'm done? :)
Or do I need to test anything else
ugexe timotimo: ci.appveyor.com/project/ugexe/perl...1.0.5#L388 19:40
stmuk that's probably enough ..
ugexe i should probably not be doing --gen-moar=HEAD huh
Zoffix The .lnk message was the one it was complaining about when I tried to uninstall 2016.11 and it might be because my desktop isn't in C:\Users\blah\Desktop or whatever 19:41
*too; it was mentioned when trying to uninstall as well as when I was installinbg 2017.04
Zoffix & 19:42
stmuk at least the MSI complaints showed usage 19:45
the next version gets telemetry :>
timotimo ugexe: no! no!! NO!!!! >:( 20:30
why is it trying to define the intrinsic? 20:31
it's only supposed to do that if the compiler doesn't have it
i just don't know any more :(
Can't spawn "./try": Inappropriate I/O control operation at build/probe.pm line 480. ?!?!? 20:32
samcv good afternoon 20:45
Zoffix, on windows does $*CWD use '/' for the directory separators? 20:46
Zoffix samcv: no idea. Will try in ~mins 20:47
samcv thx
Zoffix in ~20mins
samcv buggable, enter me in the lottery that gives fantastic prizes 20:48
Zoffix You can only enter by accident! :)
samcv how can i do an accident on purpose?
Zoffix /win 20:49
/win 42
buggable Zoffix, Thank you for entering Accidental /win Lottery! The next draw will happen in 4 weeks, 2 days, 3 hours, 10 minutes, and 13 seconds
samcv /win 1
buggable samcv, Thank you for entering Accidental /win Lottery! The next draw will happen in 4 weeks, 2 days, 3 hours, 10 minutes, and 1 second
samcv yay 20:50
/lose 12
apparentnly another codepoint you can't put in NTFS filenames is the ¥ symbol 20:55
because... the japanese ascii codepage renders a backslash as a yen symbol. so you can't put actual unicode yen symbols in ntfs because reasons 20:56
thanks windows
ugexe perl6 -e "'¥'.IO.spurt('foo');" and perl6 -e "say '¥'.IO.slurp;" still works though (05/02/2017 04:56 PM 3 ¥) 20:58
samcv heh 20:59
windows police are going to get you!
probably will break things with certain apis and it tries to acces folder\\ or maybe it'll just access the same folder? 21:00
not sure what windows does i fthere's two backslash as a directory separator
ugexe probably depends which file system api it uses 21:01
samcv yep
so very potentially could cause issues
ugexe dos should work as shown
samcv hm?
ugexe explorer... no
samcv you mean not work properly?
explorer doesn't work right? or dos doesn't
i mean technically you can put a forward slash on an ext4 file/directoryname
ugexe for instance: you can create files you cant even see in explorer (let alone make) 21:02
samcv but you'll never be able to access the file. and if you run fsck it will remove any / it finds
ugexe, so you can create a ¥ named file but can't see it in explorer?
ugexe actually I can see it in explorer. but there are many instances where this is the case yes
`perl6 -e "'foo:bar'.IO.spurt('...')"` is a good example of misparsed on windows 21:05
creates a file named "foo" 21:06
samcv also i'm curious. what unicode codepoints contain a forwardslash
in the bytes when encoded as utf-8? do any exist?
if so then i wouldn't be able to access the file
ugexe you would, you just wouldn't know where 21:07
although if the mistake gets round tripped it doesnt matter
samcv well the kernel code literally just looks for any forward slash bytes i believe 21:08
ugexe using the example above: `perl6 -e "say 'foo:bar'.IO.slurp"` says the right thing, even though there is no file foo:bar (only foo)
samcv while (*name=='/') # traverses directories
: is allowed as bacslash? 21:09
ugexe no, its disallowed entirely
at least in the file system api most people think of. the underlying file system however lets you do all sorts of bad stuff 21:10
samcv u: .chr.encode.list.grep({ $_ == 「\」.ord}) 21:11
unicodable6 samcv, U+002E FULL STOP [Po] (.)
samcv, U+0063 LATIN SMALL LETTER C [Ll] (c)
samcv, 39 characters in total: gist.github.com/269d754537392dcf28...59239bbb05
Zoffix C:\Users\zoffi>perl6 -e "say $*CWD; use nqp; say nqp::cwd"
"C:\Users\zoffi".IO
C:\Users\zoffi
samcv: ^ it uses \ slash
samcv u: { .chr.encode.list.grep({ $_ == 「\」.ord}) }
unicodable6 samcv, Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 55296 (0xD800)␤ in block <unit> at /tmp/uYmOC3Hx3F line 2␤ «exit code = 1»
samcv dammit
u: { try { .chr.encode.list.grep({ $_ == 「\」.ord}) } }
AlexDaniel, should ignore unicode surrogates 21:12
unicodable6 samcv, «timed out after 30 seconds» «exit signal = SIGHUP (1)»
AlexDaniel samcv: hm interesting
samcv yep 21:13
AlexDaniel I thought it would catch stuff like this
samcv you only catch ilegal yes?
MasterDuke_ on ntfs, isn't 'foo:bar' a file named 'foo' with a resources stream attachend named 'bar'?
AlexDaniel oh wait, but isn't in your own code?
m: say 55296.chr.encode
camelia Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 55296 (0xD800)
in block <unit> at <tmp> line 1
samcv AlexDaniel, U+D800 >= i <= U+DFFF # not allowed in utf-8
perl 5 will do it without battitng an eye though 21:14
AlexDaniel u: { U+D800 < i > U+DFFF and .chr.encode.list.grep({ $_ == 「\」.ord}) }
unicodable6 AlexDaniel, gist.github.com/74c5f77f514ad250ad...4b069f2786 21:15
AlexDaniel u: { 0xD800 < i > 0xDFFF and .chr.encode.list.grep({ $_ == 「\」.ord}) }
unicodable6 AlexDaniel, Can not convert 0+1i to Real: imaginary part not zero␤ in block <unit> at /tmp/BJnIkAnMUz line 2␤␤Actually thrown at:␤ in block <unit> at /tmp/BJnIkAnMUz line 2␤ «exit code = 1»
samcv what you doing.... not actual code XD
AlexDaniel u: { 0xD800 < $_ > 0xDFFF and .chr.encode.list.grep({ $_ == 「\」.ord}) }
Zoffix u: { use NativeCall; sub kill(int32) is native {}; kill $*PID; }
AlexDaniel :|
Zoffix :}
samcv hahah
unicodable6 AlexDaniel, «timed out after 30 seconds» «exit signal = SIGHUP (1)» 21:16
Zoffix, «exit signal = SIGABRT (6)»
Zoffix awww
AlexDaniel unicodable6++
Zoffix--
Zoffix :)
AlexDaniel samcv: why not? That should definitely work
it's just too slow
samcv oh it should if you don't use `i`
you gotta thread it 21:17
split into like 4 parts
then get results of the promises.
AlexDaniel and then some poor soul decides to use a counter in his code
samcv why would you do that 21:18
i can't think of any reason
u: { $++ == $_ } 21:19
unicodable6 samcv, U+0000 <control-0000> [Cc] (control character)
samcv, U+0001 <control-0001> [Cc] (control character)
AlexDaniel come on unicodable, you are not broken 21:20
you can handle this
:| maybe not 21:21
samcv ok well i'm trying # for ^0x1FFFFF { try { die $_ if .chr.encode.list.grep({ $_ == 「\」.ord }) } } 21:22
ok i got Nil
i wonder if that's intentional
ugexe hmm Grammar::HTTP seems to have started getting some weird Substring length cannot be negative errors around 2017.03 21:23
samcv gonna check if \0 can exist inside any other things. i mean it SHOULD be able to exist in an array of 32 bit unsigned integers
like 8bits all 0 should be able to exist on an 8 bit boundary
when the 32bit encoded number is not 0 21:24
but i havn't gotten that to trigger in MVM even though i cover for a case it might occur.
this is not utf-8 encoded mind yo just MVM's representation of strings 21:26
ugexe but Grammar::HTTP is only a grammar, it doesn't call substring or anything itself
samcv hmm. can i reproduce this ugexe by running tests suite? 21:27
ugexe yeah
Zoffix Substring length (-4) cannot be negative
ugexe travis-ci.org/ugexe/Perl6-Grammar-...1631#L1014
Zoffix in any Str at /home/zoffix/.rakudobrew/moar-nom/install/share/nqp/lib/QRegex.moarvm line 1
in method request-target at /home/zoffix/.zef/store/Perl6-Grammar--HTTP.git/df065bd00aadec7c49f1d8083a050ff449fbbba0/lib/Grammar/HTTP/Actions.pm6 (Grammar::HTTP::Actions) line 182 21:28
.Str on Match it looks like :/
AlexDaniel another uncurse curse? 21:30
Zoffix If 2017.03, then no 21:31
It was merged ~Apr 15th
s: ('' ~~ /./), 'Str', \() 21:33
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/701d.../Nil.pm#L7
Zoffix s: ('.' ~~ /./), 'Str', \()
SourceBaby Zoffix, Something's wrong: ␤ERR: No such method 'cando' for invocant of type 'NQPRoutine'␤ in block at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 26␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
Zoffix You suck.
Zoffix blames TimToady :P
AlexDaniel buggable: /win 21:35
AlexDaniel shrugs
Zoffix m: say "." ~~ /.<(./
camelia Nil
Zoffix I forget, how to make it return "failed match" thing?
No one knows? :) 21:36
ZofBot: what a bunch of n00bs! 21:37
ZofBot Zoffix, com/nxadm/rakudo-pkg/releases/tag/2017
AlexDaniel m: grammar { token TOP { "foo" } }.subparse("meowfoobar").say
camelia #<failed match>
Zoffix Oh, it's only from .subparse 21:38
Thanks
m: grammar { token TOP { "foo" } }.subparse("meowfoobar").Str.say
camelia
Zoffix Hm. There goes my hypothesis.
AlexDaniel m: say "abc" ~~ /)> . <(/
camelia 「bc」
AlexDaniel c: releases say "abc" ~~ /)> . <(/ 21:39
committable6 AlexDaniel, ¦2015.12,2016.01.1,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10,2016.11,2016.12,2017.01,2017.02,2017.03: «#<failed match>» ¦2017.04.3,HEAD(701dab3): «「bc」»
Zoffix But basically .Str'ing a match gives that error and .perl'ing it hangs. So there's some sort of match that's busted
hah
AlexDaniel: now THAT looks like uncurse curse :)
AlexDaniel oh wait, it's actually a bug? 21:40
I didn't really notice
Zoffix Sure
AlexDaniel bisect?
bisect: say "abc" ~~ /)> . <(/
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=701dab3) because on both starting points the exit code is 0
Zoffix Likely will say can't build or whatever
bisectable6 AlexDaniel, bisect log: gist.github.com/79a7f01b4a7c8f371b...f015a87eed
AlexDaniel, There are 2 candidates for the first “new” revision. See the log for more details
AlexDaniel not really
github.com/rakudo/rakudo/commit/5d...ba60d98251 21:41
Zoffix Well, it's definitely uncurse. We already had a bug with capture markers due to it.
AlexDaniel github.com/rakudo/rakudo/commit/3c...4cc43a0c67
so it is 5d68f1ff1a8b32570a686bb8151805ba60d98251
ugexe m: my $x = "say" ~~ /$<foo>=(\w+) {} $<bar>=<::($<foo>)>/;
camelia 「say」
foo => 「say」
P6opaque: no such attribute '$!pos' in type Match when trying to get a value
in block <unit> at <tmp> line 1
Zoffix ugexe: is that the issue with Grammar::HTTP? 21:42
ugexe nah, just wanted to see if it was different then what i get locally
Zoffix Ah
I'm still trying to hunt it :)
ugexe locally it says "Cusror.new" followed by the P6opaque bit
Zoffix "Cusror"? like actually mistyped? 21:43
ugexe oh no, Cursor.new
AlexDaniel Zoffix: alrighty, what should be done with the bug above?
Zoffix: should I submit a regression ticket or something?
or are both outputs buggy?
Zoffix Looking at the P6opaque bit and at github.com/rakudo/rakudo/commit/5d...ba60d98251 looks like there are more things to change $!pos to self.to or whateverf
ugexe Grammar::Debugger shows it blowing up when matching 'to' now that i see you mention self.to 21:44
Zoffix AlexDaniel: the 「bc」 thing is definitely a bug. The #<failed match> sounds about right. I don't know if we have a term for "regex matched, but no match stuff was within match markers or whatever". But yeah, please file a ticket, if you can, and ping TimToady with it 21:45
AlexDaniel “Ghost elements in array”… WWWooooOOOooooOOOOOOooooo 21:46
Zoffix And the m: my $x = "say" ~~ /$<foo>=(\w+) {} $<bar>=<::($<foo>)>/; too is a bug
And the Grammar::HTTP is a bug that has something to do with calling .Str on a #<failed match> 21:47
ZofBot: it might all be related!!! :o
ZofBot Zoffix, buckets" property instead
Zoffix calls it a day
\o
AlexDaniel .tell TimToady You may be interested in rt.perl.org/Ticket/Display.html?id=131247 21:52
yoleaux AlexDaniel: I'll pass your message to TimToady.
Geth roast: 016d029601 | (Daniel Green)++ | 2 files
Adapt tests for recent change in Exception type

Because of Rakudo change github.com/rakudo/rakudo/pull/1073
22:14
MasterDuke_ m: role R { method m (*@a) { ... } }; class C does R { multi method m (*@a) {} } 23:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Method 'm' must be implemented by C because it is required by roles: R.
at <tmp>:1
MasterDuke_ i was reading rt.perl.org/Ticket/Display.html?id=114930 and even though it's just "an ordering problem", i.e., roles are composed before proto are auto-gen'ed, i assume the fix is not as putting `magically_auto_gen_protos();` before `magically_compose_roles()`? 23:34
*not as simple as 23:36