»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
tylercurtis \| as specced would seem to be a problem for avoiding generating Captures, (or for generating Captures, even). 00:02
tylercurtis For subs and multi subs, I suppose that it could be optimized away in most cases. 00:07
And for methods, I guess there could be some flag on the method that specifies it, which the generated code for calling would have to look at in a somewhat inelegant manner. 00:08
Somewhat inelegant being because a method call or even an indirected access through the REPR would require the same check. 00:10
TimToady might be sufficient to keep a list of method names that are known to need pessimization 00:24
assuming classes aren't being added on the fly
or we can just outlaw \| on methods in the absence of declarative pessimization 00:25
sorear tylercurtis: compile-time unkown named arguments are a bit of a pessimal case regardless, since they require a general map structure of some kind
TimToady use MONKEY_CAPTURING :)
sorear my current thinking on the matter is that every call passes a list of variables and a "call signature"; the binder builds a capture if needed, fastpathing the no-named case 00:26
TimToady or somehow the REPR of captures knows how to deal with native arglists 00:27
but only goes through the REPR for \| and such 00:28
we might be saying the same thing from opposite ends
tylercurtis My initial idea is that a call passes a count of positional and of named arguments, the positional arguments, and the named arguments as a plist. 00:34
Named argument access then requires linear search, though. 00:35
My primary reason for not wanting to generate captures is for simplicity of bootstrapping, so I'd be willing to sacrifice some amount of named performance for ease of implementation. 00:38
And I suspect that linear search for named access would only be a performance problem for multi-dispatch anyway. 00:40
tylercurtis So, one could handle multis and methods(or possibly just multimethods) differently. 00:41
tylercurtis job & 00:42
flussence tadzik: you broke my single-quoted strings :( github.com/rakudo/rakudo/blob/mast...tr.pm#L113 02:03
mberends clones github.com/svatsan/6model 04:33
phenny mberends: 19 Apr 23:03Z <isBEKaml> tell mberends You can have a look at 6model/jvm build changes so far here: github.com/svatsan/6model.
mberends phenny, tell isBEKaml the Debian 6.0 ant is just a teeny bit older - hopefully you can live with compliance level '1.5': [javac] Compliance level '1.5' is incompatible with source level '1.6'. A compliance level '1.6' or better is required 04:42
phenny mberends: I'll pass that on when isBEKaml is around.
mberends oh, that means Java 6. Well, hopefully Java 5 is good enough for what 6model needs. 04:45
mberends phenny, tell isBEKaml changing the 1.6 to 1.5 in 6model/java/runtime/build.xml works, it builds here with no errors and 29 warnings :) 04:51
phenny mberends: I'll pass that on when isBEKaml is around.
tadzik flussence: oh shit, let me fix this 05:02
how on earth did it compile?
rakudo say 'foo " ~ "bar' 05:03
rakudo: say 'foo " ~ "bar'
p6eval rakudo 887bb5: OUTPUT«foo " ~ "bar␤»
tadzik oh, I see
colomon: pong 05:04
dalek kudo: 374e381 | tadzik++ | src/core/Str.pm:
Fix a typo in Str.pm, flussence++
05:09
colomon tadzik: apparently I sensed your pong and woke up. :) 05:10
tadzik that was a *pong* :)
colomon tadzik: how do we tell what needs to be done to get a panda for a module?
tadzik colomon: be spec.pod-conformant 05:11
github.com/tadzik/ecosystem/blob/m...r/spec.pod
the script checks the existence of just one of the mandatory fields :) 05:12
colomon how often does te script check? I mean, if I brought a module up to spec yesterday, when would it change on modules.perl6.org 05:13
tadzik it's done hourly I think 05:14
colomon then I'm stumped, because as far as I know IO::Prompter has been up to spec for about six hours now.
tadzik hmm
for me it should have a panda 05:15
tadzik runs the script locally
colomon: you broke the script with a broken JSON :) 05:16
missing comma on line 7
colomon argh
how can we test this at home? 05:17
tadzik the script could be more die-hard in suck cases
github.com/perl6/modules.perl6.org/
clone and run PERL_LWP_SSL_VERIFY_HOSTNAME=0 perl build-project-list.pl in web/
dalek href="https://modules.perl6.org:">modules.perl6.org: b1c2acd | tadzik++ | README:
Make README represent the present state
05:20
colomon tadzik: won't that test every module, not just the one I have? 05:28
tadzik colomon: it will, unless you copy META.list to META.list.local and make it just have one line 05:34
colomon may I humbly suggest you might find a way to making checking this simpler?
tadzik :) sure 05:36
echo github.com/colomon/IO-Prompter/raw.../META.info > META.list.local 05:37
PERL_LWP_SSL_VERIFY_HOSTNAME=0 perl build-project-list.pl 05:38
and then enjoy your shiny index.html with a cute panda
colomon bad to bed 05:41
dalek kudo: f356acb | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION to release
06:53
kudo: e09cb7e | moritz++ | docs/ChangeLog:
[docs] add two more entries to ChangeLog
tadzik when is the Star release? 06:54
moritz ask pmichaud :-) 07:00
tadzik :) 07:01
moritz usually on the weekend after the compiler release
tadzik: be sure to get panda in early, and test it
it would be a pity if star shipped without it
tadzik yeah, I still regret that neutro was removed from Star some time ago 07:02
just before the shipping :(
I wonder if it wouldn't be good to limit the modules in the ecosystem which will be available in Star-panda to those who work 07:03
or even which
tadzik gone 07:11
miso2217_ 7 10:04
moritz is a prime
birdwindupbird is odd 10:14
moritz
.oO( 2 is the oddest prime )
10:15
SHODAN no no it's very even 10:22
mathw but it's also odd
birdwindupbird :)
mathw is feeling slightly giddy
smash hello everyone 12:39
moritz \o/ smash 12:42
tadzik o/ 12:43
miso2217 o/
takadonet morning all 12:45
jnthn afternoon, #perl6 14:29
phenny jnthn: 19 Apr 22:43Z <isBEKaml> tell jnthn if you've got time later - please look into this and let me know. Thanks. pastebin.com/zpXKTMGd
jnthn: 19 Apr 23:02Z <isBEKaml> tell jnthn you can have a look at the changes so far here: github.com/svatsan/6model. Let me know what you see in P6Objects issue that I pointed earlier.
moritz \o jnthn
TimToady jnthn: mornin' 14:30
moritz isBEKaml++ # 6model hacking
jnthn o/ moritz, TimToady 14:32
So...no more $dayjob to worry about until Tuesday, and next week looks quiet. :) 14:33
moritz jjinux.blogspot.com/2011/04/call-me...tions.html nice, but doesn't really go deep into the gory details :-) 14:35
jnthn phenny: tell isBEKaml I think the P6Objects.pm issue is maybe that PAST2JST.pm is missing some sync with PAST2DNST.pm in the clr directory. Eventually the hope was to merge the two... mberends++ probably knows a little more on the status of that, but I suspect that's the issue. You could always not build it for now - it's no use until you get to having classes...which needs more of NQPSetting to build.
phenny jnthn: I'll pass that on when isBEKaml is around.
lestrrat is there a way to get the "current class name" within a method, like P5 sub { my ($class, @args) = @_ } ? 14:37
moritz lestrrat: self.WHAT 14:38
lestrrat moritz: .WHAT apparently comes with a trailing () ?
moritz lestrrat: then add .perl at the end
lestrrat haven't tried that... thanks! 14:39
moritz more specifically .WHAT returns the type object, which just happens to stringify to name + ()
jnthn Note that .WHAT is a type obj...what moritz++ said :)
tadzik rakudo: "foo".WHAT.Str.say 14:40
p6eval rakudo e09cb7: OUTPUT«Str()␤»
jnthn Also in theory $?CLASS.perl :)
tadzik hmm 14:40
lestrrat I see. so thing.WHAT is the type obj, .perl does the stringified dump.
tadzik rakudo: say ~"foo".WHAT
moritz jnthn: is'nt $?CLASS the current lexical class?
p6eval rakudo e09cb7: OUTPUT«Str()␤»
jnthn moritz: Yes
moritz jnthn: as opposed to the actual type of the invocant, which could be a subtype
jnthn moritz: But if you're in a method... :)
moritz: Oh, true 14:41
tadzik rakudo: "foo".WHAT.perl.say
p6eval rakudo e09cb7: OUTPUT«Str␤»
jnthn Well, the question didn't specify virtualness :)
tadzik oh there we go
moritz jnthn: it included "like in perl 5"
jnthn Ah
:)
lestrrat $?CLASS is __PACKAGE__ ?
moritz yes 14:42
lestrrat gotcha.
tadzik yay, 5.14 RC1
jnthn nqp: class Dog { method x() { say($?CLASS); say(self.WHAT); } }; class Puppy is Dog { }; Dog.new.x(); Puppy.new.x(); 14:43
p6eval nqp: OUTPUT«Dog()␤Dog()␤Dog()␤Puppy()␤»
moritz tadzik: I'm already perlbrewing it :-)
tadzik oh, top tempting me! :)
must resist, must resi... gah!
tadzik how do I use this perlbrew thing? :) 14:43
moritz cpanm perlbrew 14:44
perlbrew install perl-5.14.0-RC1
wait
:-)
oh, you might need 'perlbrew init' as the second step
tadzik :) will this run the tests to?
moritz yep
and it builds with -j arguments to make 14:45
which is why it takes so long
tadzik did you mean: with no -j args?
moritz it just does 'make test'
and not 'make -j3 test' 14:46
flussence no TEST_JOBS like rakudo? pfft. :) 14:47
moritz dunno 14:48
lestrrat how do you load a class by $classname, and instantiate it? i.e. in P5: eval "require $classname"; $classname->new(..) 15:02
moritz thinks that there's a nice way, and that rakudo doesn't implement it yet 15:03
colomon $classname.eval.new should work, right?
moritz you can try require $classname; my $class = eval $classname; my $object = $class.new 15:04
colomon rakudo: my $s = "Rat"; say $classname.eval.new(2,3)
p6eval rakudo e09cb7: OUTPUT«===SORRY!===␤Symbol '$classname' not predeclared in <anonymous> (/tmp/BWgV1wX2sL:22)␤»
colomon rakudo: my $classname = "Rat"; say $classname.eval.new(2,3)
PerlJam last time I checked that didn't work right
p6eval rakudo e09cb7: OUTPUT«0.666666666666667␤»
colomon ah, but that doesn't include the require part. 15:05
lestrrat will try... 15:05
woot. require + eval worked. thanks! 15:07
tadzik oh, zby will be happy 15:09
Moukeddar hello 15:22
jnthn o/
mathw o/ 15:23
Moukeddar wut? 15:24
mathw Hi Moukeddar 15:25
Moukeddar sounds better :) 15:26
jnthn You're not really meant to try and say "o/" out loud. :) 15:27
(It's meant to look like a person waving hello. :)) 15:28
PerlJam o/~ used mean "musically" or "in a sing-song voice" or something .... now it just means "i've waving a tissue at you" 15:29
Moukeddar LOl
the interwebz
Su-Shee hello everyone! 15:52
jnthn Su-Shee! \o/ 15:53
Su-Shee sings a "hot town summer in the city.." to greet the channel from berlin. ;) 15:54
jnthn It's been hotting up here in Sweden too. 15:58
I'm going to have to stop wearing winter clothes soon, or something. 15:59
Su-Shee I was in (on?) iceland a couple of weeks ago, that was a nice climate. 15:59
jnthn Yes, Iceland seems to have a wonderful colimate. 16:00
er, climate
Su-Shee and insanely nice water. amazing.
jnthn Yeah
tadzik it's shining in here too (Poland)
jnthn And you can take a hot shower for as long as you want \o/
moritz colimates a laser to influence the climate on Iceland
jnthn :P
Su-Shee jnthn: which is exactly what I did - besides spa-ing :) 16:01
tadzik: living next to siberia isn't what it used to be anymore.. ;)
tadzik :) 16:07
pmurias jnthn: what's good about the Icelandic climate? 16:12
jnthn pmurias: Doesn't get much over 20C. :) 16:13
Su-Shee strange mix of heavy weather and soft and mild :)
that on top :)
pmurias: it was around 3°C when we were there and you start to open your window. "what, no it isn't cold..." totally strange. 16:14
pmurias jnthn: so the climate is perfect for staying in doors and writing code? 16:22
jnthn pmurias: Well, there is that. ;) 16:23
pmurias: I actually just generally like cold weather though.
pmurias: I'd much rather go out walking in 10C-15C than 25C.
Su-Shee jnthn: so you're more active in winter too? 16:26
jnthn Su-Shee: Well, or in summer I go to places that aren't too hot 16:27
Su-Shee: When I go to Switzerland for hiking my starting point is to stay over 1km up, which shaves several degrees off the temperature at the base of the mountain range. :)
Su-Shee one year I realized that literally _everything_ I like to do sucks with heat. :)
well except heat-from-oven ;) 16:29
moritz what about living? :-) 16:46
Su-Shee only moderate heat. never over 18°C. I rather wear two sweaters. 16:50
isBEKaml good *, #perl6! 17:00
phenny isBEKaml: 04:42Z <mberends> tell isBEKaml the Debian 6.0 ant is just a teeny bit older - hopefully you can live with compliance level '1.5': [javac] Compliance level '1.5' is incompatible with source level '1.6'. A compliance level '1.6' or better is required
isBEKaml: 04:51Z <mberends> tell isBEKaml changing the 1.6 to 1.5 in 6model/java/runtime/build.xml works, it builds here with no errors and 29 warnings :)
isBEKaml: 14:35Z <jnthn> tell isBEKaml I think the P6Objects.pm issue is maybe that PAST2JST.pm is missing some sync with PAST2DNST.pm in the clr directory. Eventually the hope was to merge the two... mberends++ probably knows a little more on the status of that, but I suspect that's the issue. You could always not build it for now - it's no use until you get to having classes...which needs more of NQPSetting to build.
isBEKaml jnthn: Ah, okay. I have the compiler build targets in place, though. We'll run through the builds when that's about ready. 17:08
phenny: tell mberends Yes, most production java deployments run on JDK 5 and so that's not an issue. I set the version to 1.5 and ran a build but didn't get any warnings. Since you say you do, "Fix them!" :P 17:10
phenny isBEKaml: I'll pass that on when mberends is around.
isBEKaml jnthn: is there any way to tell compile.pir to look at a specific location for compiled java classes? --no-core-libs has too much magic involved for me to see. :| 17:38
jnthn isBEKaml: compile.pir just generates a bunch of Java code - it doesn't look anything up itself. 17:42
ooh, mberends++ is here ;) 17:43
--no-core-libs I think sets a flag that something in Actions.pm pays attention to.
And then it just doesn't generate anything to load that library
isBEKaml jnthn: your reference to NQPSetting required to build P6Objects led me to think it might be the case. 17:44
the thing is, NQPSetting is built before it gets to building P6Objects. It looks like it doesn't happen to know NQPSetting already exists. 17:45
mberends: Hey! # get the guy out of his shell. :)
isBEKaml jnthn: that's why I asked if there's a switch to pass into compile.pir to look for NQPSetting. 17:46
jnthn isBEKaml: For now I'd just drop looking at P6Objects.pm. 17:47
isBEKaml: So far as I know, it's not built/worked on nqpjvm ever yet.
isBEKaml: And probably won't until NQPSetting.pm will compile/load.
With most of the stuff from the common one. 17:48
isBEKaml jnthn: Okay.
isBEKaml drops P6 Objects down the stream.
jnthn That may mean always running it with --no-core-libs or just twiddling compile.pir to always set that by default for now.
isBEKaml I have commented out that particular portion of build config. Let's see how that goes. 17:49
jnthn is breaking everything in nqp/ctmo 17:50
moritz is glad we're using version control :-) 18:02
jnthn I'm working in a branch anyway ;) 18:03
Su-Shee we switched sucessfully 12 years of cvs into git 10 weeks ago.. how could we ever worked without.. ;) 18:04
isBEKaml Su-Shee! How are you? :) 18:05
Su-Shee very fine, just office-business (end of release cycle.. :) 18:05
isBEKaml and vacation time, I presume? (btw, I can't hear you. jnthn++ is breaking stuff in his room) ;) 18:06
Su-Shee isBEKaml: no, I like vacation better in winter :) 18:08
I'll relax with a new project over the next weeks :)
isBEKaml jnthn: I got the compiler build working too (sans P6O..) \o/ 18:10
isBEKaml thinks he should shout out to jnthn now..
JNTHN!
Su-Shee: that's great! :)
Su-Shee design - hack - improve - hack - polish - deliver - qa - improve more - next feature ... and then you die. ;) 18:12
isBEKaml vicious cycle. :) 18:13
jnthn isBEKaml: Yay!
(to compiler build working ;)) 18:14
masak hi, zebras! 18:17
isBEKaml jnthn: yeah, pushed. :)
masak: \o/ 18:18
masak are you optimizing for fun, people? :) 18:19
beware of local maxima! :P
isBEKaml vacatimes, what do you expect?
isBEKaml local maxima? second order? :) 18:20
masak I'm masak, a second-order local maximum.
isBEKaml seen and sealed in a timecapsule. :P 18:21
aloha Sorry, I haven't seen and sealed in a timecapsule. :P.
isBEKaml aloha: go take a break.
jnthn aloha: seen the rule about bots not speaking unless spoken to
aloha jnthn: Sorry, I haven't seen the rule about bots not speaking unless spoken to.
jnthn :/ 18:22
masak seen the book "How to shut up when you're a bot"?
aloha Sorry, I haven't seen the book "How to shut up when you're a bot".
jnthn masak: To be fair, Amazon don't seem to have that book...
masak seen the quine "Sorry, I haven't seen the quine \"$insert-quine-here\"" 18:23
aloha Sorry, I haven't seen the quine "Sorry, I haven't seen the quine \"$insert-quine-here\"".
masak jnthn: :P
jnthn
.oO( oh, hear we go, horsing around with electronic quines... )
18:24
*here
isBEKaml masak: looks like you're on ballmer's curve. :D
masak isBEKaml: no, just hungry and therefor a bit silly :P 18:25
isBEKaml jnthn: I have also modified try.sh not to go building jars unless not already available. I'm not sure how to do that on .bat file. 18:28
jnthn me either ;)
isBEKaml masak: Oh, that reminds me. I should probably go make myself a cup of tea... :)
jnthn oh, I forgot to have dinner too...
isBEKaml jnthn: britto, did you miss an 'n' ? *SCNR* 18:29
masak 'either'/'neither'?
jnthn :P
isBEKaml I guess that should be neither if I understood what he meant.
masak sure, 'me either' sounds more slangy. 18:30
jnthn Yeah, it's slangy
masak but I've come to accept it as somehow still grammatical.
jnthn My English sucks. :)
masak can't motivate it though.
jnthn masak: It's far easier to say.
masak maybe it's short for 'not me either'?
jnthn Maybe. :)
isBEKaml that's like some programmers doing if (1 == foo) { /* do something */ } 18:31
masak as exhibit B, the "full" original sentence would be "I'm not sure how to do that on a .bat file *either*."
isBEKaml: what's wrong with that? :P
isBEKaml: the computer doesn't care, why do you? :) 18:32
isBEKaml masak: I find it pretty amusing that "not me either" is easier to say than "me neither" 18:32
masak: Your exhibit doesn't hold water since you didn't include context. 18:33
masak isBEKaml: huh? the full sentence *is* the context, no?
isBEKaml masak: along with the first. That's context. :P 18:34
masak: .. do that on a .bat file. .WHAT adds context. :D
masak oh, the original sentence? sure. 18:35
but that's the one jnthn was implicitly replying to/taking as $_
isBEKaml ah, there was a 'not' in there too. so, that's !either == neither. (This is how we end grammar lessons in here) 18:36
a very knotty lesson, I know. 18:37
:P
jnthn
.oO( And after all that, I'm still not sure if I said it wrong... :P )
18:38
masak me either. 18:41
isBEKaml me !either 18:42
.oO(does that make all of us swimming in circles? English was never my forte, oh well) :P
18:43
masak if anything could be someone's forte, it would be Italian. 18:47
isBEKaml jnthn: when you have time, can you try building those with ant on your machine? I'd like to see how that goes... I'll add another master config file in sometime.
jdv79 6guts is stagnating. curious why. bogged down in design quandries? 18:51
jnthn isBEKaml: I....don't have ant on my machine, I think... I can try to get hold of it. 18:53
isBEKaml: But debugging $package-refactor at the moment :) 18:54
jdv79: General tuit shortage over the last while. The few I've had, I've put into making little bits of progress.
jdv79: It's not been forgotten. :)
When I get through this package refactor, that alone will be worth a post. 18:55
isBEKaml jnthn++
jdv79 thx
masak jnthn: yes, more blog posts, pls! :) 18:56
masak <-- pot, calling kettle
jnthn Is the kettle picking up? 18:57
masak you tell me. 18:57
masak rakudo: class Cow { method Str { self.WHAT.perl ~ "!" } }; role Holy { method Str { "Holy {callsame}" } }; given Cow.new { $_ does Holy; .say } 19:50
p6eval rakudo e09cb7: OUTPUT«Holy !␤»
masak hrm. 19:50
jnthn masak: When you mix in the role if produces an anonymous type. 19:53
masak oh, right!
jnthn Note it did callsame because the ! is there
masak aye. 19:54
I'm not sure I like it that anonymous types have "" as their names.
I know it's vey anonymous, but it's also sometimes confusing.
had it said "Holy anonymous_subclass_of_Cow!", I'd have known what had happened.
jnthn I think in the NQP meta-objects I've got :$name = '<anon>' 19:55
masak \o/
jnthn Which is at least a little better, I guess
masak Holy <anon>!
jnthn Yeah 19:55
sjohnson cow
masak sjohnson: hi there! 19:56
jnthn BEEF.
sjohnson yo masak
jnthn er, hi
:)
sjohnson hi
how's the perl6 world doing? i've been involved in a lot of p5 stuff the last few weeks
tadzik ( ° ー°) --< Yay, sjohnson! )
colomon \o
sjohnson haha 19:57
masak tadzik: close enough -- but the mouth looks too straight :) 19:58
tadzik masak: it's an optical illusion: when you're looking at the mouth, you don't see it speaking. When looking at the text, you don't see the mouth. So you never know ;) 20:00
masak :) 20:03
sjohnson on my unicode windows machine, the mouth looks curved
members.shaw.ca/smujohnson/img/cute/fatface.png
masak maybe my font is too small :) 20:04
sjohnson i saw it on a few other consoles and a lot of fonts show a straight line 20:05
oh well :)
masak !addquote <PerlJam> o/~ used mean "musically" or "in a sing-song voice" or something .... now it just means "i've waving a tissue at you" 20:10
colomon gives tadzik the evil eye for renaming repo-url to source-url... 20:25
masak :) 20:26
colomon It's a mean thing to do to a person with a lot of modules. 20:27
masak just so you don't get any ideas about what to put in your repo... :P
colomon: you and me, we're going to have to earn our pandas. :)
tadzik colomon: that's moritz fault!
colomon I think I'm done with it. 20:41
of course, they're all untested. :)
tadzik :) 20:46
didn't forgot a comma/ :) 20:47
colomon They passes?
*passed
I think I may have more than doubled the number of modules with pandas. :)
tadzik oh so maybe: only the panda-badged modules will be available to install in R* release of Panda 20:48
tadzik waits for modules.perl6.org to update
so many pandas! \o/ 21:02
masak 'night, #perl6 21:27
slavik night?! what night? 21:48
jnthn It's this weird thing that happens in Sweden. 21:49
dalek p/ctmo: e199d50 | jonathan++ | src/pmc/stable.pmc:
Mark WHO.
23:06
p/ctmo: 30a5cbb | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
Catch adding a null method - it's almost certainly a sign of a problem.
p/ctmo: a89b31b | jonathan++ | src/Regex/P6Regex/Actions.pm:
Actually declare that $REGEXNAME is our scoped rather than never actually declaring it anywhere in NQP.
p/ctmo: 592c026 | jonathan++ | src/ (2 files):
Avoid a double-encoding bug (by us then by the toolkit) that oddly manifested itself during other refactors.
p/ctmo: c45260d | jonathan++ | src/NQP/Actions.pm:
First bite into the package refactor. This changes our-scoped variable storage and lookups in packages. It's enough to give us working storage and lookup of package-scoped variables in lexical packages though, which has never worked before. Various unsurprising regressions. Also eliminates a bit more Q:PIR.
23:12
lestrrat how do you "cast" from a scalar to the actual type? say, I has a hash with (key => sub (..) { }) where the value *may* be an anon sub, and I'm iterating over it via %hash.kv -> $key, $value and I want to do the P5 equivalent of $value->( ... ) ?
jnthn lestrrat: You don't need to 23:13
lestrrat hmm?
jnthn rakudo: my %foo = k => sub { say "yay" }; for %hash.kv -> $k, $v { $v() }
p6eval rakudo e09cb7: OUTPUT«===SORRY!===␤Symbol '%hash' not predeclared in <anonymous> (/tmp/RWoHNMmKrs:22)␤» 23:14
jnthn gah
rakudo: my %foo = k => sub { say "yay" }; for %fo.kv -> $k, $v { $v() }
p6eval rakudo e09cb7: OUTPUT«===SORRY!===␤Symbol '%fo' not predeclared in <anonymous> (/tmp/5LoirnJTdy:22)␤»
jnthn rakudo: my %foo = k => sub { say "yay" }; for %foo.kv -> $k, $v { $v() }
p6eval rakudo e09cb7: OUTPUT«yay␤»
jnthn You don't need a dereferencing operator for that in Perl 6
Just do $value(arg1, arg2...) :-)
lestrrat ah..
righto. Thanks!
dalek p/ctmo: fe98d9f | jonathan++ | src/stage0/ (7 files):
Rebootstrap with the first set of package changes. No especial need, it's mostly just comforting that it still passes the same tests as pre-rebootstrap. :-)
23:16
jnthn Time to rest. :) Lots more NQP hacking tomorrow. :) 23:26