Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-15

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:09 aborazmeh joined #perl6
00:09 aborazmeh joined #perl6
00:18 atweiden it seems the $Nightscape::conf seen by Actions.pm is independent of the one seen by bin/nightscape.pl
00:18 atweiden when i set conf to 3 in Actions.pm, it doesn't effect the conf in nightscape.pl
00:20 skids joined #perl6
00:28 laouji joined #perl6
00:39 laouji joined #perl6
00:40 laouji joined #perl6
00:47 aborazmeh joined #perl6
00:47 aborazmeh joined #perl6
00:54 aborazmeh joined #perl6
00:54 aborazmeh joined #perl6
00:59 spider-mario joined #perl6
01:02 Zoffix joined #perl6
01:25 Darkc0de_ joined #perl6
01:26 Darkc0de_ left #perl6
01:44 telex joined #perl6
01:47 tinyblak joined #perl6
01:53 aborazmeh joined #perl6
01:53 aborazmeh joined #perl6
02:00 laouji_ joined #perl6
02:04 colomon joined #perl6
02:09 Foxcool_ joined #perl6
02:11 noganex joined #perl6
02:49 bjz joined #perl6
02:50 laouji joined #perl6
03:06 ugexe so... anyone want to remove 'Parrot' from the github description? :) "Rakudo Perl -- Perl 6 on Parrot, JVM and MoarVM"
03:44 dalek doc: e6e4d7e | skids++ | lib/Language/objects.pod:
03:44 dalek doc: Improve example for bare method disambiguity.
03:44 dalek doc: review: https://github.com/perl6/doc/commit/e6e4d7eac8
03:45 mr-foobar joined #perl6
04:00 alini joined #perl6
04:20 dalek doc: 1129a3f | skids++ | lib/Language/objects.pod:
04:20 dalek doc: Improve example.  The showcased construct is redundant with the constraint.
04:20 dalek doc: Removed the constraint.
04:20 dalek doc: review: https://github.com/perl6/doc/commit/1129a3f5ac
04:32 konsolebox joined #perl6
04:38 laouji joined #perl6
04:40 dalek doc: ee17dc0 | skids++ | lib/Language/objects.pod:
04:40 dalek doc: Small elaboration on default constructor.
04:40 dalek doc: review: https://github.com/perl6/doc/commit/ee17dc02c8
04:40 dalek doc: 152bf49 | skids++ | lib/Language/objects.pod:
04:40 dalek doc: Simplify some circumlocuitous phrasing.
04:40 dalek doc: review: https://github.com/perl6/doc/commit/152bf49e8c
04:43 * skids finds it strangely appropriate that there are so many circumlocu.* words.
04:46 laouji joined #perl6
04:48 kaare_ joined #perl6
04:51 dalek nqp: 8398cee | paultcochrane++ | docs/ops.markdown:
04:51 dalek nqp: Add links to opcode categories
04:51 dalek nqp:
04:51 dalek nqp: This makes navigation within the docs easier.
04:51 dalek nqp: review: https://github.com/perl6/nqp/commit/8398cee368
04:51 dalek nqp: 1120f1f | paultcochrane++ | docs/ops.markdown:
04:51 dalek nqp: Use consistent heading capitalisation
04:51 dalek nqp: review: https://github.com/perl6/nqp/commit/1120f1fe64
04:51 dalek nqp: 468f1cb | paultcochrane++ | docs/ops.markdown:
04:51 dalek nqp: Wrap long lines to improve readability
04:51 dalek nqp: review: https://github.com/perl6/nqp/commit/468f1cb268
04:51 dalek nqp: 0923187 | paultcochrane++ | docs/ops.markdown:
04:51 dalek nqp: Fix typos
04:51 dalek nqp: review: https://github.com/perl6/nqp/commit/0923187847
04:52 konsolebox joined #perl6
04:53 Khisanth joined #perl6
04:59 moritz \o
04:59 yoleaux 14 Apr 2015 21:10Z <brrt> moritz: that doc.perl6.org is awesome. moritz++
04:59 b2gills joined #perl6
04:59 moritz now *that's* the kind of message you like to read when you get up in the morning. Thanks brrt!
04:59 [ptc] moritz: o/
05:11 konsolebox joined #perl6
05:23 KCL_ joined #perl6
05:28 konsolebox joined #perl6
05:35 KimmoNO joined #perl6
05:36 espadrine joined #perl6
05:44 laouji joined #perl6
06:09 konsolebox joined #perl6
06:18 diana_olhovik joined #perl6
06:21 rindolf joined #perl6
06:34 masak morning, #perl6
06:35 masak moritz++ # doc.perl6.org
06:41 RabidGravy joined #perl6
06:41 Rounin joined #perl6
06:43 FROGGS joined #perl6
06:48 Ven joined #perl6
06:55 moritz [ptc]++ also deserves some praise
06:56 moritz as do Mouq++ and lots of other committers
07:02 * masak is aiming to contribute more, but hasn't gotten the appropriately-shaped tuit yet
07:02 nwc10 I'm sure you're currently getting lots of gifts. Many of which are quite smelly.
07:03 masak it's been known to happen.
07:14 [Tux] No such method 'chars' for invocant of type 'Any'
07:14 [Tux] (yes, I know about the change)
07:14 [Tux] old and dead code
07:14 [Tux] from last year
07:19 [Tux] That change broke internal class calls:
07:20 [Tux] m: class C {method foo(Str $x){};method bar(Str$x){.foo($x)}};C.new.bar("");
07:20 camelia rakudo-moar 9862a1: OUTPUT«No such method 'foo' for invocant of type 'Any'␤  in method bar at /tmp/6Nv2Pvn_CF:1␤  in block <unit> at /tmp/6Nv2Pvn_CF:1␤␤»
07:20 [Tux] that worked yesterday
07:20 [Tux] now it needs a self.foo
07:20 moritz uhm, it didn't work
07:20 moritz it just failed to give you the proper error
07:21 [Tux] ah :)
07:21 moritz there, finding bugs for you :-)
07:21 [Tux] again, just found that in old reference code
07:21 [Tux] weird that it didn't fail, looking back at it
07:22 moritz $_ defaulted to Nil, and Nil swallows non-existing method calls on it
07:23 [Tux] I think I like that change
07:23 * moritz too
07:24 rurban_ joined #perl6
07:25 pdcawley joined #perl6
07:29 vendethiel joined #perl6
07:41 jnthn morning, #perl6
07:42 lizmat morning jnthn
07:42 lizmat I was just about to say:
07:42 nwc10 .tell jnthn you have no messages!
07:42 yoleaux nwc10: I'll pass your message to jnthn.
07:42 lizmat commute to Berlin&
07:43 lizmat so see you all (from) there
07:45 rindolf joined #perl6
07:46 yvan1 joined #perl6
08:10 cschwenz joined #perl6
08:10 alini joined #perl6
08:12 zakharyas joined #perl6
08:20 darutoko joined #perl6
08:22 abraxxa joined #perl6
08:28 laouji_ joined #perl6
08:40 masak [Tux]: $_ and self were disambiguated in the language somewhere around 2005. it was a good decision, because they're really two very different "topic variables".
08:41 masak [Tux]: it does mean that some people got disappointed that they can't get away with writing `.bar()` for method calls.
08:41 pecastro joined #perl6
08:42 masak [Tux]: but actually, not all is lost. people who want to do `.bar()` just need to make sure that $_ contains self. like, make $_ the invocant in the method signature. or do `given self` somewhere inside the method.
08:42 masak in other words, it's not completely automatic, but (IMO) that's a good thing when you look at the big picture and the language as a whole.
08:43 jnthn Also, $.foo(...)
08:43 yoleaux 07:42Z <nwc10> jnthn: you have no messages!
08:43 jnthn m)
08:44 jnthn Or maybe :🌴)
08:44 nwc10 .u 🌴
08:44 yoleaux U+1F334 PALM TREE [So] (🌴)
08:45 nwc10 [Tux] pasted the link http://www.informationweek.com/it-life/ntps-fate-hinges-on-father-time/d/d-id/1319432 elsewhere. I found it interesting
08:46 KCL_ joined #perl6
08:49 espadrine joined #perl6
08:56 Ven m: class A{ method x($_:) { .bar }; method bar{5} }; say A.new.x # masak  :P
08:56 camelia rakudo-moar 9862a1: OUTPUT«5␤»
08:57 jnthn Yes, that was masak's "make $_ the invocant in the sig" :)
08:59 Ven masak++ # teaching me cute tricks
09:00 masak yes, right. I forgot to mention `$.foo`. but that one comes with some strings attached, if you ask me.
09:00 masak in that it's much more natural to use it if the method foo is actually "property-like". if it does stuff, then `$.foo` is questionable.
09:02 dalek doc: cd83ead | (Jonathan Stowe)++ | lib/Language/variables.pod:
09:02 dalek doc: Document $*HOME
09:02 dalek doc: review: https://github.com/perl6/doc/commit/cd83ead0a4
09:02 moritz fwiw I think it's quite funny in python
09:02 moritz you have to distinguish attribute accesses from method calls on the caller side
09:03 moritz and then on the callee side, you can cheat, and make a method appear as an attribute
09:03 moritz (with @property)
09:03 moritz so, software that's lying to itself about what it does
09:03 moritz </rant>
09:04 FROGGS joined #perl6
09:06 masak moritz: I think that's some people's beef about get/set properties in JavaScript, too.
09:07 FROGGS o/
09:07 psch \o
09:08 masak o/
09:08 moritz masak: can you cheat in JS? write a method that's accessed as if it's an attribute?
09:08 dalek rakudo/nom: 06dfca6 | TimToady++ | src/core/ (5 files):
09:08 dalek rakudo/nom: grab backtraces before information is lost
09:08 dalek rakudo/nom:
09:08 dalek rakudo/nom: plus various cleanups to deal with our multi-level exception system
09:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/06dfca65b0
09:08 dalek rakudo/nom: a7b45b6 | TimToady++ | src/core/ (2 files):
09:08 dalek rakudo/nom: move some code that belongs in Backtrace
09:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a7b45b684c
09:10 cognominal Perl6/Grammar.nqp is quite a haystack
09:11 cognominal .*ibbling in it.
09:13 masak moritz: yeah, that's what get/set methods do.
09:14 masak moritz: http://javascriptplayground.com/blog/2013/12/es5-getters-setters/
09:15 Ven cognominal: do you need some kind of $*NEEDLE?
09:16 Ven from the 6guts blog post, I take that the grant was completed and started?
09:16 * Ven doesn't know how the perl foundation works
09:16 FROGGS Ven: he has started but the grant still needs to be decided
09:17 Ven FROGGS: oke, thanks.
09:18 jnthn I've started under the hopeful assumption the community and TPF will be OK with the grant. :)
09:19 masak I got an email from Karen yesterday, asking if I approved of the grant proposal. (I do, of course.) so my guess is that it's just-about-to-be-approved.
09:19 FROGGS masak: I also got an email, but I don't tell about my reply :P
09:20 dakkar joined #perl6
09:20 masak (I don't have special approve-p6-grant powers, but it seems I ended up on a list of core p6 devs)
09:20 masak a list in TPF's possession, I should say.
09:20 masak FROGGS: always so secretive :P
09:21 * FROGGS will start nagging jnthn about getting rid of the JSON parsing at startup as soon as his grant gets accepted
09:21 FROGGS because then he has to unblock me! MUHAHHAHAHA
09:21 jnthn :P
09:21 FROGGS *g*
09:21 FROGGS no really, "just replacing that json blurb with a .perl blurb" does not seem to be a LHF
09:22 FROGGS at least, it is tricky
09:22 jnthn Indeed.
09:22 masak .perl is also not known to preserve values exactly
09:22 jnthn I'll have to have a look at the JSON blob.
09:22 jnthn And see how it's being used.
09:22 FROGGS because we do that when constructing @*INC, then precompile lib.pm which messes with @*INC, and precompile a module that uses the precompiled lib.pm
09:23 jnthn urgh
09:23 FROGGS masak: it is enough for that purpose, really
09:23 jnthn That needs a bit of thought, yes.
09:23 FROGGS aye
09:24 FROGGS masak: the most exciting value in that blurb is a Version... the rest is about arrays, hashes, strings and numbers
09:24 jnthn Given the current situation is that our startup time is now horrid when you install lots of modules, I should probably look at this relatively soon :)
09:25 jnthn If we don't get to it before this month's compiler release, this is probably one of the months we elect not to produce a R* though.
09:27 laouji joined #perl6
09:28 nwc10 that would unfortunate, but I agree, it seems like the lesser of two evils
09:29 labster joined #perl6
09:29 jnthn Well, Star exists to provide something more stable; the original schedule for it was once per 3 months.
09:29 nwc10 that plan didn't seem to survive contact with the enemy
09:30 nwc10 or at least, PR
09:30 moritz I guess that's partially my fault
09:30 moritz for doing monthly R* releases when it was easy to do
09:32 masak well, we simply didn't have a process in place where we decide "should we release a Star"?
09:33 jnthn Well, a more useful conversatoin is "should we ahve a process in plae to decide should we relase a Star, and what should it look like if so?"
09:33 jnthn *have, *place
09:35 nwc10 will we have Rakudo yar, for pirates? "Is there a yar in the month? Yar! Ship it^W^Wmake it walk the plank"
09:35 jnthn Yes, but it's only released once per year, on Talk Like A Pirate Day :P
09:36 timotimo we could ship a rakudo with modified error and warning messages
09:36 timotimo on that day
09:36 nwc10 is that before or after TimToady's birthday?
09:36 nwc10 it would be an interesting day for an Alpha
09:36 jnthn Saturday, September 19
09:37 nwc10 oh [unpublishable]
09:37 timotimo hm?
09:38 nwc10 e,r hangon
09:38 nwc10 *this*
09:38 nwc10 https://www.google.at/search?q=larry+wall's+birthday
09:39 jnthn Close!
09:39 felher joined #perl6
09:40 nwc10 more usefully, before. but not ages before
09:40 nwc10 er, context. Pirates are before Larry
09:41 timotimo do pirates ever say "sorry"?
09:41 timotimo otherwise, there'd have to be something like
09:41 masak being a pirate means never having to say "sorry"
09:41 timotimo ==AVAST!==
09:42 timotimo It be a good day for plundering the sea to find that missing block!
09:42 btyler haha. I think I like that better than 'SORRY'
09:43 timotimo Pass the Grog, matey! The Syntax is OK!
09:43 timotimo er, i meant
09:43 timotimo "Yer Syntax be OK"
09:43 nwc10 this program has been scanned and found clear of all errors, because AVAST!
09:44 timotimo ouch
09:46 nwc10 I'm not sure if I assocated the term "AVAST" with warm fuzzy confidence
09:49 rindolf joined #perl6
09:49 hoelzro joined #perl6
09:56 Akagi201 joined #perl6
09:56 moritz ok, let's use CLAMAV instead :-)
09:56 moritz ==KASPERSKY!==
09:57 * timotimo has to admit not being very educated about piratey speech
09:57 timotimo it's a very difficult thing to pull off if you're living around almost exclusively german-speaking people
09:57 psch "how appropriate, you fight like a cow!"
09:59 moritz timotimo: and surrounded by land on all sides, too :-)
10:00 timotimo yes :(
10:00 cognominal well, the only pirate in the eu parlement is from germany
10:02 skids joined #perl6
10:03 nwc10 shame. Would have been funnier if the pirate came from a land-locked country.
10:04 nwc10 although now-re-reading, it *is* funny in the context here
10:04 dolmen joined #perl6
10:12 araujo joined #perl6
10:16 araujo joined #perl6
10:28 alini joined #perl6
10:28 alini joined #perl6
10:29 Ven joined #perl6
10:30 alini joined #perl6
10:48 sqirrel joined #perl6
10:48 fhelmberger joined #perl6
10:56 [TuxCM] joined #perl6
10:56 [TuxCM] m: my Int @i; my Int @x = 4; my @z = @i[@x]; @z.perl.say;
10:56 camelia rakudo-moar a7b45b: OUTPUT«[Int]<>␤»
10:56 [TuxCM] I did expect an EMPTY list
10:56 konsolebox joined #perl6
10:57 Akagi201 joined #perl6
10:57 psch m: my Int @x; say @x[0]
10:57 camelia rakudo-moar a7b45b: OUTPUT«(Int)␤»
10:57 [TuxCM] m: my Int @i; my Int @x = 4..Inf; my @z = @i[@x]; @z.perl.say;
10:57 camelia rakudo-moar a7b45b: OUTPUT«[]<>␤»
10:57 psch m: my Int @x; say @x[Inf]
10:57 camelia rakudo-moar a7b45b: OUTPUT«Cannot coerce Inf or NaN to an Int␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3457␤  in block <unit> at /tmp/XD3Q8E7O0Y:1␤␤»
10:57 [TuxCM] m: my Int @i; my Int @x = 4..6; my @z = @i[@x]; @z.perl.say;
10:57 camelia rakudo-moar a7b45b: OUTPUT«[Int, Int, Int]<>␤»
10:57 [TuxCM] I was told that an array in subscript worked lazy
10:58 [TuxCM] when the array has a range like ..Inf, it works as I expected
10:58 * [TuxCM] has internetz just to the border
11:00 timotimo hum, are we getting the right candidate?
11:01 timotimo the problem could be that my Int @i is undefined
11:02 timotimo m: my Int @x; say @x.perl; my Int @y .= new; say @y.perl
11:02 camelia rakudo-moar a7b45b: OUTPUT«Array[Int].new()␤Array[Int].new()␤»
11:02 timotimo hum
11:02 timotimo m: my Int @x; say @x.perl; my Int @y = 1, 2, 3; say @y[@x].perl
11:02 camelia rakudo-moar a7b45b: OUTPUT«Array[Int].new()␤()␤»
11:02 timotimo here i get an empty list
11:03 timotimo m: my Int @x; say @x.perl; my Int @y = 1, 2, 3; my @z = @y[@x]; say @z.perl
11:03 camelia rakudo-moar a7b45b: OUTPUT«Array[Int].new()␤[]<>␤»
11:03 timotimo huh? now what am i doing differently from your thingie?
11:03 timotimo m: my Int @x; my Int @y = 1; my @z = @y[@x]; say @z.perl
11:03 camelia rakudo-moar a7b45b: OUTPUT«[]<>␤»
11:03 timotimo oh
11:03 timotimo i've got @x and @y reversed
11:03 timotimo m: my Int @x; my Int @y = 1; my @z = @x[@y]; say @z.perl
11:03 camelia rakudo-moar a7b45b: OUTPUT«[Int]<>␤»
11:03 timotimo well, that does make sense, doesn't it?
11:04 timotimo if you want it to blow up on positional access outside its "bounds", you may want a shaped array instead?
11:04 timotimo (nyi, last i tried it)
11:05 jnthn A range 1..* works becuase the * stands in for the number of elements
11:05 [TuxCM] in @y[@x], @x=1..Inf behaves completely different from @x=1..2
11:05 jnthn And 1..Inf is taken to do the same
11:05 [TuxCM] m: my Int @i = 2..*;
11:05 camelia rakudo-moar a7b45b: ( no output )
11:05 timotimo oh, interesting
11:05 timotimo so if you (1..Inf).list ...
11:06 psch m: my Int @x; say @x[1..Inf]
11:06 camelia rakudo-moar a7b45b: OUTPUT«␤»
11:06 [TuxCM] so I can replace Inf with * ?
11:06 jnthn m: my @a = 1..10; say @a[3..*];
11:06 camelia rakudo-moar a7b45b: OUTPUT«4 5 6 7 8 9 10␤»
11:06 [TuxCM] Interesting ...
11:06 jnthn m: my @a = 1..10; say @a[3..11];
11:06 camelia rakudo-moar a7b45b: OUTPUT«4 5 6 7 8 9 10␤»
11:06 timotimo m: say (1..*).WHAT
11:06 jnthn Oh, seems it always trims at the end with a range.
11:06 camelia rakudo-moar a7b45b: OUTPUT«(Range)␤»
11:06 * psch got his tr/// mergeable again o/
11:07 psch but it's a bit icky
11:07 jnthn m: my @a = 1..10; say @a[my @ = 3..11];
11:07 camelia rakudo-moar a7b45b: OUTPUT«4 5 6 7 8 9 10 (Any) (Any)␤»
11:07 jnthn But not for the Array case.
11:07 [TuxCM] HELP! :)
11:07 psch i have to hand a reference to the outer-most $/ through the trans proto/cands and through nearly all of LSM :/
11:07 jnthn But that also likely makes a lot of sense.
11:07 alini_ joined #perl6
11:08 jnthn Becuase for the Array case you've no promise, like with a rnage, that the elements are contiguous.
11:08 [TuxCM] I have code that checks against the right side of a range
11:08 [TuxCM] $i < Inf works, $i < * does not (I guess)
11:09 jnthn m: say (1..*).perl
11:09 camelia rakudo-moar a7b45b: OUTPUT«1..Inf␤»
11:09 timotimo well, $i < * just gives you a WhateverCode
11:09 timotimo that's syntactic
11:09 jnthn Note that 1..* constructs a range 1..Inf
11:09 timotimo and it'll likely eat more code towards the outside of that statement, too
11:09 [TuxCM] OK, I have about 4½ hours to play with that
11:09 jnthn So if you are doing $i < $range.max then you're good
11:09 jnthn Though $i ~~ $range "$i falls within the range" is probably better overall
11:10 jnthn Because it takes care of ..^ and ^.. ranges too :)
11:12 * timotimo fixes the Junction optimizer in rakudo
11:12 [TuxCM] germany. network will drop any time now
11:13 jnthn Germany, land of no network! /o\
11:13 skids what, no famous german network engineering?
11:15 jnthn .oO( die Network, die! )
11:16 konsolebox joined #perl6
11:17 psch t/spec/S05-transliteration/trans.rakudo.moar                (Wstat: 0 Tests: 62 Failed: 0) TODO passed:   28, 31-34, 36-40, 45-46
11:17 psch i'll merge that now, if the CALLERS:: stuff i'm doing is too weird, please shout :)
11:21 psch actually, there was a stray commit with the message "fixup" around
11:22 psch so i cleaned that up first, and'll rerun spectest
11:25 * Ven wants to talk about @a[x..*] but doesn't know where...
11:27 Ven Where is it I've already talked about whatever/closure, about ranges, but still near arrays so that it doesn't appear out of nowhere
11:27 psch oh, in the learnxiny?
11:28 * psch was a bit confused at first, thinking "why not talk about it here?"...
11:29 psch grr
11:29 Ven psch: yeah. It needs some solid yak shaving, but I'm not good enough at writing to do it I think
11:30 psch git is hard, i apparently undid all my repairing of the tr PR ._.
11:32 Akagi201 joined #perl6
11:33 Ven psch: did you commit or stash at some point?
11:33 psch Ven: no, but i luckily kept vim open and could undo
11:33 Ven ah, grats :P
11:33 * psch is glad he made :e! a habit
11:34 Ven m: my @a = ^20; @a[5..*]>>++; say @a
11:34 camelia rakudo-moar a7b45b: OUTPUT«0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20␤»
11:35 psch instead of e.g. ZQ↑^M or whatever...
11:35 psch (or ZQ↑↵)
11:36 psch i like urxvt's KEYCAP INSERT MODE :p
11:36 psch +PICTURE
11:38 psch there
11:38 dalek rakudo/nom: 85cbdc2 | peschwa++ | src/ (3 files):
11:38 dalek rakudo/nom: Work towards implementing :squash for &Str.trans.
11:38 dalek rakudo/nom:
11:38 dalek rakudo/nom: Conflicts:
11:38 dalek rakudo/nom: src/core/Str.pm
11:38 dalek joined #perl6
11:39 psch https://github.com/rakudo/rakudo/commit/ec79843830588c0ef941e79ea4bab5bce05122f9
11:40 psch ^^^ that's the "oh god why" commit in that merge
11:40 psch seeing as every scope has its own $/ (and https://gist.github.com/peschwa/4fe16e5c5aa2e5b8370c is what happens) i did it like that
11:40 masak um. are you adding debug output statements in a commit on nom?
11:41 psch oh fffs
11:41 psch i'll remove those, sorry
11:41 masak :/
11:41 masak maybe consider working in a branch?
11:41 masak that way, you also have bigger freedom to rebase interactive and stuff.
11:42 psch it was a branch, i just lost track of the debug prints when merging and rebasing
11:42 psch which went all over the place a few times
11:42 masak maybe a good idea to simply not commit debug prints. you can review a patch before you turn it into a commit, making sure that the code that goes in is intentional.
11:42 dalek rakudo/nom: 6830781 | peschwa++ | src/core/Str.pm:
11:42 dalek rakudo/nom: Remove debug output, masak++.
11:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6830781def
11:42 masak is there any documentation about :squash for .trans? I haven't heard about it before.
11:43 psch masak: i've implemented it as per S05-transliteration/trans.t
11:43 masak oh, good.
11:43 masak I'll look there, then.
11:43 arnsholt Reviewing commits is a good idea in general. I have "idxd = diff --cached" the [alias] section of my ~/.gitconfig
11:45 masak also variations of `git commit -p` tend to work quite well.
11:46 Ven Does the spec request that no more elements are reifed than needed?
11:46 psch -p sounds like something i'll want to use habitually
11:47 arnsholt Yeah, add -p as well
11:47 Ven psch: DEBUG_PLS? :P
11:47 Ven .oO( RAKUDEBUG )
11:49 masak arnsholt: `git add -p`, `git checkout -p`, `git reset -p <committish>`, `git stash -p`...
11:50 * Ven removes the part about printing 1..* giving an infinite loop in the REPL
11:51 arnsholt Yeah, I <3 the -p option
11:51 arnsholt Fits so well with the way I tend to work; start on one thing, shave a yak or two, then get the actual thing I wanted to do
11:51 * [ptc] has `git commit -p` mapped to <leader>c in vim
11:51 * jnthn is a heavy -p-er too
11:51 tinyblak_ joined #perl6
11:52 jnthn Though I tend to ues git reset -p without a committish more often. :)
11:52 masak oh, indeed
11:56 Ven I removed the GLR part from the learnx because it was confusing, I'll add it back once it comes to be
11:56 dalek doc: fb6f481 | paultcochrane++ | lib/Language/control.pod:
11:56 dalek doc: Make the repeat/while docs viewable
11:56 dalek doc: review: https://github.com/perl6/doc/commit/fb6f481e2d
11:57 cognominal GLR?
11:58 timotimo Great List Refactor
11:58 timotimo m: say &[<].signature.params[0].type
11:58 camelia rakudo-moar a7b45b: OUTPUT«(Mu)␤»
11:58 timotimo ^- why is this Mu now?
11:58 cognominal l'Arlésienne?  :)
11:59 arnsholt timotimo: Has to be Mu to work with junctions, no?
11:59 jnthn m: say &[<].signature.perl
11:59 camelia rakudo-moar a7b45b: OUTPUT«:($?, $?)␤»
11:59 timotimo arnsholt: it has to be Mu to also handle junctinos without being folded
12:00 jnthn Note that multi-dispatch failure also falls back to Junction dispatch
12:00 jnthn And that's a more efficient way to go, iirc
12:01 timotimo jnthn: if we find any parameter that doesn't istype(*, Any), we bail out of the junction unfolding optimization
12:02 timotimo so the evaluation above is why "so 5 < 1|2|3" doesn't unfold any more
12:02 masak m: say 5 < 1|2|3
12:02 camelia rakudo-moar a7b45b: OUTPUT«any(False, False, False)␤»
12:02 masak m: say so 5 < 1|2|3
12:02 camelia rakudo-moar a7b45b: OUTPUT«False␤»
12:02 masak m: say so 5 < 1|9|3
12:02 camelia rakudo-moar a7b45b: OUTPUT«True␤»
12:04 jnthn timotimo: If it's a multi, the optimizer could ask it if it has candidates that'll bind a Junction arg there
12:04 psch oh, i've noticed an inconsistency :/
12:04 jnthn The candidate list is known at compile time.
12:05 timotimo OK, so i'll have to look at the whole thing
12:05 timotimo the whole candidate list, that is
12:05 psch Perl6/Actions.nqp says the short names for the adverbs for tr/// are cm, sq and d, but core/Str.pm has them as c, s, d
12:05 jnthn timotimo: But you shouldn't really have to re-implmenet it all
12:05 psch i suspect that's me only converting half of them, but i'm not sure which are the right ones
12:05 timotimo but this code used to work, i think
12:05 jnthn timotimo: Since the multi-dispatcher should be able to tell you.
12:05 timotimo so maybe at some point $? parameters went from Any to Mu?
12:05 psch fwiw, roast has them as single letters
12:05 timotimo right, it should be able to, i'll figure it out
12:05 jnthn No, in CORE.setting we explicitly have them as Mu
12:06 jnthn (just checked)
12:06 timotimo interesting
12:06 timotimo i don't know why we would, though
12:06 timotimo does it have to be that to allow for native int arguments and such?
12:08 jnthn No
12:08 arnsholt Natives are subtypes of Int/Num, so no need for Mu there
12:08 jnthn Right
12:09 jnthn I think it's to make sure the multi-dispatcher does the auto-threading.
12:09 jnthn 'cus it knows how to insert a "do the auto-thread" thing into the multi cache
12:09 jnthn Which works out a lot cheaper than a bind failover.
12:11 aborazmeh joined #perl6
12:11 aborazmeh joined #perl6
12:13 dalek doc: 376253f | paultcochrane++ | lib/Language/control.pod:
12:13 dalek doc: Document the C<loop> statement
12:13 dalek doc:
12:13 dalek doc: ... by shamelessly copying the text from the spec....
12:13 dalek doc: review: https://github.com/perl6/doc/commit/376253fa2e
12:14 timotimo ok
12:16 [Coke] ugexe: I just checked, I don't have rights to update the project description, it seems.
12:16 dalek rakudo-star-daily: 204c5d4 | coke++ | log/ (2 files):
12:16 dalek rakudo-star-daily: today (automated commit)
12:16 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/204c5d4e05
12:20 Akagi201 joined #perl6
12:22 telex joined #perl6
12:29 raiph joined #perl6
12:45 yqt joined #perl6
12:47 tinyblak joined #perl6
12:48 timotimo now i'm not totally sure any more how to ask the multi-dispatcher if junction fallbacks "will happen" or not
12:56 nine FROGGS: I've seen something about replacing packlists on the agenda for the PQAH. Maybe we find a solution that works for both Perl 5 and Perl 6?
12:59 Ven timotimo: I must've not read the explanation correctly - what's wrong with look at Mu?
12:59 Ven looking*
13:00 FROGGS nine: the first you'd have to do is to explain what a packlist is then :o)
13:00 timotimo Ven: you know what my "junction unfolding" optimization does?
13:00 Ven timotimo: transforms $a == 3 | 4 to $a == 3 || $a == 4 ?
13:02 timotimo yes
13:02 nine FROGGS: it's just a file containing a list of file names that belong to a distribution
13:02 timotimo you know what happens when you pass a junction in a parameter that's typed Mu?
13:02 nine nine@sunshine:~/install/roast (master=)> cat /usr/lib/perl5/site_perl/5.20.1/x86_64-linux-thread-multi/auto/Time/Mock/.packlist
13:03 nine /usr/lib/perl5/site_perl/5.20.1/Time/Mock.pm
13:03 nine /usr/share/man/man3/Time::Mock.3pm
13:06 FROGGS nine: ahh, our META6.json (described in S22)
13:11 Ven timotimo: it binds it instead of "junctioning"
13:12 timotimo correct
13:14 timotimo so in that case the junction unfolding optimization isn't allowed to be done
13:27 rurban_ joined #perl6
13:47 [Coke] S22:1
13:47 synbot6 Link: http://design.perl6.org/S22.html#line_1
13:58 adu joined #perl6
14:01 Ven \o/ synbot6
14:02 masak my inner nwc10 simulation says "do not stop until everything is *bot6" :)
14:04 * Ven nicks venbot6
14:04 nwc10 masak++ # well trained :-)
14:04 Ven (though really, I'm 20 already..)
14:04 nwc10 but, this is the first live IRC bot made with real dogfood?
14:04 moritz no
14:05 moritz we've had other p6 bots on and off
14:05 nwc10 OK
14:05 nwc10 are we logging the perl 5 channels with a perl 6 bot yet? :-)
14:05 masak oh, that would be swell
14:06 moritz nwc10: no
14:06 moritz I have the code to do it, but it simply isn't reliable enough (doesn't reconnect on errors, for example)
14:13 dalek rakudo/nom: 239d74f | peschwa++ | src/Perl6/Actions.nqp:
14:13 dalek rakudo/nom: Correct tr/// adverbs to match .trans named parameters.
14:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/239d74fa61
14:14 FROGGS[mobile] joined #perl6
14:19 Ven joined #perl6
14:31 TimToady m: 3 % 0;
14:31 yoleaux 14 Apr 2015 22:35Z <japhb> TimToady: What was the purpose of rakudo commit 872d74cd2c320217894a3b0d5331b4c625b13022 (don't cache Rat literals)?
14:31 camelia rakudo-moar 683078: OUTPUT«Earlier failure:␤ Divide by zero using infix:<%>␤  in block <unit> at /tmp/t_DavkAgGK:1␤␤Final error:␤ Type check failed for return value; expected 'Int' but got 'Failure'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:639␤  in sub infix:…»
14:35 TimToady .tell japhb Er, to not cache Rat literals?  I don't think there are are that many common ones, unlike Ints.
14:35 yoleaux TimToady: I'll pass your message to japhb.
14:36 TimToady Are! There be too many!
14:38 grondilu joined #perl6
14:38 grondilu m: say first { sqrt([+] @$_ X** 2) ~~ Int }, [(^250).pick(4)] xx *;  # http://rosettacode.org/wiki/Euler%27s_sum_of_powers_conjecture
14:38 camelia rakudo-moar 683078: OUTPUT«(timeout)»
14:39 grondilu yeah that was probably too optimistic
14:41 moritz grondilu: sqrt won't ever return an Int
14:41 moritz m: say sqrt(4).^name
14:41 camelia rakudo-moar 683078: OUTPUT«Num␤»
14:42 moritz m: say sqrt(4).narrow.^name
14:42 camelia rakudo-moar 683078: OUTPUT«Int␤»
14:42 moritz might work with .narrow
14:47 grondilu testing for integerness should be a bit easier, imho
14:48 prammer joined #perl6
14:50 [Coke] m: say first { sqrt([+] @$_ X** 2).narrow ~~ Int}, [(^250).pick(4)] xx *
14:50 camelia rakudo-moar 239d74: OUTPUT«83 28 158 62␤»
14:50 moritz grondilu: you can also test against { .Int == $_ }
14:51 [Coke] .narrow seems like it could be less wasteful than a full conversion. (but probably isn't)
14:52 moritz .narrow *does* a conversion
14:54 estrabd joined #perl6
14:56 molaf_ joined #perl6
15:01 skids joined #perl6
15:01 lichtkind joined #perl6
15:05 hoelzro o/ #perl6
15:10 grondilu m: (my %fifth){$_}++ for ^250 X** 5; say first { %fifth{[+] @$_ X** 5} }, combinations(250, 4);
15:10 camelia rakudo-moar 239d74: OUTPUT«(timeout)»
15:11 muraiki joined #perl6
15:12 moritz m: (my %fifth){$_}++ for ^250 X** 5; say %fifth.keys.sort[^20]
15:12 camelia rakudo-moar 239d74: OUTPUT«0 1 100000 10000000000 101621504799 1024 102400000 1048576 104857600000 10510100501 1073741824 108175616801 11040808032 111577100832 115063617043 115856201 11592740743 1160290625 118636749824 11881376␤»
15:12 moritz m: (my %fifth){$_}++ for ^250 X** 5; say %fifth.keys.sort(+*)[^20]
15:12 camelia rakudo-moar 239d74: OUTPUT«0 1 32 243 1024 3125 7776 16807 32768 59049 100000 161051 248832 371293 537824 759375 1048576 1419857 1889568 2476099␤»
15:13 TimToady m: (my %fifth{Any}){$_}++ for ^250 X** 5; say %fifth.keys.sort[^20]
15:13 camelia rakudo-moar 239d74: OUTPUT«0 1 32 243 1024 3125 7776 16807 32768 59049 100000 161051 248832 371293 537824 759375 1048576 1419857 1889568 2476099␤»
15:14 TimToady m: (my %fifth{Int}){$_}++ for ^250 X** 5; say %fifth.keys.sort[^20]
15:14 camelia rakudo-moar 239d74: OUTPUT«0 1 32 243 1024 3125 7776 16807 32768 59049 100000 161051 248832 371293 537824 759375 1048576 1419857 1889568 2476099␤»
15:14 grondilu m: (my %fifth){$_}++ for my @fifth = ^250 X** 5; say first { %fifth{[+] @fifth[@$_]} }, combinations(250, 4);
15:15 camelia rakudo-moar 239d74: OUTPUT«(timeout)»
15:15 grondilu ^this should be quite fast
15:16 cognominal joined #perl6
15:16 moritz m: my \u = 100; (my %fifth){$_}++ for my @fifth = ^u X** 5; say first  %fifth{[+] @fifth[@$_]} }, combinations(u, 4);
15:16 camelia rakudo-moar 239d74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZuMGcMaVNn␤Unexpected closing bracket␤at /tmp/ZuMGcMaVNn:1␤------> 3* 5; say first  %fifth{[+] @fifth[@$_]} 7⏏5}, combinations(u, 4);␤»
15:17 moritz m: my \u = 100; (my %fifth){$_}++ for my @fifth = ^u X** 5; say first { %fifth{[+] @fifth[@$_]} }, combinations(u, 4);
15:17 camelia rakudo-moar 239d74: OUTPUT«(timeout)»
15:17 moritz m: say combinations(10, 4).perl
15:17 camelia rakudo-moar 239d74: OUTPUT«([0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 2, 7], [0, 1, 2, 8], [0, 1, 2, 9], [0, 1, 3, 4], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 3, 8], [0, 1, 3, 9], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 4, 8], [0, 1, 4, 9], [0,…»
15:18 grondilu m: say [*] (100 ... 0) Z/ 1 .. 4;
15:18 camelia rakudo-moar 239d74: OUTPUT«3921225␤»
15:18 moritz m: sub postfix:<!>($x) { [*] 1..$x }; say 250! / (4! * 246!)
15:18 grondilu m: say [+] (rand for ^3921225);
15:19 camelia rakudo-moar 239d74: OUTPUT«1960141.78214114␤»
15:19 camelia rakudo-moar 239d74: OUTPUT«158882750␤»
15:19 grondilu m: say [+] (rand for ^[*] (250 ... 0) Z/ 1 .. 4);
15:20 camelia rakudo-moar 239d74: OUTPUT«(timeout)»
15:25 [Coke] Yes, I know it does. but it seems like that's the easiest implementation, and that there might be a faster way to get the narrowed type.
15:27 grondilu m: say 1.0 ~~ Int  # to me that being false is LTA
15:27 camelia rakudo-moar 239d74: OUTPUT«False␤»
15:28 grondilu m: say 10/2 ~~ Int  # same for this
15:28 camelia rakudo-moar 239d74: OUTPUT«False␤»
15:29 grondilu m: say 1 + 0i ~~ Int  # and that
15:29 camelia rakudo-moar 239d74: OUTPUT«False␤»
15:30 TimToady that behavior would also be suboptimal, just differently :)
15:31 grondilu or maybe we could have a different operator.
15:31 TimToady that's why we have .narrow
15:31 TimToady m: say (1+0i).narrow ~~ Int
15:31 camelia rakudo-moar 239d74: OUTPUT«True␤»
15:32 grondilu well, yeah.
15:33 TimToady maybe you want something on the Int side that says "can narrow to Int without loss of round-tripping"
15:33 TimToady Int() doesn't quite do that
15:33 grondilu std:  Int(Num)
15:33 camelia std 28329a7: OUTPUT«ok 00:00 135m␤»
15:33 grondilu m: say 1 + 0i ~~ Int(Num)
15:33 camelia rakudo-moar 239d74: OUTPUT«False␤»
15:34 grondilu ^ would that make some sense?
15:34 TimToady not before more coffee, and probably not after either :)
15:35 TimToady m: say 1 + 0i ~~ Int(Real)
15:35 camelia rakudo-moar 239d74: OUTPUT«False␤»
15:36 grondilu this is something that bothers me sometimes.  In maths, integers form a subsets of the rationals, which form a subset of real numbers etc.  But in programming languages, that's not how things work.
15:36 grondilu I mean, a Rat should be a Int as long as its denominator is 1.
15:37 grondilu subset Int of Rat where *.nude[1] == 1;
15:37 grondilu subset Real of Complex where *.im == 0;  # and so on.
15:38 grondilu it's like everything is upside down in the core.
15:41 TimToady m: say Int ~~ Rational
15:41 camelia rakudo-moar 239d74: OUTPUT«False␤»
15:41 TimToady I thought that used to be true...
15:41 TimToady star-m: say Int ~~ Rational
15:41 camelia star-m 2013.03: OUTPUT«False␤»
15:41 moritz never
15:42 [Coke] m: say Int ~~ Rat
15:42 camelia rakudo-moar 239d74: OUTPUT«False␤»
15:42 moritz m: say Int ~~ Real
15:42 camelia rakudo-moar 239d74: OUTPUT«True␤»
15:42 TimToady ah, that were it
15:42 moritz Rational is the thing with nu and de :-)
15:42 TimToady m: say Rational[Int,1]
15:42 camelia rakudo-moar 239d74: OUTPUT«(Rational[Int,Int])␤»
15:43 TimToady oopsie :)
15:43 TimToady I think I was speculating about defined a fixed point type as Rational[Int,100000] or so
15:44 TimToady "assumed decimal point"
15:44 Possum joined #perl6
15:55 RabidGravy joined #perl6
16:03 skids joined #perl6
16:05 alini joined #perl6
16:10 anaeem1 joined #perl6
16:10 robinsmidsrod joined #perl6
16:12 nine S11 talks about different versions of a compunit. How can those exist? As I understand it, I'd say different versions of a module are different compunits
16:14 spider-mario joined #perl6
16:20 eli-se joined #perl6
16:23 nbdsp joined #perl6
16:26 nbdsp Greetings! Could someone advise please how to determine the object identity of the caller of a function. Something like CALLER::<WHICH>?
16:31 yvan1 joined #perl6
16:31 anaeem1 joined #perl6
16:32 raiph joined #perl6
16:33 moritz nbdsp: I don't think you can
16:33 moritz nbdsp: what do you need it for?
16:34 nbdsp moritz: I want to emulate protected class members by checking the identity of the caller.
16:35 moritz nbdsp: but for that you'd need the package of the caller, no?
16:35 moritz not the identity
16:35 FROGGS[mobile] bartolin: are you comming to the lobby or are you hunting for the Kuchenkaiser then?
16:36 nbdsp It depends on the definition of 'protected': class-wise or object-wise. But how to check the caller's package?
16:37 eli-se hi
16:37 moritz nbdsp: either callframe() offers that, or I'm sure you can get to it though the backtrace
16:38 RabidGravy joined #perl6
16:38 moritz http://doc.perl6.org/type/Backtrace
16:40 nbdsp I just thinked of a better way: add some checking function to derived class methods and call it from the base class.
16:42 nbdsp But isn't it indeed impossible to get the WHICH data from the caller?
16:45 b2gills m: sub postfix:<!>( UInt() $x ) is tighter(&[*]) { [*] 2..$x }; #`( I'm not sure its precedence is correct ) say $_! for 0..5,-1
16:45 camelia rakudo-moar 239d74: OUTPUT«1␤1␤2␤6␤24␤120␤Earlier failures:␤ Coercion to UInt out of range. Is: -1, should be in 0..Inf␤  in sub postfix:<!> at /tmp/Xgg4cpAM7S:1␤  in block <unit> at /tmp/Xgg4cpAM7S:1␤␤Final error:␤ Cannot call Real(Failure: ); none of these …»
16:49 Akagi201 joined #perl6
16:51 SHODAN joined #perl6
16:51 moritz nbdsp: well, in the VM we have the callee's callframe
16:51 moritz nbdsp: but what good would it do you if you had the callframe's .WHICH?
16:51 tinyblak joined #perl6
16:52 moritz nbdsp: it just tells you if the current call(stack)frame has called you before (if you store the previous ones)
16:52 moritz nbdsp: anyway, if you really do want protected emulation (which is a bad idea enough in itself), then you should do it statically and through the MOP
16:56 gfldex joined #perl6
16:57 nbdsp moritz: isn't 'self' is defined in the outer callframe scope? Is it possible to reference 'self' in the caller's scope?
16:58 Rounin joined #perl6
16:59 bartolin FROGGS[mobile]: I'll go to the Kuchenkaiser directly, I think. are you already there?
17:00 mr-foobar joined #perl6
17:00 FROGGS[mobile] bartolin: we just arrived
17:02 bartolin FROGGS[mobile]: great. I'll need about half an hour ..
17:03 FROGGS[mobile] \o/
17:05 nbdsp moritz: you are right, anyways: protected members violate encapsulation and it'd better to implement getters/setters in the base class.
17:15 nbdsp Though getters/setters also violate encapsulation if can be world called. Protected members express the idea of private data common to the base/derived hierarchy. I don't see why such a shared private data is neccesseraly bad idea.
17:23 KCL joined #perl6
17:27 eli-se lol
17:37 moritz nbdsp: it's bad because it force everybody who wants to access the data to inherit from your class
17:38 moritz nbdsp: and since child classes can access protected stuff, and anybody can be your child class, it's part of the public API anyway, and must be documented and tested just like the rest of the public API
17:38 moritz nbdsp: so, why not make it public right away?
17:39 nwc10 moritz: I forgot to ask earlier - is the code for your Perl 6 IRC logger client online anywhere?
17:39 moritz nwc10: I have no idea
17:39 nwc10 that wash't an answer I expected.
17:39 nwc10 "Yes" or "no" or possibly "soon"
17:39 nwc10 but you surprised me.
17:39 moritz nwc10: if not, it's likely lost, since my laptop hard disk died two days ago
17:39 [TuxCM] joined #perl6
17:40 nwc10 oh :-(
17:40 nwc10 poor laptop
17:40 nwc10 sadly that also explains that "no idea", because you can't ask your laptop
17:41 moritz correct
17:45 skids nbdsp: It isn't implemented yet IIRC, but if you really must have protected attributes, you would put them in a role with a "trusts" statement.
17:46 skids ndsp: but for the reasons mortiz mentioned, you just end up making a mess because someone will "need" to get at them and abuse a subclass to do it.
17:52 geekosaur .oO {the rigor of mortiz }
17:53 brrt joined #perl6
17:57 brrt joined #perl6
17:58 skids My typing deteriorates on a full stomach :-)
18:08 telex joined #perl6
18:15 raiph joined #perl6
18:27 eli-se joined #perl6
18:27 andreoss joined #perl6
18:38 moritz skids: trusts is implemented
18:39 skids moritz: Oh cool, I'll have to ponder whether I had a use for it.
18:40 Vlavv_ joined #perl6
18:43 moritz fwiw rakudo uses trusts in one place in its setting
18:43 moritz Promise trusts Vow (and Vow is a private class within Promise)
18:51 vendethiel- joined #perl6
18:52 yqt joined #perl6
19:04 timotimo
19:04 timotimo sorry, cat was at it again
19:06 kaare__ joined #perl6
19:11 rindolf joined #perl6
19:18 alini joined #perl6
19:19 robinsmidsrod joined #perl6
19:31 andreoss` joined #perl6
19:42 TimToady psch: I almost never use :e! since I have autowrite set, and typically write it out by suspending
19:43 TimToady though I don't suppose that'd work so well for gvim...
19:43 psch TimToady: i used :e! after switching branches
19:43 psch TimToady: and thus could undo beyond the branch switch
19:44 psch or before rather
19:44 TimToady sure, and I can undo after a suspend just the same way
19:44 psch oh, right
19:44 TimToady I typically leave all my vim sessions in the background while compiling
19:44 TimToady or when doing anything else
19:44 psch i'm mostly running screen
19:45 TimToady works fine there too
19:45 grondilu &/quit
19:45 psch well, yeah.  screen is why i don't suspend, and i :e after switching branches to look
19:46 psch there's probably potential to improve my workflow, seeing as i overlooked debug says... :)
19:47 arnsholt Bound to happen eventually, to be fair. That's why reviews are a thing =)
19:48 * TimToady also relies heavily on vim's undo as a mini-revision-control system
19:48 psch m: $_ = "bookkeeper"; tr:s/a..z/a..z/; .say
19:48 Zoffix joined #perl6
19:48 camelia rakudo-moar 239d74: OUTPUT«bokeper␤»
19:48 Zoffix joined #perl6
19:49 psch i've read again and again about undotree, but i'm usually too lazy/(scared of data loss) to heavily customize my environment
19:50 psch the bit of escape codes that puts PWD and $0 (plus filename for vim) into screens ^A" is about as far as i'll go
19:50 psch otherwise i'll just rename the screens manually and that's something that should be automated
19:54 tinyblak joined #perl6
20:07 yvan1 joined #perl6
20:08 dalek joined #perl6
20:16 dalek doc: 6dfe113 | moritz++ | WANTED:
20:16 dalek doc: Add Str.substr-eq to WANTED
20:16 dalek doc: review: https://github.com/perl6/doc/commit/6dfe113a06
20:20 vendethiel joined #perl6
20:20 dalek specs: 724a503 | paultcochrane++ | S04-control.pod:
20:20 dalek specs: Fix minor typo
20:20 dalek specs: review: https://github.com/perl6/specs/commit/724a503086
20:30 dalek joined #perl6
20:31 mohij joined #perl6
20:41 dalek doc: 005b7ca | (Steve Mynott)++ | lib/Type/Proc/Async.pod:
20:41 dalek doc: typos
20:41 dalek doc: review: https://github.com/perl6/doc/commit/005b7ca348
20:43 dalek roast: e1b2360 | peschwa++ | S05-transliteration/trans.t:
20:43 dalek roast: Unfudge now passing tests.
20:43 dalek roast: review: https://github.com/perl6/roast/commit/e1b2360ac9
20:51 masak 'night, #perl6
20:51 raydiak good night masak
20:52 raydiak good afternoon #perl6
20:56 nbdsp joined #perl6
20:58 dalek doc: 6b814dd | (Steve Mynott)++ | lib/Type/ (2 files):
20:58 dalek doc: moar typos
20:58 dalek doc: review: https://github.com/perl6/doc/commit/6b814ddf8d
20:58 eli-se joined #perl6
21:00 nbdsp Greetings! Could someone advise please is it possible to reference 'self' variable vesible in a class method from a called function? Something like this: sub foo { say CALLER::<$self.WHAT> }; class C { method meth { foo } }
21:05 PerlJam nbdsp: that method has no "$self variable"
21:07 nbdsp Well, yes, that was a pseudocode. Is it possible to reference from 'foo' a variable which in C::meth is referenced as 'self'?
21:10 moritz you can only access variables through caller if they were declared as dynamic variables
21:10 moritz and self isn't
21:10 psch m: class A { method meth($*self:) { f } }; sub f { say $*self }; A.new.meth; # o.o
21:10 camelia rakudo-moar 239d74: OUTPUT«A.new␤»
21:11 psch i don't think that's a sensible thing to do, fwiw
21:12 vendethiel ...that's amazing.
21:12 vendethiel paging eli-se for some reason.
21:12 eli-se paging me?!
21:12 vendethiel pinging
21:12 eli-se oh
21:12 eli-se I'm confused.
21:13 jercos help, my pager is beeping and it won't stop
21:13 vendethiel eli-se: "method x($*self:)" dynamic caller.
21:14 eli-se terrible
21:14 bjz joined #perl6
21:14 eli-se I avoid dynamic variables like the plague until they're fixed (i.e. namespaced).
21:15 nbdsp moritz: not neccesseraly through CALLER. Maybe through OUTER or somehow else?
21:17 japhb .botsnack
21:17 yoleaux :D
21:17 synbot6 om nom nom
21:17 yoleaux 14:35Z <TimToady> japhb: Er, to not cache Rat literals?  I don't think there are are that many common ones, unlike Ints.
21:17 b2gills m: sub test { CALLERS::<&?ROUTINE>.package.d }; class C { method d { say 'hi'}; method a { test }}; C.new.a
21:17 camelia rakudo-moar 239d74: OUTPUT«hi␤»
21:17 japhb Ah, so it was simply a matter of "the hit ratio will probably be low, so why cache these at all?"
21:18 PerlJam "CALLERS"?
21:18 * PerlJam learns something new
21:18 nbdsp b2gills: thanks!
21:23 b2gills Note that it doesn't call the method on an instance of the object
21:25 psch which means it doesn't actually get self but the type object
21:25 coffee` joined #perl6
21:26 psch m: class A { has $.foo = "bar"; method m { baz } }; sub baz { CALLERS::<&?ROUTINE>.package.foo.say }; A.new.m
21:26 camelia rakudo-moar 239d74: OUTPUT«Cannot look up attributes in a type object␤  in method foo at src/gen/m-CORE.setting:4009␤  in sub baz at /tmp/kC7eF3Xycb:1␤  in method m at /tmp/kC7eF3Xycb:1␤  in block <unit> at /tmp/kC7eF3Xycb:1␤␤»
21:26 cschwenz joined #perl6
21:27 cschwenz Hello #perl6!
21:27 psch although iirc the point was implementing «protected», so that doesn't matter
21:27 psch hi cschwenz \o
21:28 hoelzro o/ cschwenz
21:28 hoelzro good to see you finally showing your face here =)
21:28 cschwenz I need some help with getting perl6 to run via a #! line.
21:28 cschwenz o/ hoelzro
21:28 cschwenz http://pastebin.com/1uqxs1kT
21:28 cschwenz what am i doing wrong?
21:29 hoelzro cschwenz: what about "type perl6" instead of "which perl6"?
21:29 cschwenz result is:  perl6 is hashed (/usr/local/bin/perl6)
21:29 hoelzro your shell may be using a hashed path for perl6
21:29 hoelzro hmm
21:29 hoelzro ok
21:29 psch cschwenz: it's not really you doing something wrong.  perl6 is itself a bash script, but most *nix-y shells don't chain shebangs
21:29 psch err, maybe not "most"
21:29 psch and maybe it's not the shells fault
21:30 psch i do know that linux allows it... :)
21:30 psch http://irclog.perlgeek.de/perl6/2015-01-31#i_10038252
21:31 cschwenz ah, that's good to know :-)
21:32 PerlJam Does env fix it?
21:32 cschwenz \o/  #!/usr/bin/env perl6  works on OS X
21:32 cschwenz :-D
21:33 cschwenz thanks all!
21:33 cschwenz and i learned perl6 is a bash script  :-P
21:33 TimToady shh!
21:34 japhb Any sufficiently advanced Bash script is indistinguishable from Perl 6
21:34 TimToady or I gues I should just say sh!
21:34 TimToady *ss
21:35 japhb I guess I should have said 'Any sufficiently advanced Bash script is indistinguishable from `perl6`'
21:35 japhb .ask timotimo What becamse of JSON::Fast?  Was the faster parser merged into Rakudo?
21:35 yoleaux japhb: I'll pass your message to timotimo.
21:47 robinsmidsrod joined #perl6
21:49 pyrimidi_ joined #perl6
22:03 lizmat joined #perl6
22:07 vendethiel joined #perl6
22:22 cschwenz does unlink do the same thing in perl6 as it does in perl5?  (asking because http://doc.perl6.org/routine/unlink is 404  :-/ )  and if so, would it be called on the file-handle ($fh.unlink) or in the exact same way as perl5 (unlink $path)?
22:24 lizmat .tell nine S22:235 specifies depends as "A list of run-time dependencies, specified as C<use> strings."
22:24 yoleaux lizmat: I'll pass your message to nine.
22:24 synbot6 Link: http://design.perl6.org/S22.html#line_235
22:24 lizmat .tell nine so you can depend on a specific version / auth of a module
22:24 yoleaux lizmat: I'll pass your message to nine.
22:25 lizmat cschwenz: "foo".IO.unlink would unlink the file "foo"
22:25 lizmat unlink "foo" would do the same
22:25 cschwenz ah, thanks :-)
22:26 cschwenz is the 404ed page intentional (that is, is it in flux)?
22:29 cschwenz also, fwiw, http://doc.perl6.org/type/IO has no mention of unlink.
22:30 lizmat well, I'm now at the QA Hackathon in Berlin
22:30 lizmat my personal goal is to not have to deal with the newio branch by the end of the Hackathon
22:30 cschwenz :-)
22:30 lizmat I'm not sure yet what that means  :-)
22:32 lizmat fact is, I lost track of what is already in nom and what is still in newio
22:33 lizmat and what is obsolete, and what isn't
22:33 lizmat anyway, first getting some sleep now
22:33 lizmat &
22:34 cschwenz good night lizmat!  and thanks for the help.
22:43 rararara_ joined #perl6
22:46 dolmen joined #perl6
22:55 KimmoNO joined #perl6
23:06 avuserow joined #perl6
23:07 JimmyZ joined #perl6
23:11 skids joined #perl6
23:12 timotimo japhb: it was not merged yet. it doesn't properly complain about numbers illegaly starting with a 0
23:12 yoleaux 21:35Z <japhb> timotimo: What becamse of JSON::Fast?  Was the faster parser merged into Rakudo?
23:12 timotimo i'd love for somebody to actually try it out a bit :)
23:13 timotimo give me more benchmark data and stuff
23:13 timotimo and before it gets into rakudo, i may want to fix up the "junction unfolding" optimization and write pieces of JSON::Fast to be less ugly
23:18 andreoss joined #perl6
23:19 tinyblak joined #perl6
23:21 andreoss m: D: for 1..10 -> \D { for 1..10 -> \E { say D,E and last D if E == 1}}
23:21 camelia rakudo-moar 239d74: OUTPUT«11␤21␤31␤41␤51␤61␤71␤81␤91␤101␤»
23:22 andreoss it'd be a nice feature for sigiless variables to be also a loop label
23:26 colomon timotimo: I will try to find time to look at JSON::Fast this week, since faster p6 JSON would be a big win for my $work.  :)
23:31 fhelmberger_ joined #perl6
23:32 dj_goku_ joined #perl6
23:34 gargamel_ joined #perl6
23:34 mr-fooba_ joined #perl6
23:34 pmichaud_ joined #perl6
23:34 perlpilot joined #perl6
23:34 sivoais_ joined #perl6
23:34 huf_ joined #perl6
23:35 torbjorn_ joined #perl6
23:35 zoosha_ joined #perl6
23:35 haroldwu_ joined #perl6
23:35 atta_ joined #perl6
23:38 charsbar__ joined #perl6
23:38 vytas joined #perl6
23:38 BenGoldberg joined #perl6
23:40 ShimmerFairy joined #perl6
23:40 telex joined #perl6
23:42 smi1er joined #perl6
23:46 aborazmeh joined #perl6
23:46 aborazmeh joined #perl6
23:49 jobine joined #perl6
23:51 timotimo i'm glad
23:53 tinyblak joined #perl6
23:56 Akagi201 joined #perl6
23:56 Akagi201 joined #perl6
23:59 timotimo it should be as easy as s/use JSON::Tiny/use JSON::Fast/

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo