timotimo not sure if there's a better way; i would like shorter syntax as well 00:01
discord6 <theangryepicbanana> it would be cool if making a sub in a class automatically made the sub a static method 00:02
TreyHarris Well, an 'is static' trait's been banging around as a perennial proposal; hopefully problem-solving will be able to keep institutional memory, because I can't remember why 'is static' was a bad idea :-)
discord6 <theangryepicbanana> since that kinda already makes sense
<theangryepicbanana> well I mean having an attribute is cool and all, but it'd be ideal to have something as short as sub or method
TreyHarris m: class B { method foo (B:U: --> Str) { return "Bee" }; our sub foo(--> Str) { return "no bee" } }; say B.foo; say B::foo(); 00:07
camelia Bee
no bee
TreyHarris theangryepicbanana: you see the ambiguity ↑ 00:08
timotimo having a scoping qualifier seems like the wrong abstraction to me
the method is looked up the same way, it just checks the invocant type differently 00:09
TreyHarris well, I just did that because it's a pain to export and import on a single line...
I mean, it's probably not best practice for a class to export routines, but it's probably also essential to some edge cases 00:10
and multis are of course frequently "exported" one way or another
timotimo i think i hallucinated someone suggesting "our" for "static methods" 00:11
TreyHarris like, just now here?
I'm sure someone proposed it at one point--in fact, I think I may have written a reply if it was on p6-l showing why our subs are useful 00:12
discord6 <theangryepicbanana> perhaps a Ruby-like syntax could be used like method self.something(...) {...}?
TreyHarris Oh good gravy, about to search for that mail I was able to see T&M's latest--he's still hammering on .^name "lying" and why can't you ask a native exactly what signedness and length it is? phew. 00:14
discord6 <theangryepicbanana> that would however mean that pretty much every class with a custom new method wouldn't work anymore
timotimo m: my uint32 $foo = 9; say $foo.VAR.^name
camelia IntLexRef
timotimo m: my uint32 $foo = 9; say $foo.VAR.^methods 00:15
camelia No such method 'methods' for invocant of type 'Perl6::Metamodel::NativeRefHOW'
in block <unit> at <tmp> line 1
timotimo m: my uint32 $foo = 9; use nqp; say nqp::objprimbits($foo.VAR)
camelia 0
timotimo m: my uint32 $foo = 9; use nqp; say nqp::objprimbits($foo)
camelia 0
timotimo m: my uint32 $foo = 9; use nqp; say nqp::objprimbits($foo.VAR<>) 00:16
camelia 0
timotimo m: my uint32 $foo = 9; use nqp; say nqp::objprimbits($foo<>)
camelia 0
timotimo ehh.
TreyHarris docs say you can't
you can do over/underflow heuristics to figure it out
if -1 assignment produces a positive value that gives you your answer completely in one step; for signed values you have to suss it out 00:19
well, for ints. for floats it would be a serious PITA
timotimo m: my uint32 $foo = 9; use nqp; say $foo.VAR.of 00:21
camelia No such method 'of' for invocant of type 'Int'
in block <unit> at <tmp> line 1
TreyHarris rofl... never mind; searching my back mail, I see that I have explained 'our sub' six times since 2016, but each time it was to T&M. 00:28
I don't see "is static" ever mentioned on p6-l or p6-u. weird. coulda sworn that was a perennial idea 00:31
00:32 hungryd11 joined 00:35 hungrydonkey left
TreyHarris Do it Python-style, `method foo() is classmethod`? (I can't decide whether the Python @staticmethod is entirely obviated already or just mostly. I think "mostly", but the problem space is more than filled up by multis.) 00:36
00:46 sena_kun left 00:48 lucasb left 00:59 hungryd11 left 01:01 sena_kun joined 01:02 hungrydonkey joined 01:14 hungrydonkey left, hungrydonkey joined 01:23 hungrydonkey left 02:07 hungrydonkey joined 02:46 sena_kun left 03:01 sena_kun joined 03:04 squashable6 left 03:06 squashable6 joined 04:12 evalable6 left, linkable6 left 04:13 linkable6 joined 04:15 evalable6 joined 04:47 sena_kun left 04:49 hungryd7 joined 04:50 hungrydonkey left 04:54 hungryd7 left, hungrydonkey joined 04:56 hungryd80 joined 04:57 hungrydonkey left 05:01 sena_kun joined 06:15 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 06:45 sena_kun left 06:46 AlexDaniel left 07:00 sena_kun joined 07:25 domidumont joined
nine theangryepicbanana: no, a sub is a sub and a method is a method. When I declare a sub inside a class it's because I want a sub that's visible in that lexical scope. I do that precicely because I don't want the class' users to have access to it. 07:26
I wonder if class methods really are so common that they would warrant special (short) syntax. It's not like we're Java where there's only methods. We already have our subs and exporting to make functions available. That doesn't seem to leave many use cases for class methods. Mainly those where you want subclasses to be able to override them. 07:29
Now a shorter syntax for object-only methods (::$?CLASS:D) would be very welcome. In hindsight, I'd even wish for that to be the default, but that ship has probably sailed... 07:30
Or not, we could still change it with a new language version 07:31
07:43 domidumont left 07:45 domidumont joined 08:46 sena_kun left 08:59 sena_kun joined 09:04 domidumont1 joined 09:05 domidumont left 09:18 AlexDaniel joined 09:19 AlexDaniel left, AlexDaniel joined
AlexDaniel lol what, now we're getting spam in the old-issue-tracker repo? :D 09:19
is RT cursed or something
this is probably like the second time I see spam on github 09:21
lizmat Files=1302, Tests=109837, 210 wallclock secs (28.20 usr 8.03 sys + 2942.75 cusr 262.98 csys = 3241.96 CPU) 09:52
AlexDaniel oh 10:21
so now GitHub reports Raku files as Raku
10:47 sena_kun left 11:02 sena_kun joined
Geth rakudo: 6df78ca3ed | (Elizabeth Mattijsen)++ | src/core.c/SetHash.pm6
Add SetHash.set/unset methods

As proposed about 8 months ago in:
Since nobody had a big objection against it, and I think it will make working with SetHashes much easier, I decided to just put it in
  (as the Pull Request had bitrotted).
Please revert if disagreeing.
rakudo/SetHash-set-unset: b9d9943c34 | (Elizabeth Mattijsen)++ | src/core/SetHash.pm6
Give SetHash a set/unset method

Inspired by seeing things like:
   %sethash{$_} = True for @to-be-added;
in the wild. Instead, one can now do: ... (5 more lines)
lizmat huh, what was that ? 11:13
anyway, branch now deleted
11:14 AlexDaniel left, committable6 left, shareable6 left, reportable6 left, bisectable6 left, statisfiable6 left, quotable6 left, unicodable6 left, coverable6 left, notable6 left, nativecallable6 left, tobs left, evalable6 left, linkable6 left, [Tux] left, rba left, discord6 left, eater left, domidumont1 left, squashable6 left, bloatable6 left, tellable6 left, sourceable6 left, benchable6 left, releasable6 left, greppable6 left
sena_kun lizmat: I did it automagically and then thought that something important may be still there and restored. :S 11:17
11:17 evalable6 joined, linkable6 joined, AlexDaniel` joined, [Tux] joined, rba joined, discord6 joined 11:18 hungryd80 left, nine left, jnthn left, samcv left, jdv79 left, domidumont1 joined, squashable6 joined, bloatable6 joined, tellable6 joined, sourceable6 joined, benchable6 joined, releasable6 joined, greppable6 joined, AlexDaniel joined, committable6 joined, shareable6 joined, reportable6 joined, bisectable6 joined, statisfiable6 joined, quotable6 joined, unicodable6 joined, coverable6 joined, notable6 joined, nativecallable6 joined, tobs joined, entonian joined, epony joined, zostay joined, moritz joined, eater joined 11:20 samcv joined, samcv left, samcv joined 11:22 kawaii joined 11:23 nine joined 11:24 discord6 left
lizmat sena_kun: nothing important in there, so it's gone now 11:24
11:24 discord6 joined 11:25 Geth joined, jnthn joined 11:27 hungrydonkey joined 11:28 jdv79 joined 12:00 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Add SetHash.set/unset methods 12:00
travis-ci.org/rakudo/rakudo/builds/645896933 github.com/rakudo/rakudo/compare/3...f78ca3ed72
12:00 travis-ci left 12:14 Guest47772 joined 12:32 ufobat joined 12:46 sena_kun left 13:01 sena_kun joined 13:09 lucasb joined
Geth rakudo: ce5b5dea55 | (Ben Davies)++ | src/core.c/IO/Socket/INET.pm6
Don't attempt to split ports from paths for for UNIX sockets

It's possible for a valid path containing a ':' to wind up as something else if the platform allows colons in filenames like this. Since UNIX sockets don't use ports in the first place, don't treat them as if they do.
timotimo gist.github.com/timo/6e8a259891326...4ae0d5d1fa - a good chunk of frames in the core.c setting are short: 7 instructions is the msot common, followed by 4 instructions, then 8. 14:13
there's even 137 frames that have only 2 instructions 14:14
the first few i found are called !LEXICAL_FIXUP_CSCOPE, i don't think i've seen that before 14:15
many have an empty name, though 14:16
oh, the numbers start at 0, so all the instruction counts need to be read as "off by one"
very many of the ones that end at 3 are !LEXICAL_FIXUP, many of the ones ending at 4 are the "execution of block eliminated by optimizer" blocks 14:21
if it's about 1.35k of the "internal error" reporting blocks we can save about 4 bytes each by not putting a return_o directly after the die :D 14:24
or are nqp::die resumable?
ok, they apparently are 14:25
14:46 sena_kun left
Geth rakudo: 62cb756d91 | (Ben Davies)++ | src/core.c/IO/Socket/INET.pm6
Don't call nqp::getport when listening on UNIX sockets
14:56 travis-ci joined
travis-ci Rakudo build passed. Ben Davies 'Don't attempt to split ports from paths for for UNIX sockets 14:56
travis-ci.org/rakudo/rakudo/builds/645958354 github.com/rakudo/rakudo/compare/6...5b5dea5501
14:56 travis-ci left 15:00 sena_kun joined 15:49 travis-ci joined
travis-ci Rakudo build passed. Ben Davies 'Don't call nqp::getport when listening on UNIX sockets' 15:49
travis-ci.org/rakudo/rakudo/builds/645982295 github.com/rakudo/rakudo/compare/c...cb756d9124
15:49 travis-ci left 16:43 hungrydonkey left, hungrydonkey joined 16:45 hungrydonkey left 16:46 hungrydonkey joined 16:47 sena_kun left 16:57 entonian left 17:01 sena_kun joined 17:22 lizmat joined 17:43 patrickb joined 17:59 lizmat left, lizmat joined 18:03 hungrydonkey left
Geth rakudo: c1b8ff60f8 | (Elizabeth Mattijsen)++ | 2 files
Add BagHash.add/remove

Similar to SetHash.set/unset . Please revert if you disagree.
18:46 sena_kun left 18:49 camelia left 18:53 toddr joined 19:00 evalable6 left, linkable6 left, Guest47772 left, AlexDaniel` left, [Tux] left, rba left 19:02 Guest47772 joined, evalable6 joined, linkable6 joined, AlexDaniel` joined, [Tux] joined, rba joined 19:03 Geth left 19:05 sena_kun joined 19:23 AlexDaniel left 19:35 domidumont1 left
TreyHarris Can anyone here kick camelia? I'm guessing since AlexDaniel` disappeared at the same time it may be more than an issue of kicking something, though 19:53
er, "restart", didn't mean "kick" in the IRC sense
AlexDaniel` I don't maintain camelia 19:54
and that was my laptop shutting down, has nothing to do with the bot :)
TreyHarris AlexDaniel`: I didn't think so, but the times were so coincident I was guessing a big part of the Internet got partitioned. That's good to know at least 19:55
(I didn't think you maintained camelia, I mean)
moritz restarting it now 20:06
20:46 sena_kun left
TreyHarris I recently switched over from the last rakudo-star to a self-build. Assuming my PATH was `...${rakudo-star}/latest/install/bin:${rakudo-star}/latest/install/share/perl6/site/bin` and it's now `...:${rakudo}/bin:${rakudo}/install/share/perl6/site/bin`, and I have zef built anew in the latter, how can I best get my old modules rebuilt? Is there anything else from rakudo-star I need to add? 20:57
21:02 sena_kun joined 21:19 foo222 joined, foo222 left 21:32 lizmat left 21:45 toddr left
jnthn I just pulled/built latest Rakudo and I get one spectest failure that looks like this: 22:20
Error in mp_exptmod: Value out of range
in block at t/spec/S32-num/expmod.rakudo.moar line 31
in block <unit> at t/spec/S32-num/expmod.rakudo.moar line 20
The last test, pretty much
22:25 Kaiepi left, Kaiepi joined 22:36 patrickb left 22:43 MasterDuke joined
MasterDuke jnthn: yep, i forgot to change the test after the moar ltm v1.2.0 upgrade 22:44
22:44 sena_kun left 23:01 sena_kun joined 23:19 lucasb left 23:34 nebuchadnezzar left