MasterDuke_ don't think i tried just removing that check altogether though... 00:00
samcv do i need qt5-base 00:01
MasterDuke_ i think? it was a while ago i was messing around with that
samcv ok. i checked it out of the svn
just search for 1<<27? 00:02
MasterDuke_ it's line 639 of some file 00:03
samcv that's very specific
MasterDuke_ going off of what timotimo pasted, i assume he grabbed the line number from vim 00:04
samcv oh
ok i found 1<<27
on exactly that line. heh
timotimo here comes the hang 00:05
cpu usage has drastically decreased, unsurprisingly 00:07
samcv nice
timotimo what's nice about that? :D
samcv the cpu usage decreased
timotimo well ... yeah ... because it's waiting for data to be shoveled in from swap and back again
samcv oh. lol. 00:08
!
timotimo d'oh, it's reaching the amount of swap i have soon
6.7g of 8.25g
samcv uh oh. you need more swap
timotimo i do
samcv i used up 16GB maybe more
no more than 18GB tho
timotimo writing profiler output!!!
samcv yep :) 00:09
MasterDuke_, gonna try removing all the checks that seem sane to remove 00:21
cause some things like failure to realloc or malloc can trigger documenttoolarge errors, so i didn't touch those ones though
MasterDuke_ in qt?
samcv yes
but commented out a few places that seemed arbitrary
MasterDuke_ interested to see what you find 00:22
timotimo i want to go to bed soon ... but the thing is still running :|
samcv go to bed. it might be done in an hour
timotimo hah.
in theory it'd be faster because i'm throwing out list items and hash keys/values while creating the json 00:23
so consecutive gc runs will have slightly less work
oh, huh, the json file is still at 0 bytes?
MasterDuke_ if it's better can do the same for to_sql
samcv argh still too large document 00:24
timotimo samcv: one idea is to switch from a JSONDocument-like API to a stream-like API
where the size of the document is practically irrelevant
samcv yeah
let's just do a memory dump 00:25
like microsoft word does
sorry that made only 1/4 of sense. ignore that
timotimo kch kch kch
geekosaur word hasn't done that in a while 00:27
I am pretty sure the xml-ish format they use now is not what they have in memory :)
samcv yeah they don't anymore
timotimo nah, they still dump the memory, but they put some random xml tags around pieces of it :P
samcv hahaha 00:28
geekosaur also they've actually been addressing the "but it doesn't behave the same on windows vs. mac"
(I still suspect it's because they switched to the mac version as the main one... because the old one was a horrid trainwreck that derailed development of windows 8 because some of their streamlining uncovered bugs that had been patched around in the OS during the "office is our cash cow, office devs an do anything they want" phase.) 00:30
timotimo i think swap usage is slowly dropping 00:31
samcv just wait
timotimo it'll end up being at like 0.05% cpu usage
samcv i had that happen then after it went down for a while it went back up. has it actually started outputting the json?
timotimo let's see.
nah, still 0 bytes
doesn't help that i'm also creating a new swapfile on one of the disks where there's already an active swapfile 00:32
oh wow 00:34
why not update my laptop's packages on the side
just a download of 1.3 gigs
Disk Requirements: 00:40
At least 169MB more space needed on the / filesystem.
i've got so much swap now 00:44
MasterDuke_ .tell pmurias i think NQP_VERBOSE_EXCEPTIONS=1 is what gives better jvm errors 00:58
yoleaux MasterDuke_: I'll pass your message to pmurias.
MasterDuke_ .tell [Coke] i think NQP_VERBOSE_EXCEPTIONS=1 is what gives better jvm errors
yoleaux MasterDuke_: I'll pass your message to [Coke].
MasterDuke_ .tell TimToady i think NQP_VERBOSE_EXCEPTIONS=1 is what gives better jvm errors 00:59
yoleaux MasterDuke_: I'll pass your message to TimToady.
samcv well i got it to 14% of my mem usage (qt) 01:01
and then i get too large document error
MasterDuke_ m: say 1: 03:21
camelia HERE:
- sym: :
- O:

1
MasterDuke_ bisectable6: say 1:
bisectable6 MasterDuke_, Bisecting by output (old=2015.12 new=241831e) because on both starting points the exit code is 0
MasterDuke_, bisect log: gist.github.com/32e2abe320c388f3c4...b23eafa2b7
MasterDuke_, There are 20 candidates for the first “new” revision. See the log for more details
MasterDuke_ bisectable6: old=2017.03 say 1: 03:22
bisectable6 MasterDuke_, Bisecting by output (old=2017.03 new=241831e) because on both starting points the exit code is 0
MasterDuke_, bisect log: gist.github.com/8ec0603f10e4f5573e...dc4ca9c07e
MasterDuke_, There are 20 candidates for the first “new” revision. See the log for more details
MasterDuke_ c: 2017.03,HEAD say 1: 03:23
committable6 MasterDuke_, ¦2017.03: «1» ¦HEAD(241831e): «HERE:␤- sym: :␤- O: ␤␤1»
MasterDuke_ this ^^^ was talked about over in #perl6, github.com/rakudo/rakudo/blob/nom/....nqp#L4504 introduced in github.com/rakudo/rakudo/commit/cd...a1c4018b7b 03:25
Geth nqp: e843d339bc | MasterDuke17++ | docs/ops.markdown
Alphabetize the ops and use consistent wording
03:35
rakudo/nom: c9ebfc2023 | TimToady++ | src/Perl6/Grammar.nqp
remove inadvertent debugging line
03:46
TimToady guesses that probably snuck in at some point due to hitting 'u' one too many times in vim, since it certainly wasn't part of the uncurse effort... 03:53
yoleaux 02:42Z <MasterDuke_> TimToady: if you backlog here irclog.perlgeek.de/perl6/2017-04-18#i_14443061, was this intended?
TimToady probably one of the earlier 'useless use' thingies that I backed into 03:55
course, I'm starting to get to the age where I can just blame brainrot... 03:56
nine YEAH, YEAH, YEAH, YEAH! I just managed for the first time to run Inline::Perl5's test suite using moarvm, nqp, rakudo _and_ Inline::Perl5 installed from RPM packages. 05:37
This is it! The culmination of 16 months of working on precomp stuff
Yesterday evening I was already so close. I got the RPM to work with my manually compiled rakudo but not with the one installed from the RPM. Turns out I had a workaround in that package that deleted the precomp files for CompUnit::Repository::Staging itself. 05:38
Looks like I don't need that workaround anymore :) 05:39
Now the work on packaging Perl 6 modules and submitting to openSUSE can start in earnest. And now that deployment is sorted out we can start using Perl 6 and Inline::Perl5 in production at work. 05:43
samcv yay! 05:44
nine, yay
bartolin very nice, nine++ 05:46
TimToady do we need a point release? prolly need one for my debugging flub anyway... 05:59
people are likely to have used 'method $obj: @args' in the ecosystem 06:00
TimToady is a little surprised no test caught this, but I guess the harness just tends to ignore stderr 06:02
samcv ok so i got my appimage build attempting to install every module 06:04
into an appimage
nine TimToady: no, I'm lucky. The workaround was in my .spec file :)
samcv still going travis-ci.org/samcv/rakudo-appimag...9739#L2701 not sure how long will take to finish or the best way to record which were uninstallable. 06:05
TimToady darn, I was hoping I wouldn't be the only reason for a point release :)
samcv so i can make some sort of uh. ecosystem warning system idk
bartolin .tell Zoffix unfortunatly 9d8e391f3b (rakudo) does not work on JVM: Unknown encoding 'utf8-c8'. One option would be to add a workaround for JVM there ...
yoleaux bartolin: I'll pass your message to Zoffix.
samcv it installs them not as an appimage but before it's made btw. so that affects the results not 06:06
i guess i can make it a gh-pages thing like i did for the appimages and for moarvm coverage
hopefully travis ci doesnn't stop the build before everything is installed. if it does i'll probably have to split the build up or something
also nine you know about modules. is there a file that would be best to look at after i have tried to install all the modules, so i can get a list of what actualy installed and compare it to the full list? 06:14
TimToady .tell Zoffix We'll probably need a point release before doing Star, 'cuz I screwed up the 'new Foo: ...' syntax by leaving a debugging line in (after worrying about all the heavy stuff, wouldn'tchya know it'd be something stupid) 06:28
yoleaux TimToady: I'll pass your message to Zoffix.
samcv ruh roh 06:29
TimToady, what's a good percentage of eco modules acceptable to be failing 06:31
out of the total
i mean 0 would be nice but seems a bit unrealistic
TimToady um, 0 would be good :0
I suppose it depends on why they're failing
samcv well they shouldn't fail. i mean 06:32
not a good thing
TimToady if they're failing due to extraneous debugging info, well, I know where that came from :)
samcv hm
TimToady if they don't like the new I/O for some reason, that's something else
samcv so far IO::Prompter, Math::ContinuedFractions, List::Utils, Text::Diff, BioInfo:ver('0.4.3'):auth('Matt Oates'), Math::PascalTriangle:ver('0.1.0'), DateTime::Math Flower, Hinges
TimToady if they happen to think Cursor and Match are different types, well... 06:33
samcv are failing. out of those travis has tested
travis-ci.org/samcv/rakudo-appimag...9739#L3524 what is this. possibly recent change?
t/math.t ..1/17Ambiguous call to 'infix:<->'; these signatures all match: 06:34
:(DateTime:D \a, DateTime:D \b)
:(DateTime:D $a, DateTime:D $b)
that doesn't sound that great
TimToady dunno, but if DateTime is malfing, that could easily take down a number of other modules 06:36
samcv yea
[Tux] This is Rakudo version 2017.04-2-gc9ebfc202 built on MoarVM version 2017.04
csv-ip5xs 3.182
test 12.651
test-t 5.111 - 5.118
csv-parser 13.127
RabidGravy BTW, I testted all of mine on Saturday so that's about 7% passing :)
samcv hehehe you have 7% of all modules?
o.O 06:37
TimToady well, we could've broken them since Saturday :)
samcv some of the have no plan in tap output 06:38
list::util has t/08-combinations.t ....42/?Type check failed in binding; expected Positional but got Seq ((["a", "b", "c"],
RabidGravy yeah 7.63% it appears ;-)
samcv heh my job has now been terminated X|
will have to randomize which modules go each time. or maybe split them up between two jobs idk 06:39
RabidGravy it was over 10% at some point last year, but I slowed down
TimToady well, maybe we'd better see the downstream fallout over the next day or two; a lot of people hacked on a lot of things over the last month 06:43
RabidGravy: did yours all work, or did you have to tweak 'em?
RabidGravy a couple of tweaks, the symlink semantics bit in one place and there was something with IO::Path.append that needed more coercing 06:46
TimToady Math::ContinuedFractions appears not to download from github
RabidGravy nothing like "lexical import" though
TimToady huh, can't get IO::Prompter either, maybe my zef is screwed up or too old 06:47
or maybe github is screwy at the moment 06:49
samcv well it installed or tried to install 95 modules 06:56
so that's not bad for one travis run. we have 700 right?
just gonna need at least 7 travis builds XD
86 pass and 11 fail. so 06:59
that's not good statistics so far :O
nine samcv: I'm not sure I understood your question 07:03
samcv uhm. there's a json file that keeps track of what's installed right. as far as modules goes?
here's the test results gist.github.com/samcv/835b0640ef91...771e230b6e
RabidGravy 812 07:04
samcv so that's an 8.8% failure rate out of the modules it had time to install
RabidGravy, modules total?
RabidGravy yeah 07:06
phew, none of mine in the FAIL list
;-)
samcv time to uhm. i guess. split it into 10 builds 07:07
i'll sort the modules alphabetically and then choose 1/10 of a section to try and install
nine samcv: Well there's a dist's meta data that's stored in the repo. But I'm not sure what exactly you're after. What do you mean by "full list"?
samcv what is installed
a list of everything installed i can process programically 07:08
though i could do zef list --installed i guess. maybe that's the best way? but i do want to know the file it's stored in too. since that with help with other things
nine m: say $*REPO.next-repo.installed>>.meta 07:09
camelia ({auth => github:niner, author => github:niner, authors => [Stefan Seifert], depends => [LibraryMake], description => Use Perl 5 code in a Perl 6 program, files => {resources/libraries/p5helper => 2F6B236B77BC9D0E77C1B73DBAFA53E81D238E83.so}, license => …
nine samcv: ^^^
samcv thx 07:12
TimToady IO::Prompter is using ancient syntax ('as') in a signature
Math::ContinuedFractions appears to just be producing wrong results 07:13
Text::Diff is failing with: No such method 'succ' for invocant of type 'List' 07:14
so seems to be a variety of reasons 07:15
samcv yeah 07:16
Zoffix . 07:39
yoleaux 06:05Z <bartolin> Zoffix: unfortunatly 9d8e391f3b (rakudo) does not work on JVM: Unknown encoding 'utf8-c8'. One option would be to add a workaround for JVM there ...
06:28Z <TimToady> Zoffix: We'll probably need a point release before doing Star, 'cuz I screwed up the 'new Foo: ...' syntax by leaving a debugging line in (after worrying about all the heavy stuff, wouldn'tchya know it'd be something stupid)
Zoffix Cool. I don't think NeuralAnomaly knows how to do point releases, so I get to keep my skills sharp by doing it... *dun-tun-tun*... by hand! 07:40
.tell AlexDaniel something's wrong with committable6. Doesn't respond. I tried running ./verify-and-unfuck but it seems to just sit there; I tried deleting the "deleteme" file; but nothign helped 07:42
yoleaux Zoffix: I'll pass your message to AlexDaniel.
nine Oh and once we've got all Perl 6 modules in the Open Build Service, we could use that for smoke testing the whole ecosystem. Because the build service will rebuild packages on changes to their dependencies. 07:44
Zoffix Heh. Google doesn't want us to do a point release apparently: "Starting VM instance "perlbuild2" failed. Error: The zone 'projects/perl6-build/zones/us-east1-b' does not have enough resources available to fulfill the request. Try a different zone, or try again later."
AlexDaniel: you have a robomessage 07:47
AlexDaniel .
yoleaux 07:43Z <Zoffix> AlexDaniel: something's wrong with committable6. Doesn't respond. I tried running ./verify-and-unfuck but it seems to just sit there; I tried deleting the "deleteme" file; but nothign helped
Zoffix And it pinged out like 1 min ago 07:48
AlexDaniel hmm these aren't the files you should use for such situation, actually XD
Zoffix AlexDaniel: also, is there a ./stop-all ?
AlexDaniel dammit I have to clean it up
Zoffix :}
AlexDaniel Zoffix: yes, it is 「rakudobrew build moar」 07:49
Zoffix :o 07:50
AlexDaniel hm, it failed it on HEAD
which was 4 hours ago
e: say 42 07:51
ah-ha
samcv i can't report issues here github.com/colomon/io-prompter 07:53
there's no issues tab X|
Zoffix hm... I see no option to switch zone for my VM... :S 07:54
AlexDaniel c: HEAD^ say 42
committable6 AlexDaniel, ¦HEAD^: «42»
AlexDaniel c: HEAD say 42
committable6 AlexDaniel, ¦HEAD(c9ebfc2): «No build for this commit»
Zoffix samcv: just make a fake PR and describe issue there, along with saying Issues tab is disabled
AlexDaniel alright, this should fix itself ≈3 minutes 07:55
Zoffix c: 2017.04 class Foo {}; $ = new Foo:
committable6 Zoffix, ¦2017.04: «HERE:␤- sym: :␤- O: ␤»
AlexDaniel oh noes
Zoffix ehehe. This is so funny :)
AlexDaniel this is… horrible actually
Zoffix It's a new feature, to... um... discourage people from using that notation :P 07:56
AlexDaniel are we going to have a 2017.04.01 to fix that? 07:57
Zoffix Yup. As soon as manage to power on a VM 07:58
It's 4AM, I guess everyone's running nightly stuff, which is why the zone is too busy :| 07:59
Zoffix tries creating a new VM in another zone, hoping to hook up the same drive to it 08:00
Don't see an option. Stupid google 08:03
samcv omg this module is so bad 08:07
Type check failed in binding to parameter '$in'; expected IO but got <anon|94140617225856> (<anon|94140617225856>...)
io::prompter. with `:d(:$default) as Str = "",` as a parameter 08:08
at least fixing that parameter makes more than 0 tests pass? 08:09
AlexDaniel e: say 42 08:10
evalable6 42
AlexDaniel alright
Zoffix: thanks!
Zoffix ugh, this is really annoying. 08:13
No easy way to move to new zone or even make the VM non-ephemeral. 08:14
or detach a drive from one VM to use on another 08:15
samcv ok will have to fix some IO related stuff in this module 08:17
arghhh 08:19
Zoffix ... "Starting VM instance "perlbuild2-non-preemptive" failed. Error: A required resource is not available."
And it deleted the VM I was trying to create.. wtf :(
samcv class StubIO is IO
ok. i think i can safely change these to IO::Handle's too 08:20
now all but one test file works 08:23
Zoffix YEY! I'm in :) Had to bump down the CPUs to 8 08:26
samcv checked another one off. gist.github.com/samcv/835b0640ef91...771e230b6e 08:30
of failing modules 08:31
can we get an intern
Zoffix samcv: what's this stuff?
samcv failing modules :X
just made a PR due to IO breakage from that one module
Zoffix samcv: but what's with the selection of modules? How were they selected? 08:32
samcv uh. not purposefully. 08:33
they are just only the ones that completed/failed before travis ended the build
i tried to install every single module
Zoffix, can you or somebody write me some code to divide an array holding all 700 or so module names into sections?
so i can set an ENV variable to a number (number of builds) and another to which build it is. 08:34
Zoffix m: my @a = 1..10; dd @a.rotor: @a/5, :partial
camelia ((1, 2), (3, 4), (5, 6), (7, 8), (9, 10)).Seq
samcv so NUM_BUILDS=10 then it splits the array into 10 sections
Zoffix m: my @a = 1..10; dd @a.rotor: @a/3, :partial
camelia ((1, 2, 3), (4, 5, 6), (7, 8, 9), (10,)).Seq
samcv and BUILD_NUM=2 then it needs the 2nd section of that array
and only build that section. and also make sure that the 10th or last one will get ones that are in addition to the divisor 08:35
err remainder type things
hm
that seems good
thank you kindly. :partial is critical :) did not know that one. was trying to hack something and it ended up being error prone
Zoffix m: %*ENV<NUM_BUILDS BUILD_NUM> = 10, 2; my @a = 1..100; dd (@a.rotor: @a/(%*ENV<NUM_BUILDS>-1), :partial)[%*ENV<BUILD_NUM>] 08:36
camelia (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
samcv m: %*ENV<NUM_BUILDS BUILD_NUM> = 10, 10; my @a = 1..100; dd (@a.rotor: @a/(%*ENV<NUM_BUILDS>-1), :partial)[%*ENV<BUILD_NUM>] 08:37
camelia Nil
samcv m: %*ENV<NUM_BUILDS BUILD_NUM> = 9, 10; my @a = 1..100; dd (@a.rotor: @a/(%*ENV<NUM_BUILDS>-1), :partial)[%*ENV<BUILD_NUM>]
camelia Nil
samcv m: %*ENV<NUM_BUILDS BUILD_NUM> = 10, 9; my @a = 1..100; dd (@a.rotor: @a/(%*ENV<NUM_BUILDS>-1), :partial)[%*ENV<BUILD_NUM>] 08:38
camelia (100,)
samcv m: %*ENV<NUM_BUILDS BUILD_NUM> = 10, 8; my @a = 1..100; dd (@a.rotor: @a/(%*ENV<NUM_BUILDS>-1), :partial)[%*ENV<BUILD_NUM>]
camelia (89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99)
samcv m: %*ENV<NUM_BUILDS BUILD_NUM> = 10, 1; my @a = 1..100; dd (@a.rotor: @a/(%*ENV<NUM_BUILDS>-1), :partial)[%*ENV<BUILD_NUM>]
camelia (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
samcv m: %*ENV<NUM_BUILDS BUILD_NUM> = 10, 0; my @a = 1..100; dd (@a.rotor: @a/(%*ENV<NUM_BUILDS>-1), :partial)[%*ENV<BUILD_NUM>]
camelia (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
Geth rakudo/nom: 88a6facc81 | (Zoffix Znet)++ | src/core/IO/Path.pm
Undo IO::Path.resolve fix on JVM

Seems it doesn't know about ut8-c8 yet, so swap JVM to use the pre-fix code.
08:39
roast: 6fc4cf833d | (Zoffix Znet)++ | integration/weird-errors.t
Test there is no unwanted output with `new Foo:`
09:00
rakudo/nom: c8cb6a61fa | (Zoffix Znet)++ | docs/ChangeLog
Log 2017.04.1 changes
rakudo/nom: 7eb37996a3 | (Zoffix Znet)++ | docs/announce/2017.04.1.md
Add 2017.04.1 Release Announcement
09:02
rakudo/nom: e49b3728a8 | (Zoffix Znet)++ | VERSION
[release] bump VERSION to 2017.04.1
09:03
Zoffix Does changelog in emailed release announcements always looks this messed up? www.nntp.perl.org/group/perl.perl6....15215.html 09:18
Seems multi-line entries have the 1..* lines flush to left margin instead of indented :S
Looks fine in my email reader :/ 09:19
awww... 09:24
Looks like the rakudo.org/downloads/rakudo/ script doesn't know how to handle point releases either...
Hope I can fix it in time... I need to wake up for work in 35 minutes 09:26
I guess it's 'cause PHP's glob sorts it that way :| 09:27
Done. 09:55
Geth rakudo/nom: 7e826f434d | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/announce/2017.04.1.md
It's not the future yet.
09:58
Zoffix "You had one job" :)
And that file made it into the tarball. Brilliant.
At least the filename is right 09:59
Annndd cut 10:01
Zoffix celebrates with appropriate amount of fun
.tell bartolin Thanks. Fixed by undoing the bugfix for JVM: github.com/rakudo/rakudo/commit/88...01e97181f4 10:03
yoleaux Zoffix: I'll pass your message to bartolin.
Zoffix .tell TimToady point release cut. We also discovered a bug on our downloads page that didn't sort point releases correctly. So this was all beneficial :)
yoleaux Zoffix: I'll pass your message to TimToady.
jnthn nine: On Rakudo latest I'm seeing: 10:06
An exception occurred while evaluating a constant
at /home/travis/build/edumentab/rmtly/site#sources/F6A76DDBC4B3F739D1B0D02B0403CF4AEB0CBC07 (Digest::SHA1::Native):5
Exception details: No such method 'absolute' for invocant of type '<anon|863819600>'
That line is github.com/bduggan/p6-digest-sha1-...ive.pm6#L5
I think you changed something in this area recently? 10:07
samcv jnthn, i'm getting all the eco modules tested 10:08
well trying. i split it into 10 pieces to have travis ci do 10:09
so hopefully then we can get numbers for every single module
thanks Zoffix for helping me with rotor, it's working beautifully so far 10:10
jnthn Sounds nice 10:12
samcv very slow. but. will be a good starting point. and hopefully can get it so all builds complete 10:13
and then maybe upload the logs or something somewhere, or process them idk
one step at a time
though it seems impossible to install every module within 50 minute time frame for travis :( though i could hack it and commit a tar.gz to a branch, then trigger another build by commiting it 10:15
until they're all actually intstalled.
Zoffix "...On Rakudo latest I'm seeing..." 10:22
Sounds like it's a good thing I ensured the download page works right even when there's more than one point release :}
Oh cool. The last 3 releases all happened on the same day of the month (if we assume today's point release is the release for this month) 10:33
Geth rakudo/nom: 41bb79c9ea | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/release_guide.pod
List 2017.04.1 in past releases list

  - Also, fix the date for 2017.04 release
nine jnthn: indeed, that's caused by github.com/rakudo/rakudo/commit/d4...9656c28232 :/ 10:35
jnthn That very line was changed some days back from .abspath :) 10:38
nine Wouldn't have mattered. Fix coming up
Zoffix \o/ 10:39
nine Do we have something like Moose's "handles" for delegating a whole bunch of methods?
Zoffix: that's definitely something for the point release 10:40
Zoffix no problem
nine TimToady will be happy that he now has company :)
Zoffix :)
jnthn nine: yes, it's called handles :) 10:41
nine Or...maybe I should just mixin the Callable stuff. That way we stay very close to the original IO::Path object
Ah, no that's not possible as the point of the exercise is to defer creating the path in the first place 10:42
Haha, "handles" is excruciatingly well documented ;) docs.perl6.org/language/glossary#i...ry-handles 10:43
Zoffix nine: docs.perl6.org/language/typesystem...it-handles 10:44
nine Ok, I will delegate these method calls: Str gist perl absolute is-absolute relative is-relative parts volume dirname basename extension open resolve slurp lines comb split words copy 10:48
I.e. everything that handles the path name itself or does read access on the file. I better not delegate anything related to permissions or modification of the file. 10:49
Now how can I lazily initialize this attribute? 10:53
Zoffix = do {} ? 10:54
Ah no
m: use nqp; class Foo { my $def; nqp::bindattr($def, Scalar, '$!whence', {say "inited"}); has $.foo := $def; }.new.foo 10:57
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use := to initialize an attribute
at <tmp>:1
------> 3nce', {say "inited"}); has $.foo := $def7⏏5; }.new.foo
Zoffix shrugs
nine I guess I have to use a Proxy? 10:58
Zoffix leaves for work
ping me when it's time to cut the point release 10:59
nine m: class Foo { has $.foo handles <bar>; method BUILD() { $!foo = Proxy.new(FETCH => method () { note "initing foo"; class :: { method bar() { "bar" } }.new }, STORE => method () { die }) } }; my $foo = Foo.new; say $foo.bar; say $foo.foo; 11:01
camelia initing foo
bar
<anon|60446032>.new
Zoffix m: use nqp; class Foo { has $.foo is rw; submethod TWEAK { nqp::bindattr($!foo, Scalar, '$!whence', {say "inited"}); } }.new.foo = 42
camelia inited
Zoffix hm, assignment works, but not reading
m: use nqp; class Foo { has $.foo; method foo { $!foo //= do {say "inited"; 42} } }; my $n = Foo.new; say "started"; dd $n.foo; dd $n.foo 11:02
camelia started
inited
42
42
nine But methods delgated by "handles" won't go through the accessor 11:04
Zoffix nine: BTW, I've seen some comments in IO source about not being able to use `handles` in core. So you might want to test it out first
nine on it
AlexDaniel hm, interesting 11:16
c: releases say 42
committable6 AlexDaniel, ¦releases (18 commits): «42»
AlexDaniel … that's not what I meant!
c: releases say rand
committable6 AlexDaniel, gist.github.com/be6a6a39422634b94f...d94b2a8c8b 11:17
AlexDaniel oh, what a good bot!
picked up 2017.04.1 automatically
AlexDaniel pets committable6
11 seconds… that's getting slow 11:26
.oO( can we stop making releases so that I don't have to fix committable6? :P )
11:27