»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
tobs tbrowder: you mean single-pass parsing? That's a necessity if you allow code execution at compile time like Perl 6 does. 00:05
If you parse a `use` statement which modifies the grammar by installing a slang, for example, how would you do the second parsing pass? 00:06
00:07 vrurg_ joined 00:09 vrurg left
tobs You have to have figured out that this is a use statement when you first see it, because the rest of its lexical scope will want to be parsed in that slang, in this example. 00:09
00:12 vrurg_ left 00:14 vrurg joined
tobs tbrowder: I found this historical piece about it github.com/perl6/specs/blob/master...ss-parsing 00:19
00:24 neutron_stz joined 00:34 vrurg left, vrurg joined
tbrowder tobs: thnx 00:46
00:46 lucasb left
tbrowder ah, good, that is exactly what i needed! the pod parsing is effectively a slang so, once in it, i think the rules in S02 allow a little flexibility for what i think needs to be done. thanks again! 00:51
ugexe fwiw i dont interpret that as "slangs don't have to follow one-pass parsing" 00:53
then again i dont interpret it as slangs cannot follow one-pass parsing 01:06
s/cannot/must/
01:11 epony left
tbrowder what i'm looking at is how "one-pass parsing" applies in regard to pod. after tokenizing, is further processing or manipulation o a 01:30
*of the token breaking the rule if the 01:31
*breaking the rule?
can one do things like pushing a token on a stack and using it later? etc. 01:33
02:09 leont joined 03:09 reportable6 left, notable6 left, benchable6 left, bisectable6 left, unicodable6 left, nativecallable6 left, shareable6 left, squashable6 left, coverable6 left, undersightable6 left, releasable6 left, greppable6 left, quotable6 left, bloatable6 left, statisfiable6 left, evalable6 left, committable6 left, benchable6 joined, ChanServ sets mode: +v benchable6 03:10 shareable6 joined, committable6 joined, bloatable6 joined, nativecallable6 joined, ChanServ sets mode: +v nativecallable6, undersightable6 joined, statisfiable6 joined, ChanServ sets mode: +v statisfiable6 03:11 greppable6 joined, ChanServ sets mode: +v greppable6, notable6 joined, ChanServ sets mode: +v notable6, unicodable6 joined 03:12 releasable6 joined, ChanServ sets mode: +v releasable6, coverable6 joined, squashable6 joined, quotable6 joined, reportable6 joined, ChanServ sets mode: +v reportable6 03:13 bisectable6 joined 03:14 evalable6 joined, ChanServ sets mode: +v evalable6 03:28 silug left 03:51 gregf_ left 04:00 reach_satori joined 04:02 roguelazer left 04:04 roguelazer joined 04:14 leont left 04:28 neutron_stz left 04:52 Sgeo joined 05:14 ChoHag left 05:50 robertle left 05:52 khisanth_ left 06:07 Sgeo left 06:08 Sgeo joined 06:12 nadim_ joined 06:13 khisanth_ joined 06:17 jmerelo joined, nadim_ left
jmerelo releasable6: status 06:31
yoleaux 15 Jun 2019 23:39Z <tbrowder> jmerelo: can we see a link to survey results, please?
releasable6 jmerelo, Next release in ≈4 days and ≈12 hours. 3 blockers. 221 out of 623 commits logged (⚠ 1 warnings)
jmerelo, Details: gist.github.com/d6fc2acd08d92d0c98...c09209b7e5 06:32
jmerelo .tell tbrowder here's how it's going drive.google.com/file/d/1g5apFhF8e...sp=sharing 06:34
yoleaux jmerelo: I'll pass your message to tbrowder.
06:37 nadim_ joined 06:41 nadim_ left
jmerelo m: say $*PERL.compiler 06:44
camelia rakudo (2019.03.1.385.ga.643.b.8.be.1)
jmerelo m: say $*PERL.compiler.id 06:45
camelia 183058C667FD52BEB3000F4773908F835DD6F330
jmerelo m: say $*PERL.compiler.release
camelia
jmerelo commit: releases say $*PERL.compiler.release 06:50
committable6 jmerelo, ¦releases (37 commits): «␤»
07:00 molaf joined
jmerelo commit: releases say $*PERL.compiler.codename 07:02
07:02 aborazmeh joined, aborazmeh left, aborazmeh joined
committable6 jmerelo, ¦releases (37 commits): «␤» 07:02
jmerelo commit: releases say $*PERL.compiler.build-date 07:05
committable6 jmerelo, gist.github.com/5a386b470458762c60...f7149d4f23
elcaro a 07:11
07:15 epony joined 07:20 nadim_ joined 07:23 rindolf joined
jmerelo elcaro: hi 07:23
07:29 nadim_ left, adu left 07:40 nadim_ joined 07:47 nadim_ left 07:51 nadim_ joined 07:59 nadim_ left 08:09 sena_kun joined 08:12 aborazmeh left 08:18 rindolf left 08:19 stux|RC left 08:23 rindolf joined 08:31 stux|RC joined 08:55 netrino__ joined 09:12 john_parr left 09:20 cpan-p6 left 09:23 wamiks joined 09:25 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 09:57 leont joined 10:04 kini left 10:06 go|dfish left
tbrowder .tell jmerelo thnx. suggestion for next survey: list of p6 features (including kebab-case) and allow user to add an integer to rank them in importance. probably not a good idea for most surveys, but i get the feeling the actual audience is pretty much in the p6 camp so it might be of value for future. 10:09
yoleaux 06:34Z <jmerelo> tbrowder: here's how it's going drive.google.com/file/d/1g5apFhF8e...sp=sharing
tbrowder: I'll pass your message to jmerelo.
10:12 go|dfish joined 10:15 kini joined 10:16 wamiks left
jmerelo tbrowder: I'll share it with you, it's already prepared. 10:20
yoleaux 10:09Z <tbrowder> jmerelo: thnx. suggestion for next survey: list of p6 features (including kebab-case) and allow user to add an integer to rank them in importance. probably not a good idea for most surveys, but i get the feeling the actual audience is pretty much in the p6 camp so it might be of value for future.
10:28 pecastro joined 10:47 mowcat joined 10:52 Black_Ribbon left 11:18 wamiks joined
Xliff Is there anything out there that will pretty print a gist? 11:25
11:25 mowcat left
timotimo Xliff: i'd recommend DDT actually 11:25
lizmat Data::Dump::Tree ? 11:26
Xliff Hrm. 11:28
Need it to work with diag
timotimo there should be a way to get that to work :) :) 11:30
this is perl6 after all
Xliff Yeah. Trying something. One mo' 11:31
timotimo if you're working with your unit tests, i guess just wrap diag, go nuts, the world is yours
11:46 espadrine_ joined 11:49 hankache joined
Xliff Yeah. That's what I ended up doing. 11:49
11:59 espadrine_ left 12:04 AlexDaniel left 12:19 vrurg left 12:33 jmerelo left 12:34 vrurg joined 12:38 espadrine_ joined 12:47 zakharyas joined 12:58 espadrine_ left 13:13 Skarsnik joined
Skarsnik Hello 13:13
AlexDaniel`, did you manage to update Gumbo with zef? the version is * for the module. I don't remember if that still work xD 13:14
Kaiepi greppable6, If two astronauts were on the moon and one bashed the other's head in with a rock would that be fucked up or what? 13:18
greppable6 Kaiepi, Found nothing!
Kaiepi fuck i could've sworn i shitposted in a unit test somewhere in the ecosystem
timotimo i also seem to recall reading that somewhere 13:20
Xliff m: $*PERL.compiler.version.say
camelia v2019.03.1.385.ga.643.b.8.be.1
Xliff m: $*VM.version.say
camelia v2019.03.110.g.081823.ffc
Kaiepi maybe it was in rakudo 13:21
Xliff Anyone running a fresh rakudo from git? What's the version?
13:23 bobby joined, bobby left 13:24 john_parr joined
timotimo v2019.03.1.602.g.8.a.37.b.9311 13:26
Xliff Thanks! 13:29
13:48 bobby joined 13:50 vrurg left 14:01 vrurg joined 14:04 zakharyas left 14:07 mowcat joined 14:28 holyghost joined 14:31 vike joined, molaf left 14:38 AlexDaniel joined
AlexDaniel . 14:39
Skarsnik: I don't remember, I think you need to --force it or something
14:40 wamiks left
vrurg I was just asked why trigonometry functions are based on floating point instead of libtommath which is obiously compiled into moar? 14:43
yoleaux 15 Jun 2019 15:32Z <SmokeMachine> vrurg: I've answered your PR and your issue there... Do you have any idea what should we do?
vrurg .tell SmokeMachine Sorry, I saw your replies but was preparing/commuting and now attending the conference. Will asnwer ASAP. 14:45
yoleaux vrurg: I'll pass your message to SmokeMachine.
14:48 vrurg left 14:57 vrurg joined
timotimo vrurg: i'm not aware of anything libtommath does that's not full decimals tbh 15:10
vrurg timotimo: thanks! 15:14
15:19 hankache left
timotimo on the other hand 15:20
i haven't actually looked closely
it's just that to me libtommath is "the library for handling mp_int" which is big integers
15:47 Cabanossi left
Xliff m: class A {}; my A @a; @a = () 15:48
camelia ( no output )
Xliff m: class A {}; my A @a; @a = (); @a = Nil 15:49
camelia ( no output )
Xliff m: class A {}; class B {}; my A @a; @a = (A.new, B.new); @a = Nil
camelia Type check failed in assignment to @a; expected A but got B (B.new)
in block <unit> at <tmp> line 1
15:53 rindolf left 15:55 molaf joined
Xliff m: class A {}; class B {}; my A @a; @a = A.new xx 3; @a = Nil; 15:55
camelia ( no output )
15:56 bobby left, rindolf joined 15:58 Cabanossi joined 16:00 pecastro left 16:17 pecastro joined
Xliff Looks like there may be a slowdown issue with 3.685 16:23
I'm running extensive unit tests on my latest and those tests slow WAAAAY down as they proceed.
16:27 vrurg left 16:29 jmerelo joined
jmerelo squashable6: status 16:29
squashable6 jmerelo, Next SQUASHathon in 18 days and ≈11 hours (2019-07-06 UTC-14⌁UTC+20). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel jmerelo: still I recommend to make a math sequence squashathon 16:33
the one about the ecosystem is not very actionable
jmerelo AlexDaniel: I'd love the Math one. But unfortunately, few else will.
AlexDaniel ? Why?
sena_kun likes the math sequence idea
jmerelo AlexDaniel: and we need to do something about the ecosystem, even if it's only moving issues somewhere else. 16:34
AlexDaniel it sounds fun – you pick a sequence, write a few lines of code, submit a pull request
that's what most potential contributors will be able to do
and the ecosystem one… there are 29 tickets and I'm not sure if I can solve even one
jmerelo AlexDaniel: they need to be solved, even if it's not fun 16:35
16:35 pecastro left
AlexDaniel what's the point of having a squashathon that is not fun? 16:35
last time I checked core contributors were not very active anyway
sena_kun I wouldn't say it is about "fun", but about being approach-able in an event-style fashion. e.g. in doc repo there are tickets like "Write an example" and "Rewrite the whole documentation system". The first one suits for a one-day event, the second one - totally not. 16:36
jmerelo AlexDaniel: Well, it's a community squashathon. We should at least focus on something that is community-maintained
AlexDaniel sena_kun: please help :) 16:37
jmerelo AlexDaniel: we can do it the previous weekend, or the next, or something.
sena_kun AlexDaniel, we need enforcements in this sector? :) 16:38
jmerelo We can have every month the SuperFunSquashathon on some topic, or module, or whatever. But you said yourself the ecosystem is coming apart at the seams.
Sewing it back together is my idea of fun...
AlexDaniel also it will be after the release, so a great time to get new people on board 16:39
jmerelo AlexDaniel: did you see this news.perlfoundation.org/2019/06/gra...-38519722, BTW? 16:40
sena_kun there are cases when you have 10 tasks that can be solved by a single person in a hour or two, so can be parallelized, and there are tasks that can be solved by a single person in 10 or 20 hours, these can't be parallelized.
jmerelo AlexDaniel: is the author on board? Will you be able to get him to set the hook so that we keep track of who's done what? Is he or she going to be there to accept PRs during the weekend? 16:41
AlexDaniel jmerelo: IIRC the author made a blog post with a call for contributors, so I think they'll be happy to accept contributions. But yes, if we want to do it next month, we should get in touch with them 16:42
16:42 lucasb joined
jmerelo AlexDaniel: please do that and if the author is on board, we'll think about it. 16:42
16:43 uzl joined
uzl .tell jmerelo For next year survey, P6 favorite features could be make into a listicle that the community agree on. Though an 'other' field could be there too. 16:44
yoleaux 14 Jun 2019 05:30Z <jmerelo> uzl: I have no idea how to do any of that. Can someone do that for me? Can you?
uzl: I'll pass your message to jmerelo.
jmerelo uzl: I'm right here. tbrowder also suggested to vote on features. 16:45
yoleaux 16:44Z <uzl> jmerelo: For next year survey, P6 favorite features could be make into a listicle that the community agree on. Though an 'other' field could be there too.
Xliff jmerelo: I've also suggested extending the length of these squashathons so that it's not so Euro-centric. Are you still thinking about that? 16:46
jmerelo Xliff: I already did. They take a few hours more, start earlier, end later.
Xliff Ah! Thanks.
uzl That's a great idea too. As of now, many of the features repeat (e.g., Grammars).
Xliff Anyone have some time to take a quick look at this slowdown issue I am noticing 16:47
jmerelo uzl: OK
Xliff Yes... it involves cloning one of my projects. It's just a shy under 19kLOC! It's not like it's GTK or anything! :)
(and I promise... fairly standalone)
jmerelo Xliff: post the URL
Xliff One sec. system wants to buffer me... 16:48
AlexDaniel jmerelo: github.com/ajs/perl6-Math-Sequences/issues/30 16:49
Xliff [email@hidden.address]
then: "git checkout -b obj-testing"
Er... oops 16:50
github.com/Xliff/p6-Amazon-AWS-EC2.git
16:50 pmurias joined, uzl left
Xliff Once checked out, do: 16:50
16:50 vrurg joined
Xliff perl6 -Ilib t/01-types.t --unit=CapacityReservation --number=1000 16:50
Mine takes about 1m35 seconds to run. You WILL notice the slowdown as time progresses. 16:51
Do not know if that is a sign of a performance issue or a memory leak.
jmerelo Xliff: prior to that, zef install --deps-only .
Xliff Um... oops.
No META6.json, yet
jmerelo agh, no meta
Xliff One sec 16:52
zef install Base64::Native Cro::HTTP::Client DateTime::Format Digest Digest::HMAC Digest::SHA256::Native File::Find Method::Also XML::Class
perl6 -Ilib t/01-types.t --unit=ClientVpnEndpoint --number=1000 16:53
# Takes 7.5 minutes!!
jmerelo Xliff: do I need an Amazon ID or something? 16:54
Xliff No
Well, you do if you want to start and stop EC2 instances.... which are working, currently! :)
jmerelo fails with usage message about --unit being wrong or something 16:56
Xliff: you sure that's the branch? it does not even have a --number option in MAIN 16:57
Xliff git checkout -b obj-testing
AlexDaniel Skarsnik: that gumbo issue… 17:00
Xliff Yeah. This is definitely a slowdown issue. 17:01
There's nothing in these tests that should bog the code down over time.
AlexDaniel Skarsnik: first of all, it seems like the it is so much faster now
Skarsnik: I mean gumbo itself
Skarsnik: or the perl6 glue, something, I don't know, but it feels faster
Skarsnik: and yes, IT NO LONGER CRASHES!!!!!!!
17:03 adu joined 17:06 wamiks joined
AlexDaniel ffaaaaaaantaaaastiiic 17:07
jmerelo Xliff: good luck then 17:08
Xliff
.oO( well, at least someone can be happy about the hard work they've put in over the weekend... )
jmerelo: Were you not able to get the branch?
jmerelo yep, what I was not able was to run the script. See above 17:09
Xliff Can you fpaste the error?
jmerelo Xliff: usage message: t/01-types.t [--unit=<Any>] 17:10
Skarsnik AlexDaniel, yes I made some improvment like 6 months-1 year ago. Added an opti in xml module and removed some nativecast
Xliff Can you gist or fpaste the error?
Hrm. That's old 17:11
Way old.
jmerelo Xliff: exactly as above. Usage:
Also, t/01-types does not use --number
Xliff Yes. Means it's not the right version.
jmerelo: This is how MAIN should look... 17:14
github.com/Xliff/p6-Amazon-AWS-EC2...01-types.t
jmerelo Xliff: lots of conflicts when I pull now 17:18
Xliff :(
jmerelo Xliff: never mind, you already confirmed there's a slowdown, right?
Xliff Yep.
I should bug it, but I am buried in this ATM
But I do take your initial point. I want to get a META written by tomorrow. 17:19
17:19 vrurg left 17:20 domidumont joined 17:32 vrurg joined 17:46 hankache joined 18:12 dha joined 18:17 pecastro joined 18:22 wamiks left
pmurias AlexDaniel: your grant Perl 6 course comment seems like a bit mean spirited, but I do heavily agree we better docs rather then more disparate introductory material 18:28
* we need
jmerelo pmurias: we need better everything. 18:33
pmurias: and more everything.
El_Che readings jmerelo's comment on the grant
moritz not more bugs :D
jmerelo moritz: we need more people finding bugs, though.
El_Che: tell me what you think when you do 18:34
leont Apparently I'm good at running into them -_-
El_Che I need to think about it, but it correponds to my gut feeling I had
but more eloquently in your case :)
jmerelo pmurias: I don't think it's mean spirited at all. It comes through as a bit angry, byt raises valid points.
El_Che: thanks. 18:35
El_Che the question that popped in my head right away is "what's wrong with "Learning Perl6", moritz's books or andrews book to learn the language 18:36
(but I need to think about it)
moritz well, my has no excercises (which you'd expect from a course), but Think Perl 6 has them 18:37
18:37 domidumont left
El_Che (I always skip excercies, so difficult to weight their importance) 18:37
(I pick a small project as an alternative)
how wonder about the video remark 18:40
jmerelo moritz: a course is so much more than exercises. For starters, you need someone to correct them. 18:41
El_Che I have an account on oreilly and I must say I haven't watched manu videos
I watch conference talks on youtube once in a while
but video course are too slow, most of the time
(I watched DrForr's, and it was fun, for the record :) )
jmerelo moritz: exercises, by themselves, do not add much value. You need to actually have some incentive to solve them. That incentive might be a certificate, for instance.
El_Che maybe younger people watch more video 18:42
jmerelo: my incentive is the small itch I try to solve with the new tech
something tangible
jmerelo El_Che: yep, but I find things like the perl challenge a better incentive.
El_Che indeed! 18:43
jmerelo An exercise that is not going to be corrected or from which you are not going to get any feedback does not really have much value. You can just read a book and say "Maybe I can do this"
dha I'm watching DrForr right now. Live! :-) 18:44
jmerelo reminds everyone who has not done so to fill the survey docs.google.com/forms/d/e/1FAIpQLS...g/viewform 18:45
El_Che: I tend to not like watching videos to learn either. Plus it's very difficult to do them correctly. Most learning platforms have a set of quality tests for videos before they are posted. 18:46
moritz videos are also very hard to update, so you need to have a very good script upfront 18:48
lizmat weekly: digitalbarbedwire.com/2019/06/16/p...d-numbers/ 18:54
notable6 lizmat, Noted!
jmerelo moritz: in general, producing and running an online course is a difficult affair. I have recorded a couple of them, and from the pedagogic design to the actual delivery of the class, it involves lots of iterations to get right, as well as persons that are versed in it
dha lizmat++
jmerelo Not to mention you need an actual course delivery platform where you have some tutoring, peer correction of exercises, and help when you get stuck. 18:55
lizmat weekly: www.quora.com/unanswered/What-woul...-for-today 18:56
notable6 lizmat, Noted!
vrurg is watching DrForr too. It's an interactive video, BTW... ;) 18:57
tadzik Related Questions: Are Roman roads still in use today? :D 18:58
dha Yeah, but you can't throw things at him. :-)
moritz jmerelo: I can imagine
vrurg dha: yeah, that'd be very inpolite of me! 18:59
*impolite 19:00
jmerelo lizmat: answered
lizmat jmerelo++
dha vrurg - I admit I've managed to resist so far.
El_Che ok, comment is on the moderation queue 19:01
19:11 vrurg left 19:12 lucasb left 19:13 jmerelo left, natrys joined 19:17 vrurg joined 19:18 vrurg left 19:19 hankache left 19:27 Skarsnik left 19:31 vrurg joined 19:53 molaf left 19:56 dolmen joined 19:59 antoniogamiz joined 20:02 pmurias left 20:08 dolmen left 20:13 dha left 20:20 dha joined, dha left 20:33 dha joined 20:37 dolmen joined 20:42 molaf joined
antoniogamiz mmm can you think of a situation when a once block is not executed? 20:45
AlexDaniel antoniogamiz: when you try to execute it the second time? :)
antoniogamiz AlexDaniel: haha yep, that's one 20:46
say statements in once blocks should be printed right? 20:50
(yep, I'm using says statements for debugging :D)
AlexDaniel yes, of course
antoniogamiz: are you getting anything out of that block at least once?
also, to make sure it's not some kind of a buffering issue, what about `exit;` ? 20:51
antoniogamiz AlexDaniel: nop, that's the weird thing
oh I will try that
I have added exit; inside once block and it behaves the same way than before 20:52
AlexDaniel oh that's “awesome”
antoniogamiz it is? haha 20:53
timotimo dang, i really need to make the debugger cli more user friendly and make it known widely ... 20:55
or tell people to use comma, of course :)
antoniogamiz mmm I will have to try that, I have a very strange recursive function 20:59
and for some reason it is not executing a once block
21:00 wamiks joined
timotimo it's supposed to run only a single time per program execution if i'm not mistaken 21:00
maybe it just doesn't match your expectationg 21:01
sena_kun .tell samcv hi! can you, please, try to remember where a script that generates gist.github.com/samcv/9177c43f2a78...54c63d28e5 can be found? I am doing kinda archeology at github.com/perl6/ecosystem/issues/324 and would like to revive it for a bit. no problem if not, I'll just write it then
yoleaux sena_kun: I'll pass your message to samcv.
antoniogamiz em that's correct?
I though once blocks were executed each time I called the function :o 21:02
timotimo aha!
antoniogamiz every*
mmmmmmmm
timotimo ah
it works per clone of containing code objects though
says the docs
m: ({ once 42.say } xx 3).map: {$_(), $_()}; 21:03
camelia 42
42
42
lizmat antoniogamiz: it works the same as state variables
timotimo recursion doesn't cause new code object clones, though
antoniogamiz mmmm ok, I will think about it and try to fix it 21:05
but at least the say statements inside the once block should be executed one right?
21:06 sena_kun left
antoniogamiz well, I am going to get some sleep and will try tomorrow! nights o/ 21:09
21:09 antoniogamiz left
AlexDaniel once blocks are very hard to read, IMO 21:10
21:10 dolmen left
AlexDaniel cuz it's always “once per what?” 21:11
21:11 vrurg left
AlexDaniel timotimo: it is not per program execution, that's for sure 21:12
m: sub foo { for ^5 { once { say ‘once!’ } } }; foo; sleep 1; start foo; sleep 1
camelia once!
once!
ugexe it is based on state, so not thread safe
21:12 dha left
AlexDaniel yes, and the question is why we have a once block that can be called more than once 21:14
also it's weird, like: 21:15
m: sub foo($x) { for ^5 { once { say ‘once!’ } }; ‘a’ }; say <a b c>.hyper.map(&foo)
camelia once!
once!
once!
(a a a)
AlexDaniel m: sub foo($x) { once { say ‘once!’ }; ‘a’ }; say <a b c>.hyper.map(&foo) 21:16
camelia once!
(a a a)
AlexDaniel a, you don't even need hyper, right right
m: sub foo($x) { for ^5 { once { say ‘once!’ } }; ‘a’ }; say <a b c>.map(&foo)
camelia once!
once!
once!
(a a a)
21:16 vrurg joined
AlexDaniel if this intuitively makes sense to anyone I'd be surprised 21:17
21:18 adu left
lizmat m: once say "what?" 21:21
camelia what?
lizmat m: once say "what?" for ^2
camelia what?
what?
lizmat m: for ^2 { once say "what?" } 21:22
camelia what?
lizmat hmmm
21:22 mowcat left, vrurg left
lizmat m: state $foo = say "what?" for ^2 21:23
camelia ( no output )
21:23 mowcat joined
lizmat m: state $foo = say "what?" 21:23
camelia what?
21:23 ChoHag joined
lizmat hmmm 21:23
AlexDaniel greppable6: once\s+\{ 21:24
greppable6 AlexDaniel, 36 lines, 13 modules: gist.github.com/27b2558b1f25ed4cac...6d654a4fdc
21:25 kensanata joined 21:36 rindolf left
AlexDaniel lizmat: github.com/perl6/problem-solving/issues/41 21:37
21:38 vrurg joined
ugexe the first example you give doesnt use once 21:39
or are you saying that is the better way to do it?
yes that must be it since the second example also does that 21:40
21:40 vrurg left
ugexe although those require just as much understanding by the caller as once { } 21:41
AlexDaniel ugexe: what do you mean doesn't use once? 21:42
ugexe i misunderstood; your links were alternatives to once { } 21:43
timotimo lizmat: i think in that one example it's once (say what for ^2) so it outputs twice, and does that once 21:44
21:45 rindolf joined
ugexe github.com/moritz/perl6-all-module...izer.t#L30 although this example isn't really an alternative to once { } 21:45
AlexDaniel ugexe: why not? 21:46
ugexe because everytime you call test-example() it will run the code 21:47
AlexDaniel ahhh, good point
ugexe the second example seems the same
AlexDaniel same with the second example, actually
yeah 21:48
maybe it should be `once per sub {}` `once per run {}` `once per thread {}` ? 21:49
21:49 vrurg joined
ugexe well what about a sub inside a sub or whatnot 21:49
thats likely why its once per closure clone as it is now
AlexDaniel I'm fine with `once per closure clone` 21:50
:)
it doesn't feel like it should be the default, though
ugexe i think the default that would satisify the most people would need to involve a lock or atomics or something 21:51
a "only once ever"
but that would be quite different use cases. like what about role Foo { method { once { say $?CLASS } }; class Bar1 does Foo { }; class Bar2 does Foo { }; 21:52
i wonder if syntax like `once :closure, { ... }` `once :global, { ... }` etc would/could make sense or work 21:56
AlexDaniel it's definitely readable and clear 21:59
22:03 leont left 22:11 rindolf left 22:15 wamiks left 22:20 nadim_ joined 22:43 kensanata left 22:54 ChoHag left 22:59 natrys left
AlexDaniel .tell jmerelo github.com/ajs/perl6-Math-Sequences/issues/30 23:13
yoleaux AlexDaniel: I'll pass your message to jmerelo.
23:15 netrino__ left 23:19 pecastro left 23:24 imhtrg joined 23:33 aborazmeh joined, aborazmeh left, aborazmeh joined 23:45 nadim_ left 23:58 Blue^NeXuS joined