Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-05-15

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 TimToady m: my %hash{Int}; %hash{42} = "Life, the Universe, and Everything"; say %hash.pairs.perl
00:00 camelia rakudo-moar d4cf24: OUTPUT«(42 => "Life, the Universe, and Everything",)␤»
00:00 rjbs Hm, I thought I'd tried that...
00:00 TimToady maybe you used [] by accident instead of {}?
00:00 rjbs Oh, I know.  I did:  my Hash{Int} %h;
00:01 TimToady that would be a hash whose values oare Hash{Int}
00:01 TimToady *are
00:01 rjbs right, that totally explains the error message!
00:01 rjbs Fantastic, th anks.
00:01 rjbs TimToady++
00:15 rjbs m: my %hash{Int}; %hash{42} = "Much"; say %hash.keys[0].WHAT.perl
00:15 camelia rakudo-moar d4cf24: OUTPUT«Int␤»
00:15 rjbs m: my %hash{uint16}; %hash{42} = "Much"; say %hash.keys[0].WHAT.perl
00:15 camelia rakudo-moar d4cf24: OUTPUT«Type check failed in binding key; expected 'uint16' but got 'Int'␤  in block <unit> at /tmp/i9V3u5l_yJ:1␤␤»
00:16 rjbs Is that just a case of coersion NYI?
00:16 Erendis42d <3
00:22 laouji_ joined #perl6
00:31 TimToady to get coercion, the syntax will be my %hash{uint16()}  (where the () makes it look like a typecast), but that bit isn't implemented yet
00:31 TimToady m: my %hash{uint16}; %hash{uint16(42)} = "Much"; say %hash.keys[0].WHAT.perl
00:31 camelia rakudo-moar d4cf24: OUTPUT«Cannot invoke this object (REPR: P6int, cs = 0)␤  in block <unit> at /tmp/UnrhJaLMsX:1␤␤»
00:32 TimToady and that doesn't quite work yet either
00:33 TimToady m: my %hash{uint16}; my uint16 $u42 = 42; %hash{$u42} = "Much"; say %hash.keys[0].WHAT.perl
00:33 camelia rakudo-moar d4cf24: OUTPUT«Type check failed in binding key; expected 'uint16' but got 'Int'␤  in block <unit> at /tmp/4GsGpP7xfq:1␤␤»
00:33 TimToady nor does that
00:34 TimToady we only just started getting native types a month or so ago, so it's not surprising there are still lots of cant-get-there-from-heres
00:36 rjbs Cool.  I wouldn't bother except that part of this data is probably best modeled as a buf of words.
00:36 rjbs My program now runs, but the output is garbage.  Time to start porting the tests.
00:36 rjbs (maybe I should'a done that first)
00:37 zacts lo
00:37 rjbs Test++ # I don't need my own binary buffer dumper in p6!
00:37 TimToady hi
00:39 laouji_ joined #perl6
00:45 zacts I hope to run rakudo on minix3 sometime this year
00:45 zacts I have minix3 running directly on a beaglebone black computer, and it's fun
00:46 zacts it would be cool to demo rakudo on minix3 on real hw at my LUG
00:46 rjbs Looking at a photo.  What's the size of that, about a deck of cards?
00:47 rjbs Yeah.  Neat!
00:47 laouji_ joined #perl6
00:50 zacts yes it's like a raspberrypi
00:51 zacts yeah it's really fun
00:51 zacts I own two of them actually
00:51 zacts one is running debian jessie, the other minix3
00:51 rjbs I keep thinking about setting up one of these kinds of PCs to run Cookie Clicker. :-)
00:51 rjbs but then I feel like a ridiculous person
00:51 zacts yeah, I'm chatting from my debian one, and I'm going to host my personal git repos and blog from it
00:51 zacts (I also have dyndns)
01:02 aborazmeh joined #perl6
01:02 aborazmeh joined #perl6
01:16 xinming joined #perl6
01:17 pauluu joined #perl6
01:18 vendethiel joined #perl6
01:24 agentzh_ joined #perl6
01:25 zengargoyle joined #perl6
01:26 colomon joined #perl6
01:32 agentzh_ joined #perl6
01:43 aborazmeh joined #perl6
01:45 aborazmeh joined #perl6
01:49 vendethiel joined #perl6
01:56 dalek doc: 6a83d1f | (Justin DeVuyst)++ | lib/Language/variables.pod:
01:56 dalek doc: Fix bad links to OO page.  rjbs++.
01:56 dalek doc: review: https://github.com/perl6/doc/commit/6a83d1fcdb
01:57 dayangkun joined #perl6
02:04 noganex joined #perl6
02:08 chenryn joined #perl6
02:27 rmgk_ joined #perl6
02:29 chenryn joined #perl6
02:37 dolmen joined #perl6
02:40 rjbs Blah.  I can't tell whether I'm on the last hunk out of a rotor, can I?
02:46 TimToady well, it might be shorter...
02:47 tony-o_ m: (1,2,3,4,5).rotor(2).map({ .say; LAST { "end".say; }; });
02:47 camelia rakudo-moar d4cf24: OUTPUT«1 2␤3 4␤end␤»
02:47 rjbs I'm doing a :partial rotor.
02:47 tony-o_ m: (1,2,3,4,5).rotor(2, :partial).map({ .say; LAST { "end".say; }; });
02:47 camelia rakudo-moar d4cf24: OUTPUT«1 2␤3 4␤5␤end␤»
02:48 rjbs I ended up counting my loops, then checkin whether $n * $loops >= $list.elems
02:48 rjbs LAST fires when, at the start of the last iteration?
02:48 rjbs Looks like when the block is done.  Too late.
02:54 TimToady m: (1,2,3,4,5).rotor(2, :partial).map: -> ($a, $b = (say "Lonesome $a"; last)) { say "$a $b" }
02:54 camelia rakudo-moar d4cf24: OUTPUT«1 2␤3 4␤Lonesome 5␤»
02:55 rjbs Okay!  My full encode stack works, and my program can assemble a running zmachine binary again!
02:55 rjbs Well, "full encode stack" unless you want to use any sort of non-default configuration, which I'll sort out later.
02:55 pauluu left #perl6
02:55 rjbs and decode is hosed because of some weird-o type error, but that isn't needed for compilping
02:56 rjbs TimToady: That reminds me of the hack somebody suggested for getting was-a-default out of p5 signatures.
02:56 rjbs Something like:  sub ($x, $y, $z = (my $z_default = 1)) { ... }
02:57 TimToady well, would work in p6 too, though 'my' is gonna scope larger than in p5
02:57 rjbs Okay, 23:00 == time to turn into a pumpkin.  Good night!
02:57 TimToady night!
03:02 jepeway m: Int.new(0) # how to do something like this?
03:02 camelia rakudo-moar d4cf24: OUTPUT«Default constructor for 'Int' only takes named arguments␤  in block <unit> at /tmp/aPw6V9xKoR:1␤␤»
03:03 vendethiel joined #perl6
03:03 TimToady m: say Int.^attributes
03:03 camelia rakudo-moar d4cf24: OUTPUT«Method 'gist' not found for invocant of class 'BOOTSTRAPATTR'␤  in block <unit> at /tmp/en996KYotE:1␤␤»
03:03 TimToady heh
03:03 jepeway m: my $x = 0; $x.new(1) # really, though, that's more like what I'd like
03:03 camelia rakudo-moar d4cf24: OUTPUT«Default constructor for 'Int' only takes named arguments␤  in block <unit> at /tmp/VkYcyN1Pmr:1␤␤»
03:03 TimToady m: say Int.^attributes».name
03:03 camelia rakudo-moar d4cf24: OUTPUT«$!value␤»
03:04 TimToady m: say Int.new(:value(1))
03:04 camelia rakudo-moar d4cf24: OUTPUT«0␤»
03:04 jepeway m: 0.new(value => 1) # like so?
03:04 camelia rakudo-moar d4cf24: ( no output )
03:04 TimToady oops
03:04 jepeway heh.
03:04 TimToady it's a private attribute, I guess :)
03:04 jepeway very.
03:05 TimToady well, but why do you want to call new to turn something that is already an Int into an Int?
03:06 jepeway well, it's for working with the timezones held by a DateTime.
03:06 jepeway All you know about them is they do Int().
03:07 dalek rakudo/nom: 3301ec4 | TimToady++ | src/ (3 files):
03:07 dalek rakudo/nom: parameter vs argument alignment
03:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3301ec44b7
03:07 jepeway But, if they're a more complex type, how do you construct them?
03:07 dalek roast: 36e933e | TimToady++ | integration/advent2009-day09.t:
03:07 dalek roast: don't use 'parameter' when we mean 'argument'
03:07 dalek roast: review: https://github.com/perl6/roast/commit/36e933e9ca
03:07 dalek roast: dc8ca5e | TimToady++ | S02-types/built-in.t:
03:07 dalek roast: arguments aren't parameters
03:07 dalek roast: review: https://github.com/perl6/roast/commit/dc8ca5ef4a
03:07 jepeway m: my $dt = DateTime.new(now); $dt.timezone.say # pretty sure I'll get this wrong
03:07 camelia rakudo-moar d4cf24: OUTPUT«0␤»
03:09 jepeway m: class TZ { method Int() { 3600 } } ; my $dt = DateTime.new(now, :timezone(TZ.new)); $dt.timezone.WHAT.say; $dt.utc.WHAT.say
03:09 camelia rakudo-moar d4cf24: OUTPUT«(TZ)␤(DateTime)␤»
03:09 jepeway erk, not quite.
03:10 jepeway m: class TZ { method Int() { 3600 } } ; my $dt = DateTime.new(now, :timezone(TZ.new)); $dt.timezone.WHAT.say; $dt.utc.timezone.WHAT.say
03:10 camelia rakudo-moar d4cf24: OUTPUT«(TZ)␤(Int)␤»
03:10 jepeway DateTime.{utc,local} slice off the timezone's type.
03:11 jepeway could keep the ":timezone does Int" contract if Int.new(0), eg, worked.
03:17 Erendis42d joined #perl6
03:17 jepeway gimme a sec to figure out how to point to a commit on gh
03:18 jepeway ok, I've got a nasty-looking URL.  Paste it here?
03:18 mr-foobar joined #perl6
03:19 * jepeway .oO(guesses so)
03:19 jepeway cf https://github.com/cjepeway/rakudo/commit/5232f324fcaa67baff06f1d88347d84fc9ba1cc2
03:23 jepeway alternative I can see is to ask that the timezone in a DateTime can .utc() and .local() themselves, but that felt like a bigger change (at first) to DateTime.
03:24 skids Are the DateTime attributes intentionally Mu, or is it just that choosing types for them has not been done yet?
03:24 jepeway now, it seems like asking Int.new(0) to "work" might be asking for more.
03:25 jepeway skids: can't really answer that, since I don't entirely grok Mu yet.  Only thing that DateTime relies on from its $.timezone is that it has an Int() method, as I read it.
03:25 jepeway "intentionally Mu" means "no more specific type declared for $.timezone," then I think so, yes.
03:25 skids jepeway: I'm not sure if relying on DateTime not to tighten that is wise.
03:26 jepeway spec says pretty much "does Int()," as I read it.
03:26 skids Yeah but spec tend to be speculative.
03:27 skids It may eventually be decided to nativize it.
03:28 jepeway doing so would put a crimp in using things like the Olson TZ DB, I think.
03:32 jepeway my understanding of Temporal's docco is that Int() was chosen to be as loose/unrestrictive as possible while still working.
03:33 skids Wel, I am not arguing that it should be done, but from reading the specs, when it says :timezone must be an Int or something that supports .Int, it is talking about the argument you pass in -- it does not promise whether it stores that object, or just the result of .Int.
03:33 jepeway and I bet the compiler/runtime could dtrt if native ints would work.
03:34 jepeway by my eye, with a few "fixes," it can; got a branch that mostly does.
03:35 skids Is the use case you are looking for a DateTime who's .timezone changes dynamically?
03:35 vendethiel joined #perl6
03:38 jepeway whose offset from UTC changes based on the DateTime its attached too, eventually.
03:39 jepeway Well, not the DateTime its attached to.  The attrs of that DateTime, depending (usually) on whether summer/winter time is in effect.
03:40 jepeway got a nascent class for that, too, but it's slightly stuck on the behavior of Int.new or having to change the "$.timezone only needs to Int()" by adding something like .utc() and .local().
03:41 skids So you are trying to implement essentially a EST5EDT timezone, for example, rather than a fixed offset...?
03:42 jepeway yes, but using the actual Olson library from NIST.  Perhaps, eventually, just the OS's native understanding of timezones (which is usually Olson or a mod of it).
03:43 * jepeway .oO(thinks Olson code went to NIST)
03:44 jepeway well, I must skeedaddle.
03:44 skids And it is important to you that this is just a DateTime and not a subclass thereof?
03:44 jdv79 how do i build doc.perl.org locally to make sure my changes are cool?
03:45 jdv79 Mojo...
03:48 chenryn joined #perl6
03:49 raydiak jdv79: the root of the repo has a build script, htmlify.p6
03:49 jdv79 so this is probably not cool:): GET "/index.html.html.html.html.html.html.html.html.html.html.html.html.html.html.html.html.html.html.html.html"
03:50 jdv79 wat
03:50 jdv79 ok, i'll try that
03:58 jdv79 i get the feeling the tests failed installing Pod::To::HTML
03:59 jdv79 it looks like moar it just eating mem...:(
04:17 jdv79 so, that's cool.  can anyone else run the Pod::To::HTML tests ok?
04:17 jdv79 fresh build and same fail
04:22 jdv79 skipping tests seems to work
04:26 jdv79 no, htmlify seems to be hung on operators.pod now - 2.4G mem and climbing:(
04:26 jdv79 what is happening
04:30 jdv79 drwxrwxr-x. 2 jdv jdv  4096 May 15 00:19 type language routine images syntax
04:30 jdv79 seems odd
04:30 chenryn joined #perl6
04:40 dalek doc: 95fd85d | (Justin DeVuyst)++ | lib/ (2 files):
04:40 dalek doc: Unify Type/Grammar.pod and Language/grammars.pod on methods.  See issue #58.
04:40 dalek doc: review: https://github.com/perl6/doc/commit/95fd85d1ee
04:54 xinming joined #perl6
05:06 cognominal joined #perl6
05:13 cognominal joined #perl6
05:15 vendethiel joined #perl6
05:17 Sqirrel joined #perl6
05:21 kaare_ joined #perl6
05:24 adu joined #perl6
05:38 vendethiel joined #perl6
05:44 yeahnoob joined #perl6
05:45 Patterner joined #perl6
05:51 berekuk joined #perl6
05:56 chenryn joined #perl6
05:56 diana_olhovik_ joined #perl6
06:11 mr-foobar joined #perl6
06:19 mohij joined #perl6
06:20 Erendis42d joined #perl6
06:26 vendethiel joined #perl6
06:26 rindolf joined #perl6
06:31 ssqq joined #perl6
06:33 ssqq p: my token token { token }; our regex regex { regex };
06:33 ssqq p:token token { token }
06:38 ssqq joined #perl6
06:40 moritz p is dead, long live m
06:40 moritz m: my token token { token }; our regex regex { regex };
06:40 camelia rakudo-moar 3301ec: ( no output )
06:45 FROGGS joined #perl6
06:47 ssqq m: grammar G { our token id { \w+ }; token TOP { ^ <.id> $ }}; G.parse('str')
06:47 camelia rakudo-moar 3301ec: OUTPUT«Method 'id' not found for invocant of class 'G'␤  in regex TOP at /tmp/evolUreYCV:1␤  in block <unit> at /tmp/evolUreYCV:1␤␤»
06:47 bjz joined #perl6
06:47 ssqq m: grammar G { token id { \w+ }; token TOP { ^ <.id> $ }}; G.parse('str')
06:47 camelia rakudo-moar 3301ec: ( no output )
06:47 masak morning, #perl6
06:48 moritz \o masak
06:48 ssqq masak: when declare token with our, could not use <.token-name> style. If it is a bug?
06:49 moritz no
06:50 moritz tokens in a grammar are normally scoped like methods
06:50 moritz and if you declare them as 'our', they aren't available as methods anymore
06:51 ssqq default scoped of token is not same with `my` also?
06:51 moritz no, they are method-scoped by default
06:51 moritz not 'my'-scoped
06:52 ssqq moritz: I see. thanks
06:53 mohij joined #perl6
06:53 moritz if you use 'our' scoping in Perl 6, chances are you're doing something wrong
06:54 moritz most use cases have much better solution in Perl 6.
06:56 nebuchadnezzar hello
06:56 nebuchadnezzar About “doing something wrong”, is there any kind of “sanity check mode”, some kind of flag when running perl6, to display some warning about these “doing something wrong”?
06:56 vendethiel o/, #perl6
07:00 laouji__ joined #perl6
07:01 lolisa joined #perl6
07:02 ssqq joined #perl6
07:03 brrt joined #perl6
07:06 moritz nebuchadnezzar: you mean a linter? no, don't think so
07:07 masak things like linters are still blocking on good support for Perl 6 parsing Perl 6...
07:07 masak (in Rakudo userland)
07:12 telex joined #perl6
07:16 DrForr I've been waiting for the time that I can do a tidier for perl6 :)
07:24 itz_ joined #perl6
07:31 zakharyas joined #perl6
07:31 laouji_ joined #perl6
07:47 Sqirrel joined #perl6
07:47 raydiak m: say <ab> ~~ /a ~ $ ./; say <ab> ~~ /a ~ $ b/
07:47 camelia rakudo-moar 3301ec: OUTPUT«「ab」␤Unable to parse expression in ; couldn't find final $ ␤  in block <unit> at /tmp/APcw_Jr3HQ:1␤␤»
07:49 laouji_ joined #perl6
07:52 Erendis42d joined #perl6
07:57 Erendis42d good morning
07:57 raydiak \o good night :)
07:58 Erendis42d well, pretty grayscale weather, right
07:58 Erendis42d still better than shitstorm
08:05 bjz joined #perl6
08:07 araujo joined #perl6
08:07 laouji_ joined #perl6
08:07 masak Erendis42d: here we have blue sky and warm sun.
08:08 Erendis42d sounds nice
08:08 masak and good night, antipolad raydiak
08:08 masak er argh
08:08 masak antipodal*
08:08 masak fingers I am disappoint
08:08 * masak .oO( what've you got against polad? )
08:09 domidumont joined #perl6
08:09 ssqq joined #perl6
08:11 RabidGravy joined #perl6
08:14 domidumont joined #perl6
08:15 pecastro joined #perl6
08:21 darutoko joined #perl6
08:24 virtualsue joined #perl6
08:26 virtualsue_ joined #perl6
08:33 g4 joined #perl6
08:33 g4 joined #perl6
08:36 RabidGravy boom!
08:39 andreoss joined #perl6
08:46 gfldex joined #perl6
08:48 espadrine joined #perl6
09:05 Sqirrel joined #perl6
09:09 Humbedooh joined #perl6
09:10 jnthn morning o/
09:11 vendethiel \o jnthn
09:11 dustinm` joined #perl6
09:16 dalek perl6-examples: 46fcce5 | paultcochrane++ | t/categories/cookbook/10subroutines.t:
09:16 dalek perl6-examples: [cookbook] add tests for 13classes-objects-and-ties subcategory
09:16 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/46fcce5d05
09:16 dalek perl6-examples: 6e7c475 | paultcochrane++ | categories/cookbook/14database-access/14-09-dbi-sql.pl:
09:16 dalek perl6-examples: [cookbook] split lines for improved readability
09:16 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/6e7c4750a8
09:16 dalek perl6-examples: e1fafe3 | paultcochrane++ | t/categories/cookbook/14database-access.t:
09:16 dalek perl6-examples: [cookbook] add tests of 14database-access subcategory
09:16 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/e1fafe39f6
09:16 dalek perl6-examples: 132e3cc | paultcochrane++ | / (3 files):
09:16 dalek perl6-examples: Merge branch 'master' of github.com:perl6/perl6-examples
09:16 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/132e3ccc90
09:16 dalek perl6-examples: 28599a2 | paultcochrane++ | .travis.yml:
09:16 dalek perl6-examples: Add DBIish as dependency for Travis builds
09:16 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/28599a299d
09:30 fhelmberger joined #perl6
09:34 andreoss joined #perl6
09:36 spider-mario joined #perl6
09:48 araujo joined #perl6
09:48 araujo joined #perl6
09:52 dalek rakudo/nom: b0a2d19 | lizmat++ | src/Perl6/Actions.nqp:
09:52 dalek rakudo/nom: Make 'has $a' panic
09:52 dalek rakudo/nom:
09:52 dalek rakudo/nom: This is not really what TimToady meant around
09:52 dalek rakudo/nom:   http://irclog.perlgeek.de/perl6/2015-05-14#i_10599975
09:52 dalek rakudo/nom: but having been bitten by this in the past myself, I thought I'd throw this
09:52 dalek rakudo/nom: change into the group for discussion.  Please revert if not applicable.
09:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b0a2d19ed7
09:53 jnthn m: class A { has $x; method s() { $x = 42 }; method g() { say $x } }; my $a = A.new; $a.s; $a.g;
09:53 camelia rakudo-moar 3301ec: OUTPUT«42␤»
09:53 jnthn You didn't just disable that, did you?
09:55 jnthn If you did, you've probably also just discovered we don't have much in the way of test coverage for that feature, though I know I added tests related to some of the error handling on twigil-less aliases a while ago.
09:55 jnthn Anyway, it's a deliberate feature.
09:56 jnthn (And in S12 for what it counts.)
09:56 lizmat jnthn: yes, that's something I specifically broke
09:56 lizmat $ 6 'class A { has $x; method s() { $x = 42 }; method g() { say $x } }; my $a = A.new; $a.s; $a.g;'
09:56 lizmat ===SORRY!=== Error while compiling -e
09:56 lizmat Missing twigil in attribute '$x': must indicate private (!) or public (.)
09:57 lizmat so no go then, ok
09:57 jnthn Not only is it meant to work by design, there's also a couple of dozen lines of code supporting it working...
09:58 dalek rakudo/nom: 71fab75 | lizmat++ | src/Perl6/Actions.nqp:
09:58 dalek rakudo/nom: Revert "Make 'has $a' panic"
09:58 dalek rakudo/nom:
09:58 dalek rakudo/nom: [11:55:57]  <jnthn> Anyway, it's a deliberate feature.
09:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71fab756ac
09:58 jnthn Note the storage location is actually named $!a, and the compiler re-writes $a into $!a
09:58 * vendethiel is not sure why we need something shorter than "$!a"
09:58 lizmat yes, I notived that
09:58 lizmat personally I find "has $x" confusing
09:58 jnthn I think it was a sop to folks who can't stand twigils... :)
09:59 lizmat m: class A { has $!x; method s() { $!x = 42 }; method g() { say $!x } }; my $a = A.new; $a.s; $a.g;
09:59 camelia rakudo-moar 3301ec: OUTPUT«42␤»
09:59 jnthn I don't think I'd personally write it in my code, but TIMTOWTDI.
09:59 lizmat what's wrong with being explicit here?
10:00 lizmat m: class A { my $!a } # the other way around we *do* panic
10:00 camelia rakudo-moar 3301ec: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iiIyDiUYZd␤Cannot use ! twigil on my variable␤at /tmp/iiIyDiUYZd:1␤------> 3class A { my $!a 7⏏5} # the other way around we *do* panic␤    expecting any of:␤        constraint␤»
10:01 lizmat if we *do* allow 'has $a', I think the default would have to be public and have an accessor generated
10:01 lizmat anyways, I've stated my opinion  :-)
10:02 jnthn :)
10:02 lizmat wrt to people not liking twigils: I think that has a "fossil" quality about it
10:02 jnthn I'll leave it to TimToady++ to decide
10:03 jnthn I'm not strongly attached to the feature, but I know that I've fixed at least one RT related to it within the last month
10:03 jnthn So it may well have usage in the wild, so we quite likely can't just rip it out and not break things for anyone
10:04 lizmat well, then perhaps we should deprecate it  :-)
10:04 jnthn Maybe but let our designer weigh in first :)
10:04 lizmat sure...
10:05 lizmat since we have git, sometimes things are better explained by a commit than by an attempt at discussion :-)
10:05 lizmat like, yesterday I mentioned that I felt that CLIENT:: may be a special case of a more special STASH finding function with a filter specification
10:06 lizmat I don't think anybody reacted to that
10:07 laouji_ joined #perl6
10:07 lizmat anyways, I learned a bit again about the internals coming up with that patch, so all is not lost  :-)
10:10 spider-mario joined #perl6
10:12 laouji_ joined #perl6
10:27 spider-mario Groovy appears to have an equivalent for our ». operator
10:27 spider-mario they call it “star-dot”
10:27 spider-mario *.
10:28 xfix joined #perl6
10:29 vendethiel It's a bit different IIRC, as it goes to the map of the call
10:29 vendethiel i.e. a*.b.c is a.map(*.b.c), which is different from our >>.
10:30 andreoss » tries to parallel
10:30 spider-mario that’s true
10:31 vendethiel apparently, spread-dot also uses ?. on it
10:37 dalek nqp: 7993775 | jnthn++ | / (2 files):
10:37 dalek nqp: Add an NQPLock type.
10:37 dalek nqp:
10:37 dalek nqp: To make locks and condition variables available a little more easily.
10:37 dalek nqp: review: https://github.com/perl6/nqp/commit/7993775081
10:43 dalek rakudo/nom: b3b1728 | jnthn++ | tools/build/NQP_REVISION:
10:43 dalek rakudo/nom: Bump NQP_REVISION for NQPLock.
10:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b3b1728907
10:44 dalek rakudo/nom: d3d715f | jnthn++ | src/Perl6/Metamodel/ParametricRoleHOW.nqp:
10:44 dalek rakudo/nom: Avoid concurrent specializations of a role.
10:44 dalek rakudo/nom:
10:44 dalek rakudo/nom: Since the capturing of the methods into the role's lexical scope and
10:44 dalek rakudo/nom: the clone of them are quite far apart, we must make sure no other
10:44 dalek rakudo/nom: specializations happen concurrently. Otherwise, they'll get highly
10:44 dalek rakudo/nom: tangled. Specialization can be triggered by runtime mixins or by
10:44 dalek rakudo/nom: pun creation, which can legitimately happen from different threads.
10:44 dalek rakudo/nom: Note that any highly mixin heavy code will never need this lock; it
10:44 dalek rakudo/nom: will find what it wants in the mixin cache instead.
10:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d3d715f413
10:44 dalek rakudo/nom: 67bd86d | lizmat++ | src/core/Inc.pm:
10:44 dalek rakudo/nom: Generalize prefix determination between backends
10:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/67bd86ddd3
10:46 jnthn lizmat: I did it like that because prefix on JVM comes out of properties, which I thought was a different hash.
10:46 jnthn But maybe I misread.
10:46 lizmat I verified it just now, but nqp::backendconfig on JVM also has prefix
10:46 jnthn ah, ok
10:46 lizmat j: use nqp; say nqp::atkey(nqp::backendconfig,"prefix")
10:46 camelia rakudo-jvm 71fab7: OUTPUT«/home/camelia/rakudo-inst-2␤»
10:47 jnthn aha
10:47 jnthn What's startup time for you now? :)
10:47 lizmat .12
10:48 lizmat so, yeah, like 20% less than last time I really looked :-)
10:48 jnthn .15 here
10:48 jnthn .1 feels within reach :)
10:48 lizmat yes  :-)
10:48 jnthn More easily for you than for me :)
10:49 lizmat :-)
10:49 lizmat na na na na na
10:49 lizmat :-)
10:53 vendethiel .oO( lizmat : the rakudo knight )
10:53 dalek rakudo/nom: 255d365 | lizmat++ | t/spectest.data:
10:53 dalek rakudo/nom: Only run kill tests inside stress test
10:53 dalek rakudo/nom:
10:53 dalek rakudo/nom: Although not strictly a stress test, this test file takes *way* too long to
10:53 dalek rakudo/nom: run, especially on a non-parallel spectest
10:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/255d36572b
10:53 airdisa joined #perl6
10:54 lizmat jnthn: I'm considering making the prefix and the precomp-ext globals in World
10:54 lizmat do you have something against that ?
10:54 jnthn globals?
10:54 lizmat well lexicals in the file scope
10:55 jnthn User-visible, or?
10:55 lizmat no, not user visible, just handy at all times
10:55 lizmat inside World.nqp
10:55 lizmat only needing them to be looked up once (as they don't change over the course of the lifetime of the process)
10:55 jnthn Should be fine, though I'd perhaps make them accessible by methods
10:56 jnthn Yeah, though in MoarVM I made nqp::backendconfig only ever produce one hash
10:56 jnthn So it's really cheap to look those things up multiple times
10:56 jnthn (now)
10:56 nwc10 there exist non-parallel spectests?
10:56 jnthn (It wasn't a couple of weeks ago)
10:56 jnthn So there's not a win to be had by caching them in a lexical really.
10:57 jnthn But if you want a more convenient/short way to access them, sure, go ahead.
10:57 lizmat ok, I'll make them methods then :)
10:57 nwc10 jnthn: I think I need to install Moo. Startup vs Moose is rather one sided these days.
10:57 nwc10 oh, sigh, I have Moo already.
10:59 jnthn nwc10: How'd we compare to Moose at the moment?
11:00 jnthn m: say X::OS.new(os-error => 'omgz')
11:00 camelia rakudo-moar 71fab7: OUTPUT«X::OS.new(os-error => "omgz")␤»
11:00 jnthn m: say X::OS.new(os-error => 'omgz').Str
11:00 camelia rakudo-moar 71fab7: OUTPUT«X::OS<139695048874120>␤»
11:00 jnthn m: say X::OS ~~ Exception
11:00 camelia rakudo-moar 71fab7: OUTPUT«False␤»
11:00 jnthn m: say X::OS.new ~~ Exception
11:00 camelia rakudo-moar 71fab7: OUTPUT«False␤»
11:00 jnthn ah
11:01 moritz that's bad
11:01 jnthn Indeed.
11:01 nwc10 m: say 1.4636e-01 / 2.4004e-01
11:01 camelia rakudo-moar 71fab7: OUTPUT«0.609731711381436␤»
11:01 nwc10 jnthn: nearly 42% less time. :-)
11:02 jnthn Good answer!
11:02 chenryn joined #perl6
11:02 jnthn moritz: Is making X::OS be "is Exception" and removing it from the things doing it sane?
11:03 jnthn moritz: I think it's what we do for X::Comp
11:03 moritz jnthn: ENOPARASE
11:03 moritz "removing it from the things doing it"?
11:03 moritz oh
11:03 moritz it's a role
11:03 moritz yes, sane
11:03 jnthn my class X::IO::Copy does X::IO is Exception {
11:03 jnthn Would just by "does X::IO" and get Exception through X::IO
11:04 jnthn OK
11:04 jnthn Discovered this while looking into the Proc::Async instability noted by TimToady
11:06 jnthn (Which since the previous commit is a bit less variable in its explosions.)
11:08 bjz joined #perl6
11:13 vendethiel oh, perl5 has FEATURE_UNICODE_IS_ENABLED
11:13 vendethiel (thinking of the >= talk there was on the channel 1/2 days ago)
11:16 * vendethiel somehow got lost in perl5's toke.c
11:17 vendethiel why use "carp", "croak", and such vocabulary for errors, btw?
11:18 yqt joined #perl6
11:18 dalek perl6-examples: c69d9c5 | (Andrei Osipov)++ | categories/interpreters/lisp.pl:
11:18 dalek perl6-examples: [interpreters] Fix negative nums, (define (...) ..) syntax
11:18 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/c69d9c592e
11:19 lizmat vendethiel: carp == complain, croak == die, but differently  :-)
11:19 vendethiel andreoss++
11:19 vendethiel lizmat: yes, but *why the names*? :P
11:19 dalek roast: eff0df0 | jnthn++ | S17-promise/start.t:
11:19 dalek roast: Add test for RT #123702.
11:19 dalek roast: review: https://github.com/perl6/roast/commit/eff0df0807
11:19 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123702
11:19 lizmat vendethiel: Lost in the mists of time ?
11:19 vendethiel andreoss: https://github.com/perl6/perl6-examples/blob/c69d9c592e9f45a8aa67e403aa80a28869473f94/categories/interpreters/lisp.pl#L15 is everything really supposed to be inside that subset?
11:20 vendethiel lizmat: I guess. it just surprises people at first :)
11:22 dalek rakudo/nom: d02b4c0 | jnthn++ | src/core/Exception.pm:
11:22 dalek rakudo/nom: Make X::OS "is Exception".
11:22 dalek rakudo/nom:
11:22 dalek rakudo/nom: It now passes it on to the various classes that do it, much as we do
11:22 dalek rakudo/nom: with X::Comp. This in turn means using X::OS and X::IO directly will
11:22 dalek rakudo/nom: give something that type matches Exception.
11:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d02b4c0297
11:23 dalek perl6-examples: 8901f1d | (Andrei Osipov)++ | categories/interpreters/lisp.pl:
11:23 dalek perl6-examples: [interpreters] Indentation
11:23 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/8901f1dbc0
11:24 andreoss vendethiel: vim did that
11:25 andreoss css-mode is still better indentation for Perl 6
11:28 spider-mario joined #perl6
11:29 pauluu joined #perl6
11:30 andreoss vendethiel: actually this example is rather poor, i want to rewrite it as a Slang
11:31 jnthn moritz: https://rt.perl.org/Ticket/Display.html?id=123968 behaves quite well for me now after various fixes
11:31 moritz jnthn: \o/
11:32 jnthn moritz: At least, I've got it going up to tens of thousands of requests
11:32 moritz jnthn: sounds much better than the 0 requests I managed before :-)
11:32 nwc10 jnthn: I wonder if we can get to 42% faster startup.
11:33 laouji_ joined #perl6
11:33 * moritz builds a new rakudo
11:36 berekuk joined #perl6
11:36 lizmat nwc10: how so?
11:37 lizmat just for the 42 ?
11:37 araujo_ joined #perl6
11:37 nwc10 yes. mostly for the threshold
11:38 nwc10 not that percentages have any sort of fundamtal please the universe maths
11:38 lizmat .oO( only if you ask politely :-)
11:39 nwc10 m: say 1 - 1 / exp 1
11:39 camelia rakudo-moar 71fab7: OUTPUT«0.632120558828558␤»
11:39 nwc10 well, we're beating that one already.
11:40 dalek rakudo/nom: 3a52683 | lizmat++ | t/04-nativecall/ (13 files):
11:40 dalek rakudo/nom: Remove unnessecary 'use lib'
11:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3a52683274
11:50 bjz joined #perl6
11:59 dalek rakudo-star-daily: 1e69004 | coke++ | log/ (2 files):
11:59 dalek rakudo-star-daily: today (automated commit)
11:59 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/1e69004086
12:03 vendethiel uuhh. you can change the internal line number in perl5's parser using # line 500 "file"?!
12:07 moritz yes
12:07 vendethiel i am both amazed and scared by the perl5 parser...
12:07 * moritz too
12:07 moritz and the lexer
12:08 vendethiel well, I'm actually talking about toke.c, so the lexer
12:13 vendethiel thank larry for grammars.
12:14 lizmat fwiw, I wish we had something like that in P6
12:14 vendethiel like #line?
12:15 lizmat yeah, for the setting
12:15 vendethiel ah, mmh.
12:15 lizmat so any error would show the line number in the original, pre concatenated file
12:15 lizmat (And the file, for that matter)
12:17 vendethiel line number tracking in general in grammars seem pretty hard
12:19 orafu joined #perl6
12:20 jepeway .tell skids re: subclassing DateTime -- .utc and .local seem fundamental enough that they belong in DateTime proper and so the timezone slicing they do (where what they return is forced to have an Int timezone) feels to me like it should be fixed, rather than overridden
12:20 yoleaux jepeway: I'll pass your message to skids.
12:27 FROGGS lizmat: does 3a52683274 make it impossible to test NativeCall when rakudo was not installed yet?
12:28 berekuk joined #perl6
12:28 lizmat FROGGS: ah, good point
12:28 lizmat I guess not
12:28 lizmat :-(
12:30 dalek rakudo/nom: b094843 | lizmat++ | t/04-nativecall/ (13 files):
12:30 dalek rakudo/nom: Revert "Remove unnessecary 'use lib'"
12:30 dalek rakudo/nom:
12:30 dalek rakudo/nom: We need the "use lib" in case rakudo is not installed yet, FROGGS++
12:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b09484308f
12:30 rjbs What's the repo for docs.perl6.org?
12:30 muraiki joined #perl6
12:30 rjbs Got it!  https://github.com/perl6/doc
12:31 FROGGS yes, our pages usually state that at the bottom
12:31 rjbs Yeah, I didn't eventhink to look until after asking, but then I did. :)
12:34 dolmen joined #perl6
12:34 hoelzro morning #perl6
12:34 lizmat hoelzro o/
12:35 hoelzro o/ lizmat
12:38 dalek perl6-examples: e481b25 | (Andrei Osipov)++ | categories/interpreters/lisp.pl:
12:38 dalek perl6-examples: add missing }
12:38 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/e481b25dea
12:38 DrForr http://doc.perl6.org/routine/pack # The 'unpack' link breaks, 'method unpack' is in the URL with no '%20'.
12:40 moritz DrForr: same error as in https://github.com/perl6/doc/pull/82
12:40 moritz it should substitute the link URL in the same way as the anchor generation does
12:40 moritz no idea if that's in Pod::To::HTML or in htmlify
12:40 DrForr I'm sure it's all over, I just picked on that because I wanted to make sure pack() was still around.
12:41 hoelzro FROGGS: is there something special I need to do to use a function that takes a const char * from the cpp branch?
12:41 hoelzro I tried my sub greet(Str $name is cpp-const) is native('./test.so') is mangled { * }
12:50 [Coke] http://htmlmade.com/site/perl6.ru showed up in my google alerts today.
12:51 berekuk joined #perl6
12:51 chenryn joined #perl6
13:03 arnsholt rjbs++ # Email::Sender
13:04 FROGGS hoelzro: that should work I think
13:04 FROGGS hoelzro: but perhaps the name mangler is not correct there
13:05 jepeway .tell skids see https://github.com/cjepeway/p6-tz for what I'm trying to do.
13:05 yoleaux jepeway: I'll pass your message to skids.
13:05 * jepeway leaves.
13:05 hoelzro it ends up looking for the wrong symbol; _Z5greetPKc instead of _Z5greetPc
13:05 chenryn joined #perl6
13:05 hoelzro it seems that the GNU mangler ignores cpp-const unless it's a reference or a pointer
13:06 FROGGS hmmm
13:07 FROGGS then either remove your trait of fix the mangler
13:07 FROGGS (and add tests)
13:08 hoelzro aye aye
13:08 FROGGS hmmm, the more I think about CURLI serialization, I think we won't need a fallback to json at all... if we recompile rakudo, we just throw away the CURLI database
13:09 FROGGS panda can reinstall stuff using its state file
13:09 araujo joined #perl6
13:09 araujo joined #perl6
13:09 hoelzro FROGGS: is it currently possible to create C++ objects and call methods on them?
13:09 FROGGS hoelzro: isnt that we the tests do?
13:09 hoelzro heh
13:09 * hoelzro should look at the tests
13:10 FROGGS :o)
13:10 araujo joined #perl6
13:11 FROGGS when I don't need to spit out json anymore I also dont need to .hash the repo anymore...
13:14 aborazmeh joined #perl6
13:14 aborazmeh joined #perl6
13:16 airdisa joined #perl6
13:17 jnthn FROGGS: Did you figure out the remaining issues?
13:17 jnthn FROGGS: Or at least, the serialization one you were seeing last night?
13:19 FROGGS jnthn: yes, that was about not disclaiming the SC when serializing something
13:19 FROGGS I mentioned it
13:20 FROGGS not I need to make it not segfault when recompiling rakudo :o)
13:22 dalek rakudo/nom: 12c3955 | jnthn++ | src/core/Exception.pm:
13:22 dalek rakudo/nom: Give X::OS a default implementation of message.
13:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/12c3955ea7
13:23 lizmat FROGGS: I'm thinking about making $DEBUG and &DEBUG methods of World, so I can use it easily at more places
13:23 lizmat do you have anything against that ?
13:24 FROGGS lizmat: the one set by RAKUDO_MODULE_DEBUG?
13:24 lizmat yes
13:24 FROGGS if that's not too expensive... sure
13:24 jnthn Turns out the X::OS I was seeing was telling me I was not running a valid command in my Proc::Async text case
13:24 FROGGS (I can't judge about that)
13:25 jnthn Once I fix that, it seems to work out rather better now
13:25 lizmat well $*W.RAKUDO_MODULE_DEBUG will be more expensive than $DEBUG
13:25 * jnthn wonders if TimToady++ will see the same
13:25 lizmat FROGGS: but does that matter in the grand scheme of loading external modules ?
13:26 FROGGS depends on how often we call that
13:26 rjbs arnsholt: Glad you find it useful!
13:27 FROGGS lizmat: but yeah, go ahead
13:27 lizmat we can make that happen 1 time in load_module
13:27 lizmat and 1 time in search_path
13:27 lizmat FROGGS: ok, will do  :-)
13:30 FROGGS I am currently installing the entire ecosystem, to bulletproof the CURLI database and to see what the startup penalty now is...
13:31 arnsholt rjbs: I was expecting email to be painful, but this looks like it'll do me just fine (modulo not getting sorted as spam and such, but that's not really a module question)
13:31 lizmat FROGGS++
13:32 FROGGS lizmat: and then we still need to fix panda+CURLI, right?
13:32 lizmat yes, working on that, but need more agile debugging tools for that
13:32 lizmat hence my question :-)
13:33 FROGGS k
13:33 lizmat the only problem I'm seeing atm is precomp test in Inline::Perl5
13:33 lizmat it can't find NativeCall (when it should)
13:34 FROGGS IMO panda only needs to get a CUR by name (e.g. site or home), and it needs an env var that can mess with "@*INC"
13:34 lizmat BTW, how can I check if an attribute is uninitialized in nqp
13:34 lizmat nqp::isnull() ?
13:34 lizmat @*INC messing is dirty and shouldn't be happening
13:35 lizmat @?INC messing will be done with "use lib"
13:35 FROGGS it needs some way to prepend CURs, probably via ENV
13:35 lizmat in the case of precomp, there's the :INC parameter to CompUnit.precomp that you can use to indicate the @?INC needed for precomp
13:35 FROGGS whatevery happens rakudo internally
13:35 jnthn lizmat: or nqp::isconcrete if you're looking for "it's not a type object"
13:37 mr-foobar joined #perl6
13:39 PerlJam good * #perl6
13:39 rjbs arnsholt: I just worked around a bug in Net::SMTP using Email::Sender yesterday which would be unable to exist in good p6. :) -- https://rt.cpan.org/Ticket/Display.html?id=104433
13:40 lizmat PerlJam o/
13:41 colomon \o
13:42 arnsholt rjbs: I fixed a bug recently that wouldn't have happened in Perl 6 either: http://irclog.perlgeek.de/perl6/2015-05-13#i_10598251
13:43 arnsholt Bit of a facepalm moment, that one
13:43 skids joined #perl6
13:44 PerlJam random question:  Will these CUR changes allow for the programmer to say "use Proc::Async;" (or any of the other modules in src/core)?   i.e. do the modules included with Rakudo live in a repo somewhere at least by name such that use-ing them doesn't break?
13:45 jnthn PerlJam: Those aren't really modules, but rather in the outer lexical scope of the program
13:45 PerlJam jnthn: right, but unsuspecting users don't necessarily know that.
13:49 jnthn PerlJam: What's making them suspect they need a "use" statemnet for such things, ooc? I'm pretty sure it's not coming from examples or the docs.
13:50 lizmat PerlJam: that is one of my secondary goals
13:50 jnthn m: next
13:50 camelia rakudo-moar 71fab7: ( no output )
13:50 * jnthn wonders why on earth the X::ControlFlow we actually reach throwing there gets swallowed...
13:51 lizmat PerlJam: that if module loading fails, and we have a package by that name available already, it will say something to the effect that you may not need that -use- command
13:51 lizmat m: { next }
13:51 camelia rakudo-moar 71fab7: ( no output )
13:51 lizmat m: my $a = so { next }
13:51 camelia rakudo-moar 71fab7: ( no output )
13:51 lizmat m: my $a = so { next }; say $a
13:51 camelia rakudo-moar 71fab7: OUTPUT«True␤»
13:51 lizmat m: my $a = do { next }; say $a
13:51 camelia rakudo-moar 71fab7: ( no output )
13:52 jnthn The RT I'm actually looking at is the one where
13:52 jnthn m: next; CONTROL { }
13:52 camelia rakudo-moar 71fab7: OUTPUT«flatten requires a concrete string, but got null␤  in regex  at /home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:1␤  in block <unit> at /tmp/xUfywscxgy:1␤␤»
13:52 jnthn Used to SEGV. Now it does that, which is also wrong.
13:53 jnthn But it turns out a plain "next" is doin' it wrong too...
13:53 FROGGS bbl &
13:54 rjbs arnsholt: ^5 :)
14:01 dalek Heuristic branch merge: pushed 703 commits to rakudo/cpp by hoelzro
14:01 jdv79 what does "v0" mean on http://testers.perl6.org/dist/P/Pod::To::HTML/%3Cunknown%3E.html?
14:03 FROGGS[mobile] joined #perl6
14:04 FROGGS[mobile] jdv: that means the distribution has no proper version
14:05 jdv79 what is the p6 equiv for?:  perl -MData::Dumper -e 'print $INC{"Data/Dumper.pm"}'
14:06 moritz jdv79: loading tracing with the RAKUDO_MODULE_DEBUG=1 env variable
14:06 moritz erm, sorry
14:06 moritz jdv79: RAKUDO_MODULE_DEBUG=1 perl6-m -e 'use Foo'
14:06 jdv79 for module fs path?
14:06 moritz well, it lets you find out where modules are loaded from
14:07 moritz MODULE_DEBUG: loading /home/mlenz/p6/rakudo/install/share/perl6/lib/Test.pm.moarvm
14:07 jdv79 ok, works it seems.  there's really no simple equiv?
14:07 moritz dunno
14:07 jdv79 thanks
14:08 moritz m: use lib; say %?INC.perl
14:08 camelia rakudo-moar 71fab7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nPYSVJrnBd␤Variable '%?INC' is not declared. Did you mean '@?INC'?␤at /tmp/nPYSVJrnBd:1␤------> 3use lib; say 7⏏5%?INC.perl␤»
14:08 rjbs What's the motivation for not allowing [] subscripting of Str?
14:08 jnthn Strings aren't arrays
14:08 nwc10 because everyone knows that LEFT$, RIGHT$ and MID$ provide a superior interface? :-)
14:08 rjbs jnthn: Neither are Bufs
14:09 jdv79 panda seems cranky: http://paste.scsys.co.uk/479250
14:09 jnthn rjbs: They pretty much are :P
14:09 vendethiel the spec says that "next" (and friends) should try to find a lexical loop, and if not, resort to a dynamic one?
14:09 moritz rjbs: I think the biggest difference is that strings have no "one obvious" indexing unit
14:09 moritz rjbs: like, bytes, code points, graphemes
14:10 rjbs I don't think that makes sense at all.
14:10 vendethiel moritz: I think I disagree.
14:10 rjbs A Str is obviously graphemes, between those three.
14:10 rjbs A Uni, code points.
14:10 rjbs A Buf, bytes.
14:10 vendethiel I know where perl6 wants to draw the line, but I agree with rjbs
14:10 moritz rjbs: perhaps more importantly, we want [] indexing to be consistent with iteration
14:10 rjbs jnthn: I've seen a lot of talk recently about how Buf is supposed to be stringier than it currently is.
14:10 jnthn rjbs: People are good at talking.
14:10 rjbs Sure.
14:10 moritz and  for foo() { ... } should do one iteration if foo() returns one string
14:11 retupmoca m: await do for 1..5 { start { buf8.new } }
14:11 yoleaux 1 May 2015 00:16Z <raydiak> retupmoca: https://github.com/retupmoca/P6-Compress-Zlib/pull/7
14:11 camelia rakudo-moar 71fab7: OUTPUT«(signal ABRT)*** Error in `/home/camelia/rakudo-inst-1/bin/moar': double free or corruption (fasttop): 0x0000000002336910 ***␤======= Backtrace: =========␤/lib64/libc.so.6(+0x7283f)[0x7f1705de483f]␤/lib64/libc.so.6(+0x780ae)[0x7f1705dea0ae]␤/lib64/…»
14:11 retupmoca jnthn++ # all kinds of fun fixes
14:11 rjbs moritz: That's an interesting reason, thanks.
14:11 retupmoca (that works locally)
14:11 * rjbs looks into something…
14:11 vendethiel moritz: so, can I "for $buf {}"?
14:11 vendethiel since indexing is allowed on bufs
14:11 moritz vendethiel: $buf is a scalar
14:12 vendethiel for get-buf()*
14:12 rjbs moritz: Doesn't that undercut the argument about iteration, then?
14:12 moritz if it returns a non-itemized buffer, I hope it should
14:12 jnthn I think you have to say $buf.list to iterate it...
14:13 FROGGS[mobile] by stringier I meant that we will have subs like subbuf and will allow to regex match a buf
14:13 moritz be that as it may, we intentionally blur the line between single-element lists and their contents
14:13 moritz if we make strs more list-y, we make things more confusing
14:13 vendethiel if you have to say buf().list, then I think it's inconsistent with Str :)
14:13 moritz vendethiel: it is
14:13 * vendethiel doesn't really believe in Perl6's $a[0] == $a
14:14 rjbs vendethiel: That ship seems sailed. :)
14:14 vendethiel oh; it definitely has!
14:15 * vendethiel suspects a big part is being able to use <foo> as a string :P
14:16 hoelzro DrForr: is the module supposed to be "Readline" or "ReadLine"?
14:16 hoelzro the tests fail on my case sensitive FS
14:17 yqt joined #perl6
14:17 jdv79 this is clearly wrong, right?:  drwxrwxr-x. 2 jdv jdv  4096 May 15 10:16 type language routine images syntax
14:18 rjbs Yow.
14:18 jdv79 i guess whatever builds doc.perl6.org isn't very fresh?
14:19 jnthn moritz: Do we have a way to handle specific contorl exceptions yet?
14:20 jnthn moritz: Inside CONTROL I mean
14:20 * jnthn doesn't see anything for it
14:20 moritz jnthn: no, because iirc we don't map them to Perl 6 types yet
14:20 jnthn And CONTROL seems pretty busted for non-warning exceptions
14:21 jnthn m: warn 'foo'; CONTROL { say 'here' }
14:21 camelia rakudo-moar 71fab7: OUTPUT«here␤foo at /tmp/d7DRDxmefF line 1␤Trying to unwind over wrong handler␤»
14:21 jnthn m: warn 'foo'; CONTROL { default { say 'here' } }
14:21 camelia rakudo-moar 71fab7: OUTPUT«here␤»
14:21 jnthn m: next; CONTROL { default { say 'here' } }
14:21 camelia rakudo-moar 71fab7: OUTPUT«flatten requires a concrete string, but got null␤  in regex  at /home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:1␤  in block <unit> at /tmp/eoPzVkRTZS:1␤␤»
14:21 FROGGS[mobile] that one is RT'd
14:22 jnthn FROGGS[mobile]: Yes, that last one is the RT I'm looking at :)
14:22 jnthn It used to SEGV
14:22 FROGGS[mobile] :o)
14:22 jnthn And I don't like SEGVs, so I was looking at it. :)
14:22 jnthn It doesn't SEGV, but it still sucks.
14:22 jnthn moritz: Any thoughts on naming? X::Control::Next perhaps?
14:23 moritz jnthn: I'd put them in a CX:: namespace, maybe
14:23 rjbs What is the "Obsolete" on type graphs, like here: http://doc.perl6.org/type/Stringy
14:23 moritz jnthn: CX::Next, CX::Continue etc.
14:23 jnthn moritz: Hm, yeah, that is a bit shorter.
14:24 jdv79 m: .say for <a b> # ok
14:24 camelia rakudo-moar 71fab7: OUTPUT«a␤b␤»
14:24 jdv79 m: .say for "", <a b> # wat
14:24 camelia rakudo-moar 71fab7: OUTPUT«␤a b␤»
14:25 DrForr hoelzro: My intent is now 'Readline', that may not have made it all the way.
14:25 lizmat jdv79: that feels like a pre-GLR rakudobug to me
14:26 jnthn lizmat, jdv79: I think that's the intended behavior of C<for> post-GLR, and TimToady made it this way recently
14:26 jnthn m: .say for flat "", <a b>
14:26 camelia rakudo-moar 71fab7: OUTPUT«␤a␤b␤»
14:26 PerlJam jdv79: What would you have expected?
14:27 PerlJam m: .say for <a b>, <c d>;  # what about this one?
14:27 camelia rakudo-moar 71fab7: OUTPUT«a b␤c d␤»
14:27 FROGGS[mobile] the first case might be wrong
14:27 FROGGS[mobile] except when it is not
14:28 jdv79 isn't <> basically qw?
14:28 FROGGS[mobile] it is... and then you put it in a parcel
14:30 FROGGS[mobile] m: my @a = 1,2,3; .say for @a; .say for @a, @a
14:30 camelia rakudo-moar 71fab7: OUTPUT«1␤2␤3␤1␤2␤3␤1␤2␤3␤»
14:30 retupmoca aww, Net::DNS still isn't happy with threads :( (https://github.com/retupmoca/P6-Net-DNS/issues/8)
14:31 FROGGS[mobile] that's inconsistant
14:31 dalek doc: 5335639 | (Justin DeVuyst)++ | htmlify.p6:
14:31 dalek doc: Fix list flattening issue in html subdir creation loop.
14:31 dalek doc: review: https://github.com/perl6/doc/commit/533563961f
14:31 PerlJam aye, but we're still mid-GLR  :)
14:31 jnthn retupmoca: What's the latest failure mode?
14:32 jnthn oh, at the bottom
14:32 jdv79 woohoo - what fun - unstable lists
14:32 retupmoca sorry :/
14:33 FROGGS[mobile] jdv79: as said, the GLR will fix this
14:33 jnthn m: my @a = 1,2,3; for @a { .say }; for @a, @a { .say }
14:33 camelia rakudo-moar 71fab7: OUTPUT«1␤2␤3␤1␤2␤3␤1␤2␤3␤»
14:36 telex joined #perl6
14:41 Juerd joined #perl6
14:44 lizmat m: my @a = 1,2,3; for @a { .say }; for "", @a { .say }
14:44 camelia rakudo-moar 71fab7: OUTPUT«1␤2␤3␤␤1␤2␤3␤»
14:44 lizmat so I guess only for <a b> does the wrong thing now ?
14:45 lizmat m: for <a b> { .say }
14:45 camelia rakudo-moar 71fab7: OUTPUT«a␤b␤»
14:45 lizmat should have been "a b"
14:45 lizmat right?
14:47 dalek nqp: e3936c9 | jnthn++ | src/HLL/Compiler.nqp:
14:47 dalek nqp: Correctly handle control handler throwing.
14:47 dalek nqp:
14:47 dalek nqp: Previously we would accidentally swallow the exception rather than
14:47 dalek nqp: pushing it onwards to the HLL-level error handling.
14:47 dalek nqp: review: https://github.com/perl6/nqp/commit/e3936c9485
14:48 jnthn perl6-m -e "next; CONTROL { when CX::Next { say 'you shall not pass' } }"
14:48 jnthn you shall not pass
14:49 jnthn yays.
14:50 lizmat hmmm... just got a strange error in spectest:  Tests out of sequence
14:50 lizmat it's a flapper
14:50 lizmat t/spec/S02-types/mix.t
14:52 timotimo jdv79: i just committed something to panda that ought to make the revdep problem go away
14:52 timotimo tadzik: i hope that's okay with you
14:52 dalek rakudo/nom: a5b69ca | lizmat++ | src/Perl6/World.nqp:
14:52 dalek rakudo/nom: Get some RAKUDO_MODULE_DEBUG in World
14:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a5b69cadcf
14:53 tadzik timotimo: oh, it probably is :)
14:56 timotimo i did it directly in the github editor, so i couldn't test it locally yet
14:57 rjbs m: my constant %FOO = (1 => 2)
14:57 camelia rakudo-moar 71fab7: ( no output )
14:57 rjbs m: my constant %FOO{Int} = (1 => 2)
14:57 camelia rakudo-moar 71fab7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ewC4TI68s1␤Missing initializer on constant declaration␤at /tmp/ewC4TI68s1:1␤------> 3my constant %FOO7⏏5{Int} = (1 => 2)␤»
14:57 rjbs ^-- What happened?
14:57 timotimo m: my constant %FOO of Int = (1 => 2)
14:57 camelia rakudo-moar 71fab7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p3SSCZba77␤Unexpected named parameter 'SYMBOL' passed␤at /tmp/p3SSCZba77:1␤»
14:58 timotimo m: my constant %foo := Hash[Int, Int].new(1 => 2)
14:58 camelia rakudo-moar 71fab7: ( no output )
14:58 timotimo m: my constant %foo := Hash[Int, Int].new(1 => 2); say %foo.perl
14:58 camelia rakudo-moar 71fab7: OUTPUT«Hash[Int,Int].new(1 => 2)␤»
14:58 timotimo ^- a workaround at least
14:58 rjbs timotimo: Isn't "of" for choosing value types?
14:58 timotimo not sure, it used to be something and then something else and i didn't pay attention
14:58 rjbs Okay.
14:58 lizmat m: my $a of Int; $a = "foo"
14:58 camelia rakudo-moar 71fab7: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Str'␤  in block <unit> at /tmp/i0SyKTPzWb:1␤␤»
14:59 timotimo constants and sigils are a bit "not 100% there" at the moment
14:59 lizmat m: my Int $a; $a = "foo"  # same
14:59 camelia rakudo-moar 71fab7: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Str'␤  in block <unit> at /tmp/O2Ok5Xscl8:1␤␤»
14:59 rjbs Okay.  I wanted Int keys.  So, Hash[Int,Any] perhaps.
15:01 rjbs Apparently values come first. :)
15:01 lizmat Hash[Int,Any] === Hash[Int]
15:01 lizmat is it not?
15:01 jdv79 how come i can delete the Panda.pm.moarvm and edit the pm to debug just fine but when i try that with Panda/Ecosystem i get: ===SORRY!===
15:01 jdv79 Missing or wrong version of dependency 'lib/Panda/Ecosystem.pm' (from 'lib/Panda/App.pm')
15:02 jdv79 and if i back out my edit that error goes away
15:02 rjbs lizmat: I hadn't really given it any thought beyond thinking left to right.  It seems reasonable that value type comes first.
15:02 lizmat jdv79: it is *exactly* that type of behaviour I'm trying to fix
15:02 jdv79 well, that's nice to know
15:02 jdv79 i guess i'll wait then
15:03 lizmat it's really about @INC santitation
15:04 FROGGS[mobile] santitation? Is that what we do for Christmas?
15:04 lizmat it's all about not finding outdated .moarvm files
15:06 vendethiel what should I expect post-GLR "[@a, @b][0].push: 5" to do?
15:07 jnthn lizmat: I'll keep an eye out for if it flaps here also
15:07 jdv79 great.  i just did an "panda install JSON::Tiny" and it bombed and now it says my JSON::Tiny is hosed
15:07 jdv79 i guess i'll rebuild my broken world then and tread more lightly for a bit
15:08 vendethiel m: my @range = 48..57; @range.pick((8..16).pick)>>.chr.join.perl.say
15:08 camelia rakudo-moar 71fab7: OUTPUT«"891374256"␤»
15:09 jdv79 also, why does it take 27m to build the docs?  surely there's some way to seriously cut that down
15:10 * moritz would be very glad to see it cut down
15:10 moritz jdv79: oh, with Inline::Python installed, it's much faster
15:10 moritz because it doesn't have to shell out to pygments
15:13 molaf_ joined #perl6
15:17 hoelzro DrForr: I filed a PR to address the naming
15:18 RabidGravy joined #perl6
15:24 nwc10 m: say  1.48814e-01/ 2.873e-01
15:24 camelia rakudo-moar 71fab7: OUTPUT«0.517974242951618␤»
15:24 nwc10 m: say  1.48814e-01/  2.682e-01
15:24 camelia rakudo-moar 71fab7: OUTPUT«0.554862043251305␤»
15:25 nwc10 "your mileage may vary", but that's the same MoarVM from slightly earlier today vs 5.22.0-nearly (unthreaded and threaded)
15:25 nwc10 nearly + Moose
15:28 lizmat dinner&
15:29 masak tests out of sequence in t/spec/S32-exceptions/misc.rakudo.moar
15:29 eli-se joined #perl6
15:29 masak first time I've seen that error.
15:30 eli-se hi
15:31 masak eli-se: \o
15:33 jnthn masak: It doesn't always mean that, so much as "something made for confused tst output"
15:33 andreoss joined #perl6
15:35 jnthn (Debug output accidentally left behind in one case)
15:35 masak anyway, that was the thing that stood out in today's spectest run.
15:36 grondilu joined #perl6
15:39 * jnthn is going to do one shortly
15:42 xfix joined #perl6
15:43 quester joined #perl6
15:45 beachjf joined #perl6
15:45 beachjf hi everyone
15:45 PerlJam beachjf: greetings
15:45 beachjf how a re you
15:46 beachjf I use IRC for the first time of my life
15:46 beachjf lol
15:46 beachjf I want to improve my english. To do that, I need to find a place where people are writing something :P
15:47 masak beachjf: welcome!
15:47 PerlJam beachjf: now I'm curious how/why you chose #perl6 ?
15:47 masak beachjf: good for you! English is a very important language to master/improve :)
15:48 PerlJam masak: I don't think he's going to improve English ... it's already too far gone.
15:48 PerlJam ;)
15:48 beachjf PerlJam, Honnesly I write Friends in the search bar in Channel List
15:48 masak PerlJam: it's never too late to improve English :P
15:48 timotimo that's interesting
15:48 PerlJam beachjf: I guess that makes sense ... #perl6 is a very friendly place
15:48 masak timotimo: "UTF-8 is your friend!" :D
15:48 timotimo ah!
15:49 timotimo of course
15:49 masak we should throw more positive words in /topic
15:49 vendethiel joined #perl6
15:49 masak beachjf: you are amazingly lucky. this place is full of friends :D
15:49 timotimo "»ö« Welcome to Happy Perl 6"? :)
15:49 beachjf Gooooods. :)
15:49 masak beachjf: now, did you mean "good" -- or "gods"? :)
15:49 beachjf Where do you all come from
15:49 beachjf good
15:49 PerlJam timotimo: add a "friendly" in there too  ;)
15:49 beachjf lol
15:50 masak beachjf: I'm from .se
15:50 timotimo i'm from .de
15:50 beachjf nice, I'm from Canada
15:51 beachjf I'll need to bookmark this channel
15:51 beachjf Which IRC client that you use
15:51 PerlJam beachjf: do you happen to know anything about computer programming?
15:51 beachjf Yes, this is my job
15:51 beachjf :P
15:51 PerlJam beachjf: excellent!  What language(s)?
15:51 beachjf I have my own business in programmation
15:52 beachjf C++, C# , Asp.net C# MVC 2 to 4, SQL Server,
15:52 beachjf MySQL, Drupal
15:52 beachjf Java
15:52 masak beachjf: oh! you speak French!
15:52 beachjf Yeah, French is my Native language
15:52 masak beachjf: in English, it's "programming", not "programmation" :)
15:53 beachjf Haaaa lol :) I take note of that
15:53 PerlJam masak++ I was wondering how you cam to that conclusion
15:53 PerlJam er, came
15:53 timotimo in german it's "programmierung", which is ... kind of "programization"? "programification"?
15:53 masak timotimo: in Swedish too
15:53 masak just spelled diff'rent
15:55 PerlJam masak: btw, have you ever considered adding simple text substitution macros to nqp?
15:55 huf well, it's (noun)(verb)program, innit? :)
15:56 masak PerlJam: hm, no... do you thing nqp would be helped by that?
15:57 PerlJam I was looking at the DEBUG change that lizmat made earlier and it occurred to me that if NQP had simple macros, the $DEBUG = self.RAKUDO_MODULE_DEBUG; $DEBUG() if $DEBUG pattern could be made ... "neater"
15:57 marisa__ joined #perl6
15:57 PerlJam (and there were a couple of times in the past that I can't recall specifics on where I thought something similar)
15:58 PerlJam anyway, just a thought
15:58 timotimo you can give the compiler a "desugar"
15:58 timotimo that spits out a qast
15:58 timotimo and can be invoked like "nqp::mydesugar(...)"
16:01 jdv79 huh?: http://paste.scsys.co.uk/479268
16:05 [TuxCM] joined #perl6
16:06 jdv79 file#lib/Inline/pyhelper.so <- what is this "file#" business?
16:06 [TuxCM] o/ *perl6
16:06 PerlJam jdv79: part of the CUR changes.
16:07 jdv79 idk what that means
16:07 [TuxCM] say I have 'my Str $s; my Any $a; $a = 1."$s.WHICH";' (pseudo-code)
16:07 PerlJam CUR == CompUnitRepo  (i.e. where to look for modules.)
16:07 [TuxCM] what is the invocation to enforce $x' type onto something
16:08 dalek roast: 9eb8a1f | jnthn++ | S04-exception-handlers/control.t:
16:08 dalek roast: Test for RT #124255.
16:08 dalek roast: review: https://github.com/perl6/roast/commit/9eb8a1f7d0
16:08 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124255
16:12 colomon_ joined #perl6
16:13 jnthn Oh noes. The curse of fixing something that silently failed (that shoulda blown up) is you get to fix all the places that now blow up
16:13 [TuxCM] :)
16:13 chenryn joined #perl6
16:14 jnthn m: next; # this in particular
16:14 camelia rakudo-moar 71fab7: ( no output )
16:14 vendethiel joined #perl6
16:18 masak produced an iterative/loops version of the send-more-money problem, hoping it'd be much faster than recursion.
16:18 masak result: 26m12s. so, no.
16:18 nwc10 m: async sub {print "Hello world\n"} for 1..9
16:18 camelia rakudo-moar 71fab7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sZk79Hk_pj␤Undeclared routine:␤    async used at line 1. Did you mean 'asin', 'asinh', 'asec'?␤␤»
16:18 nwc10 what's async called this week?
16:18 jnthn start
16:18 nwc10 thanks
16:19 colomon_ joined #perl6
16:19 hoelzro FROGGS[mobile]: what's your testing platform for the c++, btw?
16:19 hoelzro are you a Windows guy?
16:19 nwc10 m: start sub {print "Hello world\n"} for 1..9
16:19 camelia rakudo-moar 71fab7: OUTPUT«Hello world␤Hello world␤Hello world␤Hello world␤Hello world␤Hello world␤Hello world␤Hello world␤Hello world␤»
16:21 yqt joined #perl6
16:21 nwc10 m: start sub {print "Hello world\n"}
16:21 camelia rakudo-moar 71fab7: ( no output )
16:22 nwc10 OK, I still fail. I don't think I wanted async. Or, instead, I wanted to wait for it to finish
16:22 rindolf Hi all! How do I iterate over a file line-by-line. IMHO, it should be added to http://doc.perl6.org/type/IO .
16:22 jnthn nwc10: You need to have something wait for code that you set of running in the thread pool
16:22 nwc10 m: await do { start { say "Hello World" } }
16:22 camelia rakudo-moar 71fab7: OUTPUT«Hello World␤»
16:22 nwc10 *that* appears to be what I wanted
16:22 jnthn Right
16:23 PerlJam m: await  start { say "Hello World" }
16:23 camelia rakudo-moar 71fab7: OUTPUT«Hello World␤»
16:23 PerlJam (the do isn't necessary)
16:23 jnthn that also :)
16:24 rindolf jnthn, PerlJam , nwc10 : any idea?
16:24 [TuxCM] rindolf, lines() :eager
16:25 rindolf [TuxCM]: what?
16:25 cognominal joined #perl6
16:25 [TuxCM] iterate over a file
16:25 [TuxCM] line by line'
16:25 rindolf [TuxCM]: OK, can you give a more complete code?
16:25 jnthn for lines('filename'.IO) -> $line { ... }
16:26 [TuxCM] what jnthn posted :) He's faster
16:29 TimToady I guess I needed 9 hours of sleep...
16:29 [TuxCM] for "text.txt".IO.lines -> $line { ... }
16:29 colomon_ joined #perl6
16:30 jdv79 cognominal: https://rt.perl.org/Ticket/Display.html?id=105848 - ok to close?
16:30 rindolf [TuxCM]: thanks!
16:32 [TuxCM] m: "f"~~/<["a"]>/
16:32 camelia rakudo-moar 71fab7: OUTPUT«Potential difficulties:␤    Quotes are not metacharacters in character classes␤    at /tmp/XNCcUxUfwF:1␤    ------> 3"f"~~/<7⏏5["a"]>/␤    Repeated character (") unexpectedly found in character class␤    at /tmp/XNCcUxUfwF:1␤    ------> …»
16:32 [TuxCM] TimToady, should the eject not be one position to the right?
16:32 [TuxCM] just nitpicking
16:33 TimToady it should be one position to the right, I'd think, but it's a low-level nqp error, so don't have much control
16:33 masak rindolf: agreed it should be in there. care to file an issue? https://github.com/perl6/doc/issues
16:34 jdv79 m: class A is Hash {}; multi infix:<=>(A $, Str $) { 42 }; say A = "foo" # what should happen here?
16:34 camelia rakudo-moar 71fab7: OUTPUT«Cannot bind attributes in a type object␤  in block <unit> at /tmp/w4QbviuYJo:1␤␤»
16:36 jnthn Well, for one infix:<=> is not invoked through multi-dispatch, but rather a primitive.
16:36 jnthn So it boils down to the same as the code without the multi
16:37 rindolf masak: yes , I can - I found something similar to the effect in IO::Handle.
16:37 rindolf masak: I mean - in the IO::Handle docs.
16:37 jnthn I suspect it then tries to .STORE, which maybe is not marked with :D which would give an error sooner
16:37 jnthn m: Hash.STORE(42)
16:37 camelia rakudo-moar 71fab7: OUTPUT«Cannot bind attributes in a type object␤  in block <unit> at /tmp/VIPAAUn_3s:1␤␤»
16:38 jnthn m: Hash.^lookup('STORE').signature.say
16:38 camelia rakudo-moar 71fab7: OUTPUT«Use of Nil in string context at /tmp/kChuFr10BI line 1␤(EnumMap: Any \to_store, *%_)␤»
16:38 jnthn Yeah, it wants a :D on there I guess
16:38 TimToady [TuxCM]: but arguably, it's also in the correct place, given that <[ ]> is a nested construct
16:39 TimToady m: /<+alpha-["aeiou"]>/
16:39 camelia rakudo-moar 71fab7: OUTPUT«Potential difficulties:␤    Quotes are not metacharacters in character classes␤    at /tmp/Mfc9dLLQ_d:1␤    ------> 3/<+alpha-7⏏5["aeiou"]>/␤    Repeated character (") unexpectedly found in character class␤    at /tmp/Mfc9dLLQ_d:1␤    ---…»
16:40 rindolf OK, next question - http://pastie.org/10190690 - this program gives me «Missing block at prob105-shlomif.p6:68» - what should I make of it?
16:41 cognominal jdv79. thttps://rt.perl.org/Public/Bug/Display.html?id=105848 indeed seems to be  a duplicate of https://rt.perl.org/Public/Bug/Display.html?id=77350 but it is not fixed
16:41 PerlJam rindolf: you've an extra opening { on line 58 (or 59)
16:41 rindolf PerlJam: thanks!
16:42 jdv79 cognominal: i just closed it as there are fudged test for the other already - id
16:42 jdv79 k
16:43 cognominal ok
16:45 jdv79 jnthn: does that mean https://rt.perl.org/Ticket/Display.html?id=76734 is invalid?
16:46 cognominal I think TimToady is thinking replacing $*ACTIONS by a more appropriate mechanism. May be that will deal with that bug... or not.
16:46 jnthn cognominal: That's one of the goals for it, yes
16:47 cognominal very nice.  https://www.youtube.com/watch?v=LBduNcf1eQc
16:47 jnthn jdv79: I think so...provided TimToady agrees = is primitive rather than multi-dispatch (at least for the time being), but I think we settled on that for a while
16:48 rindolf In this program - every "return" returns from the sub instead of the -> closure. How can I prevent that? http://pastie.org/10190701
16:49 jnthn rindolf: use an anonymous sub instead of a -> closure
16:49 rindolf jnthn: ah.
16:50 jdv79 ok, thanks
16:50 jnthn TimToady: About this test:
16:50 jnthn eval_dies_ok 'my $i; { $i++; next; $i--; }'
16:52 jnthn TimToady: We currently explode on it 'cus the next goes unhandled, and we unwind to the global CONTROL handler, at which point the thing is transformed into an exception.
16:52 jnthn Uh, with my local patches, not currently
16:52 jnthn Thing is, we used to miss those that made it to the top level
16:52 jnthn grr, this is confusing-ish :)
16:54 chenryn joined #perl6
16:56 * jnthn guesses that since CONTROL blocks run on the stack top, we should be able to transform it into a die that appears to throw as if it was in the scope of the place that did next
16:56 * jnthn makes another attempt at making that work
16:59 jnthn ooh, I think I got it :)
17:00 nwc10 \o/
17:00 dalek nqp: 8db1066 | jnthn++ | src/HLL/Compiler.nqp:
17:00 dalek nqp: More correct top-level control handling.
17:00 dalek nqp:
17:00 dalek nqp: This allows us to "re-map" it to a normal exception while still not
17:00 dalek nqp: losing those remappings that are not caught.
17:00 dalek nqp: review: https://github.com/perl6/nqp/commit/8db1066a96
17:00 spider-mario joined #perl6
17:02 rindolf jnthn: thanks!
17:02 rindolf masak: I filed a bug - https://github.com/perl6/doc/issues/83
17:03 jdv79 m: -> $_ is rw = $OUTER::_ { $_ = 5 }() # so https://rt.perl.org/Ticket/Display.html?id=78280 is invalid?
17:03 camelia rakudo-moar 71fab7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/byNRiN22pO␤Cannot use 'is rw' on an optional parameter␤at /tmp/byNRiN22pO:1␤»
17:04 spintronic joined #perl6
17:05 jdv79 i'll just go with that - makes sense to me
17:06 chenryn joined #perl6
17:08 dalek perl6-examples: 66b9eb4 | (Shlomi Fish)++ | categories/euler/ (2 files):
17:08 dalek perl6-examples: Add my solution for Euler #105.
17:08 dalek perl6-examples:
17:08 dalek perl6-examples: It's very slow on Perl 6 (while running reasonably fast in the Perl 5
17:08 dalek perl6-examples: original) but works properly. Based on:
17:08 dalek perl6-examples:
17:08 dalek perl6-examples: https://bitbucket.org/shlomif/project-euler/src/e9af7bacb377ab57481659696d4b22f10bdd4f79/project-euler/105/?at=default
17:08 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/66b9eb4454
17:09 dalek rakudo/nom: 8450a68 | jnthn++ | src/core/Exception.pm:
17:09 dalek rakudo/nom: Add and create types for control exceptions.
17:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8450a6833c
17:09 dalek rakudo/nom: 8939e28 | jnthn++ | src/core/ThreadPoolScheduler.pm:
17:09 dalek rakudo/nom: Better handle code on threads leaking control ex.
17:09 dalek rakudo/nom:
17:09 dalek rakudo/nom: Before we silently dropped them, and if the code was running as part
17:09 dalek rakudo/nom: of a Promise it was never kept. Now it breaks.
17:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8939e28b5b
17:09 dalek rakudo/nom: 0e98339 | jnthn++ | src/core/ (2 files):
17:09 dalek rakudo/nom: Tweak "is it runtime" detection.
17:09 dalek rakudo/nom:
17:09 dalek rakudo/nom: Now recognizes that unhandled control exceptions and code in a thread
17:09 dalek rakudo/nom: will always be runtime. Also simplify a little.
17:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0e98339754
17:09 dalek rakudo/nom: 19fab58 | jnthn++ | tools/build/NQP_REVISION:
17:09 dalek rakudo/nom: Bump NQP_REVISION for control ex. fix.
17:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/19fab58f1d
17:09 dalek rakudo/nom: 1af4af9 | jnthn++ | t/spectest.data:
17:09 dalek rakudo/nom: Run S04-exception-handlers/control.t.
17:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1af4af9c8a
17:09 masak rindolf++
17:09 TimToady jnthn: good, catching more things on-stack should improve error reporting generally
17:10 masak beachjf: still there?
17:10 TimToady I tried to fix one of those a couple months ago and failed because the stack had already been unwound
17:11 TimToady and the obvious place to fix it didn't fix it :)
17:11 jnthn TimToady: Yeah. Unfortunately, your fail error improvements are costing us
17:11 jnthn TimToady: They cause us to take a backtrace and build the full Perl 6 Backtrace object up on each fail
17:11 jnthn TimToady: Even if we never use it
17:11 rindolf masak: thanks!
17:11 jnthn TimToady: Result: about 15% of startup is now spent in fail. :)
17:12 TimToady well, all it really needs is the continuation, not a full Backtrace
17:12 jnthn *nod*
17:12 jnthn Yeah, I'll look into it at some point
17:12 TimToady but right now there's a lot of code that examines the frame stack by faking up backtraces
17:12 TimToady callframe does that too
17:13 TimToady so if you do callframe($i) for 0..* you get a new backtrace each time, I think
17:13 TimToady which seems a bit silly
17:13 TimToady at least CALLER bypasses that
17:14 TimToady but better meta-inspection of frames and continuations would help all these things
17:14 jnthn I think we have more of it implemented already
17:14 jnthn But callframe(...) dates back a while
17:15 jnthn Guess I should take a look at see if there's any missing introspection bits to switch it over
17:15 nwc10 is taking a continuation approximately free, in terms of CPU?
17:15 TimToady and CALLER doesn't provide quite the same info as callframe, so like it's hard to get file/line via CALLER
17:16 TimToady nwc10: should just be a delay of GC, I'd think
17:16 nwc10 that was my hope/assumption, hence the question, and the qualifcation about "CPU"
17:16 TimToady 'course the more GC you delay, the more you have to scan
17:17 nwc10 yes, was also what I was thinking, but didn't make clear
17:17 chenryn joined #perl6
17:17 TimToady but failures remembering context was designed with the assumption it would be cheap
17:18 TimToady and failures without context are not so useful, though I suppose just remembering the original file/line would be something, if we can't have the whole context
17:18 jnthn TimToady: I suspect we can.
17:18 jnthn TimToady: Rather more cheaply than we are now.
17:20 robinsmidsrod joined #perl6
17:20 TimToady I've had some ideas for making the dynvar cache cheaper and faster too
17:21 dalek roast: 746c4f8 | jnthn++ | S04-exception-handlers/control.t:
17:21 dalek roast: Tests for CX::* control exception types.
17:21 dalek roast: review: https://github.com/perl6/roast/commit/746c4f876f
17:21 jnthn Nice :)
17:21 TimToady instead of storing one dynvar in the frame, just store a pointer to the last frame's cache that actually declared a dynvar
17:22 jnthn Though in the case of $*ACTIONS I'm quite keen to do away with it altogether and hang them off in ParseShared.
17:22 TimToady and always cache at that level, so it's authoritative
17:22 TimToady then you don't even need to look in the lexpad
17:22 TimToady well, except to find the original
17:23 TimToady so the dyncaches would be a direct linked list, bypassing all the frames that don't care
17:23 jnthn Almost like a skip list.
17:23 TimToady well, maybe linked through their associated frame, but something like that
17:24 TimToady and instead of guessing where to cache an entry, it would always be obvious
17:25 TimToady the expense being some sort of hash or lookup list at each caching frame
17:25 jnthn TimToady: btw, when you get chance please see how magic-8-ball-or-not the Proc::Async is for you
17:25 TimToady but my feeling is that the percentage of frames that actually modify dyn is low
17:25 TimToady k, gotta pull and recomp
17:25 jnthn TimToady: On latest it's decidedly less flaky for me but *on Windows*, I didn't try it elsewhere :)
17:26 jnthn But I had the code in a loop and had it running Windows equivalents of the commands for quite a while.
17:26 TimToady I usually recomp first thing in the morning, dunno why I didn't today
17:26 TimToady maybe I slept through that bit
17:29 jdv79 m: class Bar; role Foo[::T] { has T @.a = Bar}; say Foo[Bar].new.a.perl # is this a LTA type deal?
17:29 camelia rakudo-moar 71fab7: OUTPUT«Method 'perl' not found for invocant of class 'T'␤  in block <unit> at /tmp/EfUDfOfeWa:1␤␤»
17:29 jnthn Just to check: did we agree .graphs goes away now?
17:29 TimToady yes, that can go
17:29 jnthn OK, cool
17:29 jdv79 should it be "class 'Bar'"?
17:30 jnthn jdv79: I don't think we do generic instantiation there yet
17:30 TimToady m: class Bar {}; role Foo[::T] { has T @.a = Bar}; say Foo[Bar].new.a.perl
17:30 camelia rakudo-moar 71fab7: OUTPUT«Method 'perl' not found for invocant of class 'T'␤  in block <unit> at /tmp/wUrc7ZQHk5:1␤␤»
17:31 TimToady is Bar even composed till EOF, with ; form?
17:31 jnthn No, which may also be a problem there
17:31 TimToady cause the body runs before composition, right?
17:33 jnthn The body of a class runs like a normal block at runtime
17:33 jnthn The body of a role runs each time it is composed (so could be compile time or runtime)
17:33 TimToady jnthn: the other thing to ask on those failures is why we're using failure so heavily for something that should be perhaps more "exceptional"
17:33 jnthn TimToady: Well, in this case it's prefix:<+>
17:34 jnthn (If we're on the startup case)
17:34 TimToady okay, so with class Bar; it actually composes at EOF and then runs mainline, I guess
17:35 TimToady yeah, your 15%
17:35 TimToady sorry to carry on two simultaneous conversations :)
17:35 jnthn m: warn 'omg'
17:35 camelia rakudo-moar 71fab7: OUTPUT«omg at /tmp/xJxm2ELPmj line 1␤»
17:35 jnthn hmmm
17:36 TimToady right now I've got the warn semantics to always skip the setting
17:36 jdv79 m: class Bar { method foo {"woohoo"} }; role Foo[::T] { has T @.a = Bar }; say Foo[Bar].new.a[0].foo
17:36 camelia rakudo-moar 71fab7: OUTPUT«woohoo␤»
17:36 jnthn TimToady: Right now warn is actually hard-coding the warning location into the string message
17:36 jnthn :(
17:37 TimToady yes, feel free to supply (cheap) context :)
17:37 jnthn TimToady: Meaning it's there in the .message property of CX::Warn
17:37 jnthn It should already *have* context...
17:37 mschreck joined #perl6
17:37 jdv79 seems generic instantiation is working, no?
17:37 timotimo jdv79: you were aware you're using the "semicolon form" for your class Bar?
17:37 TimToady well, something was printing out bare warnings with no context
17:37 TimToady and the context was wrong
17:38 jdv79 timotimo: huh?
17:38 jnthn jdv79: Oh, wow, it is... :)
17:38 jnthn jdv79: OK, then it's some weird other error
17:38 mschreck left #perl6
17:38 jdv79 maybe its just the error reporting - idk
17:38 jnthn TimToady: Yes, seeing that now. :S
17:38 jdv79 ok, i'll ticket it then
17:39 timotimo jdv79: basically you were writing "class Bar { role Foo[::T] { has T @.a = Bar }; say Foo[Bar].new.a.perl }"
17:39 jnthn TimToady: It's odd, 'cus the thing that prints the warning has logic to give a location, but fails to
17:40 timotimo so you were using "Bar" inside the declaration of class Bar
17:40 TimToady jdv79: perl 6 never uses ; for stubs, it always uses {...}
17:41 TimToady though arguably using ; for "the rest of the compunit" is bad Huffman codeing
17:41 TimToady "bad Huffman codeing" heh
17:43 timotimo how about "class Foo ...;"?
17:43 timotimo no
17:43 timotimo that looks even more like "stub"
17:44 TimToady it needs to function more like a large colon (yow, that sounds funny)
17:44 TimToady jnthn: on restart-concurrent, it usually succeeds, but maybe 1 time in 5 it gets This representation (Null) does not support elems
17:45 TimToady class Foo as follows...
17:46 TimToady class Foo:  <-- too short of a colon
17:46 pyrimidine and we all know what comes out of a large colon...
17:47 jnthn TimToady: 80% success is an improvement on 1% success :)
17:47 TimToady maybe a prefix
17:47 * pyrimidine apologizes; biologist
17:47 TimToady jnthn: fer sure, jnthn++
17:47 TimToady pyrimidine: scat!
17:47 pyrimidine :)
17:48 spintronic pwd
17:48 nwc10 /perl6
17:48 nwc10 obviously :-)
17:48 TimToady maybe a prefix helps: file class Bar;
17:49 jdv79 m: class Bar {}; role Foo[::T] { has T @.a = Bar}; say Foo[Bar].new.a.perl
17:49 camelia rakudo-moar 71fab7: OUTPUT«Method 'perl' not found for invocant of class 'T'␤  in block <unit> at /tmp/7b9RNWHm5V:1␤␤»
17:49 TimToady 'file' being a declarator in the 'my' syntactic category
17:49 TimToady though 'file' is perhaps too common a word
17:49 jdv79 thanks timotimo but the issue is still valid though it seems
17:49 TimToady unit class Bar
17:50 TimToady and 'class Bar;' would then be a syntax error
17:50 timotimo mhm
17:50 jnthn Well, will finish up the warnings stuff and make it so you can get the message out of a a CX::Warn after dinner
17:51 TimToady it would be more readable and rid us of a class (har har) of errors
17:51 jnthn bbiab
17:52 TimToady m: sub MAIN ();  say "HERE"
17:52 camelia rakudo-moar 71fab7: OUTPUT«HERE␤»
17:52 TimToady that would become 'unit sub MAIN ();'
17:53 TimToady or with unit, we could use colon unambiguously
17:53 TimToady unit class Bar:
17:53 spider-mario joined #perl6
17:53 TimToady and 'unit' adds the largeness I was wanting
17:54 TimToady m: unit class Foo;
17:54 camelia rakudo-moar 71fab7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sdlh2FzPhP␤Undeclared routine:␤    unit used at line 1. Did you mean 'uniq'?␤␤»
17:55 TimToady semicolon is probably better so people know the next line is a new statement
17:58 TimToady this probably needs a deprecation cycle though, I think
17:59 TimToady m: my @x = 1,2,3; say @x[Nil]
17:59 camelia rakudo-moar 71fab7: OUTPUT«Indexing requires an instance, tried to do: @x[ Nil ]␤  in block <unit> at /tmp/OZA8ay4YEr:1␤␤»
18:00 ilbelkyr joined #perl6
18:04 rindolf Hi all! I'm running into this problem - http://fpaste.scsys.co.uk/479291
18:04 rindolf with the jvm build of rakudo.
18:06 [Coke] (graphs going away) https://rt.perl.org/Ticket/Display.html?id=124498, btw.
18:07 Alina-malina joined #perl6
18:07 [Coke] rindolf: OOC, what version of java?
18:08 jnthn [Coke]: Is there a way to see the subjects of the tickets that were merged into that so I can see where the other tests are?
18:08 jnthn Of course, I can grep, but... :)
18:09 rindolf [Coke]: java-1.8.0-openjdk-devel-1.8.0.45-6.b13.1.mga5 on Mageia 5 x86-64.
18:09 [Coke] so, "8"? (that looks like not oracle java)
18:10 [Coke] jnthn: I think the merge kills it.
18:10 [Coke] I'm happy to kill the roast tests if that'll help.
18:10 [Coke] wammeto?
18:19 jnthn [Coke]: Well, was gonna see if any would have benefit if adapated to .chars
18:19 jnthn [Coke]: But any that are looking at .graphs compared to .chars, yeah, they can go
18:25 vendethiel joined #perl6
18:27 rindolf [Coke]: it's OpenJDK
18:30 raydiak same error here rakudobrewing jvm on openjdk 7 64-bit linux
18:30 Erendis42d joined #perl6
18:31 Erendis42d re
18:31 Erendis42d <3
18:32 masak Erendis42d: https://en.wiktionary.org/wiki/re#Latin
18:33 Erendis42d oh...
18:34 masak unless you meant "Re: <3" -- we love you too :)
18:34 Erendis42d :D
18:34 Erendis42d i wanna hug you
18:34 masak happens a lot here :)
18:35 dalek rakudo/nom: 34c2392 | lizmat++ | src/Perl6/World.nqp:
18:35 dalek rakudo/nom: Some more RAKUDO_MODULE_DEBUGGING
18:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/34c2392b19
18:53 lizmat JVM build issue, reported by rindolf, confirmed on OS X
18:56 raydiak also reproducable on hack for anyone who wants to look at it there
18:58 * lizmat is checking likely culprits
19:00 dalek roast: 159f61d | coke++ | S (4 files):
19:00 dalek roast: .graphs is gone, remove tests and comments
19:00 dalek roast: review: https://github.com/perl6/roast/commit/159f61de32
19:00 lizmat went as far back as d3d715f4133135a8c , still the same problem
19:03 [Coke] https://github.com/coke/perl6-roast-data/blob/master/log/rakudo.jvm_summary.out implies it's working on hack.
19:03 pauluu left #perl6
19:03 [Coke] some test failures (many of which are from ignoring the perl 5 integration flag in spectest.data), but it's building...
19:05 lizmat jnthn: I suspect https://github.com/rakudo/rakudo/commit/b3b17289078aa4a20244a6136  (bump revision for NQPLock) is breaking the JVM build
19:06 lizmat "Missing serialize function for REPR ReentrantMutex"
19:06 dalek perl6-roast-data: 35582c6 | coke++ | / (9 files):
19:06 dalek perl6-roast-data: today (automated commit)
19:06 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/35582c6162
19:06 masak happy 1.0, Rust. http://blog.rust-lang.org/2015/05/15/Rust-1.0.html
19:06 [Coke] ^^ ah, there's the failures. :)
19:07 masak their 1.0 milestone looks a little bit like our Christmas.
19:07 lizmat [Coke]: the commit that is causing the error, is about 9.5 hours ago
19:07 lizmat could that explain why roast-data is not affected ?
19:08 [Coke] ok. misread the backlog thinking it was long standing. sorry about that.
19:08 masak also, the first HN comment says 'I would like to take this opportunity to formally apologize to the HN community for that time back in early 2012 when I predicted that Rust 1.0 would be released "in about six months or so"' :)
19:08 [Coke] lizmat: it's impacted today's run, yes.
19:08 lizmat which started less than 9.5 hours ago ?
19:09 diana_olhovik joined #perl6
19:10 lizmat afk&
19:10 * TimToady is adding a 'unit' declarator...with a deprecation cycle for non-use on packages or sub MAIN
19:12 [Coke] lizmat: it's using 12eac61
19:13 [Coke] which looks like it's before the culprit you guessed.
19:14 [Coke] sorry: it's using 12c3955 - 12eac61 was the last good one. which makes your culprit a good guess.
19:14 arnsholt jnthn: A question regarding QAST::Stmts vs. ::Stmt: What constitutes a temporary? Only stuff created by the compiler, or something like QAST::Var(:scope<local>) too?
19:15 jnthn arnsholt: Both
19:15 jnthn lizmat: Ah, darn. I think I can fix that quickie
19:15 jnthn *quickly
19:16 TimToady one more benefit of a 'unit' declarator, we can say 'unit package Foo;' now
19:16 jnthn ...or "in a jiffy" was I was going for, then by brain merged them :P
19:16 jnthn *my
19:16 jnthn grr, did they put secret anti-typing ingredients in my dinner...
19:17 Erendis42d o/
19:17 arnsholt jnthn: Right, I suspected as much. So if I use a local ::Var in a ::Stmt it's off limits after the Stmt ends?
19:17 geekosaur food coma oncoming?
19:18 yqt joined #perl6
19:20 jnthn arnsholt: Right.
19:21 jnthn geekosaur: Maybe, though the nom was almost devoid of carbs...
19:21 geekosaur tryptophan? :)
19:25 Erendis42d :*
19:25 arnsholt jnthn: Cheers! I can deal with that. Just needed to be sure
19:26 dalek nqp: f2f8128 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/ReentrantMutex.java:
19:26 dalek nqp: Allow ReentrantMutex REPR to serialize on JVM.
19:26 dalek nqp:
19:26 dalek nqp: Hopefully fixes Rakudo on JVM build bustage.
19:26 dalek nqp: review: https://github.com/perl6/nqp/commit/f2f8128e1c
19:26 jnthn It's still building here, but it should do it.
19:28 Erendis42d bye
19:28 masak \o
19:28 Erendis42d o\
19:29 Erendis42d nerf
19:29 brrt joined #perl6
19:30 Erendis42d i win
19:31 Erendis42d :D
19:31 Erendis42d you are such a mess
19:32 jnthn yeah, it builds
19:32 brrt \o
19:32 masak o/
19:32 jnthn o/ brrt
19:32 Erendis42d like crystals
19:32 Erendis42d but those look neat
19:33 Erendis42d not sure if they have their own consciousness
19:33 Erendis42d but some crazy dude say they do
19:33 masak Erendis42d: are you ok?
19:33 Erendis42d *s
19:33 Erendis42d thanks for asking
19:34 masak felt it was my duty to do so
19:34 Erendis42d i feel like a pinball
19:34 TimToady you're kinda making us feel like pinballs too...
19:35 dalek rakudo/nom: acffde8 | jnthn++ | tools/build/NQP_REVISION:
19:35 dalek rakudo/nom: Bump NQP_REVISION for JVM build fix.
19:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/acffde85ab
19:35 Erendis42d :D
19:35 * masak is trying to come up with a pun based on "tilt"
19:35 Erendis42d so, um
19:35 Erendis42d this guy says crystals "know" how they should look like
19:36 masak Erendis42d: why do you (a) listen to (b) tell about stuff people who obviously don't know stuff say?
19:36 TimToady ooh, a turing test of sorts
19:36 Erendis42d just forwarding a piece of information
19:37 Erendis42d and see where it goes
19:37 masak well, this guy seems woefully misinformed.
19:37 Erendis42d by next time i'll look up his name
19:37 berekuk joined #perl6
19:38 Erendis42d if you want
19:38 masak nah
19:38 masak he's probably hiding somewhere under a burden of proof
19:38 Erendis42d nice tale for little ones anyhow
19:38 Erendis42d yeah
19:38 bartolin since .graph went away, so could this block, couldn't it? https://github.com/perl6/roast/blob/master/S05-mass/stdrules.t#L172
19:40 jnthn bartolin: Not sure, though if we only support grapheme-level strings in the regex engine in 6.0 then it's (a) not that useful, though (b) trivial to implement. :)
19:40 jnthn Provided graph stands for grapheme here, anyway
19:41 masak Erendis42d: at this point, you may (or may not) enjoy http://www.yudkowsky.net/rational/the-simple-truth
19:42 Erendis42d Philip K. Dick — 'Reality is that which, when you stop believing in it, doesn't go away.'
19:43 Erendis42d reality == truth?
19:43 brrt joined #perl6
19:43 masak aye.
19:43 masak when it's truth but not reality, we call it "a story" :)
19:43 Erendis42d wow.
19:43 FROGGS lizmat / jnthn: now I've got installed 294 dists (660kB MANIFEST w/ 5k lines string heap), the startup time increases from 0.28s to 0.33s
19:45 spintronic joined #perl6
19:45 nwc10 is 294 "all the things", or are you still working on that?
19:46 nwc10 anyway, that seems 0.05s seems pretty cool. what's the equivalent on master/nom?
19:46 vendethiel joined #perl6
19:46 jnthn FROGGS: Hm, and 0.28s is quite high as a baseline
19:47 jnthn FROGGS: If you didn't rebase stuff onto latest, though, maybe you're missing the speed wins of late. Or you have a slower machine than lizmat and I ;)
19:47 dalek rakudo/nom: 14e6807 | TimToady++ | / (8 files):
19:47 dalek rakudo/nom: add 'unit' declarator
19:47 dalek rakudo/nom:
19:47 dalek rakudo/nom: Unit scope declarations will in the future require a 'unit' declarator,
19:47 dalek rakudo/nom: instead of relying merely on a blockless semicolon form.  (A semicolon
19:47 dalek rakudo/nom: in place of a block is both too invisible and too late for such a feature.)
19:47 dalek rakudo/nom: The absence of a 'unit' declarator on unit declarations is deprecated.
19:47 dalek rakudo/nom:
19:47 dalek rakudo/nom: The identifier 'SemicolonForm' is now replaced with 'UnitScope'.
19:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/14e6807334
19:47 FROGGS jnthn: that's a debug build on branch jsoff
19:47 dalek roast: 1c4b217 | TimToady++ | / (26 files):
19:47 dalek roast: tweaks for new unit declarator
19:47 dalek roast: review: https://github.com/perl6/roast/commit/1c4b217809
19:47 FROGGS jnthn: exactly
19:47 TimToady this is gonna rock the ecosystem a bit
19:48 jnthn FROGGS: Yeah, that was slower startup :)
19:48 nwc10 TimToady: some sort of waterbed reaction to Rust going stable - Perl 6 needs to compensate with a bit of churn? :-)
19:48 masak heh
19:48 TimToady we're going stable in September
19:49 nwc10 yarrrr!
19:49 raydiak \o/
19:49 brrt joined #perl6
19:49 spintronic looking forward to it
19:49 TimToady and this is the month of GLR anyway, with lots of churn
19:49 FROGGS aye
19:49 * masak isn't sure he likes that line of thinking... :)
19:49 FROGGS shake it like a Polaroid™ picture :o)
19:50 hoelzro TimToady: what role does the unit declarator play? something like 'our'?
19:50 * masak .oO( shake that Polaroid™ your mom gave you )
19:50 TimToady well, it's precisely why we identified NSA, NFG, and GLR as requirements for 6.0, because we thought they'd cause churn
19:50 masak yes, sure
19:50 masak but "since we have so much churn, might as well break some more" is different from that
19:51 TimToady otoh, I actually did a deprecation this time, instead of just, say, changing the fundamental semantics of lists
19:51 [Coke] Is anyone running the Inline::Perl5 tests ?
19:52 Erendis42d left #perl6
19:52 nwc10 [Coke]: I suspect "no", because it seems that [Tux] keeps finding problems
19:53 [Coke] nwc10: I can't install panda into my local ./install, let alone a module using it. Wondering how people are getting past that issue.
19:53 jnthn TimToady: Did you see the "for" oddities in the backlog? I'm guessing *something* is not right in that lot?
19:54 TimToady haven't backlogged yet, got sidetracked for some reason :)
19:54 jnthn ah :)
19:54 jnthn fairy nuff
19:54 jdv79 is any of this semicolon form or unit stuff doc'd?  i'm in the dark.
19:54 nwc10 java-- # no, I didn't really want a 1.6G core file, thank you
19:54 jnthn core blimey!
19:54 TimToady jdv79: not yet
19:55 FROGGS nwc10: they modularize it for after v9
19:55 TimToady basically, instead of 'class Foo;' you need 'unit class Foo;' now for the semicolon form
19:55 FROGGS http://video.fosdem.org/2015/devroom-java/beyond_java_nine__CAM_ONLY.mp4
19:56 FROGGS TimToady: should the 'sub EXPORT' be put into unit scope then too?
19:56 TimToady only if it's spelled 'sub EXPORT;'
19:56 TimToady and I think only MAIN allows that form currently
19:57 FROGGS hmmm, I was thinking that the EXPORT sub must be outside of a package anyway to be usable... (with sub EXPORT { } form)
19:57 [Coke] huh, just got a ton of failures on a fresh stresstest.
19:57 FROGGS [Coke]: on moar?
19:57 jnthn [Coke]: Which backend?
19:58 [Coke] moar... ah, might have missed the very last unit commit. one sec.
19:58 [Coke] rebuilding... :P
19:59 jnthn yowser, mine's a mess too
20:00 jnthn oh, same reason as [Coke]++
20:04 dalek specs: 7e8ba5b | TimToady++ | S (4 files):
20:04 dalek specs: document new unit declarator
20:04 dalek specs: review: https://github.com/perl6/specs/commit/7e8ba5b1f6
20:04 dalek specs: 7212cbf | TimToady++ | S02-bits.pod:
20:04 dalek specs: mention unit is new scope declarator
20:04 dalek specs: review: https://github.com/perl6/specs/commit/7212cbf4f7
20:05 TimToady yes, this one is slightly disruptive
20:05 TimToady but I could see "Why isn't 'class Foo;' declaring a stub correctly?" becoming a FAQ
20:06 masak trying to understand.
20:06 masak what's the difference between `module Foo` and `unit module Foo` ?
20:07 TimToady it's the semicolon form that is the problem
20:08 FROGGS jnthn: what also slows down my startup time is that I disabled lazy deserialization
20:09 masak TimToady: I've always viewed the semicolon form as just syntactic sugar for the braces form. so why is it a problem?
20:10 jnthn FROGGS: Ah
20:10 jnthn FROGGS: But I think that should be able to go back on?
20:11 FROGGS jnthn: I hope so :D
20:11 jnthn If it breaks your patch let me know
20:12 FROGGS yeah, can't imagine it does... I just turned it off to eliminate a potential problem
20:14 [Coke] (that run was much better)
20:15 dalek roast: 5cb6bc1 | usev6++ | S (2 files):
20:15 dalek roast: Fix skipped test for 'my foo'
20:15 dalek roast: review: https://github.com/perl6/roast/commit/5cb6bc1eae
20:16 bartolin args, that should read 'my $!foo'
20:16 hoelzro TimToady: so if I do class MyClass { has $!attr; #`( etc ) }, I shouldn't have to change anything?
20:16 bartolin bartolin-- # got shell quoting wrong
20:17 TimToady masak: I've already explained about twice, not counting the confusion at http://irclog.perlgeek.de/perl6/2015-05-15#i_10610240 or so
20:17 itz_ is panda broken with 'brew? or is it me?
20:17 itz_ oh just a warning
20:18 masak TimToady: ah, sorry. I should backlog instead.
20:18 TimToady but maybe I can say it more clearly.  C programmers expect to be able to stub things with ; so they'll read 'class Foo;' as a stub, not as a unit declaration
20:19 TimToady or worse, write it
20:19 masak aha.
20:19 masak ok, got it.
20:20 TimToady when the deprecation goes away, we can just say: 'class Foo;' is not how you stub, use class Foo {...} instead
20:20 masak *nod*
20:21 TimToady and the whole thing doesn't depend on a retroactive semicolon, which is like P5's /s and such
20:21 TimToady we could make the traits depend on the declarator this way, too
20:22 raydiak heh 'slightly disruptive'...I think nearly everything I have needs fixing :)  though agree it's on the "easy to fix" side
20:22 TimToady it's just an all-around duh moment that we didn't have a scope declarator for this particular scope yet
20:22 dalek rakudo/nom: 161e191 | jnthn++ | src/core/ (3 files):
20:22 dalek rakudo/nom: Move inclusion of location to warning printer.
20:22 dalek rakudo/nom:
20:22 dalek rakudo/nom: This means the message in the warning can be only the thing that was
20:22 dalek rakudo/nom: specified to warn, so we don't have to parse it out.
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/161e191fef
20:22 dalek rakudo/nom: 69b36d9 | jnthn++ | src/core/Exception.pm:
20:22 dalek rakudo/nom: Make CX::Warn have the warning as the message.
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/69b36d9ce8
20:22 dalek rakudo/nom: ada26ae | jnthn++ | src/core/ (2 files):
20:22 dalek rakudo/nom: Move assuming to Block.
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ada26ae46e
20:23 TimToady gee, lunch forgot to happen...
20:23 dalek roast: d569c0d | jnthn++ | S04-exception-handlers/control.t:
20:23 dalek roast: Test CX::Warn gives the warning message.
20:23 dalek roast: review: https://github.com/perl6/roast/commit/d569c0d417
20:23 dalek roast: 3c0a70f | jnthn++ | S06-currying/assuming-and-mmd.t:
20:23 dalek roast: Unfudge test for RT #125155.
20:23 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125155
20:23 dalek roast: review: https://github.com/perl6/roast/commit/3c0a70f4c0
20:23 dalek roast: 5d0a177 | jnthn++ | S32-basics/warn.t:
20:23 dalek roast: Look for line number as it appears.
20:23 dalek roast: review: https://github.com/perl6/roast/commit/5d0a177165
20:24 TimToady oh, and as I think I mentioned, it allows 'unit package Foo;' without colliding with P5 usage
20:25 TimToady unless, of course, P5 decides to add a 'unit' declarator...
20:25 masak heh. I've never really used packages in Perl 6 anyway. :) they seem like an inept version of modules :)
20:26 jnthn They're mostly there as the answer to "when I module Foo::Bar { }, what is Foo?" :)
20:26 jnthn (if it wasn't already something)
20:27 masak m: module Foo::Bar { }; say Foo.^name
20:27 camelia rakudo-moar 14e680: OUTPUT«Foo␤»
20:27 masak m: module Foo::Bar { }; say Foo.HOW
20:27 camelia rakudo-moar 14e680: OUTPUT«Perl6::Metamodel::PackageHOW.new␤»
20:27 masak m: module Foo::Bar { }; module Foo { }; say Foo.HOW
20:27 camelia rakudo-moar 14e680: OUTPUT«Perl6::Metamodel::ModuleHOW.new␤»
20:28 masak m: module Foo::Bar { }; BEGIN { say Foo.HOW }; module Foo { }; say Foo.HOW
20:28 camelia rakudo-moar 14e680: OUTPUT«Perl6::Metamodel::PackageHOW.new␤Perl6::Metamodel::ModuleHOW.new␤»
20:28 masak ooh :>
20:28 jnthn Packages are the only thing that let themselves be "stolen" by the compiler rather than comlaining about redecl :)
20:29 spintronic joined #perl6
20:29 TimToady packages are where 'our' puts things, just some of 'em happen to be fancier things too
20:30 TimToady m: package Foo;
20:30 camelia rakudo-moar 14e680: OUTPUT«5===SORRY!5===␤This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style package block like "package Foo { ... }", or "module Foo; ...".␤at /tmp/O4r4DXqnOa:1␤------> 3package Foo;7⏏5<EOL>␤Other potent…»
20:30 jnthn TimToady: Think the warn thing is cleaned up sufficiently, without any loss of info
20:30 berekuk joined #perl6
20:30 TimToady m: unit package Foo;
20:30 camelia rakudo-moar 14e680: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W6Z9vIc8HK␤This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style package block like "package Foo { ... }", or "module Foo; ...".␤at /tmp/W6Z9vIc8HK:1␤------> 3un…»
20:30 TimToady hmm
20:30 TimToady m: unit module Foo;
20:30 camelia rakudo-moar 14e680: ( no output )
20:31 TimToady okay, gotta relax the package constraint there
20:31 TimToady jnthn: thanks!
20:31 TimToady I'll be glad to think of it that way, even if it isn't!
20:32 jnthn :P
20:32 jnthn Let's see if I can fix the fail being expensive fail...
20:33 jnthn Uh...no, not easily 'cus Backtrace inherits from List rather than composes one...
20:33 masak why why why
20:33 masak inheritance, o bane of OO
20:34 jnthn I dunno :)
20:35 masak did someone stop and go "oh, I would love for Backtrace to be assignable to List, because of its listy nature!" ?
20:35 jnthn moritz: Do you know if Backtrace being a List rather than having one is important? Like, is it a deliberate feature to be able to push/pop/shift/unshift it?
20:35 jnthn moritz: I'd rather like to be able to make it lazily compute the Backtrace::Frame objects and just stash away an nqp::backtrace()
20:36 jnthn (Until it has to produce real Backtrace::Frame objects, that is)
20:43 dalek roast: 6e5dbeb | TimToady++ | S10-packages/precompilation.t:
20:43 dalek roast: oops, accidentally a unit with a block
20:43 dalek roast: review: https://github.com/perl6/roast/commit/6e5dbebb32
20:44 dalek rakudo/nom: 568ce63 | TimToady++ | / (2 files):
20:44 dalek rakudo/nom: don't allow unit on block form
20:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/568ce633da
20:44 masak does trying that out have to wait for moritz' answer?
20:45 jnthn masak: Doesn't have to, but I've done enough hacking today
20:45 spintronic left #perl6
20:45 jnthn Still feeling tired from OSDC.no and the 2 surroudning courses...
20:48 masak jnthn: understood. rest well. jnthn++
20:49 jnthn Well, figure I should catch up on the grant report posts a little given I'm about to be 2 behind :)
20:49 dalek rakudo/nom: 0a9a631 | TimToady++ | src/Perl6/Grammar.nqp:
20:49 dalek rakudo/nom: align p5 package check with new unit declarator
20:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a9a631b5c
20:52 rvchangue joined #perl6
20:53 meisl joined #perl6
20:56 dalek roast: 6a2e1fa | TimToady++ | packages/B/Grammar.pm:
20:56 dalek roast: another unit overreach
20:56 dalek roast: review: https://github.com/perl6/roast/commit/6a2e1face8
20:57 * masak .oO( quick, revert! TimToady is making more overreaches! ) :P
21:01 FROGGS jnthn: :o( # Missing or wrong version of dependency '&dfs-visit' (from 'lib/Panda/Common.pm')
21:01 FROGGS dunno what that means yet
21:01 FROGGS ohh: Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm')
21:03 jnthn That looks...busted
21:04 FROGGS I agree
21:07 FROGGS Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm')
21:07 FROGGS at <unknown>:1  (/home/froggs/dev/nqp/install/share/perl6/site/3:<dependencies+deserialize>:66)
21:07 FROGGS Shell::Command seems to fail when loading JSON::Tiny
21:07 FROGGS but I can use JSON::Tiny just fine
21:08 telex joined #perl6
21:09 ugexe i was getting some blow ups for the new 'unit' thing instead of deprecation messages when loading through another class/module
21:09 FROGGS how do these blow-ups look like?
21:10 ugexe unbox error
21:10 FROGGS that sounds like jvm backend
21:10 ugexe Cannot unbox a type object
21:10 TimToady it's a problem if .worry is blowing up submodule compilation
21:10 ugexe nah it was on moar
21:12 FROGGS ahh, that might be my panda issue...
21:12 FROGGS JSON::Tiny lacks the unit keyword
21:12 FROGGS and others too
21:12 ugexe i think it might have only been for 'class'
21:12 TimToady deprecations aren't supposed to be fatal...
21:13 FROGGS ahh, it also blows up on rakudo revision acffde85ab59da7932f1538ea72d25f7119cf9c2, which is before unit
21:20 FROGGS -.- https://github.com/tadzik/panda/commit/0d32a4071963298fe5b396a14e46ae9d304af001#diff-75437f704a64195befc78c54b9be6da0R44
21:22 ugexe panda installed ok for me, other than all the deprecation messages
21:23 FROGGS yes, panda installs fine, just not in a CompUnitRepo::Local::Installation... that's what I try to fix now
21:23 FROGGS I'm just a bit upset because ripping out stuff that once worked is not a good way of improving things
21:24 FROGGS and the panda bootstrap process it tricky
21:26 ugexe ah. something to look for is precomp-path if panda still needs stuff put into blib
21:26 ugexe otherwise CompUnit looks in lib, next to the original module
21:26 TimToady .oO(tricky === fragile)
21:26 FROGGS TimToady: aye
21:27 ugexe i apply a role to CompUnit's to set $!has-precomp to its real location before precompiling it
21:28 ugexe otherwise i ran into that couldn't find stuff it literally just compiled
21:31 FROGGS .tell lizmat why did you remove that line? https://github.com/tadzik/panda/commit/0d32a4071963298fe5b396a14e46ae9d304af001#diff-75437f704a64195befc78c54b9be6da0L6
21:31 yoleaux FROGGS: I'll pass your message to lizmat.
21:32 masak FROGGS: note that it's added back at line 14...
21:32 FROGGS ohh!
21:32 FROGGS masak++
21:32 FROGGS .tell lizmat nvm, did not spot it was just moved downwards :o)
21:32 yoleaux FROGGS: I'll pass your message to lizmat.
21:33 TimToady yoleaux needs a .takeitback command :)
21:37 masak that's not a half-bad idea
21:41 masak yoleaux: who's your author? do you have a github repo?
21:41 FROGGS ohh, I seem to have fixed it
21:41 masak yoleaux: help
21:41 masak .help
21:41 yoleaux masak: I'm yoleaux. Type .commands to see what I can do, or see http://dpk.io/yoleaux for a quick guide.
21:41 masak yoleaux++
21:42 * jnthn blogged: https://6guts.wordpress.com/2015/05/15/last-week-smaller-hashes-faster-startup-and-many-fixes/
21:42 FROGGS .mangle I'll be glad to think of it that way, even if it isn't!
21:42 yoleaux FROGGS: Sorry, that command (.mangle) crashed.
21:42 masak jnthn++ # work
21:42 FROGGS -.-
21:42 masak jnthn++ # post
21:43 * FROGGS reads
21:43 jnthn And of course will have another post to do in a day or two 'cus that's a catch-up one.
21:43 masak https://github.com/dpk/yoleaux
21:45 lizmat computer: messages
21:45 yoleaux 21:31Z <FROGGS> lizmat: why did you remove that line? https://github.com/tadzik/panda/commit/0d32a4071963298fe5b396a14e46ae9d304af001#diff-75437f704a64195befc78c54b9be6da0L6
21:45 yoleaux 21:32Z <FROGGS> lizmat: nvm, did not spot it was just moved downwards :o)
21:45 lizmat :-)
21:46 masak livin' the future
21:46 jercos computer: xbox sign off
21:46 masak computer: sudo make me a sandwich
21:46 geekosaur "tea, earl gray, hot"
21:46 geekosaur s/gray/grey/
21:46 diana_olhovik joined #perl6
21:47 * masak .oO( Earl of Very Low Saturation )
21:50 FROGGS jnthn++
21:51 * TimToady thinks gray and grey are two different colors...
21:52 masak that's crazy talk :P
21:52 rjbs one is #fff and the other #FFF
21:52 masak no, that's white and whyte
21:52 rjbs erp.
21:52 rjbs wight?
21:53 masak and #000 is black and blaque
21:53 * rjbs goes back to sixing.
21:53 [Coke] be well, everyone.
21:54 rjbs But first, a random weird-o factoid from computers past: That is, if reading an A, they would recognise 65 or 91 (upper or lower case) and also 193 or 219. Matthew Russotto suggests this was an accommodation for the Apple II, whose keyboard primitives returned the last key pressed in the bottom 7 bits of a byte, plus a top bit flag indicating whether or not the keyboard had been hit since last time.
21:54 dalek specs/newio: 23147dd | TimToady++ | S32-setting-library/Containers.pod:
21:54 dalek specs/newio: ':partial' option for partial final rotor result
21:54 dalek specs/newio: review: https://github.com/perl6/specs/commit/23147dd79d
21:54 dalek specs/newio: d251a6b | labster++ | S (3 files):
21:54 dalek specs/newio: unspec quotemeta, fixes #89
21:54 lizmat sorry dalek
21:54 TimToady that always freaks me out
21:55 labster oh, hi dalek
21:55 dalek joined #perl6
21:55 * masak .oO( everybody but Noah has quit [Excess Flood] )
21:56 lizmat jnthn: trying to make sense of "load_module" in World
21:57 labster masak goes on an ark tangent
21:57 rjbs labster++
21:57 TimToady shem on you!
21:57 lizmat jnthn: if I understand it correctly, when we're precomping a -use- statement, it will actually add the AST for loading the NQP module loader *every* time ??
21:57 labster lizmat: is there any reason not to merge https://github.com/rakudo/rakudo/pull/407 ?
21:58 * lizmat looks
21:59 FROGGS yay, I can smoke the ecosystem with CURLI again
21:59 lizmat there isn't, in newio it also returns an IO::Pathy
21:59 lizmat FROGGS++
21:59 FROGGS lizmat: there are one or two hacks that need proper abstraction, but it is progress
21:59 lizmat fwiw, it seems that the jvm builds again
22:00 colomon joined #perl6
22:00 lizmat labster: shall I merge?  or will you?
22:00 jnthn lizmat: Correct, though note that every time except the first it's going to just grab it out of the "things we already loaded" and so not really do any work
22:00 masak Rakudo compiler release is next week. none has volunteered as a release manager.
22:01 labster lizmat: I suppose I will.  I'll run a spectest first
22:01 FROGGS :S
22:01 lizmat labster++
22:01 FROGGS masak: I can do it I guess
22:01 masak ++FROGGS
22:01 lizmat jnthn: what is the reason that the NQP module loader isn't loaded as part of e.g. the bootstrap ?
22:04 dalek roast: 37866ba | TimToady++ | S10-packages/precompilation.t:
22:04 dalek roast: argh, empty class block was interpolating {}
22:04 dalek roast: review: https://github.com/perl6/roast/commit/37866bab04
22:05 lizmat TimToady: test 15 in t/spec/S10-packages/precompilation.t fails with a unit related message:
22:05 lizmat Potential difficulties:\n    Semicolon form without 'unit' declarator is deprecated
22:06 TimToady ^^
22:06 lizmat *sigh*
22:06 lizmat :-)
22:08 jnthn lizmat: I guess, avoiding the work unless we actually need it... :)
22:08 jnthn lizmat: Oh wait, though
22:08 jnthn lizmat: It's the Perl 6 module loader
22:08 jnthn oh wait, it's not
22:08 jnthn Hm, I think we should already have it
22:08 lizmat # Uses the NQP module loader to load Perl6::ModuleLoader, which
22:08 lizmat # is a normal NQP module.
22:08 jnthn Maybe it was in an attempt to get scripts to pre-comp
22:08 vendethiel joined #perl6
22:09 jnthn You'd need it then
22:09 lizmat well, if you're confused..  :-)
22:09 jnthn But I don't think that actually works yet
22:10 lizmat jnthn: so, if I understand it correctly, the precomped -use- statement calls the bare ModuleLoader code
22:10 lizmat *not* the CUR module loader
22:10 lizmat and hence, we have different code paths between running from source and running from precomped
22:11 lizmat and that would explain a *lot* of the crazy things I've seen
22:11 FROGGS I thought the precomped code just deserializes the known SC?
22:11 jnthn lizmat: Yes; of course when I originally impl'd this the code paths were the same ;)
22:11 lizmat ok, then I know what to work on  :-)
22:11 jnthn lizmat: That bit'll need some updating
22:12 jnthn Ideally though, I'd have thought we would select the module through the database etc at "use" time and serialize the decision
22:12 jnthn Dunno if that's possible/sane.
22:12 FROGGS jnthn: that the only choice I guess
22:12 lizmat do you mean that we should just record the path of the module and disregard any @?INC setting when precomped?
22:13 lizmat *or* do we allow precomped module A to use a different precomped module B because of a different CURLI setup ?
22:13 FROGGS lizmat: the latter won't work
22:13 jnthn lizmat: precomps are statically linked against each other
22:13 lizmat because if we're going to save @?INC with the call, we might as well just save the path
22:14 jnthn So, what FROGGS said
22:14 FROGGS IMO we need to save the path to B
22:14 lizmat so, you're saying we just need the absolute path of the module?
22:14 jnthn lizmat: Sounds fine enough to me
22:14 FROGGS yes
22:15 FROGGS we cannot deserialize anything else aynway
22:15 lizmat ok, that *would* simplify things a lot
22:15 jnthn Dependencies are part of identity.
22:16 lizmat ok, I will sleep on this...  :-)   and do some work on it tomorrow
22:16 Foxcool joined #perl6
22:16 FROGGS yeah, me is going to bed too
22:16 FROGGS gnight #perl6
22:16 jnthn me three :)
22:16 lizmat gnight all  :-)
22:16 FROGGS :o)
22:16 jnthn 'night o/
22:16 FROGGS sleep well you all
22:16 jnthn y'all too :)
22:17 jnthn o/
22:17 masak night, lizmat, FROGGS, jnthn
22:20 zacts joined #perl6
22:20 zacts I got rakudo installed on my beaglebone black
22:20 zacts I can't wait to test it all out
22:21 zacts anyway, /me idles for a bit
22:21 masak ooh http://beagleboard.org/black
22:21 zacts yeah
22:21 masak zacts++
22:21 zacts debian actually provides a package for rakudo also
22:21 zacts debian jessie
22:22 masak might be oldish, tho'
22:22 zacts yeah
22:22 masak for the freshest possible, git HEAD is what you'll want
22:23 * rjbs chuckles at writing "flat.map".  Some Haskell programmer is going to be confused.
22:23 zacts oh good to know
22:23 zacts ok
22:25 atweiden joined #perl6
22:28 atweiden is there a special way to pass type Regex into and out of functions?
22:29 masak m: sub foo(Regex $r) { say "yay"; return $r }; my $rr = foo(/hi/); say $rr.^name
22:29 camelia rakudo-moar 0a9a63: OUTPUT«yay␤Regex␤»
22:29 masak atweiden: does that answer your question?
22:36 rjbs m: my constant @x = (1,2,3); @m.^name.say; @x[1] = 12; @x.say
22:36 camelia rakudo-moar 0a9a63: OUTPUT«5===SORRY!5=== Error while compiling /tmp/x7R8I9z7hn␤Variable '@m' is not declared␤at /tmp/x7R8I9z7hn:1␤------> 3my constant @x = (1,2,3); 7⏏5@m.^name.say; @x[1] = 12; @x.say␤»
22:36 rjbs Whoops.
22:36 rjbs m: my constant @x = (1,2,3); @x.^name.say; @x[1] = 12; @x.say
22:36 camelia rakudo-moar 0a9a63: OUTPUT«Parcel␤Cannot modify an immutable Int␤  in block <unit> at /tmp/NFgFOABoIM:1␤␤»
22:36 rjbs m: my constant @x = [1,2,3]; @x.^name.say; @x[1] = 12; @x.say
22:36 camelia rakudo-moar 0a9a63: OUTPUT«Array␤1 12 3␤»
22:37 masak rjbs: yeah. :/
22:37 rjbs I'm trying to understand just what's going on in these two examples.
22:37 rjbs Maybe I can sort it out with careful reading, but I was hoping someone could just say, "Oh, it's because blort."
22:37 masak rjbs: there's wording in the spec about immutable arrays being immutable "one level down" -- but I doubt that will ever happen :/
22:38 masak rjbs: "oh, it's because the thing that is constant is the array reference. it indeed cannot be changed. its elements are containers and their contents can indeed be changed."
22:38 TimToady constant treats = more like :=, so you're trying to modify an immutable element of a tuple
22:38 rjbs Does the "constant" in "my constant @x" do anything?
22:38 masak rjbs: it disallows you from rebinding the array itself.
22:38 rjbs m: my constant @x = [1,2]; @x = [3,4]; @x.say
22:38 TimToady all declarators influence the meaning of pseudoassignment
22:38 camelia rakudo-moar 0a9a63: OUTPUT«3 4␤»
22:39 TimToady that's just a bug, I suspect
22:39 masak m: constant @x = 1, 2; say @x.WHICH; @x = 3, 4; say @x.WHICH
22:39 camelia rakudo-moar 0a9a63: OUTPUT«Parcel|(Int|1)(Int|2)␤Cannot modify an immutable Int␤  in block <unit> at /tmp/tz85zhuyA1:1␤␤»
22:39 masak m: my constant @x = 1, 2; say @x.WHICH; @x = 3, 4; say @x.WHICH
22:39 camelia rakudo-moar 0a9a63: OUTPUT«Parcel|(Int|1)(Int|2)␤Cannot modify an immutable Int␤  in block <unit> at /tmp/2rbwYBjpdk:1␤␤»
22:40 masak huh.
22:40 rjbs Google didn't find me anything on "perl6 pseudoassignment."
22:40 TimToady it's binding
22:40 TimToady ./S05-regex.pod:time the substitution matches (much like the pseudo-assignment to declarators
22:40 TimToady ./S03-operators.pod:of some sort.  We even call some of them pseudo-assignments, but they're
22:40 TimToady ./S03-operators.pod:List-context pseudo-assignment is supported for simple declarations but
22:41 TimToady ./S04-control.pod:variable or named value, which may be initialized with a pseudo-assignment:
22:41 rjbs Ah, maybe it's the hyphen. :)
22:41 rjbs Thanks, will check out S03 in particular.
22:42 vendethiel joined #perl6
22:42 TimToady S03:5093 is the most important table
22:42 synbot6 Link: http://design.perl6.org/S03.html#line_5093
22:43 rjbs boy do I ever wish we could cleanly steal back $x = BEGIN { 1 }
22:50 masak 'night, #perl6
22:50 TimToady o/
22:51 * TimToady looks around for a nap to take &
22:52 rjbs ????
22:53 * TimToady takes it and ????
22:58 koo6 joined #perl6
23:05 adu joined #perl6
23:09 atweiden part of the issue appears to be that i am trying to pass Date.new("2014-01-03") into a function from a test, but Date.new("2014-01-01") is being passed instead
23:12 atweiden oh wait nvm
23:16 vendethiel joined #perl6
23:25 pauluu joined #perl6
23:26 hoelzro is it alright to just add tests to roast for RT tickets we've opened? or should I wait until the tickets have been resolved?
23:27 hoelzro I don't want to freak people out, thinking that they broke something!
23:27 pauluu joined #perl6
23:27 pauluu left #perl6
23:29 cognominal One the lastest rakudo on OSX 10.10.3 Just got Stage parse      : Internal error: zeroed target thread ID in work pass
23:29 cognominal * On
23:31 cognominal seem to be a pretty consitent error, got it three time in a row attempting a make on rakudo
23:33 vendethiel cognominal: that's a known bug iirc, i've seen it in today's irclog
23:39 jdv79 hoelzro: add them fudged, right?
23:39 labster I really hope we get OS X 10.10.10.  That's four tens!
23:41 atweiden masak: i have a test that passes with: my @entries = Nightscape.ls_entries( :@txjournal, :entity("Lorem") );
23:41 atweiden but fails with: Method 'match' not found for invocant of class 'Any'
23:41 atweiden when i pass: my @entries = Nightscape.ls_entries( :@txjournal, :entity(/Lorem/) );
23:42 atweiden (relevant arg types are changed in the interim to ensure it works)
23:49 hoelzro jdv79: ah, good point
23:50 atweiden https://github.com/atweiden/nightscape/blob/develop/lib/Nightscape.pm#L35
23:50 atweiden https://github.com/atweiden/nightscape/blob/develop/t/04-journal-ls_entries.t
23:51 atweiden in general, the multi method / submethod dispatch has been buggy; earlier i could not use a custom subset type in arg types
23:52 atweiden that was why i switched from VarName (subset) to passing a regex
23:52 dalek rakudo/nom: 4330f86 | (Nick Logan)++ | src/core/IO/Path.pm:
23:52 dalek rakudo/nom: .resolve should return IO::Path instead of str
23:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4330f86cc8
23:52 dalek rakudo/nom: 55ed38e | labster++ | src/core/IO/Path.pm:
23:52 dalek rakudo/nom: Merge pull request #407 from ugexe/io-path-resolve-fix
23:52 dalek rakudo/nom:
23:52 dalek rakudo/nom: .resolve: return IO::Path instead of str
23:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/55ed38ed09
23:55 kaare_ joined #perl6
23:56 BenGoldberg joined #perl6

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

Perl 6 | Reference Documentation | Rakudo