Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-06-27

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:03 whiteknight joined #perl6
00:07 dalek rakudo/nom: 3c22598 | pmichaud++ | src/core/ (2 files):
00:07 dalek rakudo/nom: Update Array.new and List.new to be more robust.
00:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c22598238
00:12 nrr left #perl6
00:15 nrr joined #perl6
00:19 dalek roast: 319bec5 | sorear++ | S06-signature/arity.t:
00:19 dalek roast: Unfudge S06/arity for Niecza
00:19 dalek roast: review: https://github.com/perl6/roast/commit/319bec5314
00:19 dalek roast: 55f9056 | sorear++ | S06-traits/precedence.t:
00:19 dalek roast: Modernize and fix S06-traits/precedence
00:19 dalek roast: review: https://github.com/perl6/roast/commit/55f9056e8e
00:25 wolfman2000 left #perl6
00:26 prettyrobots left #perl6
00:26 prettyrobots joined #perl6
00:26 benabik joined #perl6
00:31 sorear What is %*PID?
00:32 daniel-s left #perl6
00:34 prettyrobots left #perl6
00:41 wolfman2000 joined #perl6
00:41 sorear $*DISTRO is bothersome.  Why does Perl 6 need to include a distribution probing system?
00:43 huf left #perl6
00:54 flatwhatson left #perl6
01:00 jaldhar_ left #perl6
01:01 noganex_ joined #perl6
01:02 jaldhar_ joined #perl6
01:05 eebrah left #perl6
01:05 noganex left #perl6
01:06 Reaganomicon joined #perl6
01:17 donri left #perl6
01:24 woosley joined #perl6
01:26 jaldhar_ left #perl6
01:26 jaldhar_ joined #perl6
01:28 tokuhirom left #perl6
01:29 pernatiy joined #perl6
01:35 jaldhar_ left #perl6
01:37 flatwhatson joined #perl6
01:37 flatwhatson left #perl6
01:38 jaldhar_ joined #perl6
01:38 starcoder2 left #perl6
01:41 icwiener_ joined #perl6
01:43 alester joined #perl6
01:45 icwiener left #perl6
01:47 dalek niecza: ecfc817 | sorear++ | / (7 files):
01:47 dalek niecza: Implement %*ENV, $*PROGRAM_NAME
01:47 dalek niecza: review: https://github.com/sorear/niecza/commit/ecfc817031
01:48 whiteknight left #perl6
01:52 dalek rakudo/nom: 8812718 | pmichaud++ | / (11 files):
01:52 dalek rakudo/nom: Create an opcode for building Parcels; the opcode also handles replacing
01:52 dalek rakudo/nom: any PMCNULL values that might show up (e.g., in Arrays).
01:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88127187ef
01:54 lichtkind left #perl6
01:58 jaldhar_ left #perl6
01:58 jaldhar_ joined #perl6
02:02 eebrah joined #perl6
02:03 eebrah left #perl6
02:04 eebrah joined #perl6
02:05 eebrah left #perl6
02:06 bluescreen10 left #perl6
02:14 [Coke] left #perl6
02:17 [Coke] joined #perl6
02:20 jaldhar_ left #perl6
02:24 jaldhar_ joined #perl6
02:25 thou left #perl6
02:26 thou joined #perl6
02:38 jferrero left #perl6
02:42 envi joined #perl6
02:45 _jaldhar_ joined #perl6
02:45 jaldhar_ left #perl6
02:53 benabik left #perl6
02:53 prettyrobots joined #perl6
02:53 colomon sorear: don't think I'm going to get inbox:<**> sorted out tonight.  ended up playing music for two hours longer than I expected, and now I'm all done in.  will get back to it in the morning.
02:53 prettyrobots left #perl6
02:57 benabik joined #perl6
02:57 aesop joined #perl6
03:14 alester left #perl6
03:17 f00li5h left #perl6
03:18 dalek rakudo/nom: ab1dda5 | pmichaud++ | src/core/ (15 files):
03:18 dalek rakudo/nom: Convert some more pir:: opcodes to nqp:: .
03:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ab1dda587c
03:24 Su-Shee_ joined #perl6
03:26 Su-Shee left #perl6
04:15 dalek niecza: 836acfc | sorear++ | / (3 files):
04:15 dalek niecza: Fix outer-frame issues that broke $_ in REPL
04:15 dalek niecza: review: https://github.com/sorear/niecza/commit/836acfc80a
04:34 kaare_ joined #perl6
04:43 dalek niecza: 0fdbd7c | sorear++ | src/NieczaBackendDotnet.pm6:
04:43 dalek niecza: Fix REPL getting wedged after late compiler failures (#44)
04:43 dalek niecza: review: https://github.com/sorear/niecza/commit/0fdbd7c514
05:01 dalek niecza: 1735ca0 | sorear++ | src/Op.pm6:
05:01 dalek niecza: Fix prefix:<|> adverbing bug (#45) thou++
05:01 dalek niecza: review: https://github.com/sorear/niecza/commit/1735ca0a53
05:07 thou_ joined #perl6
05:08 thou_ left #perl6
05:09 wamba joined #perl6
05:14 dalek rakudo/nom: c58a3dd | pmichaud++ | NOMMAP.markdown:
05:14 dalek rakudo/nom: More NOMMAP notes.
05:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c58a3dd504
05:15 koban joined #perl6
05:18 thou sorear: this seems buggy to me -- you agree?  http://paste2.org/p/1491224
05:31 birdwindupbird joined #perl6
05:39 bakedb joined #perl6
05:46 sorear thou: I don't understand.
05:47 sorear oh
05:47 thou sorear: S02 says Leading whitespace equivalent to the indentation of the delimiter will be removed from all preceding lines.
05:47 thou which niecza does OK
05:47 sorear I see what's going on here.
05:48 thou ok
05:48 sorear niecza is treating the end of interpolations as the begininning of a new line
05:49 thou dunno, it still does it if the 2nd heredoc is indented more than 1 space
05:51 sorear yes
05:56 thou related, there's a weirdness in the spec, it seems.  it says that :to means "Parse result as heredoc terminator". taken on its own, it sounds like the other adverbs would apply to the terminator itself, not to the heredoc string. i.e.,   qq :to /$foo/ should interpolate, while q :to /$foo/ shouldn't. But that's clearly not what we mean.
05:57 thou I guess the result itself is parsed as Q, and all adverbs apply to the heredoc text.
05:57 sorear it's actually a little bit more complicated than that
05:58 sorear qq :to means Q :qq :to, which parses the body with :qq
05:58 sorear there's also Q :to :qq, which would interpolate the terminator
05:58 thou ah
05:58 sorear (except it won't work.  no BEGIN)
05:59 jdhore1 left #perl6
05:59 mberends left #perl6
06:02 alyxxx is now known as alyx
06:04 wamba left #perl6
06:06 Su-Shee_ is now known as Su-Shee
06:14 agentzh joined #perl6
06:17 icwiener_ left #perl6
06:19 wtw joined #perl6
06:33 moritz good morning
06:34 noganex_ is now known as noganex
06:34 bakedb left #perl6
06:38 jdhore joined #perl6
06:42 daxim joined #perl6
06:43 kanishka joined #perl6
06:43 kanishka left #perl6
06:45 kanishka joined #perl6
06:45 dalek rakudo/nom: 27cef7c | pmichaud++ | src/core/ (2 files):
06:45 dalek rakudo/nom: Gather needs to execute its body in sink context.
06:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/27cef7c33c
06:45 dalek rakudo/nom: 8c2ecf4 | pmichaud++ | src/core/ (2 files):
06:45 dalek rakudo/nom: Add Any.grep, Any.min.  Fix &infix:<cmp> to handle infinity arguments.
06:45 dalek rakudo/nom: Remove method List.sink for refactoring.
06:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c2ecf40e4
06:49 sorear goood morning moritz
06:53 jdhore left #perl6
06:57 dalek niecza: ba002dd | sorear++ | / (3 files):
06:57 dalek niecza: Fix heredoc interpolation space oddity (thou++)
06:57 dalek niecza: review: https://github.com/sorear/niecza/commit/ba002dd52d
07:03 thou sorear: i don't think that regression test is accurate. the $x can't be at the end of the line, or it won't show the bug.
07:04 thou i.e., $x Foo  becomes BarFoo; but Foo $x becomes Foo Bar even in buggy impl.
07:04 sorear yeah
07:04 sorear I'll fix that
07:05 dalek rakudo/nom: b1195a8 | moritz++ | t/spectest.data:
07:05 dalek rakudo/nom: three more passing spectest files
07:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b1195a87c4
07:05 zby_home_ left #perl6
07:11 TiMBuS why is planetsix frozen
07:12 TiMBuS has someone tried banging the side of the server to unstick the feed
07:22 wamba joined #perl6
07:25 sorear TiMBuS: try scrolling down
07:25 sorear masak postdated a post
07:25 sorear and is too consumed by NIH to have used software to prevent that :(
07:26 TiMBuS lol
07:26 TiMBuS i see now
07:28 jnthn morning, #perl6
07:28 jnthn pmichaud++ # nice :)
07:32 wamba left #perl6
07:41 Chillance left #perl6
07:50 dalek niecza: ae25334 | sorear++ | src/ (5 files):
07:50 dalek niecza: Mergeback augments
07:50 dalek niecza: review: https://github.com/sorear/niecza/commit/ae25334445
07:50 dalek niecza: 4d02280 | sorear++ | / (2 files):
07:50 dalek niecza: Fix heredoc despacing for real, now with a working test too
07:50 dalek niecza: review: https://github.com/sorear/niecza/commit/4d0228092c
07:50 bakedb joined #perl6
07:50 sorear now... to write a concise description of 208 commits
07:50 tadzik Files=50, Tests=441, 67 wallclock secs ( 0.35 usr  0.12 sys + 61.34 cusr  4.01 csys = 65.82 CPU)
07:50 tadzik and some tests passed
07:50 tadzik * todo tests
07:59 cooper left #perl6
08:04 mj41 joined #perl6
08:15 moritz phenny: tell masak about http://xkcd.com/917/ when he appears
08:15 phenny moritz: I'll pass that on when masak is around.
08:18 thou left #perl6
08:21 dakkar joined #perl6
08:21 dalek roast: a1e4daa | moritz++ | S03-operators/numeric-context.t:
08:21 dalek roast: [numeric-context.t] remove outdated, wrong tests
08:21 dalek roast: review: https://github.com/perl6/roast/commit/a1e4daa71b
08:28 dalek niecza: 1ea7e81 | sorear++ | docs/announce.v7:
08:28 dalek niecza: Draft v7 announce
08:28 dalek niecza: review: https://github.com/sorear/niecza/commit/1ea7e815b7
08:28 sorear I now sleep; comments wanted
08:31 moritz sorear: "INVOKE has been renamed postcircumfix:<( )>, at_key and at_pos likewise." the "likewise" isn't very telling
08:31 moritz make a small table instead
08:33 moritz otherwise quite nice
08:33 moritz sorear++
08:33 moritz (but I don't have a good idea for a new name either)
08:35 pmichaud wow
08:35 pmichaud check this out
08:35 pmichaud my $i = 0; my $j = 1; while $j <= 10000 { $i = $i + $j; $j++ }
08:35 pmichaud 0.2103 sec
08:35 pmichaud my $i = 0; for 1..10000 { $i = $i + $_ }
08:35 pmichaud 0.2663 sec
08:36 jnthn pmichaud: wow :)
08:36 jnthn pmichaud: That's got 'em closer.
08:36 pmichaud that wasn't my goal at this point, but it's a nice side-effect :)
08:37 pmichaud I was just adding next/last/redo support to map
08:37 moritz pmichaud: what did you do?
08:37 jnthn Accidentally the win
08:37 jnthn :)
08:37 pmichaud in order to do next/last/redo, I had to replace the while { }  loop in MapIter with Q:PIR, in order to get the exception handling correct (and semi efficient)
08:37 pmichaud otherwise the cost of creating the exception handlers on each iteration was going to kill us.
08:38 pmichaud (indeed, this is probably part of what makes .map in master slow)
08:38 jnthn aha
08:38 jnthn yes, exception handlers in Parrot are a pig.
08:38 pmichaud when we have good CONTROL { } handling, we can perhaps go back to a more pure p6-solution
08:38 pmichaud but for now I'll take the speed win
08:39 pmichaud (and the Q:PIR is fairly straightforward)
08:39 jnthn Yeah, we need a new, fast exceptions implementation relly.
08:39 jnthn *really
08:39 jnthn But that's a post-nom task.
08:39 jnthn And may need some co-ordination with Parrot folks.
08:41 jnthn Control flow is one of the least easily plug-in-your-own-able bits.
08:42 lue left #perl6
08:42 jnthn "Is there a handler of some kind here?" should really be something like checking a flag/bitfield on a context.
08:46 tokuhirom joined #perl6
08:46 pmichaud we're likely to need lexotics soon
08:47 pmichaud at least lexotic return
08:47 jnthn That also.
08:47 pmichaud right now     for @list { return if ... }    fails badly.
08:47 jnthn I may be able to hack that into the existing system though.
08:47 pmichaud because now that all of the low-level stuff is written in p6, we have return handlers all over the place.
08:48 moritz jnthn: how far are roles in nom?
08:48 moritz nom: say 'a' ~~ /a/
08:48 p6eval nom: OUTPUT«too many positional arguments: 3 passed, 1 expected␤current instr.: 'nqp;Perl6;Actions;block_closure' pc 21670 (src/gen/perl6-actions.pir:7029)␤»
08:49 jnthn moritz: roles or rules? :)
08:49 moritz jnthn: roles
08:49 jnthn moritz: ah :)
08:49 moritz jnthn: that regex test was rather unrelated
08:49 moritz more related to "stuff that needs to be put back"
08:49 jnthn moritz: Still some significant missing things.
08:49 jnthn moritz: The heart of the roles implementation is there.
08:50 jnthn moritz: But there's still quite a few other bits to do yet.
08:50 moritz jnthn: how feasible is it to turn the X:: classes into roles?
08:51 jnthn moritz: We already have some roles in the setting, so at that level it's possible.
08:51 pmichaud jnthn: did you see my note about Positional/Associative not working for multidispatch?
08:51 pmichaud (in NOMMAP)
08:51 jnthn pmichaud: Yeah. How exactly did you trigger it? (more)
08:51 jnthn Did you explicitly write Positional/Associative or just use the sigils?
08:52 pmichaud just the sigils
08:52 jnthn ah
08:52 jnthn Yeah, then it's not MD that's busted, just that I didn't put the sigil => role mapping back yet.
08:52 pmichaud okay
08:52 pmichaud testing.
08:53 jnthn nom: proto x(|$) { * }; multi x(Positional $x) { say 1 }; multi x(Associative $x) { say 2 }; x(my @a); x(my %h)
08:53 p6eval nom: OUTPUT«Rebuild in progress␤»
08:53 jnthn aw
08:53 dalek rakudo/nom: 01af805 | moritz++ | NOMMAP.markdown:
08:53 dalek rakudo/nom: add missing regexes to NOMMAP
08:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/01af805d1b
08:53 jnthn nom: proto x(|$) { * }; multi x(Positional $x) { say 1 }; multi x(Associative $x) { say 2 }; x(my @a); x(my %h)
08:53 p6eval nom: OUTPUT«No type check cache and no type_check method in meta-object␤current instr.: 'x' pc 463 ((file unknown):38168184) (:1)␤»
08:53 pmichaud that's the error I get
08:53 pmichaud http://gist.github.com/1048533
08:54 jnthn nom: sub x(Positional $x) { say 1 }; x(my @a)
08:54 p6eval nom: OUTPUT«1␤»
08:54 jnthn nom: sub x(Positional $x) { say 1 }; x(my %h)
08:54 p6eval nom: OUTPUT«Nominal type check failed for parameter '$x'; expected Positional but got Hash instead␤current instr.: 'x' pc 345 ((file unknown):30256379) (:1)␤»
08:54 jnthn hm
08:54 moritz nom: my @a := 1
08:54 p6eval nom:  ( no output )
08:54 jnthn oh
08:54 jnthn I know why
08:55 moritz nom: my Num $x := 1
08:55 p6eval nom: OUTPUT«Type check failed in binding␤current instr.: '_block1002' pc 28 ((file unknown):0) (:1)␤»
08:55 jnthn It's in the narrowness analysis.
08:56 jnthn pmichaud: Can try to fix that later today, but need to look after some $dayjob things first.
08:56 pmichaud no problem
08:56 pmichaud it's a blocker on slices for me
08:56 pmichaud (but I have plenty else to work on)
08:57 jnthn pmichaud: In ParametricRoleHOW, if you add a method type_check($obj, $checkee) { 0 # XXX TODO }
08:57 jnthn That'll probably make it work
08:59 jnthn In general, the composition-y aspects of rules work fairly well, the type checking is muchly still to do and the parametricism is awesome in the places it works but not finished yet.
08:59 jnthn *roles
09:03 pmichaud how would you feel about a 3-part block structure instead of the 2-part one we have now?  ;-)
09:03 pmichaud .[0] = initialization
09:03 pmichaud .[1] = body
09:03 pmichaud .[2] = return
09:04 pmichaud you can do type constraint checking in [2], if you want :-)
09:04 pmichaud (return type constraint, that is :-)
09:06 pmichaud actually, that's probably not going to work
09:06 pmichaud hrm
09:06 jnthn pmichaud: Can we somehow unify the code path we take for both return exception and fall-off-the-bottom return?
09:06 pmichaud that's what this would do, yes.
09:06 jnthn pmichaud: That was always the factoring headache I had before when putting in the return type constraint check.
09:07 pmichaud return stuff would always end up being "fall off the bottomish"  -- a return exception just gets you to the bottom.
09:07 jnthn *nod*
09:08 jnthn If you give me a place I can put the return type constraint check, I can easily enough add it :)
09:08 pmichaud okay, just wanted to make sure that mucking with the block structure slightly wouldn't cause too much grief
09:08 jnthn Adding another one on the end shoudl not.
09:08 pmichaud (mainly in the .[1] node, it looks like
09:09 pmichaud I'm thinking we'll end up remaining 2-node, but it should work out okay.
09:09 jnthn Breaking the current 0/1 meanings probably would hurt a bit.
09:09 huf joined #perl6
09:09 pmichaud we'll definitely keep the 0 meaning.  1 should be mostly the same
09:12 jdhore joined #perl6
09:13 JimmyZ joined #perl6
09:15 dalek rakudo/nom: 30f5cc9 | pmichaud++ | src/core/MapIter.pm:
09:15 dalek rakudo/nom: Add last/next/redo handling to map loops in MapIter.  Unfortunately,
09:15 dalek rakudo/nom: getting the exception handlers to work cleanly means going back to Q:PIR
09:15 dalek rakudo/nom: for much of the MapIter body, although it's very straightforward code.
09:15 dalek rakudo/nom: Fortunately, this gives us another huge speed boost, such that
09:15 dalek rakudo/nom: using map to iterate over a range is twice as fast as it was before
09:15 dalek rakudo/nom: (about 80% faster than master).
09:15 dalek rakudo/nom: while loop with an increment variable.
09:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/30f5cc9624
09:19 pmichaud hmm, don't know what happened to my commit message there.  oh well.
09:20 jdhore Well this sucks
09:21 grandmoun joined #perl6
09:21 awoodland left #perl6
09:31 donri joined #perl6
09:42 _twitch joined #perl6
09:43 koban left #perl6
09:43 moritz http://blogs.perl.org/users/leanan/2​011/06/perl6-duke-nukem-forever.html sigh
09:45 daxim »That people don’t think Perl6 is dead confounds me; we’ll get to that later, though.«  -  first, make sure 'e's dead. - *bang* OK, what now?
09:45 koban joined #perl6
09:47 * moritz wonders if people will continue to call perl 6 vapourware even when it has fast, stable compilers and a big module repository
09:48 moritz I kinda have the feeling that it's so ingrained in some people that they won't change their opinions, no matter what the facts say
09:48 daxim the argument already shifted from "vapour" to "production ready".  keep up with the distractors!!
09:48 jlaire like the title says, perl6 is like dnf; it will be released, eventually :)
09:48 moritz well, leanan still says "vapour"
09:49 moritz jlaire: and contain lots of unnecessary rudeness? :-)
09:49 jlaire moritz: oh, don't take the analogy *too* far :)
09:50 daxim Perl6's gonna pop off your head and shift down your neck?
09:50 jnthn I love how in one sentence there's "still no software4" and in the following sentences it turns out you can even run it.
09:51 daxim now, fixing these mistakes in the article, does the overall intended assertion still hold?
09:51 jlaire that post doesn't have even an epsilon of constructiveness, just ignore it
09:52 moritz daxim: I fear there's a grain of truth in there
09:52 pmichaud Oh, I think it can be constructive.  Basically it's identifying the problem that there's an assumption that  X(n+1) is always newer/better/supercedes X(n)
09:52 daxim that's realistic.  I'd blog about it
09:52 moritz daxim: many people still think that Perl 6 will obsolete Perl 5 one day, just because of the version nubmers
09:53 jdhore My biggest reason I don't think people will be happy with P6 is the same reason DNF is getting horrid reviews.
09:53 Eevee afaict, DNF is getting horrid review because it's genuinely a bad game
09:53 moritz we've tried to tell everybody that that's not true, but we're reaching only very few people
09:53 jdhore No, you won't have to pull some feces out of Perl 6's urinal in the first 5 minutes, but VERY little can live up to 14 years of hype
09:53 pmichaud so, as far as identifying that problem, it's got something to add.  But I think most of the people discussing it at length are already painfully aware of that issue, and the post doesn't do anything to move the discussion forward.
09:54 jdhore and while Perl 6 will be really really good, I sort of doubt that it will be able to live up to the 10-12 years of hype.
09:54 moritz pmichaud: agreed
09:54 pmichaud i.e., he didn't really address how one might dissociate any connection between Perl5 and Perl6, nor how to get Larry to possibly consider a different name.
09:54 pmichaud simply yelling "Perl 6 needs a new name" isn't really moving the discussion.
09:54 frettled It's just another thimblefull of vitriol.
09:56 jdhore I know what this argument is, but i think here's a good idea for a name: Perl-ng/Perlng
09:56 pernatiy left #perl6
09:57 tadzik let's name it Parrot.
09:57 tadzik oh, wait...
09:57 moritz jdhore: not good. Too lang, to hard to pronounce
09:57 tadzik perl-angie
09:59 frettled Camelia
10:00 moritz that's a nice name for a logo, but not good for a programming language
10:00 grandmoun left #perl6
10:00 jdhore moritz, That's as maybe, but perl-ng fits what Perl 6 is perfectly
10:00 tadzik screw this naming issues. No one is arguing over C# killing C++ killing C. The problem lies not in the naming
10:01 jdhore If you think of Perl 1-5 as all scaling in a linear fashion (they did), Perl 6 is scaling in a exponential fashion, so -ng fits
10:01 tadzik I don't think this will fool anybody
10:02 moritz jdhore: assuming that "ng" stands for a "new generation", it's a terrible postfix. In 20 years it won't be any "new"
10:02 dalek rakudo/nom: 3f99683 | moritz++ | t/00-parrot/09-pir.t:
10:02 dalek rakudo/nom: adapt t/00-parrot/09-pir.t to current reality
10:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3f99683abc
10:02 pmichaud btw, we can liberally change the 00-parrot and 01-sanity test files
10:02 moritz (same argument for "next" - if what it is next to is forgotten, it makes no sense whatsoever)
10:03 daniel-s joined #perl6
10:04 burning_aces joined #perl6
10:04 woosley left #perl6
10:05 daxim (raptor|butterfly) perl?
10:06 * moritz never really associated 'raptor' with any Perl version
10:06 jdhore moritz, It's the new generation of Perl...If I created a car with the same principles of the Model T or the E-Type Jaguar, everyone would call it a new generation of the Model T or the E-Type Jaguar.
10:06 pmichaud Let's all agree to call it Perl 5.20 and see if that fixes the problem.  :)
10:06 moritz and "butterfly" is way too long
10:06 moritz jdhore: so? it's still a terrible name in the long run
10:06 jdhore I disagree
10:07 pmichaud "Window NT"
10:07 pmichaud "Windows NT"
10:07 * moritz can't be won with "everybody does"-style arguments
10:07 _twitch left #perl6
10:09 jdhore moritz, Then what would you call this: http://www.jaguarspeedster.com/ ?
10:09 pmichaud What nobody ever addresses directly is #2 from the blog post. (more)
10:09 moritz jdhore: an URL
10:09 pmichaud I see three possibilities.
10:10 pmichaud (a)  Larry is convinced to start calling Perl 6 something else.
10:10 jdhore moritz, What's on (behind?) the URL :P
10:10 moritz jdhore: a website about a car
10:10 * moritz really doesn't see the point jdhore is trying to make
10:10 pmichaud (b)  The community collectively decides to call Perl 6 something else regardless of what Larry says, does, or thinks.
10:10 pmichaud (c)  The name remains Perl 6.
10:11 moritz (d) the community decides to rename Perl 5
10:11 pmichaud I don't see "b" happening.  I wouldn't be part of such a movement.
10:11 flussence *groan* this again... :)
10:11 pmichaud yes, (d) is a possibility also.
10:11 moritz as I keep saying, a really good, new name is prerequisite for both (a) and (b)
10:12 moritz (and for (d) too)
10:12 moritz I haven't seen one yet.
10:12 pmichaud and (d) doesn't supplant either (a), (b), or (c)
10:12 pmichaud it's kind of on another axis.
10:12 flussence we could offer to name it "21st Century Perl" to differentiate it from the language users of other languages usually call unreadable ;)
10:12 moritz well, if perl 5 was renamed, we wouldn't have to worry about the name clash anymore
10:13 pmichaud for those people who say that Perl 6 needs to be called something else, the options are (a), (b), and (c).
10:14 TiMBuS i like it as perl 6
10:14 _jaldhar_ left #perl6
10:14 TiMBuS its perl and a next major revision of it
10:14 * moritz wonders if he should throw another blog post into the mix
10:14 TiMBuS oh my god *scrolls back*
10:14 daniel-s Perl Xtreme!!
10:15 flussence besides, aren't people already renaming Perl 5 to "Modern Perl" to differentiate it from... Perl 5? :)
10:15 moritz to distinguish it from post-modern Perl 5? :-)
10:16 flussence .oO( post-mortem? )
10:17 tadzik <a dead language joke>
10:17 moritz <a meta joke about dead language jokes>
10:17 daniel-s you could just name it as a misspelling of another semi-precious stone that's similar to pearls
10:17 moritz rby?
10:18 moritz gem?
10:18 Eevee safire
10:19 Eevee I think 'gem' is already taken as a binary name  :)
10:19 moritz quarz
10:19 moritz japer
10:19 jlaire just another ...?
10:19 jlaire just another perl
10:20 moritz mis-spelled "jasper"
10:21 moritz (or "berl" as a mis-spelled "beryl" :-)
10:21 jlaire or "jaspr", in the true spirit of web 2.0
10:21 moritz NOOO
10:23 _twitch joined #perl6
10:24 flussence I think the p5 people are missing the point. There's *three* versions of Perl now - 6, 5, and the horrible mess non-perlers associate with the word "perl". Trying to force p6 to rename won't fix that at all, it'll exacerbate their public image problems if anything.
10:24 tadzik +1
10:25 jdhore I have it.
10:25 jdhore Call Perl 6 Lerp.
10:25 daniel-s that sounds gross
10:26 tadzik derp
10:26 burning_aces left #perl6
10:26 daniel-s sounds like a bodily function, like berp
10:26 jdhore crap...That won't work...didn't think that's though...It's 6AM and i've had a horrible evening
10:26 jdhore *that
10:32 * daniel-s likes Perl 6 (fwiw)
10:34 am0c joined #perl6
10:49 pernatiy joined #perl6
11:29 Su-Shee flussence: "their" image problem? all perl 6 image problems are perl 5 image problems and vice versa. noone outside out (shrinking ;) perl world actually cares for the distinction... ;)
11:30 Su-Shee outside of our is that supposed to mean :)
11:31 lichtkind joined #perl6
11:33 flussence it'll become their problem if they force Perl 6 out; right now if someone brings up the "perl is ugly" meme I just point them to random bits of p6 code and they quickly shut up :)
11:36 Su-Shee good thing then that more or less noone really cares what's up with either 5 and 6 all in all and most developers moved on to other languages entirely. ;) and until this bickering on _both_ sides doesn't stop, barely anyone will come (back).. ;)
11:43 flussence and when people claim perl6 will never be released/production-ready, I point them to tryrakudo and ask them where PHP 6 is :)
11:43 Mowah joined #perl6
11:46 frettled where's my flying car?
11:46 frettled I was promised one by 2000.
11:47 flussence there is one, you just have to share it with everyone else
11:47 moritz http://blogs.perl.org/users/mithaldu/2011/06/why-a​re-people-asking-for-a-perl-name-change-again.html
11:50 JimmyZ if name change fixes the problem, let's change it everyday
11:50 flussence I can't help but wonder if people would stop complaining if there was a perl6 that could run v5 code as well as perl5...
11:51 frettled flussence: they probably wouldn't, because then the v6 would be 'too slow', and the incompatibilities would cause bitching and whining, which of course will continue to be greater in strength and quantity than when we had the v4 -> v5 hullabaloop.
11:52 flussence isn't lexically-scoped "use v5" in our spec already?
11:52 * moritz is too young to have witnessed the v4 -> v5 hullabaloop.
11:53 mj41 left #perl6
11:53 flussence S11:625!
11:55 frettled there's a small remnant here: http://www.cygwin.com/ml/aut​omake/1999-04/msg00311.html
11:56 flussence regex changed between 4 and 5? I'm not sure I want to know what it looked like before...
11:59 mtk joined #perl6
11:59 wamba joined #perl6
12:03 am0c left #perl6
12:04 wamba left #perl6
12:08 orafu left #perl6
12:08 orafu joined #perl6
12:09 mberends joined #perl6
12:24 gfldex "people would stop complaining" - Whining gets you stuff. That's why humans deem themself at the top of the food chain. (What they are not. Zombies, bacteria and maggots > human)
12:25 icwiener joined #perl6
12:35 mberends sorear: niecza v7 has a truly impressive release announcement. For a name suggestion, how about p6sharp? And +1 for CLR libraries, if that includes callbacks we can work towards a GUI.
12:38 leprevost joined #perl6
12:39 eiro hello all
12:39 felher Is there something like haskells where-operator in perl6?
12:39 colomon left #perl6
12:39 daxim gfldex, I *demand* a pony.
12:39 felher o/ eiro
12:40 eiro ho ... masak's missing.
12:40 eiro anyone else interested to join the perlude list ?
12:40 moritz what is perlude?
12:40 eiro (perlude is an haskell prelude in perl5)
12:41 moritz so... you implement Haskell functions in Perl 5?
12:41 eiro yep
12:41 moritz sounds like fun
12:41 moritz but /me has already too many other projects
12:42 * flussence looks up the where-operator...
12:43 jlaire where is not an operator, it's part of the core syntax of Haskell
12:43 benabik left #perl6
12:43 tokuhirom left #perl6
12:43 tokuhirom joined #perl6
12:44 vam joined #perl6
12:44 eiro you can write things like say sum take 10, filter { /3/ } fibo 1,1
12:44 gfldex daxim: there you go: http://img4.hostingpics.ne​t/pics/935404cqlol1024.jpg
12:45 felher Thnx jlaire. I don't know enough haskell for sure. :)
12:45 eiro moritz, we are already 3 core developpers and it mostly work. what i need now is users we can ask for ideas, feedback and feature requests
12:46 flussence if you're writing haskell functions in p5, does that mean eventually pugs will run on it? :)
12:46 eiro haha ... not at all :)
12:46 jlaire felher: 'where' desugars to 'let .. in', so the equivalent in perl6 is just normal local variables :)
12:47 eiro actually there are still some differences
12:47 eiro and that's why i would appreciate members on the list
12:48 eiro for exemple: mapM and mapM_ are really annoying perl people. it became apply and traverse
12:48 eiro (traverse was a masak idea)
12:48 jlaire how'd you implement mapM? o_O
12:49 moritz eiro: sounds like jlaire is your first "victim" :-)
12:51 * jlaire goes to cpan
12:51 felher jlaire: ah, okay. thnx alot. :)
12:52 eiro jlaire: by lying to myself: i used closures as monads
12:52 eiro and basically: mapM_ is
12:53 jlaire felher: np, the more people interested in haskell the better ;)
12:53 jlaire eiro: I see
12:53 eiro my ( $block , $C ) = @; sub { (my $v = $C->() ) or return; $block->() for $v; $v }
12:53 jlaire an interesting project :)
12:53 eiro thanks
12:54 eiro jlaire, interested to join the list ?
12:54 eiro (it's just an alias for the moment, that's why i came to ask masak)
12:57 moritz left #perl6
13:01 jlaire eiro: I have too much to do already :|
13:02 eiro jlaire, i just asked : you're welcome
13:10 vam left #perl6
13:10 Holy_Cow joined #perl6
13:12 bluescreen10 joined #perl6
13:16 colomon joined #perl6
13:16 colomon o/ from yapc::na!
13:16 mberends o/
13:19 jnthn o/
13:20 cheeseboy joined #perl6
13:20 Katibe joined #perl6
13:20 cheeseboy can someone help me with ilbot?
13:21 cheeseboy Can't locate Config/File.pm in @INC (@INC contains: lib /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at ./ilbot2.pl line 5.
13:21 cheeseboy BEGIN failed--compilation aborted at ./ilbot2.pl line 5.
13:21 cheeseboy docs are non existent :/
13:23 Katibe left #perl6
13:23 agentzh left #perl6
13:24 molaf joined #perl6
13:26 Katibe joined #perl6
13:26 JimmyZ good evening, #perl6
13:31 f00li5h joined #perl6
13:34 flussence cheeseboy: "Can't locate Config/File.pm" means you don't have Config::File installed in a place where the script can find it.
13:34 Kivutarrr joined #perl6
13:36 cheeseboy flussence, http://pastebin.com/0DQdXVqx any guesses on which i need?
13:37 flussence none of those are the right one, you'll need to use CPAN
13:39 cheeseboy cant find it
13:39 flussence You should have the "cpan" or "cpanm" command, one of those will install it.
13:41 colomon sorear: ping?
13:41 colomon cheeseboy: or perl -MCPAN -eshell
13:41 colomon cheeseboy: and then "install Config::File"
13:42 colomon cheeseboy: might need sudo...
13:45 colomon sorear: I appear to have completely broken my niezca somehow.  :(
13:48 colomon sorear: never mind, back in business
13:49 colomon niecza: say 1000000 / 8
13:50 p6eval niecza v6-209-g1ea7e81: OUTPUT«125000/1␤»
13:52 colomon niecza: say 1000000000000000000 / 8
13:52 p6eval niecza v6-209-g1ea7e81: OUTPUT«125000000000000000/1␤»
13:53 JimmyZ nom: say 1000000 / 8
13:53 p6eval nom: OUTPUT«125000␤»
13:55 JimmyZ nom: say 8 / 1000000
13:55 p6eval nom: OUTPUT«8e-06␤»
14:00 tokuhir__ joined #perl6
14:03 PacoLinux joined #perl6
14:04 tokuhirom left #perl6
14:12 colomon rakudo: say 2.54e0 ** 3
14:12 p6eval rakudo b2bc99: OUTPUT«16.387064␤»
14:13 wtw left #perl6
14:14 colomon TimToady's keynote at the moment!
14:15 mberends left #perl6
14:15 mberends joined #perl6
14:17 colomon rakudo: say 2.54e0 ** -3
14:17 p6eval rakudo b2bc99: OUTPUT«===SORRY!===␤Confused at line 22, near "say \x{2}2.54e"␤»
14:17 colomon rakudo: say 2.54e0 ** -3
14:17 p6eval rakudo b2bc99: OUTPUT«0.0610237440947323␤»
14:18 * jnthn wonders what this year's keynote is about :)
14:19 * jnthn should maybe wait to YAPC::EU to find out ;)
14:19 jnthn (if it's the same one :))
14:21 colomon jnthn: community
14:21 jnthn ooh, nice :)
14:23 thou joined #perl6
14:33 kanishka left #perl6
14:33 drbean left #perl6
14:36 _twitch left #perl6
14:38 avidguy joined #perl6
14:39 colomon "We've tried to change the Perl 6 community into a roach motel."  :)
14:39 koban left #perl6
14:44 alester joined #perl6
14:46 PerlJam colomon: is someone recording it?
14:46 colomon PerlJam: I assume so, but I don't know for certain
14:47 bluescreen10 left #perl6
14:50 kanishka joined #perl6
14:51 bluescreen10 joined #perl6
14:52 Kivutarrr left #perl6
14:54 Moukeddar joined #perl6
14:55 mkramer joined #perl6
14:55 jevin left #perl6
14:55 colomon rakudo: say 1i ** 2
14:56 p6eval rakudo b2bc99: OUTPUT«-1 + 1.22464679914735e-16i␤»
14:56 avidguy left #perl6
14:57 jevin joined #perl6
14:59 mberends left #perl6
15:01 mkramer left #perl6
15:03 tokuhir__ left #perl6
15:04 tokuhirom joined #perl6
15:08 donri left #perl6
15:09 colomon well poop.
15:09 colomon just went through the spectests looking for some juicy Complex ** Complex tests, and there don't appear to actully be any.
15:10 donri joined #perl6
15:16 daxim left #perl6
15:19 tokuhirom left #perl6
15:20 tokuhirom joined #perl6
15:31 molaf left #perl6
15:32 bloonix joined #perl6
15:33 spq2 joined #perl6
15:44 Moukeddar left #perl6
15:45 colomon TimToady mentioned "Keep your core contributors sane", but not how to find contributors that are sane in the first place?  ;)
15:50 slavik colomon: that is the magic
15:53 pmichaud good morning, #perl6
15:53 mkramer1 joined #perl6
15:53 JimmyZ good morning, pmichaud
15:56 slavik left #perl6
15:57 slavik joined #perl6
16:02 colomon o/
16:03 JimmyZ why perl6 -e '' goes into interactive mode?
16:05 mkramer1 left #perl6
16:09 TimToady maybe a || that should be //
16:14 tokuhirom left #perl6
16:16 spq2 left #perl6
16:16 tokuhirom joined #perl6
16:17 jlaire perl6: say (pi + 20) ** i
16:17 p6eval rakudo b2bc99: OUTPUT«-0.99999999924368 - 3.88926694022219e-05i␤»
16:17 p6eval ..pugs: OUTPUT«*** No such subroutine: "&i"␤    at /tmp/DVmM6o42gm line 1, column 5 - line 2, column 1␤»
16:17 p6eval ..niecza v6-209-g1ea7e81: OUTPUT«23.1415926535898␤»
16:18 TimToady niecza: say i
16:18 p6eval niecza v6-209-g1ea7e81: OUTPUT«0+1i␤»
16:18 MayDaniel joined #perl6
16:18 colomon jlaire: my fixed local copy of niecza gets that right
16:19 jlaire colomon: nice
16:20 colomon jlaire: now we just need sorear++ to wake up and apply my patch.  :)
16:20 dalek nqp: fa94a60 | pmichaud++ | src/PAST/NQP.pir:
16:20 dalek nqp: Add first pass at handling lexical returns; create a new :pasttype<lexotic>
16:20 dalek nqp: that creates a continuation block and attaches it to a lexical name.
16:20 dalek nqp: review: https://github.com/perl6/nqp/commit/fa94a608a1
16:20 mberends joined #perl6
16:23 sorear good * #perl6
16:24 colomon speak of the devil
16:24 colomon sorear: infix:<**> is incredibly fugly
16:24 colomon but it's in your mailbox
16:26 mberends o/ sorear: another niecza rename suggestion: call it Sprixel, and hope that diakopter++ doesn't notice ;)
16:29 sorear heh, diakopter's already used that name for 2-3 entirely unrelated names
16:29 sorear things
16:29 TimToady so he's even less likely to notice one more :)
16:29 colomon sorear: power running low on laptop, then will be questing for nom.  should be back online 2:30ish est
16:29 sorear bye!
16:30 dalek rakudo/nom: f647b57 | pmichaud++ | / (3 files):
16:30 dalek rakudo/nom: Switch to using lexical returns.  A return invocation now attaches
16:30 dalek rakudo/nom: to the lexical environment in which it is written, instead of being
16:30 dalek rakudo/nom: purely dynamic.  This implementation uses continuations directly
16:30 dalek rakudo/nom: instead of Parrot's exception handling, which may be both good and
16:30 dalek rakudo/nom: bad.  We'll have to see how it all works out.
16:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f647b57004
16:30 dalek rakudo/nom: 8b62352 | pmichaud++ | t/00-parrot/09-pir.t:
16:30 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
16:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8b62352854
16:31 pmichaud nom:  say 1,1,*+* ... { * > 100 };   # just checking
16:31 p6eval nom: OUTPUT«1 ␤»
16:31 Chillance joined #perl6
16:31 pmichaud hmmmm
16:32 TimToady $_ not *
16:32 Chillance left #perl6
16:32 pmichaud oh
16:32 pmichaud nom:  say 1,1,*+* ... { $_ > 100 };   # just checking
16:32 p6eval nom: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144 ␤»
16:32 Chillance joined #perl6
16:32 pmichaud TimToady: thanks
16:32 * colomon thought that was what pmichaud was trying to test....
16:32 pmichaud nope, I just think-o'd there
16:32 pmichaud how's the conference?
16:33 colomon nice so far
16:33 TimToady fine now
16:33 PerlJam TimToady: now that you're done with your public-facing portion?  :)
16:33 TimToady well, the one where I can't just wing it
16:35 colomon it was fine when TimToady was talking, too -- at least for the rest of us.
16:36 PerlJam TimToady: at some point you need to do a talk themed around you answering for your transgressions at the perly gates  ;)
16:36 sorear colomon: as it turns out I broke @*ARGS, again
16:36 sorear colomon: so... last minute fixes :/
16:36 colomon left #perl6
16:36 PerlJam TimToady: unless you've already done one of those and I missed it.
16:37 TimToady well, kinda
16:37 TimToady I had Gloria and Aron being the good and bad angels on my shoulders
16:38 PerlJam sure, but that usually happens while you're still alive.  Once you're at the pearly gates, it's usually clear which side won
16:39 pmichaud istr that TimToady++ gets hit by a bus in that particular episode :)
16:39 dalek niecza: 27122b4 | sorear++ | / (5 files):
16:39 dalek niecza: Fix binding to package-scoped arrays (yet again), @*ARGS and %*ENV flattening
16:39 dalek niecza: review: https://github.com/sorear/niecza/commit/27122b4143
16:40 PerlJam The perl community bears a striking resemblence to a bus now that you mention it ....
16:40 PerlJam But he gets hit by that bus all the time
16:40 sorear now to look at that patch of colomon
16:40 drbean joined #perl6
16:41 * pmichaud tries to figure out what to hack on next in nom.
16:41 pmichaud oh, fail().
16:42 moritz_ joined #perl6
16:43 moritz_ is now known as moritz
16:43 TimToady nomsville &
16:45 pernatiy left #perl6
16:46 colomon joined #perl6
16:47 sorear colomon: big_pow is kindof unnecessary
16:47 MayDaniel left #perl6
16:49 sorear BigInteger cannot represent any number larger than 2 ** (32 * int.MaxValue)
16:50 cdarroch joined #perl6
16:50 cdarroch left #perl6
16:50 cdarroch joined #perl6
16:58 _jaldhar_ joined #perl6
17:05 mberends sorear: what do you think of renaming niecza to p6sharp (or perl6sharp) ?
17:05 birdwindupbird left #perl6
17:06 sorear mberends: it makes me wonder what I'll do with the JVM backend I keep speculating about
17:07 mberends oh, good point :)
17:10 mkramer joined #perl6
17:11 dalek niecza: e5fa57e | (Solomon Foster)++ | lib/ (2 files):
17:11 dalek niecza: Initial implementation of infix:<**>. Not properly tested, completely broken for Complex numbers.
17:11 dalek niecza: review: https://github.com/sorear/niecza/commit/e5fa57ea91
17:11 dalek niecza: 1948f60 | (Solomon Foster)++ | lib/Builtins.cs:
17:11 dalek niecza: Fixes, first implementation of Complex infix:<**>.
17:11 dalek niecza: review: https://github.com/sorear/niecza/commit/1948f60f54
17:11 dalek niecza: d6516ab | sorear++ | test2.pl:
17:11 dalek niecza: Incorporate colomon's power tests
17:11 dalek niecza: review: https://github.com/sorear/niecza/commit/d6516ab28a
17:12 noganex_ joined #perl6
17:12 _jaldhar_ left #perl6
17:14 dalek niecza: be28ad1 | sorear++ | docs/announce.v7:
17:14 dalek niecza: Revise announcement
17:14 dalek niecza: review: https://github.com/sorear/niecza/commit/be28ad177c
17:15 JimmyZ niecza: use v7
17:15 p6eval niecza v6-209-g1ea7e81:  ( no output )
17:15 noganex left #perl6
17:17 cooper joined #perl6
17:17 cooper left #perl6
17:17 cooper joined #perl6
17:17 cooper left #perl6
17:17 odrm joined #perl6
17:18 cooper joined #perl6
17:18 cooper left #perl6
17:18 cooper joined #perl6
17:18 cooper left #perl6
17:18 cooper joined #perl6
17:20 dakkar left #perl6
17:26 mkramer left #perl6
17:28 colomon left #perl6
17:30 pernatiy joined #perl6
17:31 mkramer joined #perl6
17:31 [Coke] pmichaud: so, you still interesting in hacking on partcl? (Or pointing me at how the next-big-rewrite needs to be done?)
17:31 [Coke] *interested
17:31 pmichaud [Coke]: yes, I'm interested.  nqp needs to be moved a little farther along, I think.
17:31 pmichaud maybe a week or so
17:32 pmichaud it's much the same as before, though
17:32 pmichaud we should be able to use the same grammar and actions for the most part (that's what Rakudo nom hss done)
17:33 pmichaud but it's also a chance to clean up any cruft :)
17:34 [Coke] Hokay.
17:35 colomon joined #perl6
17:37 jlaire perl6: say (-1)**-i
17:37 p6eval rakudo b2bc99: OUTPUT«NaN + NaNi␤»
17:37 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "i"␤    at /tmp/KXGRXyGznY line 1, column 12␤»
17:37 p6eval ..niecza v6-214-gbe28ad1: OUTPUT«23.1406926327793+0i␤»
17:38 jlaire niecza++
17:38 jlaire (colomon++)
17:38 sorear NaN?  really?
17:39 wamba joined #perl6
17:39 colomon niecza: say (2/5)**4
17:39 p6eval niecza v6-214-gbe28ad1: OUTPUT«16/625␤»
17:40 colomon how does 23.1406926327793 make sense for that?
17:40 jlaire colomon: http://en.wikipedia.org/wiki/Gelfond%27s_constant
17:40 mj41 joined #perl6
17:40 mkramer left #perl6
17:40 colomon woah.  okay, I'll take that ++ as earned.  ;)
17:40 jlaire niecza: say (-1)**-i == e**pi
17:40 p6eval niecza v6-214-gbe28ad1: OUTPUT«Bool::False␤»
17:40 jlaire niecza: say (-1)**-i - e**pi
17:41 p6eval niecza v6-214-gbe28ad1: OUTPUT«-5.32907051820075E-14+0i␤»
17:41 * colomon doesn't have a good intuitive grasp of what complex powers should look like
17:41 mkramer joined #perl6
17:41 dalek rakudo/nom: 3cefeb4 | pmichaud++ | / (4 files):
17:41 dalek rakudo/nom: Make fail() into a soft-fail.
17:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3cefeb4537
17:41 mkramer left #perl6
17:41 colomon niecza: say (4/25)**.5
17:41 p6eval niecza v6-214-gbe28ad1: OUTPUT«0.4␤»
17:41 colomon niecza: say (4/25)**-1
17:42 p6eval niecza v6-214-gbe28ad1: OUTPUT«25/4␤»
17:42 pmichaud perl6:  say (-1).log
17:42 p6eval niecza v6-214-gbe28ad1: OUTPUT«Unhandled exception: Unable to resolve method log in class Int␤  at /tmp/gkX3_IjKo0 line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1787 (CORE C849_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1788 (CORE module-CORE …
17:42 p6eval ..pugs, rakudo b2bc99: OUTPUT«NaN␤»
17:43 pmichaud perl6:  say (-1e0).log
17:43 p6eval niecza v6-214-gbe28ad1: OUTPUT«Unhandled exception: Unable to resolve method log in class Num␤  at /tmp/Dlr2v1rxXZ line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1787 (CORE C849_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1788 (CORE module-CORE …
17:43 p6eval ..pugs, rakudo b2bc99: OUTPUT«NaN␤»
17:43 pmichaud that's why Rakudo is reporting NaN :-)
17:43 colomon yes
17:44 colomon but then I don't know why niecza is getting it right
17:45 sorear perl6: say (2 ** (1/1)).WHAT
17:45 p6eval rakudo b2bc99, niecza v6-214-gbe28ad1: OUTPUT«Num()␤»
17:45 p6eval ..pugs: OUTPUT«Rat␤»
17:45 colomon oh, wait
17:46 bakedb left #perl6
17:46 colomon rakudo: (-1 + 0i).log
17:46 p6eval rakudo b2bc99:  ( no output )
17:46 colomon rakudo: say (-1 + 0i).log
17:46 p6eval rakudo b2bc99: OUTPUT«0 + 3.14159265358979i␤»
17:46 colomon that's.... kind of weird
17:48 colomon but it's right, too.
17:48 pmichaud rakudo:  say (-1+0i).log * -1i
17:48 p6eval rakudo b2bc99: OUTPUT«3.14159265358979 + 0i␤»
17:48 pmichaud rakudo:  say ((-1+0i).log * -1i).exp
17:48 p6eval rakudo b2bc99: OUTPUT«23.1406926327793 + 0i␤»
17:48 pmichaud nice
17:49 pmichaud easy fix for rakudo :-)
17:49 colomon yeah, I'm just worried about the math of it.
17:49 JimmyZ left #perl6
17:49 colomon oh, wait, I see
17:50 colomon if you're only in the reals, then -1.log is NaN
17:50 colomon yeah, easy fix.  shall I?
17:51 pmichaud right
17:51 pmichaud yes, please do :)
17:51 colomon okay, should be able to get it in (with tests!) before the next talk
17:52 pmichaud that'd be great
17:53 pmichaud colomon++ jlaire++
17:53 colomon I suppose I need a colomon-- for getting the Rakudo version wrong.  :)
17:53 pmichaud not at all -- we all learned something cool.
17:53 pmichaud be sure to add a spectest for it, though.  that'd be worth an extra ++
17:54 tokuhir__ joined #perl6
17:54 pmichaud lunchtime here
17:56 colomon pmichaud: if you're still there, any thought on where infix:<**> spectests should go?  There are vanishing few of the things in the spec at the moment.
17:57 pmichaud S03-operators, probably
17:57 sorear S32-num/power.t
17:57 tokuhir__ left #perl6
17:57 tokuhirom left #perl6
17:57 pmichaud I'd probably do S03-operators/exponentiation.t  for the basic <**> tests... complex tests could conceivably be in a separate spectest file
17:57 pmichaud oh, yes, power.t works
17:58 colomon power.t looks appropriate.  thanks!
17:58 pmichaud maybe rename power.t to exponentation.t.  I'm thinking we may want some significant test file renames
17:58 sorear niecza: say 1.015 ** 200
17:58 p6eval niecza v6-214-gbe28ad1: OUTPUT«NaN␤»
17:59 colomon hmmm.
17:59 colomon niecza: say 1.015
17:59 p6eval niecza v6-214-gbe28ad1: OUTPUT«203/200␤»
17:59 sorear niecza: say (1.015 ** 200).nude
17:59 p6eval niecza v6-214-gbe28ad1: OUTPUT«Unhandled exception: Unable to resolve method nude in class Num␤  at /tmp/WppG0Xzp7L line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1787 (CORE C849_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1788 (CORE module-CORE…
17:59 sorear ohright it overflows the Rat denominator
17:59 colomon sorear: it's going to be a Num, because... right
18:00 colomon so why doesn't it get the correct Num?
18:00 colomon Am I using the C# Rat constructor incorrectly?
18:00 sorear because 200 ** 200 > double.MaxValue
18:00 colomon ooooooo
18:00 sorear the division operator on line 397 sees Inf / Inf
18:00 colomon right, guess it would be.
18:01 colomon rakudo: say 1.015 ** 200
18:01 p6eval rakudo b2bc99: OUTPUT«19.6430286394751␤»
18:01 colomon niecza: say 1.015.Num ** 200
18:01 p6eval niecza v6-214-gbe28ad1: OUTPUT«19.6430286394751␤»
18:03 pmichaud lunchtime, afk
18:09 dalek roast: 0f596fe | (Solomon Foster)++ | S32-num/power.t:
18:09 dalek roast: Add test for (-1) ** -i power.
18:09 dalek roast: review: https://github.com/perl6/roast/commit/0f596fe35c
18:09 dalek rakudo/nom: c461a7d | pmichaud++ | / (2 files):
18:09 dalek rakudo/nom: Update NOMMAP (remove fail() from things-to-do).
18:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c461a7d11e
18:10 dalek rakudo: 1fcb142 | (Solomon Foster)++ | src/core/Complex.pm:
18:10 dalek rakudo: Fix (-1) ** -i bug by switching to Complex log.
18:10 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/1fcb142816
18:22 colomon left #perl6
18:24 colomon joined #perl6
18:25 buubot_backup left #perl6
18:39 Bzek left #perl6
18:46 buubot_backup joined #perl6
18:46 Mowah left #perl6
18:50 colomon left #perl6
18:51 spq2 joined #perl6
18:53 colomon joined #perl6
18:53 * thou is glad he rebuilt niecza from fresh git before reporting a bug that's no longer there :-)
18:55 moritz nom: say fail("foo").WHAT
18:55 p6eval nom: OUTPUT«Null PMC access in invoke()␤current instr.: '_block3494' pc 219633 (src/gen/CORE.setting.pir:58412) (:2681)␤»
18:55 moritz nom: say fail("foo")
18:55 p6eval nom: OUTPUT«Null PMC access in invoke()␤current instr.: '_block3494' pc 219633 (src/gen/CORE.setting.pir:58412) (:2681)␤»
18:55 moritz that looks... LTA
18:59 colomon rakudo: say -1.sqrt
18:59 p6eval rakudo 1fcb14: OUTPUT«-1␤»
18:59 colomon rakudo: say (-1).sqrt
18:59 p6eval rakudo 1fcb14: OUTPUT«NaN␤»
19:02 huf left #perl6
19:03 colomon rakudo: say (-1).Complex.sqrt
19:03 p6eval rakudo 1fcb14: OUTPUT«0 + 1i␤»
19:06 pmichaud moritz: the problem is that fail() doesn't have a Routine to return from.  I can fix that.
19:06 dalek niecza: 67cc261 | sorear++ | FETCH_URL:
19:06 dalek niecza: Update bootstrap for v7
19:06 dalek niecza: review: https://github.com/sorear/niecza/commit/67cc261b42
19:08 spq2 left #perl6
19:08 sorear v7 message sent
19:09 bakedb joined #perl6
19:12 _jaldhar_ joined #perl6
19:16 16SAAMVME joined #perl6
19:26 dalek left #perl6
19:27 p6eval left #perl6
19:27 mberends pmichaud: I can add our sub chop in nom/src/core.Str.pm as nqp::p6box_s(pir::chopn__Ssi(nqp::unbox_s($a), 1)).  Is that the right way, if so, should I commit that?
19:28 pmichaud looks good to me, and yes, you should commit
19:28 mberends ok :) plenty more LHF in that case
19:28 pmichaud wait... looks to me like Str already has chop
19:28 pmichaud line 26
19:28 sorear niecza: say 2 + 2
19:29 [Coke] sorear: how to pronounce niecza?
19:29 mberends pmichaud: Str has method chop but not sub
19:29 pmichaud nom: say 'abc'.chop
19:29 pmichaud oh, *sub*
19:29 pmichaud the real way to do it will be with 'is export' on the method, I suspect.  But I also think that's nyi
19:30 * mberends tries 'is export'
19:30 pmichaud maybe write  sub chop as     sub chop($s) { $s.chop }    then
19:31 sorear [Coke]: I need to learn IPA someday :/  I usually say like Hepburn niecha or niekka.  It needs a new name
19:31 pmichaud and it might belong in Cool instead of Str
19:32 mberends yes, so that we can chop(421) and get 42
19:32 birdwindupbird joined #perl6
19:33 mberends 'is export' spews 'Could not find sub &DYNAMIC'
19:33 pmichaud yeah, nyi then.
19:33 pmichaud I think it's already in the nommap
19:34 mberends will try the Cool way now
19:34 pmichaud hmm, it's not.
19:36 bakedb left #perl6
19:37 dalek joined #perl6
19:37 p6eval joined #perl6
19:40 cheeseboy is now known as Josh|Jr
19:43 ggoebel sorear: a name suggestions... shebang
19:43 * diakopter gigles
19:43 kanishka left #perl6
19:44 ggoebel shebang perl6 rolls off the tongue
19:44 ggoebel but then... so do associations with William Hung and Shazam!
19:45 Tedd1 joined #perl6
19:50 16SAAMVME left #perl6
19:59 Holy_Cow left #perl6
19:59 Josh|Jr is now known as Josh|Sr
20:00 Josh|Sr is now known as Lil|Josh
20:00 Lil|Josh is now known as cheeseboy
20:03 birdwindupbird left #perl6
20:04 daniel-s left #perl6
20:04 NineTailedDemonF joined #perl6
20:05 NineTailedDemonF left #perl6
20:05 jnthn is export is fine. Just not in the setting.
20:06 jnthn And if it does go in the setting, not until after DYNAMIC is defined.
20:06 jferrero joined #perl6
20:06 explorer__ joined #perl6
20:06 jnthn And only then when I fix stuff up so it can be found.
20:06 pmichaud oh, I can move DYNAMIC earlier in the setting then
20:06 jnthn Yeah, but it won't help just yet.
20:06 pmichaud that's fine, at least it'll be in place :)
20:07 jnthn BEGIN time stuff doesn't yet see the lexical scope.
20:07 lue joined #perl6
20:07 jferrero left #perl6
20:07 explorer__ left #perl6
20:08 bakedb joined #perl6
20:08 mberends I'm making subs for all existing Str methods now, without 'is export'. All unfudged tests pass.
20:08 pmichaud niiiice
20:08 jnthn Trouble with using "is export" in the setting is that something's gotta import them. Well, we could implement import too I guess :)
20:09 mberends only the optional params fail when omitted on substr, index, rindex
20:10 lichtkind who was the guy who suggested to write a git based wiki in perl 6?
20:13 lichtkind thou: cheers
20:14 thou hi, lichtkind!  o/
20:14 lichtkind thou: any tuits for today?
20:15 thou lichtkind: a few, yes!
20:15 thou lichtkind: as long as nothing blows up at work :-)
20:16 thou lichtkind: i'm starting a crappy e-mail module in perl6, hoping to just learn a bit more practical stuff and get grounded a bit more.
20:16 thou ideally once i write a crappy one, i'll write a nice one.
20:16 bakedb left #perl6
20:17 lichtkind :)
20:17 envi left #perl6
20:17 thou lichtkind: btw, i saw a talk you did on "what we can learn from rebol"
20:17 lichtkind what about military disciplin and go down the index A ? :)
20:18 lichtkind thou: yes whyt you want to know?
20:18 thou i didn't have the patience to listen to the end of it because the audio was so bad, but at least i got to see who you are :-)
20:18 lichtkind thou: im much better looking now :)
20:18 thou nothing in particular. just watching it while i did the dishes
20:18 thou that's a relief.
20:19 moritz pmichaud: are you sure that Nil assignment is a LHF? looks like it needs digging in src/binder/container.c or so...
20:19 pmichaud moritz: I think it's mainly a change to Rakudo's assignment opcode
20:20 jnthn LHF but C ;)
20:20 pmichaud basically, assigning Nil to a scalar should cause the Scalar to revert to its original defined type
20:20 pmichaud my $x = Nil;   # assigns Any to $x
20:20 jnthn That one is tricky. :)
20:20 pmichaud okay, maybe it's not lhf then :-)
20:20 jnthn Because we can't just grab the type constraint.
20:21 jnthn my Int $x = Nil # easy
20:21 pmichaud isn't   my $x   just the same as   my Any $x ?
20:21 jnthn No, it's like my Mu $x = Any
20:21 pmichaud oh.  I thought the spec folks wanted to change that.
20:22 pmichaud i.e., all scalars default to Any
20:22 pmichaud (in type, as well as initial value)
20:22 jnthn I thought that idea was successfully put down by the junctionists. :)
20:22 pmichaud hmmmm
20:22 jnthn I for one didn't like it.
20:22 pmichaud I thought we decided that storing a junction required declaring the variable as Mu
20:22 jnthn my $x = 1 | 2; # error
20:22 jnthn I remember it being discussed
20:23 jnthn I'm not sure it made it to a decision.
20:23 kaare_ left #perl6
20:23 spq2 joined #perl6
20:23 sorear pmichaud: it was discussed but I backed down
20:23 PerlJam But what does the spec say?  :)
20:23 pmichaud I think the spec is thus far silent.  although the spectests probably aren't.
20:24 jnthn No, I think we have a load of spectests taht expect my $x = 1 | 2; style things to work.
20:24 sorear pmichaud: allowing my $x = ANYTHING seems like useful behavior, and the spectests use it
20:24 pmichaud sorear: yes, I was the one that originally advocated it.  :)
20:24 sorear pmichaud: I'm dubious about 'my $x = Nil' though :/
20:24 jnthn pmichaud: Anyway, we can have my $x = Nil lead to Any easy enough
20:25 jnthn pmichaud: It'd just be rather hard to make my Mu $x = Nil not put Any there. :)
20:25 lichtkind thou: so whats our plan for today? do a section of the tut or 2 chapters of a tablet?
20:25 jnthn But maybe that's not an issue. :)
20:25 pmichaud http://irclog.perlgeek.de/​perl6/2011-05-16#i_3751984
20:25 thou lichtkind: let's do tablets
20:26 pmichaud the only thing more definitive than that statement would be if it showed up in the spec :-)
20:26 pmichaud sometimes it's rare to get TimToady++ to say something so clearly.  :)
20:27 jnthn Hmm.
20:27 pmichaud this also gets regular my declarations to be consistent with parameter declarations :-)
20:27 jnthn Yeah, but that's useful. It makes auto-threading work.
20:27 pmichaud sub xyz($a is rw) {   $a = 2|3;   }
20:28 jnthn my $a = 1 | 2 can't auto-thread.
20:28 jnthn Well, it *chould*. :)
20:28 jnthn "Guess what $a might be?" ;)
20:28 jnthn But the only thing making it Any there would do is make it die.
20:29 pmichaud which might be good, if you weren't expecting a Junction result.
20:29 jnthn Hm
20:29 jnthn Maybe.
20:29 pmichaud anyway, I was simply going on TimToady++'s comment of 05/16
20:30 masak joined #perl6
20:30 jnthn We tend to lean towards making stuff work in absence of type constraitns though.
20:30 masak o/, #perl6
20:30 phenny masak: 08:15Z <moritz> tell masak about http://xkcd.com/917/ when he appears
20:30 masak moritz: yes, I like :)
20:30 pmichaud I'm looking forward to attacking lots of RT tickets soon :)
20:30 pmichaud ("now works in nom, ticket closed")
20:30 jnthn :)
20:31 pmichaud anyway,  if we just had a version of   $x = Nil  that reverted $x to its type object (regardless of special Mu/Any semantics), that'd be enough for what I wanted from the LHF
20:31 masak sorear: re NIH: while the problem could've been solved by me using someone else's blogging software, it could also have been solved by me scratching a few more itches and having the datetime be autogenerated. I haven't gotten to that point for various tuit-related reasons.
20:32 pmichaud I definitely don't want $x to end up as Nil -- that's the part that needs avoiding.
20:32 jnthn ok
20:32 sorear o/ masak
20:32 masak sorear: I'm sorry for the inconvenience that poisoning the planetperl6 feed causes. I still think/hope that having a Perl 6 blog in production is a net win.
20:32 huf joined #perl6
20:32 pmichaud one could equally blame the feed for not having robust date handling :)
20:33 masak well, it just has a good memory, is all.
20:33 * PerlJam has always blamed the feed for that
20:33 * mberends forgives masak
20:33 masak ;)
20:33 * pmichaud hugs masak
20:33 * masak smiles
20:34 masak I'm also glad I didn't typo in 2012 or something :P
20:34 PerlJam wait ... where are all of your posts on renaming or not renaming Perl 6?!?
20:34 masak those were tweets.
20:35 masak pmichaud: I nicked your line about 5.20 -- hope that's OK. I saw it in the backlog and thought it was really funny :)
20:35 pmichaud sure thing :-)
20:36 * jnthn pulls latest nom to see how we're doing with tests :)
20:37 moritz we're doing quite fine on those we pass
20:38 moritz t/spec/S06-advanced_subroutine_features/lexical-subs.rakudo .... Failed 1/10 subtests
20:38 jnthn oh, hm
20:38 jnthn I thought we passed all of that before
20:38 pmichaud No wait! Let's name it "Perl ڪⅸ"   lolololol
20:38 moritz we did
20:38 masak :D
20:39 pmichaud I might have an unpushed commit for that fail
20:39 pmichaud just a sec
20:40 masak pmichaud: sub foo { return { return 42 } }; my $a = foo(); say $a() # what should it do/print?
20:40 pmichaud masak: I have no idea :-)
20:40 jnthn nom: sub foo { return { return 42 } }; my $a = foo(); say $a()
20:40 p6eval nom: OUTPUT«invoke() not implemented in class 'Int'␤current instr.: '_block1002' pc 93 ((file unknown):77) (:1)␤»
20:40 masak pmichaud: I mean, if returns are lexical...
20:41 pmichaud nom: sub foo { return { return 42 } };  my $a = foo(); say $a.WHAT;
20:41 p6eval nom: OUTPUT«Block()␤»
20:41 pmichaud nom: sub foo { return { return 42 } };  my $a = foo(); $a()
20:41 p6eval nom: OUTPUT«invoke() not implemented in class 'Int'␤current instr.: '_block1002' pc 93 ((file unknown):24300965) (:1)␤»
20:42 jnthn nom: sub foo { return { say 'here'; return 42 } }; my $a = foo(); say $a()
20:42 p6eval nom: OUTPUT«here␤invoke() not implemented in class 'Int'␤current instr.: '_block1002' pc 93 ((file unknown):81813485) (:1)␤»
20:43 masak odd/strange.
20:43 jnthn Yeah
20:43 pmichaud if someone will tell me what it should do, I'm sure I can make it do that.  :)
20:43 pmichaud I know this discussion has come up many times.
20:43 jnthn Probably complain.
20:43 masak pmichaud: it should say "can't return from exhausted sub" or something like that.
20:43 jnthn "You already returned from this."
20:43 jnthn exhausted sub :D
20:43 masak you only get one return :)
20:44 masak and you have to be this tall to ride.
20:46 PerlJam "no deposit, no return"
20:47 [Coke] are nom commits showing up in the default github commit feed for raudo?
20:47 [Coke] *rakudo?
20:47 lichtkind thou: allright let to basics
20:47 jnthn [Coke]: yes
20:48 thou ok! brb
20:48 thou left #perl6
20:48 [Coke] hurm. I haven't seen any big number of commits that would make me think you could close any RTs. Will look harder.
20:48 sorear pmichaud: is this an attempt to force a spec change?
20:49 sorear [Coke]: lots of buggy code has been completely rewritten, so the old RTs are invalid
20:49 [Coke] ah.because I'm looking at "rakudo/master".
20:49 [Coke] ... I hate branch development sometimes. ;)
20:49 [Coke] how long til nom becomes master?
20:50 dalek rakudo/nom: b79c7b3 | (Martin Berends)++ | src/core/Cool.pm:
20:50 dalek rakudo/nom: [src/core/Cool.pm] add sub equivalents of 11 Str methods
20:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b79c7b360a
20:50 pmichaud 20:48 <sorear> pmichaud: is this an attempt to force a spec change?
20:50 pmichaud ...is _what_ an attempt to force a spec change?
20:50 masak this.
20:51 masak whatever it is, it's very subtle! :)
20:51 masak oh, speaking of spec change...
20:52 masak is it reasonable to expect private attrs from a role to not be visible from the class it's mixed into? I'd argue it is, and that it's saner/more useful than having it be visible.
20:52 jnthn .oO( oh no, what did I say at dinner... :) )
20:53 masak :)
20:53 PerlJam masak: define "private attr"?
20:53 jnthn has $!x
20:53 masak PerlJam: that's really the only kind.
20:53 masak PerlJam: pecause a public attr is just a private attr + an accessor.
20:54 PerlJam oh, I guess so.  You mentioned privacy and I immediately thought of  "my $foo" as "private attr"
20:54 masak ah.
20:54 PerlJam but that's not an attr so ...
20:54 masak no, I consider that an ordinary lexical.
20:54 masak 'has $x', however...
20:55 eiro masak, want to join perlude list ?
20:55 PerlJam in any case, what's your argument?  :)
20:55 TimToady it's sort of an attribute of that lexical scope as a type, with each object being the closure clone
20:55 masak eiro: oh hai. yes, I might do that :)
20:55 jnthn Rakudo master and nom treat has $!x differently in roles.
20:55 jnthn In master, you can refer to $!x in the body of the class
20:55 jnthn In nom, you can't
20:56 eiro masak, give me your email (it's not a mailing list for now: just an alias)
20:56 thou joined #perl6
20:56 masak PerlJam: my argument is one of encapsulation. the class has no way of knowing the correct use of the attribute, and lots of ways of stepping on its toes.
20:57 masak we already have that behaviour for derived classes. so why not for composed classes as well?
20:57 jnthn Admittedly in nom it's more a result of the way things naturally fall out than a deliberate change of behavior from master.
20:57 masak but that's a sign of something, too :)
20:57 jnthn But I can kinda see why we'd want to keep it that way.
20:58 sorear pmichaud: &return used to throw a control exception which is caught by the nearest dynamically enclosing Routine
20:58 sorear pmichaud: in the interests of performance, you seem to have changed it to lexotically thow to the nearest lexically enclosing Routine frame
20:58 pmichaud sorear: that's the way it was implemented, but not the way it was specced, iiuc.
20:59 masak PerlJam: if the class shares the attribute, the concept of "attribute merging" has to be considered. will 'has $!x' merge will 'has Int $!x'? and so on.
20:59 jnthn sorear: I think the spec has had it as lexotic.
20:59 pmichaud sorear: no, what I did today has nothing to do with performance.
20:59 jnthn er, for a while
20:59 pmichaud (it may be more performant, but that wasn't my motivation for doing it.)
20:59 jnthn sorear: sub foo { @a.map: { ... return $x ... } } # should return from foo, not from map
21:00 sorear I see now
21:00 pmichaud so no, I'm not trying to force a spec change, I'm trying to (finally) conform to the spec.
21:00 PerlJam masak: also, I guess from the flip side ... how is the class to know a role will be composed into it?  The only useful place to use the private attr would be in the role itself.
21:00 sorear (ugh)
21:00 masak PerlJam: yes. the role should encapsulate the use of the attr completely, that's my point.
21:01 PerlJam masak: makes sense to me even when I'm looking for a "fatal flaw"  :)
21:01 masak it's free to define/compose a public accessor, of course.
21:02 sorear jnthn: how does this fall out from the definitions of roles?
21:02 sorear jnthn: I think I need your help understanding Perl 6 roles...
21:02 masak PerlJam: well, as jnthn pointed out, we run into interesting issues when we have a parametric role with such a private attribute and compose several specializations of it into the same class.
21:02 jnthn sorear: It's not really the definition of roles here.
21:02 jnthn sorear: It's simple pre-declaration semantics in this case.
21:02 jnthn sorear: Roles aren't composed until the closing } of the class
21:03 jnthn sorear: Until then we don't know what attributes we'll have
21:03 jnthn And at the moment nom checks for attribute declaration just as it'd check for lexical declaration, apart from it consults the meta-object rather than the lexpad.
21:03 masak PerlJam: in that case it might actually be easier to have the attribute be "copied" over to the class, instead of kept around in several specialized "versions" with each role.
21:03 jnthn master got away with it working because it didn't compile-time check attrs names.
21:04 PerlJam aye
21:04 jnthn masak: We *do* copy. Role composition is denormalization.
21:04 jnthn masak: The problem is that there's only want $!x slot.
21:04 masak PerlJam: because in the end, an attribute is a storage slot in some object, even a role attribute. so the "same" attribute from several specializations of a parameterized role would have to translate to different slot.
21:04 masak jnthn: yes :)
21:05 jnthn masak: That's fine apart from we need to wrok out how to differentiate those slots.
21:05 masak s:2nd/slot/slots/
21:05 jnthn masak: I can probably think of something.
21:05 masak ++jnthn
21:05 Transformer joined #perl6
21:05 masak Transformer: hi!
21:06 jnthn oh, yay, my hotel tomorrow is easy to find. :)
21:06 spq2 left #perl6
21:07 masak jnthn: does it have a big sign saying "Close to Forbidden Hotel"? :P
21:07 pmurias joined #perl6
21:07 Transformer left #perl6
21:07 jnthn :P
21:07 masak or maybe "Forbidden View"...
21:08 masak (jnthn's hotel is close to the Forbidden City)
21:08 pmurias sorear: re p6sharp, you'll just call the jvm backen jp6 ;)
21:08 phenny pmurias: 29 May 15:07Z <tadzik> tell pmurias no, haven't yet
21:08 jnthn masak: No, it's easy to find from Tianeman Sq or the Forbidden City (well, you can see one from the other..)
21:08 masak aye.
21:08 masak jnthn: Tian an men
21:08 jnthn ooh, I recognize two of the Chinese chars in Tiannemen :)
21:08 jnthn oh, it's an
21:08 dalek rakudo/nom: 0594102 | (Martin Berends)++ | t/spectest.data:
21:08 dalek rakudo/nom: [t/spectest.data] uncomment tests for chomp chop and flip
21:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0594102323
21:08 jnthn Yes, I recognize Tian and men :)
21:09 masak yes. 安
21:09 jnthn an =... peace?
21:09 pmichaud afk for a bit
21:09 masak means "stillness" or "to install" :)
21:09 jnthn ah
21:09 jnthn Heavenly Stillness Gate?
21:09 TimToady well, I call that one "easy"
21:09 masak I guess peace is a better translation.
21:09 jnthn :)
21:09 masak the picture is of a woman under a roof.
21:10 TimToady I got tired of typing "woman", so it's "fem" :)
21:10 * jnthn reads masak and TimToady's comments one after the other and chuckles
21:10 jnthn masak: I see that now. Gah, I'm rusty. :)
21:10 masak TimToady: I hope some day your character database gets published in some form. it sounds very nice.
21:10 * jnthn really should spend his flight playing with That Stroke Order iPhone App. :)
21:11 masak jnthn: stroke order is a finite problem. it's remembering the damn characters that's the real challenge. :/
21:11 jnthn masak: Well, it actually has a mode for learning those too
21:11 jnthn masak: It's quite flexible. :)
21:12 masak more specifically, learning (char, sound, meaning) triplets.
21:12 jnthn huh, I have to *speak* too? :P
21:12 masak and then also the character's occurrance in words.
21:12 jnthn Sounds like hard work. :)
21:12 masak it's a full-time job.
21:12 jnthn I know what "beef" and "beer" look like :)
21:12 bluescreen10 left #perl6
21:14 TimToady I also got tired of typing "person", so that one's just "guy"
21:14 TimToady (in the Californian non-gendered sense)
21:15 rindolf joined #perl6
21:15 rindolf Hi all.
21:15 thou hello, rindolf
21:15 spq2 joined #perl6
21:15 rindolf thou: hi.
21:15 rindolf thou: what's up?
21:15 thou no mucho
21:15 TimToady 你好
21:15 masak yo, rindolf.
21:15 rindolf Did work on Rakudo resume?
21:15 rindolf masak: hi.
21:15 masak it's ongoing, not just on the master branch.
21:16 rindolf masak: s/not just/just not/?
21:16 masak oh. yes.
21:16 masak well, there are commits on the master branch too, but the great majority are on the nom branch.
21:17 masak nom will close a massive amount of RT tickets :)
21:17 TimToady automatically, since nom is an AI project
21:17 [Coke] I wonder how many languages beef/beer are so close in other than english.
21:17 leprevost left #perl6
21:18 rindolf masak: nice.
21:18 TimToady they're pretty close in American too
21:18 TimToady and Canadian, unless you consider them Americans
21:18 masak [Coke]: one day I'll have a knowledge agent that I can just turn to and ask that question, and it will answer immediately with an estimate :)
21:19 TimToady the answer will, of course, be wildly inaccurate, but no one will care
21:19 cognominal_ joined #perl6
21:19 * [Coke] needs to make his bot smart enough to join IRC and not just the weird one-off MOO server from his college.
21:19 rindolf In Hebrew it's "Birah" and "Baqar"
21:19 TimToady knowledge agents will also make up 92.3% of statistics on the spot :)
21:19 rindolf Well, Beef is more like "Basar Baqar"
21:19 sorear Birah sounds like a loan word...
21:20 TimToady agents down't actually care about you as long as they get paid
21:20 colomon TimToady: be careful not to tell the Canadians they are American.  ;)
21:20 sorear masak: what if it becomes sentient and lazy?
21:21 TimToady sentient Canadians?
21:21 TimToady the mind boggles
21:21 [Coke] I doubt that.
21:22 masak sorear: "sentient" is a sliding grayscale thing. "lazy" sounds like an advantage; I don't want it to do megawatts of work just for a silly question :)
21:22 sorear ...megawatts?
21:22 TimToady that's why you just want it to make up a plausible answer
21:22 masak er. megajoules.
21:22 cognominal left #perl6
21:22 masak TimToady: I did say "estimate" :)
21:23 TimToady "Please place your knowledge agent out in the sun every day to keep your joule balance in the green."
21:24 TimToady "And never ask it hard questions."
21:24 masak awww
21:24 masak living in the future sucks.
21:24 diakopter also the past
21:24 masak the Singularity is riddled with electrical outages.
21:25 TimToady come to think of it, living in the present also presents difficulties
21:25 masak only the fantasy world has some claim to perfection.
21:25 TimToady KA: I know that I will know the answer to that someday, but I cannot predict on which day I will know it.
21:25 masak (yeah, that's a mood, not a tense.)
21:26 PerlJam Those Long Now folks are building their 10,000 year clock in Texas somewhere.
21:26 TimToady KA: especially if you forget to put me out in the sun.
21:26 * PerlJam wonders what "present" and "past" and "future" really mean
21:26 masak TimToady: my futuristic KA isn't a physical object. it just hangs around in the Cloud all day. Google powers it.
21:27 masak PerlJam: only physics can make you uncertain about such a thing... :)
21:27 PerlJam masak: so then it's a matter of powering your interface
21:27 masak I can put my interface out in the sun.
21:27 diakopter that's what she said
21:27 masak *lol*
21:28 PerlJam masak: it runs off of your body-heat or possibly even your electrochemical interactions
21:28 PerlJam masak: and that's *really* what she said  :)
21:28 diakopter cheap humor is gassy
21:28 jnthn *lol*
21:29 TimToady cheese humor is gappy, esp if swiss
21:31 diakopter I want to be powered by the cloud. cloud 9, specifically.
21:31 * diakopter idly wonders the origin of that phrase
21:31 TimToady is that a swiss cloud?
21:31 masak Claud, Nein!
21:32 PerlJam Something like http://joelonsoftware.com/items/2011/06/27.html but for Perl would be a nice addition to a YAPC I think
21:32 masak swiss clouds are holy, too.
21:32 eiro what's the world for "not lazy" ?
21:32 * diakopter finds http://en.wikipedia.org/wiki/Cloud_Nine
21:32 eiro the word
21:32 TimToady in p6 context, eager
21:32 PerlJam "great preseneters from the community who will write code and compile code and explain it while you watch"
21:33 TimToady in cultural context, industrious
21:33 eiro TimToady, so we call it eager in Perlude too
21:33 eiro thanks
21:33 masak we're eager to help :)
21:33 TimToady mostly eager
21:34 BooK joined #perl6
21:34 masak eager, id, and super-eager.
21:34 diakopter igor,
21:34 diakopter oops
21:34 masak yes, massster?
21:35 TimToady just so you don't support shared libidos
21:35 masak what's that, a C library?
21:35 TimToady except with a .so
21:35 thou masak, :-) # masssster
21:35 masak apt-get install libido-dev
21:36 * diakopter bets it exists
21:36 masak thou: the whole joke is: "Igor, you IDIOT!" -- "Yes, masssster?"
21:40 jlaire aur/klibido exists
21:40 jlaire "kLibido - the KDE3 Linux Binadires Downloader"
21:40 jlaire Binaries*
21:41 jlaire apparently, there's an app for that
21:41 masak I can have libido, but I have to run KDE? figures.
21:42 Psyche^ joined #perl6
21:44 stephanepayrard_ joined #perl6
21:45 Patterner left #perl6
21:45 Psyche^ is now known as Patterner
21:46 mberends that's because Gnomes need no libido, being made of cement and all.
21:46 masak :)
21:47 cognominal_ left #perl6
21:49 pmichaud masak:
21:49 pmichaud > sub foo { return { return 42 } }; my $a = foo(); say $a();
21:49 pmichaud Attempt to return from exhausted sub
21:51 masak pmichaud++
21:51 masak every time I see that error message, I will envision a really tired submarine :)
21:52 daniel-s joined #perl6
21:52 pmichaud > sub bar($x) { $x() };   sub foo() { my $x = -> { return 42 }; say 'in foo'; bar($x);  say 'still in foo'; };   say foo();
21:52 pmichaud in foo
21:52 pmichaud 42
21:53 pmichaud or, more clearly:
21:53 pmichaud > sub bar($x) { $x(); 'oops' };   sub foo() { my $x = -> { return 42 }; say 'in foo'; bar($x);  say 'still in foo'; };   say foo();
21:53 pmichaud in foo
21:53 pmichaud 42
21:54 pmichaud invoking $x forces a return from foo()
21:54 masak how continuation-y.
21:54 masak but totally per spec.
21:55 arnsholt_ Indeed. The possibilities are mind-bending
21:55 arnsholt_ is now known as arnsholt
21:55 masak arnsholt: yes, up to exhausting the submarines. routines.
21:56 jlaire is dalek another reference to drwho?
21:56 jlaire tardis is an awesome name
21:57 masak thanks. hope to make it a useful tool as well :)
21:57 dalek nqp: 342cd53 | pmichaud++ | tools/build/PARROT_REVISION:
21:57 dalek nqp: Bump PARROT_REVISION to get PAST::Node signatures.
21:57 dalek nqp: review: https://github.com/perl6/nqp/commit/342cd53ae5
21:57 nsh left #perl6
21:59 nsh joined #perl6
22:03 huf left #perl6
22:06 jlaire hm, there's probably a nice replacement for 'niecza' somewhere in drwho
22:07 lichtkind left #perl6
22:08 * jlaire goes digging
22:10 spq2 left #perl6
22:10 dalek rakudo/nom: dc16a4f | pmichaud++ | / (3 files):
22:10 dalek rakudo/nom: Refactor return handling to be in a single place (DRY).  Handle the case where someone tries to return from an already-exited subroutine.
22:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc16a4fc72
22:10 dalek rakudo/nom: 3efe8f8 | pmichaud++ | NOMMAP.markdown:
22:10 dalek rakudo/nom: NOMMAP update.
22:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3efe8f89e8
22:10 sorear jlaire: new here?
22:11 jlaire sorear: well, I've been lurking for a few years
22:11 jlaire (changed nick at some point)
22:11 jlaire haven't contributed to anything yet
22:12 Chillance left #perl6
22:12 whiteknight joined #perl6
22:13 masak never too late to start :)
22:13 jlaire :))
22:13 masak blog post! http://strangelyconsistent.org/blog/more-planning
22:13 whiteknight left #perl6
22:14 whiteknight joined #perl6
22:14 Chillance joined #perl6
22:15 dalek rakudo/nom: 872a536 | jonathan++ | NOMMAP.markdown:
22:15 dalek rakudo/nom: Comment on a couple of nommap items.
22:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/872a536639
22:15 * [Coke] asks timtoady if he's played with minecraft yet.
22:15 lichtkind joined #perl6
22:18 pmichaud loliblogged:  http://pmthium.com/2011/06/27/lots-of-rak​udo-nom-progress-starts-to-run-spectests/
22:19 felher masak: yeah :) *longing for the adventure game in the not too distant future*
22:19 masak \o/
22:19 tadzik nom progress makes me think I want to move gsoc work to nom
22:19 tadzik 1 exam remaining!
22:19 pmichaud tadzik: we still don't have regexes in nom yet, though.  But I suspect that'll happen this week.
22:21 tadzik pmichaud: the parser has regexes, that's what I need as for now
22:21 jnthn pmichaud: whoa whoa we did that in the last week?! :)
22:21 tadzik time flies
22:21 masak lie can arrow.
22:21 jlaire fruit files / like a banana
22:22 jlaire flies
22:24 jevin left #perl6
22:24 felher http://rosettacode.org/wiki/Align_columns#Perl_6 , the second way. As i don't know Perl6 all that well, critics are highly welcome.
22:25 jnthn nom: proto rbd(|$) { * }; multi rbd(Positional $p) { say "ok positional" }; multi rbd(Associative $a) { say "ok associative" }; rbd(my @a); rbd(my %h);
22:25 p6eval nom: OUTPUT«No type check cache and no type_check method in meta-object␤current instr.: 'rbd' pc 463 ((file unknown):30842368) (:1)␤»
22:26 stepnem left #perl6
22:26 jevin joined #perl6
22:27 tadzik Files=53, Tests=478, 69 wallclock secs ( 0.36 usr  0.14 sys + 64.72 cusr  3.92 csys = 69.14 CPU)
22:27 tadzik 4 TODO tests passed
22:27 jnthn tadzik: I saw some extras pass too
22:27 Vlavv_ left #perl6
22:30 pmichaud tadzik: then yes, I'd say it's okay to be targeting nom.
22:30 pmichaud jnthn: yes, in the last week.  I basically looked at the nom log entries since Jun 20.  :)
22:31 tadzik jnthn: does nom give any more proper way for "build it in compile time, expose it in runtime"?
22:31 dalek rakudo/nom: 4fc90f1 | jonathan++ | src/Perl6/Metamodel/ParametricRoleHOW.pm:
22:31 dalek rakudo/nom: Fix role-based dispatch up a bit more. Should be able to distinguish by Positional and Associative now.
22:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4fc90f1e83
22:32 jnthn tadzik: It's still more work that it will be with full-blown serialization.
22:32 jnthn tadzik: But it's far easier than in master.
22:32 mberends do remember that the 478 tests include 47 skips and 14 todos, there are now 417 passes (from tools/test_summary.pl)
22:33 stepnem joined #perl6
22:33 lichtkind thou: back?
22:33 thou yes
22:33 thou so ... basics, huh?
22:33 jnthn pmichaud: That patch hopefully lets you do slicing.
22:34 pmichaud jnthn: testing
22:35 jnthn pmichaud: I didn't make sigils map to roles yet
22:35 pmichaud no problem, I'm just testing the basic type checking on $vars
22:36 PacoLinux left #perl6
22:37 jnthn pmichaud: The one I pasted above that failed works.
22:37 jnthn nom: proto rbd(|$) { * }; multi rbd(Positional $p) { say "ok positional" }; multi rbd(Associative $a) { say "ok associative" }; rbd(my @a); rbd(my %h);
22:37 p6eval nom: OUTPUT«No type check cache and no type_check method in meta-object␤current instr.: 'rbd' pc 463 ((file unknown):10497536) (:1)␤»
22:37 jnthn ENOTYET :)
22:37 jnthn pmichaud: ^ that one works locally (and with the patch)
22:37 pmichaud it's not working here
22:37 pmichaud nopaste coming
22:37 pmichaud oh, wait
22:38 pmichaud http://gist.github.com/1050030
22:39 jnthn oh
22:39 jnthn er
22:39 jnthn :/
22:39 jnthn Yeah, roles are "magically" meant to be narrower than..Mu? Any?
22:39 pmichaud Any in this case, yes?
22:40 mj41 left #perl6
22:40 jnthn rakudo: role Foo { }; say Foo ~~ Mu; say Foo ~~ Any;
22:40 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤Bool::True␤»
22:40 jnthn rakudo: role Foo { }; say Foo ~~ Cool
22:40 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
22:40 jnthn rakudo: role Foo { }; say Foo ~~ Int
22:40 p6eval rakudo 1fcb14: OUTPUT«Bool::False␤»
22:40 jnthn hm
22:40 eternaleye left #perl6
22:41 jnthn I wonder why we made it narrower than Cool.
22:41 eternaleye joined #perl6
22:42 lichtkind thou: no http://www.perlfoundation.org/p​erl6/index.cgi?perl_6_io_tablet
22:42 lichtkind thou: just did a few lines
22:43 jnthn pmichaud: Will make it narrower than Any for now
22:43 thou lichtkind: OK
22:43 masak 'night, #perl6
22:43 pmichaud later, masak
22:43 masak left #perl6
22:45 tadzik jnthn: how far are we from full-blown serialization?
22:45 tadzik I'll probably need to nag you a bit in the nearish time :)
22:46 jnthn tadzik: A while. It's post-nom, and probably not top of the post-nom list.
22:47 jnthn tadzik: That is, don't wait for it. :)
22:47 jnthn tadzik: What sort of things do you need to assemble?
22:48 dalek rakudo/nom: eda6101 | jonathan++ | src/Perl6/Metamodel/ParametricRoleHOW.pm:
22:48 dalek rakudo/nom: is_composed in ParametricRoleHOW so we can stub a role.
22:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eda61012d4
22:48 dalek rakudo/nom: 144660f | jonathan++ | src/core/traits.pm:
22:48 dalek rakudo/nom: Stub Positional/Associative/Callable in preparation for making sigils map to roles. Need to do this really early.
22:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/144660ffca
22:48 jdhore left #perl6
22:49 lichtkind thou: did you correct something?
22:49 thou lichtkind: nope
22:49 thou lichtkind: stuck w/ some work stuff at the moment
22:50 thou ... customers .... ;-)
22:51 pmichaud jnthn: I still get the same result... ?
22:52 pmichaud http://gist.github.com/1050054
22:52 lichtkind thou: its much better now i think
22:52 tadzik jnthn: build a POD AST and expose it to runtime
22:55 jnthn pmichaud: Above patches weren't The Fix You're Looking For :)
22:55 pmichaud oh.
22:55 * pmichaud moves along.  :)
22:59 jnthn tadzik: What do the AST nodes look like, ooc?
23:01 thou lichtkind: what's better?
23:01 thou lichtkind: afaik i didn't touch it :-)
23:03 jnthn pmichaud: Patch coming up, I think. Just spectesting.
23:03 jnthn pmichaud: My brane exploded a little and I had to go draw myself a diagram to make it happy again :)
23:04 tadzik jnthn: https://github.com/tadzik/gsocmes​s/blob/master/lib/Pod6/Actions.pm at the top
23:04 jnthn (First effort caused the multi-dispatcher to tell me I'd got circles in my DAG. :-))
23:05 jnthn tadzik: Oh, I think we can handle that fine.
23:05 daniel-s left #perl6
23:06 tadzik jnthn: care to elaborate? I'm curious :)
23:06 lichtkind thou: no i rewrote it its now much more and much better
23:07 thou aaah, OK
23:07 pmichaud jnthn: (draw diagram)  yeah, I do that a fair bit also :)
23:07 jnthn :)
23:07 thou lichtkind: i'll hope to get to it once i get off the IM with this customer
23:07 dalek rakudo/nom: 0035ddb | jonathan++ | / (5 files):
23:07 dalek rakudo/nom: Roles should be narrower than Cool/Any/Mu.
23:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0035ddb46d
23:07 jnthn Yeah, you know you're in trouble when you're drawing a DAG and your pen does a cycle :)
23:07 thou lichtkind: looking forward to learning some more, as I help w/ some editing :-)!
23:07 jnthn tadzik: SymbolTable.pm ;)
23:08 jnthn tadzik: But basically we do the kinda thing you want to for signatures and parameters and code objects and so on.
23:08 jnthn pmichaud: That patch should do it.
23:09 jnthn pmichaud: Your example, and another more complex one I have that does associative into the mix also, should work.
23:09 jnthn er, *do* work :)
23:09 colomon wooo, nom passes spectest!  :)
23:09 jnthn colomon: subset of ;) But yes, it's nice that we're running tests again. :)
23:10 tadzik jnthn: I see
23:10 colomon jnthn: oh, I just thought it was 100x faster than master.  ;)
23:10 tadzik that's very nice :)
23:10 jnthn tadzik: I can help you out some with those.
23:10 colomon jnthn: passing what spectests are in place is great from the perspective of someone looking to hack on it.
23:10 jnthn colomon: Yes, it's an important mark to have reached.
23:11 jnthn tadzik: Catch me when you are going to start hacking on it.
23:11 tadzik jnthn: I'm looking at how rakudo uses the SymbolTable. I'll probably ask you about two days from now. Technically, my exam is tomorrow
23:11 jnthn tadzik: Though first step is get those classes into CORE.setting.
23:11 tadzik but that's because it's 1 AM already :)
23:11 jnthn Though as lexical ones.
23:11 tadzik so that doesn't count
23:11 jnthn ;)
23:11 jnthn OK
23:11 tadzik jnthn: I see
23:11 jnthn We may have some fun with timezones :)
23:12 tadzik $*ST.install_lexical_symbol
23:12 tadzik woooo :)
23:12 jnthn .oO( I guess if I'm this night-owlish in Beijing I'll just look like a normal European )
23:13 jnthn pmichaud: Any other things you want me to especially look at?
23:14 pmichaud checking
23:14 jdhore joined #perl6
23:14 tadzik oh, and add_phaser(). So cool
23:14 tadzik jnthn++
23:15 colomon afk # yapc noms, I hope
23:15 lichtkind does promt outputs like say or like print?
23:15 jnthn pmichaud: May have a little time tomorrow in the day also
23:15 pmichaud jnthn: okay.  I'm not seeing anything atm other than things already identified.
23:15 jnthn pmichaud: OK
23:15 tadzik sleepytime &
23:16 jnthn I'm just looking at sigil based dispatch.
23:16 jnthn tadzik: night o/
23:16 pmichaud having positional work should open up a lot of stuff (and spectests)
23:16 jnthn pmichaud: Other priorities for me are $_/$!/$/ working
23:16 tadzik 'night and thank you!
23:16 jnthn pmichaud: (since they're "magically" handled...)
23:16 stepnem left #perl6
23:16 jnthn That'll open up a bunch more tests.
23:16 pmichaud I've been thinking about metaops a bit more
23:17 pmurias left #perl6
23:17 pmichaud instead of installing into the package, we might be able to just generate closures at runtime and cache them
23:17 donri left #perl6
23:17 jnthn hm
23:17 jnthn Could work
23:18 pmichaud or even at compile time, really.
23:18 jnthn Though why not...yes, that :)
23:18 jnthn It's FAR easier to cache something at compile time, in a way.
23:18 pmichaud right
23:18 jnthn Just shove 'er in SC. :)
23:18 jnthn Like you did for whatevercodes :)
23:18 pmichaud well, I'm not entirely familiar with how "shove 'er in SC" is done :)
23:18 pmichaud but I can follow the whatever_curry template, yes.
23:19 jnthn pmichaud: $*ST.create_code(...
23:19 jnthn er, create_code_object ;)
23:19 pmichaud well, it's the caching that is a bit trickier there :)
23:19 pmichaud with whatever_curry, we don't cache.
23:19 jnthn What do you mean by cache exactly?
23:19 pmichaud do we want a separate closure for every metaop occurrence?
23:19 pmichaud i.e., if someone does  += four times, should that be four closures?
23:20 jnthn oh, I see what you mean.
23:20 jnthn Nah
23:20 jnthn Keep a hash.
23:20 jnthn Like we do today
23:20 jnthn But put either the code objects in it, or the SC ref PAST
23:20 jnthn BUT it needs care.
23:20 pmichaud right
23:20 pmichaud I'm not sure where the hash should go :)
23:20 jnthn Since we need to know when we can't use the cache because somebody did a language tweak.
23:21 pmichaud actually, I'm not too worried about that case.
23:21 jnthn Oh
23:21 jnthn Then :my %*METAOPCACHE; in comp_unit :)
23:21 lichtkind thou: im done for today please have a look
23:21 thou lichtkind: thanks, i will
23:22 lichtkind thanks :)
23:22 pmichaud and it's okay for the SC ref PAST to appear multiple times in the past tree?
23:22 bluescreen10 joined #perl6
23:22 thou lichtkind: my goal: 1) all of the IO tablet; 2) the rest of the punctuation in Index. :-)
23:22 pmichaud (I'm thinking that's why it exists, yes )
23:22 jnthn pmichaud: Of course, that's...right :)
23:22 pmichaud perfect
23:22 pmichaud I'll likely give that a shot in the next day or so.
23:22 rindolf left #perl6
23:23 jnthn pmichaud: If you're worried about multiple PAST node occurences, just keep the code object in the hash and $*ST.get_object_sc_ref_past($code_object)
23:23 pmichaud okay
23:23 jnthn It's actually only a single PAST::Op that you get there, iirc.
23:24 jnthn (e.g. what that method produces)
23:24 pmichaud I'll give it a shot with  op=
23:24 jnthn get_object_sc_ref_past is basically your way of getting hold of anything that's in the SC.
23:24 jnthn But at the moment it must be an SC root node.
23:25 jnthn Code objects, signatures, parameters and constants always will be.
23:26 jnthn As will type objects.
23:26 pmichaud Positional seems to work for me now.
23:26 pmichaud jnthn++
23:26 pmichaud I can do slices :)
23:27 stepnem joined #perl6
23:27 jnthn \o/
23:29 pmichaud time for dinner here
23:29 pmichaud bbiaw
23:30 [Coke] pmichaud++
23:30 [Coke] jnthn++
23:36 dalek rakudo/nom: f670236 | jonathan++ | src/Perl6/Actions.pm:
23:36 dalek rakudo/nom: Dispatch by sigil.
23:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f670236541
23:41 dalek rakudo/nom: d6c905b | jonathan++ | / (2 files):
23:41 dalek rakudo/nom: Fix &infix:<cmp> proto.
23:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d6c905b0ae
23:42 pmichaud we'll want to fix the protos for the other operators, too :)
23:43 jnthn pmichaud: Some
23:43 jnthn pmichaud: Thing is...
23:43 jnthn pmichaud: infix:<+> has 0, 1 and 2 arity
23:43 jnthn pmichaud: Maybe it should be infix:<+>($?, $?)
23:43 jnthn So .arity is 0 but .count is 2
23:43 pmichaud that works for me
23:44 jnthn The proto sig has to admit all that the multi one would.
23:44 jnthn *ones
23:44 jnthn Anyway, that patch shows the way. :)
23:45 jnthn pmichaud: In a routine, $_, $! and $/ default to empty rw scalars, yes?
23:46 jnthn pmichaud: And in a nested block it's fresh scalars, with the outer's value assigned, rather than a binding?
23:46 pmichaud I think it's a binding
23:46 jnthn Ah
23:46 jnthn OK, that's even easier
23:46 pmichaud it's a   is rw binding
23:46 jnthn Well, it doesn't make much difference. :)
23:46 jnthn (as in, to implementation difficulty)
23:46 jnthn :)
23:47 pmichaud I'm not sure about $! and $/, but for $_ it's certainly a binding
23:47 jnthn ah
23:47 pmichaud we expect modifications of $_ in a nested block to affect $_ in the outer
23:47 jnthn Yeah
23:48 pmichaud I'm not sure what will happen with $/, I need to review that in light of regex matches
23:49 jnthn I'll just Do Something for now and we can diddle it later.
23:49 pmichaud yes, that's what I was trying to say (but not very well)
23:49 pmichaud a bit distracted on this end
23:49 jnthn np
23:53 pmichaud okay, we're really heading off to dinner now.
23:56 sorear jnthn: $/ should default to something rw
23:56 sorear jnthn: $/ = ... is syntactically illegal, it makes little sense to have $/ be a rw container
23:56 sorear matches should probably bind it
23:56 jnthn std: $/ = 42
23:56 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of $/ variable as input record separator; in Perl 6 please use the filehandle's :irs attribute at /tmp/jdg6zWQNPz line 1:␤------> [32m$/[33m⏏[31m = 42[0m␤Parse failed␤FAILED 00:01 118m␤»
23:57 jnthn oh :)
23:58 sorear *should default to something ro

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

Perl 6 | Reference Documentation | Rakudo