»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
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",)␤»
rjbs Hm, I thought I'd tried that...
TimToady maybe you used [] by accident instead of {}?
rjbs Oh, I know. I did: my Hash{Int} %h;
00:00 itz_ left
TimToady that would be a hash whose values oare Hash{Int} 00:01
*are
rjbs right, that totally explains the error message!
Fantastic, th anks.
TimToady++
00:15 vendethiel left
rjbs m: my %hash{Int}; %hash{42} = "Much"; say %hash.keys[0].WHAT.perl 00:15
camelia rakudo-moar d4cf24: OUTPUT«Int␤»
rjbs m: my %hash{uint16}; %hash{42} = "Much"; say %hash.keys[0].WHAT.perl
camelia rakudo-moar d4cf24: OUTPUT«Type check failed in binding key; expected 'uint16' but got 'Int'␤ in block <unit> at /tmp/i9V3u5l_yJ:1␤␤»
rjbs Is that just a case of coersion NYI? 00:16
Erendis42d <3
00:17 Erendis42d left 00:22 laouji_ joined
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
m: my %hash{uint16}; %hash{uint16(42)} = "Much"; say %hash.keys[0].WHAT.perl
camelia rakudo-moar d4cf24: OUTPUT«Cannot invoke this object (REPR: P6int, cs = 0)␤ in block <unit> at /tmp/UnrhJaLMsX:1␤␤»
TimToady and that doesn't quite work yet either 00:32
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␤␤»
TimToady nor does that
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:34
rjbs Cool. I wouldn't bother except that part of this data is probably best modeled as a buf of words. 00:36
My program now runs, but the output is garbage. Time to start porting the tests.
(maybe I should'a done that first)
zacts lo 00:37
rjbs Test++ # I don't need my own binary buffer dumper in p6!
TimToady hi
00:39 laouji_ left, laouji_ joined 00:43 spider-mario left, gfldex left 00:44 laouji_ left
zacts I hope to run rakudo on minix3 sometime this year 00:45
I have minix3 running directly on a beaglebone black computer, and it's fun
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?
Yeah. Neat! 00:47
00:47 laouji_ joined
zacts yes it's like a raspberrypi 00:50
yeah it's really fun 00:51
I own two of them actually
one is running debian jessie, the other minix3
rjbs I keep thinking about setting up one of these kinds of PCs to run Cookie Clicker. :-)
but then I feel like a ridiculous person
zacts yeah, I'm chatting from my debian one, and I'm going to host my personal git repos and blog from it
(I also have dyndns)
01:02 aborazmeh joined, aborazmeh left, aborazmeh joined 01:15 xinming left 01:16 xinming joined 01:17 pauluu joined 01:18 vendethiel joined 01:19 aborazmeh left 01:24 agentzh_ joined, yqt left 01:25 zengargoyle joined 01:26 colomon joined 01:28 raiph left 01:31 agentzh_ left 01:32 agentzh_ joined 01:36 agentzh_ left 01:41 vendethiel left 01:43 aborazmeh joined, aborazmeh left, aborazmeh joined 01:49 vendethiel joined
dalek c: 6a83d1f | (Justin DeVuyst)++ | lib/Language/variables.pod:
Fix bad links to OO page. rjbs++.
01:56
01:57 dayangkun joined 02:04 noganex joined 02:07 noganex_ left 02:08 chenryn joined 02:27 rmgk left, rmgk_ joined, rmgk_ is now known as rmgk, chenryn left 02:29 chenryn joined 02:37 dolmen joined 02:39 airdisa left
rjbs Blah. I can't tell whether I'm on the last hunk out of a rotor, can I? 02:40
TimToady well, it might be shorter... 02:46
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␤»
rjbs I'm doing a :partial rotor.
tony-o_ m: (1,2,3,4,5).rotor(2, :partial).map({ .say; LAST { "end".say; }; }); 02:48
camelia rakudo-moar d4cf24: OUTPUT«1 2␤3 4␤5␤end␤»
rjbs I ended up counting my loops, then checkin whether $n * $loops >= $list.elems
LAST fires when, at the start of the last iteration?
Looks like when the block is done. Too late.
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␤»
rjbs Okay! My full encode stack works, and my program can assemble a running zmachine binary again! 02:55
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
rjbs and decode is hosed because of some weird-o type error, but that isn't needed for compilping 02:55
02:56 vendethiel left
rjbs TimToady: That reminds me of the hack somebody suggested for getting was-a-default out of p5 signatures. 02:56
Something like: sub ($x, $y, $z = (my $z_default = 1)) { ... }
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!
TimToady night!
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
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␤␤»
TimToady heh
jepeway m: my $x = 0; $x.new(1) # really, though, that's more like what I'd like
camelia rakudo-moar d4cf24: OUTPUT«Default constructor for 'Int' only takes named arguments␤ in block <unit> at /tmp/VkYcyN1Pmr:1␤␤»
TimToady m: say Int.^attributes».name
camelia rakudo-moar d4cf24: OUTPUT«$!value␤»
TimToady m: say Int.new(:value(1)) 03:04
camelia rakudo-moar d4cf24: OUTPUT«0␤»
jepeway m: 0.new(value => 1) # like so?
camelia ( no output )
TimToady oops
jepeway heh.
TimToady it's a private attribute, I guess :)
jepeway very.
TimToady well, but why do you want to call new to turn something that is already an Int into an Int? 03:05
jepeway well, it's for working with the timezones held by a DateTime. 03:06
All you know about them is they do Int().
dalek kudo/nom: 3301ec4 | TimToady++ | src/ (3 files):
parameter vs argument alignment
03:07
jepeway But, if they're a more complex type, how do you construct them?
dalek ast: 36e933e | TimToady++ | integration/advent2009-day09.t:
don't use 'parameter' when we mean 'argument'
ast: dc8ca5e | TimToady++ | S02-types/built-in.t:
arguments aren't parameters
jepeway m: my $dt = DateTime.new(now); $dt.timezone.say # pretty sure I'll get this wrong
camelia rakudo-moar d4cf24: OUTPUT«0␤»
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)␤»
jepeway erk, not quite.
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)␤»
jepeway DateTime.{utc,local} slice off the timezone's type.
could keep the ":timezone does Int" contract if Int.new(0), eg, worked. 03:11
03:17 Erendis42d joined
jepeway gimme a sec to figure out how to point to a commit on gh 03:17
ok, I've got a nasty-looking URL. Paste it here? 03:18
03:18 mr-foobar joined
jepeway .oO(guesses so) 03:19
cf github.com/cjepeway/rakudo/commit/...4fc9ba1cc2
03:20 Erendis42d left
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:23
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.
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
"intentionally Mu" means "no more specific type declared for $.timezone," then I think so, yes.
skids jepeway: I'm not sure if relying on DateTime not to tighten that is wise.
03:26 mr-foobar left
jepeway spec says pretty much "does Int()," as I read it. 03:26
03:26 vendethiel left
skids Yeah but spec tend to be speculative. 03:26
It may eventually be decided to nativize it. 03:27
jepeway doing so would put a crimp in using things like the Olson TZ DB, I think. 03:28
my understanding of Temporal's docco is that Int() was chosen to be as loose/unrestrictive as possible while still working. 03:32
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.
by my eye, with a few "fixes," it can; got a branch that mostly does. 03:34
skids Is the use case you are looking for a DateTime who's .timezone changes dynamically? 03:35
03:35 vendethiel joined
jepeway whose offset from UTC changes based on the DateTime its attached too, eventually. 03:38
Well, not the DateTime its attached to. The attrs of that DateTime, depending (usually) on whether summer/winter time is in effect. 03:39
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:40
skids So you are trying to implement essentially a EST5EDT timezone, for example, rather than a fixed offset...? 03:41
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:42
jepeway .oO(thinks Olson code went to NIST) 03:43
well, I must skeedaddle. 03:44
skids And it is important to you that this is just a DateTime and not a subclass thereof?
jdv79 how do i build doc.perl.org locally to make sure my changes are cool?
Mojo... 03:46
03:47 chenryn left 03:48 Sqirrel left, chenryn joined
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"
wat 03:50
ok, i'll try that
03:53 chenryn left
jdv79 i get the feeling the tests failed installing Pod::To::HTML 03:58
it looks like moar it just eating mem...:( 03:59
03:59 vendethiel left 04:08 cognominal left 04:15 davido__ left
jdv79 so, that's cool. can anyone else run the Pod::To::HTML tests ok? 04:17
fresh build and same fail
skipping tests seems to work 04:22
no, htmlify seems to be hung on operators.pod now - 2.4G mem and climbing:( 04:26
what is happening
drwxrwxr-x. 2 jdv jdv 4096 May 15 00:19 type language routine images syntax 04:30
seems odd
04:30 chenryn joined 04:36 skids left 04:38 zacts left
dalek c: 95fd85d | (Justin DeVuyst)++ | lib/ (2 files):
Unify Type/Grammar.pod and Language/grammars.pod on methods. See issue #58.
04:40
04:53 xinming left 04:54 xinming joined 05:04 Humbedooh left 05:06 cognominal joined 05:11 aborazmeh left 05:12 cognominal left 05:13 cognominal joined 05:15 vendethiel joined 05:17 Sqirrel joined 05:21 kaare_ joined 05:24 adu joined 05:38 vendethiel left, vendethiel joined 05:44 yeahnoob joined 05:45 Patterner joined 05:49 Psyche^ left 05:51 berekuk joined 05:55 chenryn left 05:56 chenryn joined, diana_olhovik_ joined 06:08 nebuchad` is now known as nebuchadnezzar 06:11 mr-foobar joined 06:19 mohij joined 06:20 Erendis42d joined, Erendis42d left 06:21 osfameron left 06:23 vendethiel left 06:26 vendethiel joined, rindolf joined 06:31 ssqq joined
ssqq p: my token token { token }; our regex regex { regex }; 06:33
p:token token { token }
06:37 ssqq left 06:38 ssqq joined, mr-foobar left
moritz p is dead, long live m 06:40
m: my token token { token }; our regex regex { regex };
camelia ( no output )
06:45 FROGGS joined
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
ssqq m: grammar G { token id { \w+ }; token TOP { ^ <.id> $ }}; G.parse('str') 06:47
camelia ( no output )
masak morning, #perl6
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 mohij left
moritz no 06:49
tokens in a grammar are normally scoped like methods 06:50
and if you declare them as 'our', they aren't available as methods anymore
ssqq default scoped of token is not same with `my` also? 06:51
moritz no, they are method-scoped by default
not 'my'-scoped
ssqq moritz: I see. thanks 06:53
06:53 mohij joined
moritz if you use 'our' scoping in Perl 6, chances are you're doing something wrong 06:53
most use cases have much better solution in Perl 6. 06:54
nebuchadnezzar hello 06:56
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”?
vendethiel o/, #perl6
07:00 laouji__ joined 07:01 lolisa joined, ssqq left 07:02 ssqq joined 07:03 brrt joined, laouji_ left
moritz nebuchadnezzar: you mean a linter? no, don't think so 07:06
07:07 dolmen left
masak things like linters are still blocking on good support for Perl 6 parsing Perl 6... 07:07
(in Rakudo userland)
07:09 aindilis left 07:11 telex left 07:12 telex joined 07:14 mohij left
DrForr I've been waiting for the time that I can do a tidier for perl6 :) 07:16
07:20 brrt left 07:24 itz_ joined 07:26 itz left 07:30 laouji__ left 07:31 zakharyas joined, laouji_ joined 07:38 bjz left 07:43 Gruber is now known as Grrrr 07:45 Sqirrel left 07:47 Sqirrel joined, laouji_ left
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 07:52 Erendis42d joined
Erendis42d good morning 07:57
raydiak \o good night :)
Erendis42d well, pretty grayscale weather, right 07:58
07:58 laouji_ left
Erendis42d still better than shitstorm 07:58
08:05 araujo left, bjz joined 08:07 araujo joined, laouji_ joined
masak Erendis42d: here we have blue sky and warm sun. 08:07
Erendis42d sounds nice 08:08
masak and good night, antipolad raydiak
er argh
antipodal*
fingers I am disappoint
masak .oO( what've you got against polad? )
08:08 ssqq left 08:09 domidumont joined, ssqq joined, ssqq left 08:10 adu left 08:11 RabidGravy joined 08:13 domidumont left 08:14 domidumont joined 08:15 pecastro joined 08:21 darutoko joined 08:24 bjz left, virtualsue joined 08:26 virtualsue_ joined 08:29 virtualsue left, virtualsue_ is now known as virtualsue 08:33 g4 joined, g4 left, g4 joined
RabidGravy boom! 08:36
08:37 araujo left 08:38 xinming left 08:39 andreoss joined 08:46 gfldex joined 08:48 espadrine joined 08:54 Sqirrel left 09:05 Sqirrel joined, andreoss left 09:09 Humbedooh joined
jnthn morning o/ 09:10
vendethiel \o jnthn 09:11
09:11 dustinm` joined
dalek pan style="color: #395be5">perl6-examples: 46fcce5 | paultcochrane++ | t/categories/cookbook/10subroutines.t:
[cookbook] add tests for 13classes-objects-and-ties subcategory
09:16
pan style="color: #395be5">perl6-examples: 6e7c475 | paultcochrane++ | categories/cookbook/14database-access/14-09-dbi-sql.pl:
[cookbook] split lines for improved readability
pan style="color: #395be5">perl6-examples: e1fafe3 | paultcochrane++ | t/categories/cookbook/14database-access.t:
[cookbook] add tests of 14database-access subcategory
pan style="color: #395be5">perl6-examples: 132e3cc | paultcochrane++ | / (3 files):
Merge branch 'master' of github.com:perl6/perl6-examples
pan style="color: #395be5">perl6-examples: 28599a2 | paultcochrane++ | .travis.yml:
Add DBIish as dependency for Travis builds
09:23 Erendis42d left 09:30 fhelmberger left, fhelmberger joined 09:34 andreoss joined 09:36 spider-mario joined 09:48 araujo joined, araujo left, araujo joined
dalek kudo/nom: b0a2d19 | lizmat++ | src/Perl6/Actions.nqp:
Make 'has $a' panic

This is not really what TimToady meant around
   irclog.perlgeek.de/perl6/2015-05-14#i_10599975
but having been bitten by this in the past myself, I thought I'd throw this change into the group for discussion. Please revert if not applicable.
09:52
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␤»
jnthn You didn't just disable that, did you?
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
Anyway, it's a deliberate feature.
(And in S12 for what it counts.) 09:56
lizmat jnthn: yes, that's something I specifically broke
$ 6 'class A { has $x; method s() { $x = 42 }; method g() { say $x } }; my $a = A.new; $a.s; $a.g;'
===SORRY!=== Error while compiling -e
Missing twigil in attribute '$x': must indicate private (!) or public (.)
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...
dalek kudo/nom: 71fab75 | lizmat++ | src/Perl6/Actions.nqp:
Revert "Make 'has $a' panic"

  [11:55:57] <jnthn> Anyway, it's a deliberate feature.
09:58
jnthn Note the storage location is actually named $!a, and the compiler re-writes $a into $!a
vendethiel is not sure why we need something shorter than "$!a"
lizmat yes, I notived that
personally I find "has $x" confusing
jnthn I think it was a sop to folks who can't stand twigils... :)
09:59 fhelmberger left
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␤»
jnthn I don't think I'd personally write it in my code, but TIMTOWTDI.
lizmat what's wrong with being explicit here?
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␤»
lizmat if we *do* allow 'has $a', I think the default would have to be public and have an accessor generated 10:01
anyways, I've stated my opinion :-)
10:02 chenryn left
jnthn :) 10:02
lizmat wrt to people not liking twigils: I think that has a "fossil" quality about it
jnthn I'll leave it to TimToady++ to decide
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
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
lizmat well, then perhaps we should deprecate it :-) 10:04
jnthn Maybe but let our designer weigh in first :)
lizmat sure...
since we have git, sometimes things are better explained by a commit than by an attempt at discussion :-) 10:05
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
I don't think anybody reacted to that 10:06
10:06 spider-mario left 10:07 laouji_ left, laouji_ joined
lizmat anyways, I learned a bit again about the internals coming up with that patch, so all is not lost :-) 10:07
10:10 spider-mario joined 10:11 laouji_ left 10:12 laouji_ joined 10:14 laouji_ left
spider-mario Groovy appears to have an equivalent for our ». operator 10:27
they call it “star-dot”
*.
10:28 xfix joined
vendethiel It's a bit different IIRC, as it goes to the map of the call 10:29
i.e. a*.b.c is a.map(*.b.c), which is different from our >>.
10:29 yeahnoob left
andreoss » tries to parallel 10:30
spider-mario that’s true
vendethiel apparently, spread-dot also uses ?. on it 10:31
dalek p: 7993775 | jnthn++ | / (2 files):
Add an NQPLock type.

To make locks and condition variables available a little more easily.
10:37
10:39 RabidGravy left
dalek kudo/nom: b3b1728 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for NQPLock.
10:43
kudo/nom: d3d715f | jnthn++ | src/Perl6/Metamodel/ParametricRoleHOW.nqp:
Avoid concurrent specializations of a role.

Since the capturing of the methods into the role's lexical scope and the clone of them are quite far apart, we must make sure no other specializations happen concurrently. Otherwise, they'll get highly tangled. Specialization can be triggered by runtime mixins or by pun creation, which can legitimately happen from different threads. Note that any highly mixin heavy code will never need this lock; it will find what it wants in the mixin cache instead.
10:44
kudo/nom: 67bd86d | lizmat++ | src/core/Inc.pm:
Generalize prefix determination between backends
jnthn lizmat: I did it like that because prefix on JVM comes out of properties, which I thought was a different hash. 10:46
But maybe I misread.
lizmat I verified it just now, but nqp::backendconfig on JVM also has prefix
jnthn ah, ok
lizmat j: use nqp; say nqp::atkey(nqp::backendconfig,"prefix")
camelia rakudo-jvm 71fab7: OUTPUT«/home/camelia/rakudo-inst-2␤»
jnthn aha 10:47
What's startup time for you now? :)
lizmat .12
so, yeah, like 20% less than last time I really looked :-) 10:48
jnthn .15 here
.1 feels within reach :)
lizmat yes :-)
jnthn More easily for you than for me :)
lizmat :-) 10:49
na na na na na
:-)
10:52 dayangkun left
vendethiel
.oO( lizmat : the rakudo knight )
10:53
dalek kudo/nom: 255d365 | lizmat++ | t/spectest.data:
Only run kill tests inside stress test

Although not strictly a stress test, this test file takes *way* too long to run, especially on a non-parallel spectest
10:53 airdisa joined
lizmat jnthn: I'm considering making the prefix and the precomp-ext globals in World 10:54
do you have something against that ?
jnthn globals?
lizmat well lexicals in the file scope
jnthn User-visible, or? 10:55
lizmat no, not user visible, just handy at all times
inside World.nqp
only needing them to be looked up once (as they don't change over the course of the lifetime of the process)
jnthn Should be fine, though I'd perhaps make them accessible by methods
Yeah, though in MoarVM I made nqp::backendconfig only ever produce one hash 10:56
So it's really cheap to look those things up multiple times
(now)
nwc10 there exist non-parallel spectests?
jnthn (It wasn't a couple of weeks ago)
So there's not a win to be had by caching them in a lexical really.
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 :)
nwc10 jnthn: I think I need to install Moo. Startup vs Moose is rather one sided these days.
oh, sigh, I have Moo already. 10:58
jnthn nwc10: How'd we compare to Moose at the moment? 10:59
m: say X::OS.new(os-error => 'omgz') 11:00
camelia rakudo-moar 71fab7: OUTPUT«X::OS.new(os-error => "omgz")␤»
jnthn m: say X::OS.new(os-error => 'omgz').Str
camelia rakudo-moar 71fab7: OUTPUT«X::OS<139695048874120>␤»
jnthn m: say X::OS ~~ Exception
camelia rakudo-moar 71fab7: OUTPUT«False␤»
jnthn m: say X::OS.new ~~ Exception
camelia rakudo-moar 71fab7: OUTPUT«False␤»
jnthn ah
moritz that's bad 11:01
jnthn Indeed.
nwc10 m: say 1.4636e-01 / 2.4004e-01
camelia rakudo-moar 71fab7: OUTPUT«0.609731711381436␤»
nwc10 jnthn: nearly 42% less time. :-)
jnthn Good answer! 11:02
11:02 chenryn joined
jnthn moritz: Is making X::OS be "is Exception" and removing it from the things doing it sane? 11:02
moritz: I think it's what we do for X::Comp 11:03
moritz jnthn: ENOPARASE
"removing it from the things doing it"?
oh
it's a role
yes, sane
jnthn my class X::IO::Copy does X::IO is Exception {
Would just by "does X::IO" and get Exception through X::IO
OK 11:04
Discovered this while looking into the Proc::Async instability noted by TimToady
11:06 berekuk left
jnthn (Which since the previous commit is a bit less variable in its explosions.) 11:06
11:07 chenryn left 11:08 bjz joined
vendethiel oh, perl5 has FEATURE_UNICODE_IS_ENABLED 11:13
(thinking of the >= talk there was on the channel 1/2 days ago)
vendethiel somehow got lost in perl5's toke.c 11:16
why use "carp", "croak", and such vocabulary for errors, btw? 11:17
11:18 yqt joined, bjz left
dalek pan style="color: #395be5">perl6-examples: c69d9c5 | (Andrei Osipov)++ | categories/interpreters/lisp.pl:
[interpreters] Fix negative nums, (define (...) ..) syntax
11:18
lizmat vendethiel: carp == complain, croak == die, but differently :-) 11:19
vendethiel andreoss++
lizmat: yes, but *why the names*? :P
dalek ast: eff0df0 | jnthn++ | S17-promise/start.t:
Add test for RT #123702.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123702
lizmat vendethiel: Lost in the mists of time ?
vendethiel andreoss: github.com/perl6/perl6-examples/bl...isp.pl#L15 is everything really supposed to be inside that subset?
lizmat: I guess. it just surprises people at first :) 11:20
dalek kudo/nom: d02b4c0 | jnthn++ | src/core/Exception.pm:
Make X::OS "is Exception".

It now passes it on to the various classes that do it, much as we do with X::Comp. This in turn means using X::OS and X::IO directly will give something that type matches Exception.
11:22
pan style="color: #395be5">perl6-examples: 8901f1d | (Andrei Osipov)++ | categories/interpreters/lisp.pl:
[interpreters] Indentation
11:23
andreoss vendethiel: vim did that 11:24
css-mode is still better indentation for Perl 6 11:25
11:26 spider-mario left 11:28 spider-mario joined 11:29 pauluu joined
andreoss vendethiel: actually this example is rather poor, i want to rewrite it as a Slang 11:30
jnthn moritz: rt.perl.org/Ticket/Display.html?id=123968 behaves quite well for me now after various fixes 11:31
moritz jnthn: \o/
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 :-)
nwc10 jnthn: I wonder if we can get to 42% faster startup.
11:33 laouji_ joined
moritz builds a new rakudo 11:33
11:35 laouji_ left 11:36 berekuk joined
lizmat nwc10: how so? 11:36
just for the 42 ? 11:37
11:37 araujo_ joined
nwc10 yes. mostly for the threshold 11:37
not that percentages have any sort of fundamtal please the universe maths 11:38
lizmat
.oO( only if you ask politely :-)
11:38 araujo left
nwc10 m: say 1 - 1 / exp 1 11:39
camelia rakudo-moar 71fab7: OUTPUT«0.632120558828558␤»
nwc10 well, we're beating that one already.
11:39 araujo_ left
dalek kudo/nom: 3a52683 | lizmat++ | t/04-nativecall/ (13 files):
Remove unnessecary 'use lib'
11:40
11:50 bjz joined
dalek kudo-star-daily: 1e69004 | coke++ | log/ (2 files):
today (automated commit)
11:59
11:59 berekuk left
vendethiel uuhh. you can change the internal line number in perl5's parser using # line 500 "file"?! 12:03
moritz yes 12:07
vendethiel i am both amazed and scared by the perl5 parser...
moritz too
and the lexer
vendethiel well, I'm actually talking about toke.c, so the lexer 12:08
thank larry for grammars. 12:13
12:13 achauvin left
lizmat fwiw, I wish we had something like that in P6 12:14
vendethiel like #line?
lizmat yeah, for the setting 12:15
vendethiel ah, mmh.
lizmat so any error would show the line number in the original, pre concatenated file
(And the file, for that matter)
vendethiel line number tracking in general in grammars seem pretty hard 12:17
12:19 orafu joined
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:25 airdisa left
FROGGS lizmat: does 3a52683274 make it impossible to test NativeCall when rakudo was not installed yet? 12:27
12:28 berekuk joined
lizmat FROGGS: ah, good point 12:28
I guess not
:-(
dalek kudo/nom: b094843 | lizmat++ | t/04-nativecall/ (13 files):
Revert "Remove unnessecary 'use lib'"

We need the "use lib" in case rakudo is not installed yet, FROGGS++
12:30
rjbs What's the repo for docs.perl6.org?
12:30 muraiki joined
rjbs Got it! github.com/perl6/doc 12:30
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
hoelzro morning #perl6 12:34
lizmat hoelzro o/
hoelzro o/ lizmat 12:35
dalek pan style="color: #395be5">perl6-examples: e481b25 | (Andrei Osipov)++ | categories/interpreters/lisp.pl:
add missing }
12:38
DrForr doc.perl6.org/routine/pack # The 'unpack' link breaks, 'method unpack' is in the URL with no '%20'.
moritz DrForr: same error as in github.com/perl6/doc/pull/82 12:40
it should substitute the link URL in the same way as the anchor generation does
no idea if that's in Pod::To::HTML or in htmlify
DrForr I'm sure it's all over, I just picked on that because I wanted to make sure pack() was still around.
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
I tried my sub greet(Str $name is cpp-const) is native('./test.so') is mangled { * }
[Coke] htmlmade.com/site/perl6.ru showed up in my google alerts today. 12:50
12:51 berekuk left, berekuk joined, chenryn joined 12:55 chenryn left
arnsholt rjbs++ # Email::Sender 13:03
FROGGS hoelzro: that should work I think 13:04
hoelzro: but perhaps the name mangler is not correct there
jepeway .tell skids see github.com/cjepeway/p6-tz for what I'm trying to do. 13:05
yoleaux jepeway: I'll pass your message to skids.
jepeway leaves.
hoelzro it ends up looking for the wrong symbol; _Z5greetPKc instead of _Z5greetPc
13:05 chenryn joined
hoelzro it seems that the GNU mangler ignores cpp-const unless it's a reference or a pointer 13:05
FROGGS hmmm 13:06
then either remove your trait of fix the mangler 13:07
(and add tests)
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
panda can reinstall stuff using its state file 13:09
13:09 araujo joined, araujo left, araujo joined, araujo left
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?
hoelzro heh
hoelzro should look at the tests
FROGGS :o) 13:10
13:10 araujo joined
FROGGS when I don't need to spit out json anymore I also dont need to .hash the repo anymore... 13:11
13:14 aborazmeh joined, aborazmeh left, aborazmeh joined 13:16 airdisa joined
jnthn FROGGS: Did you figure out the remaining issues? 13:17
FROGGS: Or at least, the serialization one you were seeing last night?
FROGGS jnthn: yes, that was about not disclaiming the SC when serializing something 13:19
I mentioned it
not I need to make it not segfault when recompiling rakudo :o) 13:20
13:21 chenryn left
dalek kudo/nom: 12c3955 | jnthn++ | src/core/Exception.pm:
Give X::OS a default implementation of message.
13:22
lizmat FROGGS: I'm thinking about making $DEBUG and &DEBUG methods of World, so I can use it easily at more places 13:23
do you have anything against that ?
FROGGS lizmat: the one set by RAKUDO_MODULE_DEBUG? 13:24
lizmat yes
FROGGS if that's not too expensive... sure
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
FROGGS (I can't judge about that)
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
jnthn wonders if TimToady++ will see the same
lizmat FROGGS: but does that matter in the grand scheme of loading external modules ?
FROGGS depends on how often we call that 13:26
rjbs arnsholt: Glad you find it useful!
FROGGS lizmat: but yeah, go ahead 13:27
lizmat we can make that happen 1 time in load_module
and 1 time in search_path
FROGGS: ok, will do :-)
13:28 yqt left
FROGGS I am currently installing the entire ecosystem, to bulletproof the CURLI database and to see what the startup penalty now is... 13:30
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++
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
hence my question :-)
FROGGS k 13:33
lizmat the only problem I'm seeing atm is precomp test in Inline::Perl5
it can't find NativeCall (when it should)
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
nqp::isnull() ?
@*INC messing is dirty and shouldn't be happening
@?INC messing will be done with "use lib" 13:35
FROGGS it needs some way to prepend CURs, probably via ENV
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
FROGGS whatevery happens rakudo internally
jnthn lizmat: or nqp::isconcrete if you're looking for "it's not a type object"
13:37 mr-foobar joined
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. :) -- rt.cpan.org/Ticket/Display.html?id=104433
lizmat PerlJam o/ 13:40
colomon \o 13:41
arnsholt rjbs: I fixed a bug recently that wouldn't have happened in Perl 6 either: irclog.perlgeek.de/perl6/2015-05-13#i_10598251 13:42
Bit of a facepalm moment, that one 13:43
13:43 skids joined
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:44
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.
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:49
lizmat PerlJam: that is one of my secondary goals 13:50
jnthn m: next
camelia ( no output )
jnthn wonders why on earth the X::ControlFlow we actually reach throwing there gets swallowed...
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
m: { next }
camelia ( no output )
lizmat m: my $a = so { next }
camelia ( no output )
lizmat m: my $a = so { next }; say $a
camelia rakudo-moar 71fab7: OUTPUT«True␤»
lizmat m: my $a = do { next }; say $a 13:52
camelia ( no output )
13:52 domidumont left
jnthn The RT I'm actually looking at is the one where 13:52
m: next; CONTROL { }
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␤␤»
jnthn Used to SEGV. Now it does that, which is also wrong.
But it turns out a plain "next" is doin' it wrong too... 13:53
FROGGS bbl &
13:53 aborazmeh left
rjbs arnsholt: ^5 :) 13:54
14:00 xfix left
dalek Heuristic branch merge: pushed 703 commits to rakudo/cpp by hoelzro 14:01
jdv79 what does "v0" mean on testers.perl6.org/dist/P/Pod::To::H...n%3E.html?
14:03 FROGGS[mobile] joined
FROGGS[mobile] jdv: that means the distribution has no proper version 14:04
jdv79 what is the p6 equiv for?: perl -MData::Dumper -e 'print $INC{"Data/Dumper.pm"}' 14:05
moritz jdv79: loading tracing with the RAKUDO_MODULE_DEBUG=1 env variable 14:06
erm, sorry
jdv79: RAKUDO_MODULE_DEBUG=1 perl6-m -e 'use Foo'
jdv79 for module fs path?
moritz well, it lets you find out where modules are loaded from
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?
moritz dunno
jdv79 thanks
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␤»
rjbs What's the motivation for not allowing [] subscripting of Str?
jnthn Strings aren't arrays
nwc10 because everyone knows that LEFT$, RIGHT$ and MID$ provide a superior interface? :-)
rjbs jnthn: Neither are Bufs
jdv79 panda seems cranky: paste.scsys.co.uk/479250 14:09
jnthn rjbs: They pretty much are :P
vendethiel the spec says that "next" (and friends) should try to find a lexical loop, and if not, resort to a dynamic one?
moritz rjbs: I think the biggest difference is that strings have no "one obvious" indexing unit
rjbs: like, bytes, code points, graphemes
rjbs I don't think that makes sense at all. 14:10
vendethiel moritz: I think I disagree.
rjbs A Str is obviously graphemes, between those three.
A Uni, code points.
A Buf, bytes.
vendethiel I know where perl6 wants to draw the line, but I agree with rjbs
moritz rjbs: perhaps more importantly, we want [] indexing to be consistent with iteration
rjbs jnthn: I've seen a lot of talk recently about how Buf is supposed to be stringier than it currently is.
jnthn rjbs: People are good at talking.
rjbs Sure.
moritz and for foo() { ... } should do one iteration if foo() returns one string
retupmoca m: await do for 1..5 { start { buf8.new } } 14:11
yoleaux 1 May 2015 00:16Z <raydiak> retupmoca: github.com/retupmoca/P6-Compress-Zlib/pull/7
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/…»
retupmoca jnthn++ # all kinds of fun fixes
rjbs moritz: That's an interesting reason, thanks.
retupmoca (that works locally)
rjbs looks into something…
vendethiel moritz: so, can I "for $buf {}"?
since indexing is allowed on bufs
moritz vendethiel: $buf is a scalar
vendethiel for get-buf()* 14:12
rjbs moritz: Doesn't that undercut the argument about iteration, then?
moritz if it returns a non-itemized buffer, I hope it should
jnthn I think you have to say $buf.list to iterate it...
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
if we make strs more list-y, we make things more confusing
vendethiel if you have to say buf().list, then I think it's inconsistent with Str :)
moritz vendethiel: it is
vendethiel doesn't really believe in Perl6's $a[0] == $a
rjbs vendethiel: That ship seems sailed. :) 14:14
vendethiel oh; it definitely has!
vendethiel suspects a big part is being able to use <foo> as a string :P 14:15
hoelzro DrForr: is the module supposed to be "Readline" or "ReadLine"? 14:16
the tests fail on my case sensitive FS 14:17
14:17 yqt joined
jdv79 this is clearly wrong, right?: drwxrwxr-x. 2 jdv jdv 4096 May 15 10:16 type language routine images syntax 14:17
rjbs Yow. 14:18
jdv79 i guess whatever builds doc.perl6.org isn't very fresh?
jnthn moritz: Do we have a way to handle specific contorl exceptions yet? 14:19
moritz: Inside CONTROL I mean 14:20
jnthn doesn't see anything for it
moritz jnthn: no, because iirc we don't map them to Perl 6 types yet
jnthn And CONTROL seems pretty busted for non-warning exceptions
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␤»
jnthn m: warn 'foo'; CONTROL { default { say 'here' } }
camelia rakudo-moar 71fab7: OUTPUT«here␤»
jnthn m: next; CONTROL { default { say 'here' } }
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␤␤»
FROGGS[mobile] that one is RT'd
jnthn FROGGS[mobile]: Yes, that last one is the RT I'm looking at :) 14:22
It used to SEGV
FROGGS[mobile] :o)
jnthn And I don't like SEGVs, so I was looking at it. :)
It doesn't SEGV, but it still sucks.
moritz: Any thoughts on naming? X::Control::Next perhaps?
moritz jnthn: I'd put them in a CX:: namespace, maybe 14:23
rjbs What is the "Obsolete" on type graphs, like here: doc.perl6.org/type/Stringy
moritz jnthn: CX::Next, CX::Continue etc.
jnthn moritz: Hm, yeah, that is a bit shorter.
jdv79 m: .say for <a b> # ok 14:24
camelia rakudo-moar 71fab7: OUTPUT«a␤b␤»
jdv79 m: .say for "", <a b> # wat
camelia rakudo-moar 71fab7: OUTPUT«␤a b␤»
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
jnthn lizmat, jdv79: I think that's the intended behavior of C<for> post-GLR, and TimToady made it this way recently 14:26
m: .say for flat "", <a b>
camelia rakudo-moar 71fab7: OUTPUT«␤a␤b␤»
PerlJam jdv79: What would you have expected?
m: .say for <a b>, <c d>; # what about this one? 14:27
camelia rakudo-moar 71fab7: OUTPUT«a b␤c d␤»
FROGGS[mobile] the first case might be wrong
except when it is not
jdv79 isn't <> basically qw? 14:28
FROGGS[mobile] it is... and then you put it in a parcel
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␤»
retupmoca aww, Net::DNS still isn't happy with threads :( (github.com/retupmoca/P6-Net-DNS/issues/8)
FROGGS[mobile] that's inconsistant 14:31
dalek c: 5335639 | (Justin DeVuyst)++ | htmlify.p6:
Fix list flattening issue in html subdir creation loop.
PerlJam aye, but we're still mid-GLR :)
jnthn retupmoca: What's the latest failure mode?
oh, at the bottom 14:32
jdv79 woohoo - what fun - unstable lists
14:32 cognominal left
retupmoca sorry :/ 14:32
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 }
camelia rakudo-moar 71fab7: OUTPUT«1␤2␤3␤1␤2␤3␤1␤2␤3␤»
14:35 telex left 14:36 telex joined 14:39 g4 left 14:41 Juerd joined
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␤»
lizmat so I guess only for <a b> does the wrong thing now ?
m: for <a b> { .say } 14:45
camelia rakudo-moar 71fab7: OUTPUT«a␤b␤»
14:45 dolmen left
lizmat should have been "a b" 14:45
right?
dalek p: e3936c9 | jnthn++ | src/HLL/Compiler.nqp:
Correctly handle control handler throwing.

Previously we would accidentally swallow the exception rather than pushing it onwards to the HLL-level error handling.
14:47
jnthn perl6-m -e "next; CONTROL { when CX::Next { say 'you shall not pass' } }" 14:48
you shall not pass 14:49
yays.
lizmat hmmm... just got a strange error in spectest: Tests out of sequence 14:50
it's a flapper
t/spec/S02-types/mix.t 14:51
timotimo jdv79: i just committed something to panda that ought to make the revdep problem go away 14:52
tadzik: i hope that's okay with you
dalek kudo/nom: a5b69ca | lizmat++ | src/Perl6/World.nqp:
Get some RAKUDO_MODULE_DEBUG in World
tadzik timotimo: oh, it probably is :) 14:53
timotimo i did it directly in the github editor, so i couldn't test it locally yet 14:56
rjbs m: my constant %FOO = (1 => 2) 14:57
camelia ( no output )
rjbs m: my constant %FOO{Int} = (1 => 2)
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)␤»
rjbs ^-- What happened?
timotimo m: my constant %FOO of Int = (1 => 2)
camelia rakudo-moar 71fab7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p3SSCZba77␤Unexpected named parameter 'SYMBOL' passed␤at /tmp/p3SSCZba77:1␤»
timotimo m: my constant %foo := Hash[Int, Int].new(1 => 2) 14:58
camelia ( no output )
timotimo m: my constant %foo := Hash[Int, Int].new(1 => 2); say %foo.perl
camelia rakudo-moar 71fab7: OUTPUT«Hash[Int,Int].new(1 => 2)␤»
timotimo ^- a workaround at least
rjbs timotimo: Isn't "of" for choosing value types?
timotimo not sure, it used to be something and then something else and i didn't pay attention
rjbs Okay.
lizmat m: my $a of Int; $a = "foo"
camelia rakudo-moar 71fab7: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Str'␤ in block <unit> at /tmp/i0SyKTPzWb:1␤␤»
timotimo constants and sigils are a bit "not 100% there" at the moment 14:59
lizmat m: my Int $a; $a = "foo" # same
camelia rakudo-moar 71fab7: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Str'␤ in block <unit> at /tmp/O2Ok5Xscl8:1␤␤»
rjbs Okay. I wanted Int keys. So, Hash[Int,Any] perhaps.
Apparently values come first. :) 15:01
lizmat Hash[Int,Any] === Hash[Int]
is it not?
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!===
Missing or wrong version of dependency 'lib/Panda/Ecosystem.pm' (from 'lib/Panda/App.pm')
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.
lizmat jdv79: it is *exactly* that type of behaviour I'm trying to fix
jdv79 well, that's nice to know
i guess i'll wait then
lizmat it's really about @INC santitation 15:03
FROGGS[mobile] santitation? Is that what we do for Christmas? 15:04
lizmat it's all about not finding outdated .moarvm files
vendethiel what should I expect post-GLR "[@a, @b][0].push: 5" to do? 15:06
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
i guess i'll rebuild my broken world then and tread more lightly for a bit
vendethiel m: my @range = 48..57; @range.pick((8..16).pick)>>.chr.join.perl.say 15:08
camelia rakudo-moar 71fab7: OUTPUT«"891374256"␤»
jdv79 also, why does it take 27m to build the docs? surely there's some way to seriously cut that down 15:09
moritz would be very glad to see it cut down 15:10
jdv79: oh, with Inline::Python installed, it's much faster
because it doesn't have to shell out to pygments
15:12 molaf_ left 15:13 molaf_ joined
hoelzro DrForr: I filed a PR to address the naming 15:17
15:18 RabidGravy joined
nwc10 m: say 1.48814e-01/ 2.873e-01 15:24
camelia rakudo-moar 71fab7: OUTPUT«0.517974242951618␤»
nwc10 m: say 1.48814e-01/ 2.682e-01
camelia rakudo-moar 71fab7: OUTPUT«0.554862043251305␤»
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
nearly + Moose
lizmat dinner& 15:28
masak tests out of sequence in t/spec/S32-exceptions/misc.rakudo.moar 15:29
15:29 eli-se joined
masak first time I've seen that error. 15:29
eli-se hi 15:30
masak eli-se: \o 15:31
15:32 andreoss left
jnthn masak: It doesn't always mean that, so much as "something made for confused tst output" 15:33
15:33 andreoss joined
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 15:37 grondilu left
jnthn is going to do one shortly 15:39
15:39 vendethiel left 15:42 xfix joined 15:43 quester joined 15:45 beachjf joined
beachjf hi everyone 15:45
PerlJam beachjf: greetings
beachjf how a re you
I use IRC for the first time of my life 15:46
lol
I want to improve my english. To do that, I need to find a place where people are writing something :P
masak beachjf: welcome! 15:47
PerlJam beachjf: now I'm curious how/why you chose #perl6 ?
masak beachjf: good for you! English is a very important language to master/improve :)
PerlJam masak: I don't think he's going to improve English ... it's already too far gone. 15:48
;)
beachjf PerlJam, Honnesly I write Friends in the search bar in Channel List
masak PerlJam: it's never too late to improve English :P
timotimo that's interesting
PerlJam beachjf: I guess that makes sense ... #perl6 is a very friendly place
masak timotimo: "UTF-8 is your friend!" :D
timotimo ah! 15:49
of course
masak we should throw more positive words in /topic
15:49 vendethiel joined
masak beachjf: you are amazingly lucky. this place is full of friends :D 15:49
timotimo "»ö« Welcome to Happy Perl 6"? :)
beachjf Gooooods. :)
masak beachjf: now, did you mean "good" -- or "gods"? :)
beachjf Where do you all come from
good
PerlJam timotimo: add a "friendly" in there too ;)
beachjf lol
masak beachjf: I'm from .se 15:50
timotimo i'm from .de
beachjf nice, I'm from Canada
I'll need to bookmark this channel 15:51
Which IRC client that you use
PerlJam beachjf: do you happen to know anything about computer programming?
beachjf Yes, this is my job
:P
PerlJam beachjf: excellent! What language(s)?
beachjf I have my own business in programmation
15:52 zakharyas left
beachjf C++, C# , Asp.net C# MVC 2 to 4, SQL Server, 15:52
MySQL, Drupal
Java
masak beachjf: oh! you speak French!
beachjf Yeah, French is my Native language
masak beachjf: in English, it's "programming", not "programmation" :)
beachjf Haaaa lol :) I take note of that 15:53
PerlJam masak++ I was wondering how you cam to that conclusion
er, came
timotimo in german it's "programmierung", which is ... kind of "programization"? "programification"?
masak timotimo: in Swedish too
just spelled diff'rent
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:55 eli-se left
masak PerlJam: hm, no... do you thing nqp would be helped by that? 15:56
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
15:57 marisa__ joined
PerlJam (and there were a couple of times in the past that I can't recall specifics on where I thought something similar) 15:57
anyway, just a thought 15:58
timotimo you can give the compiler a "desugar"
that spits out a qast
and can be invoked like "nqp::mydesugar(...)"
jdv79 huh?: paste.scsys.co.uk/479268 16:01
16:02 yqt left 16:05 orafu left, [TuxCM] joined
jdv79 file#lib/Inline/pyhelper.so <- what is this "file#" business? 16:06
[TuxCM] o/ *perl6
PerlJam jdv79: part of the CUR changes.
jdv79 idk what that means 16:07
[TuxCM] say I have 'my Str $s; my Any $a; $a = 1."$s.WHICH";' (pseudo-code)
PerlJam CUR == CompUnitRepo (i.e. where to look for modules.)
[TuxCM] what is the invocation to enforce $x' type onto something
dalek ast: 9eb8a1f | jnthn++ | S04-exception-handlers/control.t:
Test for RT #124255.
16:08
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124255
16:12 vendethiel left, colomon_ joined, colomon left, colomon_ is now known as colomon
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 quester left, chenryn joined
jnthn m: next; # this in particular 16:14
camelia ( no output )
16:14 vendethiel joined
masak produced an iterative/loops version of the send-more-money problem, hoping it'd be much faster than recursion. 16:18
result: 26m12s. so, no.
nwc10 m: async sub {print "Hello world\n"} for 1..9
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'?␤␤»
nwc10 what's async called this week?
jnthn start
nwc10 thanks
16:19 colomon_ joined
hoelzro FROGGS[mobile]: what's your testing platform for the c++, btw? 16:19
are you a Windows guy?
16:19 colomon left, colomon_ is now known as colomon
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
nwc10 m: start sub {print "Hello world\n"} 16:21
camelia ( no output )
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 doc.perl6.org/type/IO .
jnthn nwc10: You need to have something wait for code that you set of running in the thread pool
nwc10 m: await do { start { say "Hello World" } }
camelia rakudo-moar 71fab7: OUTPUT«Hello World␤»
nwc10 *that* appears to be what I wanted
jnthn Right
PerlJam m: await start { say "Hello World" } 16:23
camelia rakudo-moar 71fab7: OUTPUT«Hello World␤»
PerlJam (the do isn't necessary)
jnthn that also :)
rindolf jnthn, PerlJam , nwc10 : any idea? 16:24
[TuxCM] rindolf, lines() :eager
rindolf [TuxCM]: what? 16:25
16:25 cognominal joined
[TuxCM] iterate over a file 16:25
line by line'
rindolf [TuxCM]: OK, can you give a more complete code?
jnthn for lines('filename'.IO) -> $line { ... }
[TuxCM] what jnthn posted :) He's faster 16:26
TimToady I guess I needed 9 hours of sleep... 16:29
[TuxCM] for "text.txt".IO.lines -> $line { ... }
16:29 colomon_ joined 16:30 colomon left, colomon_ is now known as colomon
jdv79 cognominal: rt.perl.org/Ticket/Display.html?id=105848 - ok to close? 16:30
rindolf [TuxCM]: thanks!
[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␤ ------> …»
[TuxCM] TimToady, should the eject not be one position to the right?
just nitpicking
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? github.com/perl6/doc/issues
16:34 colomon left
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␤␤»
jnthn Well, for one infix:<=> is not invoked through multi-dispatch, but rather a primitive. 16:36
So it boils down to the same as the code without the multi
rindolf masak: yes , I can - I found something similar to the effect in IO::Handle. 16:37
masak: I mean - in the IO::Handle docs.
jnthn I suspect it then tries to .STORE, which maybe is not marked with :D which would give an error sooner
m: Hash.STORE(42)
camelia rakudo-moar 71fab7: OUTPUT«Cannot bind attributes in a type object␤ in block <unit> at /tmp/VIPAAUn_3s:1␤␤»
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, *%_)␤»
jnthn Yeah, it wants a :D on there I guess
TimToady [TuxCM]: but arguably, it's also in the correct place, given that <[ ]> is a nested construct
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␤ ---…»
rindolf OK, next question - pastie.org/10190690 - this program gives me «Missing block at prob105-shlomif.p6:68» - what should I make of it? 16:40
16:41 espadrine left
cognominal jdv79. trt.perl.org/Public/Bug/Display.html?id=105848 indeed seems to be a duplicate of 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)
rindolf PerlJam: thanks!
jdv79 cognominal: i just closed it as there are fudged test for the other already - id 16:42
k
cognominal ok 16:43
jdv79 jnthn: does that mean rt.perl.org/Ticket/Display.html?id=76734 is invalid? 16:45
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
cognominal very nice. 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
rindolf In this program - every "return" returns from the sub instead of the -> closure. How can I prevent that? pastie.org/10190701 16:48
jnthn rindolf: use an anonymous sub instead of a -> closure 16:49
rindolf jnthn: ah.
jdv79 ok, thanks 16:50
jnthn TimToady: About this test:
eval_dies_ok 'my $i; { $i++; next; $i--; }'
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
Uh, with my local patches, not currently
Thing is, we used to miss those that made it to the top level
grr, this is confusing-ish :)
16:54 chenryn left 16:55 chenryn joined
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:58 spider-mario left
jnthn ooh, I think I got it :) 16:59
nwc10 \o/ 17:00
dalek p: 8db1066 | jnthn++ | src/HLL/Compiler.nqp:
More correct top-level control handling.

This allows us to "re-map" it to a normal exception while still not losing those remappings that are not caught.
17:00 spider-mario joined
rindolf jnthn: thanks! 17:02
masak: I filed a bug - github.com/perl6/doc/issues/83 17:03
jdv79 m: -> $_ is rw = $OUTER::_ { $_ = 5 }() # so rt.perl.org/Ticket/Display.html?id=78280 is invalid?
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
jdv79 i'll just go with that - makes sense to me 17:05
17:05 chenryn left 17:06 chenryn joined 17:08 andreoss left
dalek pan style="color: #395be5">perl6-examples: 66b9eb4 | (Shlomi Fish)++ | categories/euler/ (2 files):
Add my solution for Euler #105.

It's very slow on Perl 6 (while running reasonably fast in the Perl 5 original) but works properly. Based on:
  bitbucket.org/shlomif/project-eule...at=default
17:08
kudo/nom: 8450a68 | jnthn++ | src/core/Exception.pm:
Add and create types for control exceptions.
17:09
kudo/nom: 8939e28 | jnthn++ | src/core/ThreadPoolScheduler.pm:
Better handle code on threads leaking control ex.

Before we silently dropped them, and if the code was running as part of a Promise it was never kept. Now it breaks.
kudo/nom: 0e98339 | jnthn++ | src/core/ (2 files):
Tweak "is it runtime" detection.

Now recognizes that unhandled control exceptions and code in a thread will always be runtime. Also simplify a little.
kudo/nom: 19fab58 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for control ex. fix.
kudo/nom: 1af4af9 | jnthn++ | t/spectest.data:
Run S04-exception-handlers/control.t.
masak rindolf++
TimToady jnthn: good, catching more things on-stack should improve error reporting generally
17:10 chenryn left
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
and the obvious place to fix it didn't fix it :) 17:11
jnthn TimToady: Yeah. Unfortunately, your fail error improvements are costing us
TimToady: They cause us to take a backtrace and build the full Perl 6 Backtrace object up on each fail
TimToady: Even if we never use it
rindolf masak: thanks!
jnthn TimToady: Result: about 15% of startup is now spent in fail. :)
TimToady well, all it really needs is the continuation, not a full Backtrace 17:12
jnthn *nod*
Yeah, I'll look into it at some point
TimToady but right now there's a lot of code that examines the frame stack by faking up backtraces
callframe does that too
so if you do callframe($i) for 0..* you get a new backtrace each time, I think 17:13
which seems a bit silly
at least CALLER bypasses that
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
But callframe(...) dates back a while
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?
TimToady and CALLER doesn't provide quite the same info as callframe, so like it's hard to get file/line via CALLER
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"
TimToady 'course the more GC you delay, the more you have to scan
nwc10 yes, was also what I was thinking, but didn't make clear 17:17
17:17 chenryn joined
TimToady but failures remembering context was designed with the assumption it would be cheap 17:17
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.
TimToady: Rather more cheaply than we are now.
17:20 robinsmidsrod joined
TimToady I've had some ideas for making the dynvar cache cheaper and faster too 17:20
dalek ast: 746c4f8 | jnthn++ | S04-exception-handlers/control.t:
Tests for CX::* control exception types.
17:21
jnthn Nice :)
TimToady instead of storing one dynvar in the frame, just store a pointer to the last frame's cache that actually declared a dynvar
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
then you don't even need to look in the lexpad
well, except to find the original
17:23 vendethiel left
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.
TimToady well, maybe linked through their associated frame, but something like that
and instead of guessing where to cache an entry, it would always be obvious 17:24
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
TimToady but my feeling is that the percentage of frames that actually modify dyn is low
k, gotta pull and recomp
jnthn TimToady: On latest it's decidedly less flaky for me but *on Windows*, I didn't try it elsewhere :)
17:25 chenryn left
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
maybe I slept through that bit
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␤␤»
jnthn Just to check: did we agree .graphs goes away now?
TimToady yes, that can go
jnthn OK, cool
jdv79 should it be "class 'Bar'"?
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
camelia rakudo-moar 71fab7: OUTPUT«Method 'perl' not found for invocant of class 'T'␤ in block <unit> at /tmp/wUrc7ZQHk5:1␤␤»
TimToady is Bar even composed till EOF, with ; form? 17:31
jnthn No, which may also be a problem there
TimToady cause the body runs before composition, right?
jnthn The body of a class runs like a normal block at runtime 17:33
The body of a role runs each time it is composed (so could be compile time or runtime)
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"
jnthn TimToady: Well, in this case it's prefix:<+>
(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
yeah, your 15% 17:35
sorry to carry on two simultaneous conversations :)
jnthn m: warn 'omg'
camelia rakudo-moar 71fab7: OUTPUT«omg at /tmp/xJxm2ELPmj line 1␤»
jnthn hmmm
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
camelia rakudo-moar 71fab7: OUTPUT«woohoo␤»
jnthn TimToady: Right now warn is actually hard-coding the warning location into the string message
:(
TimToady yes, feel free to supply (cheap) context :) 17:37
jnthn TimToady: Meaning it's there in the .message property of CX::Warn
It should already *have* context...
17:37 mschreck joined
jdv79 seems generic instantiation is working, no? 17:37
timotimo jdv79: you were aware you're using the "semicolon form" for your class Bar?
TimToady well, something was printing out bare warnings with no context
and the context was wrong 17:38
jdv79 timotimo: huh?
jnthn jdv79: Oh, wow, it is... :)
jdv79: OK, then it's some weird other error
17:38 mschreck left
jdv79 maybe its just the error reporting - idk 17:38
jnthn TimToady: Yes, seeing that now. :S
jdv79 ok, i'll ticket it then
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
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 {...}
though arguably using ; for "the rest of the compunit" is bad Huffman codeing 17:41
"bad Huffman codeing" heh
timotimo how about "class Foo ...;"? 17:43
no
that looks even more like "stub"
TimToady it needs to function more like a large colon (yow, that sounds funny) 17:44
jnthn: on restart-concurrent, it usually succeeds, but maybe 1 time in 5 it gets This representation (Null) does not support elems
class Foo as follows... 17:45
class Foo: <-- too short of a colon 17:46
pyrimidine and we all know what comes out of a large colon...
jnthn TimToady: 80% success is an improvement on 1% success :) 17:47
TimToady maybe a prefix
pyrimidine apologizes; biologist
TimToady jnthn: fer sure, jnthn++
pyrimidine: scat!
pyrimidine :)
17:48 spider-mario left
spintronic pwd 17:48
nwc10 /perl6
obviously :-)
TimToady maybe a prefix helps: file class Bar;
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␤␤»
TimToady 'file' being a declarator in the 'my' syntactic category
though 'file' is perhaps too common a word
jdv79 thanks timotimo but the issue is still valid though it seems
TimToady unit class Bar
and 'class Bar;' would then be a syntax error 17:50
timotimo mhm
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
TimToady it would be more readable and rid us of a class (har har) of errors 17:51
jnthn bbiab
TimToady m: sub MAIN (); say "HERE" 17:52
camelia rakudo-moar 71fab7: OUTPUT«HERE␤»
TimToady that would become 'unit sub MAIN ();'
or with unit, we could use colon unambiguously 17:53
unit class Bar:
17:53 spider-mario joined
TimToady and 'unit' adds the largeness I was wanting 17:53
17:53 spintronic left
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'?␤␤»
TimToady semicolon is probably better so people know the next line is a new statement 17:55
17:56 [TuxCM] left 17:58 yqt left
TimToady this probably needs a deprecation cycle though, I think 17:58
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, ilbelkyr is now known as bcode 18:01 bcode is now known as ilbelkyr
rindolf Hi all! I'm running into this problem - fpaste.scsys.co.uk/479291 18:04
with the jvm build of rakudo.
[Coke] (graphs going away) rt.perl.org/Ticket/Display.html?id=124498, btw. 18:06
18:06 Alina-malina left 18:07 Alina-malina joined
[Coke] rindolf: OOC, what version of java? 18:07
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
Of course, I can grep, but... :)
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)
jnthn: I think the merge kills it. 18:10
I'm happy to kill the roast tests if that'll help.
wammeto?
jnthn [Coke]: Well, was gonna see if any would have benefit if adapated to .chars 18:19
[Coke]: But any that are looking at .graphs compared to .chars, yeah, they can go
18:25 vendethiel joined
rindolf [Coke]: it's OpenJDK 18:27
18:28 diana_olhovik_ left
raydiak same error here rakudobrewing jvm on openjdk 7 64-bit linux 18:30
18:30 Erendis42d joined
Erendis42d re 18:31
<3
masak Erendis42d: en.wiktionary.org/wiki/re#Latin 18:32
Erendis42d oh... 18:33
masak unless you meant "Re: <3" -- we love you too :) 18:34
Erendis42d :D
i wanna hug you
masak happens a lot here :)
dalek kudo/nom: 34c2392 | lizmat++ | src/Perl6/World.nqp:
Some more RAKUDO_MODULE_DEBUGGING
18:35
18:37 rindolf left 18:39 marisa__ left 18:42 berekuk left 18:46 rvchangue left
lizmat JVM build issue, reported by rindolf, confirmed on OS X 18:53
raydiak also reproducable on hack for anyone who wants to look at it there 18:56
lizmat is checking likely culprits 18:58
dalek ast: 159f61d | coke++ | S (4 files):
.graphs is gone, remove tests and comments
19:00
lizmat went as far back as d3d715f4133135a8c , still the same problem
19:01 beachjf left
[Coke] github.com/coke/perl6-roast-data/b...ummary.out implies it's working on hack. 19:03
19:03 pauluu left
[Coke] some test failures (many of which are from ignoring the perl 5 integration flag in spectest.data), but it's building... 19:03
lizmat jnthn: I suspect github.com/rakudo/rakudo/commit/b3...20244a6136 (bump revision for NQPLock) is breaking the JVM build 19:05
"Missing serialize function for REPR ReentrantMutex" 19:06
dalek rl6-roast-data: 35582c6 | coke++ | / (9 files):
today (automated commit)
masak happy 1.0, Rust. blog.rust-lang.org/2015/05/15/Rust-1.0.html
[Coke] ^^ ah, there's the failures. :)
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
could that explain why roast-data is not affected ?
[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"' :)
[Coke] lizmat: it's impacted today's run, yes.
lizmat which started less than 9.5 hours ago ?
19:09 diana_olhovik joined
lizmat afk& 19:10
TimToady is adding a 'unit' declarator...with a deprecation cycle for non-use on packages or sub MAIN
19:10 vendethiel left
[Coke] lizmat: it's using 12eac61 19:12
which looks like it's before the culprit you guessed. 19:13
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?
jnthn arnsholt: Both 19:15
lizmat: Ah, darn. I think I can fix that quickie
*quickly
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
*my
grr, did they put secret anti-typing ingredients in my dinner...
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?
geekosaur food coma oncoming?
19:18 yqt joined
jnthn arnsholt: Right. 19:20
geekosaur: Maybe, though the nom was almost devoid of carbs... 19:21
geekosaur tryptophan? :)
Erendis42d :* 19:25
arnsholt jnthn: Cheers! I can deal with that. Just needed to be sure
dalek p: f2f8128 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/ReentrantMutex.java:
Allow ReentrantMutex REPR to serialize on JVM.

Hopefully fixes Rakudo on JVM build bustage.
19:26
jnthn It's still building here, but it should do it.
Erendis42d bye 19:28
masak \o
Erendis42d o\
nerf 19:29
19:29 brrt joined
Erendis42d i win 19:30
:D 19:31
you are such a mess
jnthn yeah, it builds 19:32
brrt \o
masak o/
jnthn o/ brrt
Erendis42d like crystals
but those look neat
not sure if they have their own consciousness 19:33
but some crazy dude say they do
masak Erendis42d: are you ok?
Erendis42d *s
thanks for asking
masak felt it was my duty to do so 19:34
Erendis42d i feel like a pinball
TimToady you're kinda making us feel like pinballs too...
dalek kudo/nom: acffde8 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for JVM build fix.
19:35
Erendis42d :D
masak is trying to come up with a pun based on "tilt"
Erendis42d so, um
this guy says crystals "know" how they should look like
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
Erendis42d just forwarding a piece of information
and see where it goes 19:37
masak well, this guy seems woefully misinformed.
Erendis42d by next time i'll look up his name
19:37 berekuk joined, brrt left
Erendis42d if you want 19:38
masak nah
he's probably hiding somewhere under a burden of proof
Erendis42d nice tale for little ones anyhow
yeah
bartolin since .graph went away, so could this block, couldn't it? github.com/perl6/roast/blob/master...les.t#L172
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
Provided graph stands for grapheme here, anyway
masak Erendis42d: at this point, you may (or may not) enjoy www.yudkowsky.net/rational/the-simple-truth 19:41
Erendis42d Philip K. Dick — 'Reality is that which, when you stop believing in it, doesn't go away.' 19:42
reality == truth? 19:43
19:43 brrt joined
masak aye. 19:43
when it's truth but not reality, we call it "a story" :)
Erendis42d wow.
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
nwc10 is 294 "all the things", or are you still working on that? 19:45
anyway, that seems 0.05s seems pretty cool. what's the equivalent on master/nom? 19:46
19:46 vendethiel joined
jnthn FROGGS: Hm, and 0.28s is quite high as a baseline 19:46
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 kudo/nom: 14e6807 | TimToady++ | / (8 files):
add 'unit' declarator

Unit scope declarations will in the future require a 'unit' declarator, instead of relying merely on a blockless semicolon form. (A semicolon in place of a block is both too invisible and too late for such a feature.) The absence of a 'unit' declarator on unit declarations is deprecated.
The identifier 'SemicolonForm' is now replaced with 'UnitScope'.
FROGGS jnthn: that's a debug build on branch jsoff
dalek ast: 1c4b217 | TimToady++ | / (26 files):
tweaks for new unit declarator
FROGGS jnthn: exactly
TimToady this is gonna rock the ecosystem a bit
19:48 brrt left
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? :-)
masak heh
TimToady we're going stable in September
nwc10 yarrrr! 19:49
raydiak \o/
19:49 brrt joined
spintronic looking forward to it 19:49
TimToady and this is the month of GLR anyway, with lots of churn
FROGGS aye
masak isn't sure he likes that line of thinking... :)
FROGGS shake it like a Polaroid™ picture :o)
hoelzro TimToady: what role does the unit declarator play? something like 'our'? 19:50
masak .oO( shake that Polaroid™ your mom gave you )
TimToady well, it's precisely why we identified NSA, NFG, and GLR as requirements for 6.0, because we thought they'd cause churn
masak yes, sure
but "since we have so much churn, might as well break some more" is different from that
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
nwc10 [Coke]: I suspect "no", because it seems that [Tux] keeps finding problems 19:52
[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?
TimToady haven't backlogged yet, got sidetracked for some reason :) 19:54
jnthn ah :)
fairy nuff
jdv79 is any of this semicolon form or unit stuff doc'd? i'm in the dark.
nwc10 java-- # no, I didn't really want a 1.6G core file, thank you
jnthn core blimey!
TimToady jdv79: not yet
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
FROGGS video.fosdem.org/2015/devroom-java/...M_ONLY.mp4
TimToady: should the 'sub EXPORT' be put into unit scope then too? 19:56
TimToady only if it's spelled 'sub EXPORT;'
and I think only MAIN allows that form currently
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.
FROGGS [Coke]: on moar?
jnthn [Coke]: Which backend?
[Coke] moar... ah, might have missed the very last unit commit. one sec. 19:58
rebuilding... :P
jnthn yowser, mine's a mess too 19:59
oh, same reason as [Coke]++ 20:00
20:03 brrt left
dalek ecs: 7e8ba5b | TimToady++ | S (4 files):
document new unit declarator
20:04
ecs: 7212cbf | TimToady++ | S02-bits.pod:
mention unit is new scope declarator
TimToady yes, this one is slightly disruptive 20:05
but I could see "Why isn't 'class Foo;' declaring a stub correctly?" becoming a FAQ 20:06
masak trying to understand.
what's the difference between `module Foo` and `unit module Foo` ?
TimToady it's the semicolon form that is the problem 20:07
FROGGS jnthn: what also slows down my startup time is that I disabled lazy deserialization 20:08
masak TimToady: I've always viewed the semicolon form as just syntactic sugar for the braces form. so why is it a problem? 20:09
jnthn FROGGS: Ah 20:10
FROGGS: But I think that should be able to go back on? 20:11
FROGGS jnthn: I hope so :D
jnthn If it breaks your patch let me know
FROGGS yeah, can't imagine it does... I just turned it off to eliminate a potential problem 20:12
[Coke] (that run was much better) 20:14
dalek ast: 5cb6bc1 | usev6++ | S (2 files):
Fix skipped test for 'my foo'
20:15
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?
bartolin bartolin-- # got shell quoting wrong
TimToady masak: I've already explained about twice, not counting the confusion at irclog.perlgeek.de/perl6/2015-05-15#i_10610240 or so 20:17
itz_ is panda broken with 'brew? or is it me?
oh just a warning
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
or worse, write it 20:19
masak aha.
ok, got it.
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*
TimToady and the whole thing doesn't depend on a retroactive semicolon, which is like P5's /s and such 20:21
we could make the traits depend on the declarator this way, too
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
dalek kudo/nom: 161e191 | jnthn++ | src/core/ (3 files):
Move inclusion of location to warning printer.

This means the message in the warning can be only the thing that was specified to warn, so we don't have to parse it out.
kudo/nom: 69b36d9 | jnthn++ | src/core/Exception.pm:
Make CX::Warn have the warning as the message.
kudo/nom: ada26ae | jnthn++ | src/core/ (2 files):
Move assuming to Block.
TimToady gee, lunch forgot to happen... 20:23
dalek ast: d569c0d | jnthn++ | S04-exception-handlers/control.t:
Test CX::Warn gives the warning message.
ast: 3c0a70f | jnthn++ | S06-currying/assuming-and-mmd.t:
Unfudge test for RT #125155.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125155
ast: 5d0a177 | jnthn++ | S32-basics/warn.t:
Look for line number as it appears.
20:24 darutoko left, risou is now known as risou_awy, risou_awy is now known as risou
TimToady oh, and as I think I mentioned, it allows 'unit package Foo;' without colliding with P5 usage 20:24
20:25 risou is now known as risou_awy, risou_awy is now known as risou
TimToady unless, of course, P5 decides to add a 'unit' declarator... 20:25
20:25 risou is now known as risou_awy
masak heh. I've never really used packages in Perl 6 anyway. :) they seem like an inept version of modules :) 20:25
20:26 risou_awy is now known as risou, risou is now known as risou_awy
jnthn They're mostly there as the answer to "when I module Foo::Bar { }, what is Foo?" :) 20:26
20:26 risou_awy is now known as risou
jnthn (if it wasn't already something) 20:26
20:27 risou is now known as risou_awy
masak m: module Foo::Bar { }; say Foo.^name 20:27
camelia rakudo-moar 14e680: OUTPUT«Foo␤»
20:27 risou_awy is now known as risou
masak m: module Foo::Bar { }; say Foo.HOW 20:27
camelia rakudo-moar 14e680: OUTPUT«Perl6::Metamodel::PackageHOW.new␤»
20:27 risou is now known as risou_awy
masak m: module Foo::Bar { }; module Foo { }; say Foo.HOW 20:27
camelia rakudo-moar 14e680: OUTPUT«Perl6::Metamodel::ModuleHOW.new␤»
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 berekuk left, risou_awy is now known as risou
masak ooh :> 20:28
20:28 risou is now known as risou_awy
jnthn Packages are the only thing that let themselves be "stolen" by the compiler rather than comlaining about redecl :) 20:28
20:28 spintronic left, risou_awy is now known as risou 20:29 risou is now known as risou_awy, spintronic joined, risou_awy is now known as risou
TimToady packages are where 'our' puts things, just some of 'em happen to be fancier things too 20:29
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…»
jnthn TimToady: Think the warn thing is cleaned up sufficiently, without any loss of info
20:30 berekuk joined
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…»
TimToady hmm
m: unit module Foo;
camelia ( no output )
TimToady okay, gotta relax the package constraint there 20:31
jnthn: thanks!
I'll be glad to think of it that way, even if it isn't!
jnthn :P 20:32
Let's see if I can fix the fail being expensive fail...
20:33 muraiki left
jnthn Uh...no, not easily 'cus Backtrace inherits from List rather than composes one... 20:33
masak why why why
inheritance, o bane of OO
jnthn I dunno :) 20:34
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?
moritz: I'd rather like to be able to make it lazily compute the Backtrace::Frame objects and just stash away an nqp::backtrace()
(Until it has to produce real Backtrace::Frame objects, that is) 20:36
dalek ast: 6e5dbeb | TimToady++ | S10-packages/precompilation.t:
oops, accidentally a unit with a block
20:43
kudo/nom: 568ce63 | TimToady++ | / (2 files):
don't allow unit on block form
20:44
masak does trying that out have to wait for moritz' answer?
20:44 xfix left
jnthn masak: Doesn't have to, but I've done enough hacking today 20:45
20:45 spintronic left
jnthn Still feeling tired from OSDC.no and the 2 surroudning courses... 20:45
masak jnthn: understood. rest well. jnthn++ 20:48
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 kudo/nom: 0a9a631 | TimToady++ | src/Perl6/Grammar.nqp:
align p5 package check with new unit declarator
20:52 rvchangue joined 20:53 diana_olhovik left, meisl joined
dalek ast: 6a2e1fa | TimToady++ | packages/B/Grammar.pm:
another unit overreach
20:56
masak .oO( quick, revert! TimToady is making more overreaches! ) :P 20:57
FROGGS jnthn: :o( # Missing or wrong version of dependency '&dfs-visit' (from 'lib/Panda/Common.pm') 21:01
dunno what that means yet
ohh: Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm')
jnthn That looks...busted 21:03
FROGGS I agree 21:04
Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm') 21:07
at <unknown>:1 (/home/froggs/dev/nqp/install/share/perl6/site/3:<dependencies+deserialize>:66)
21:07 telex left
FROGGS Shell::Command seems to fail when loading JSON::Tiny 21:07
but I can use JSON::Tiny just fine
21:08 telex joined
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?
ugexe unbox error 21:10
FROGGS that sounds like jvm backend
ugexe Cannot unbox a type object
nah it was on moar 21:11
TimToady it's a problem if .worry is blowing up submodule compilation
FROGGS ahh, that might be my panda issue... 21:12
JSON::Tiny lacks the unit keyword
and others too
ugexe i think it might have only been for 'class'
TimToady deprecations aren't supposed to be fatal...
FROGGS ahh, it also blows up on rakudo revision acffde85ab59da7932f1538ea72d25f7119cf9c2, which is before unit 21:13
-.- github.com/tadzik/panda/commit/0d3...9be6da0R44 21:20
ugexe panda installed ok for me, other than all the deprecation messages 21:22
FROGGS yes, panda installs fine, just not in a CompUnitRepo::Local::Installation... that's what I try to fix now 21:23
I'm just a bit upset because ripping out stuff that once worked is not a good way of improving things
and the panda bootstrap process it tricky 21:24
ugexe ah. something to look for is precomp-path if panda still needs stuff put into blib 21:26
otherwise CompUnit looks in lib, next to the original module
TimToady
.oO(tricky === fragile)
FROGGS TimToady: aye
ugexe i apply a role to CompUnit's to set $!has-precomp to its real location before precompiling it 21:27
otherwise i ran into that couldn't find stuff it literally just compiled 21:28
21:29 vendethiel left
FROGGS .tell lizmat why did you remove that line? github.com/tadzik/panda/commit/0d3...b9be6da0L6 21:31
yoleaux FROGGS: I'll pass your message to lizmat.
masak FROGGS: note that it's added back at line 14... 21:32
21:32 virtualsue left
FROGGS ohh! 21:32
masak++
.tell lizmat nvm, did not spot it was just moved downwards :o)
yoleaux FROGGS: I'll pass your message to lizmat.
TimToady yoleaux needs a .takeitback command :) 21:33
masak that's not a half-bad idea 21:37
21:41 RabidGravy left
masak yoleaux: who's your author? do you have a github repo? 21:41
FROGGS ohh, I seem to have fixed it
masak yoleaux: help
.help
yoleaux masak: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide.
masak yoleaux++ 21:42
jnthn blogged: 6guts.wordpress.com/2015/05/15/las...any-fixes/
FROGGS .mangle I'll be glad to think of it that way, even if it isn't!
yoleaux FROGGS: Sorry, that command (.mangle) crashed.
masak jnthn++ # work
FROGGS -.-
masak jnthn++ # post
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.
masak github.com/dpk/yoleaux
lizmat computer: messages 21:45
yoleaux 21:31Z <FROGGS> lizmat: why did you remove that line? github.com/tadzik/panda/commit/0d3...b9be6da0L6
21:32Z <FROGGS> lizmat: nvm, did not spot it was just moved downwards :o)
lizmat :-)
masak livin' the future 21:46
jercos computer: xbox sign off
masak computer: sudo make me a sandwich
geekosaur "tea, earl gray, hot"
s/gray/grey/
21:46 diana_olhovik joined
masak .oO( Earl of Very Low Saturation ) 21:47
FROGGS jnthn++ 21:50
TimToady thinks gray and grey are two different colors... 21:51
masak that's crazy talk :P 21:52
rjbs one is #fff and the other #FFF
masak no, that's white and whyte
rjbs erp.
wight?
masak and #000 is black and blaque 21:53
rjbs goes back to sixing.
[Coke] be well, everyone.
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 ecs/newio: 23147dd | TimToady++ | S32-setting-library/Containers.pod:
':partial' option for partial final rotor result
specs/newio: d251a6b | labster++ | S (3 files):
specs/newio: unspec quotemeta, fixes #89
21:54 dalek left
lizmat sorry dalek 21:54
TimToady that always freaks me out
labster oh, hi dalek 21:55
21:55 dalek joined, ChanServ sets mode: +v dalek
masak .oO( everybody but Noah has quit [Excess Flood] ) 21:55
lizmat jnthn: trying to make sense of "load_module" in World 21:56
labster masak goes on an ark tangent 21:57
rjbs labster++
TimToady shem on you!
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 ??
labster lizmat: is there any reason not to merge github.com/rakudo/rakudo/pull/407 ?
lizmat looks 21:58
FROGGS yay, I can smoke the ecosystem with CURLI again 21:59
lizmat there isn't, in newio it also returns an IO::Pathy
FROGGS++
FROGGS lizmat: there are one or two hacks that need proper abstraction, but it is progress
lizmat fwiw, it seems that the jvm builds again 22:00
22:00 colomon joined
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
masak Rakudo compiler release is next week. none has volunteered as a release manager.
labster lizmat: I suppose I will. I'll run a spectest first 22:01
FROGGS :S
lizmat labster++
FROGGS masak: I can do it I guess
masak ++FROGGS
lizmat jnthn: what is the reason that the NQP module loader isn't loaded as part of e.g. the bootstrap ?
dalek ast: 37866ba | TimToady++ | S10-packages/precompilation.t:
argh, empty class block was interpolating {}
22:04
lizmat TimToady: test 15 in t/spec/S10-packages/precompilation.t fails with a unit related message: 22:05
Potential difficulties:\n Semicolon form without 'unit' declarator is deprecated
TimToady ^^ 22:06
lizmat *sigh*
:-)
jnthn lizmat: I guess, avoiding the work unless we actually need it... :) 22:08
lizmat: Oh wait, though
lizmat: It's the Perl 6 module loader
oh wait, it's not
Hm, I think we should already have it
lizmat # Uses the NQP module loader to load Perl6::ModuleLoader, which
# is a normal NQP module.
jnthn Maybe it was in an attempt to get scripts to pre-comp
22:08 vendethiel joined
jnthn You'd need it then 22:09
lizmat well, if you're confused.. :-)
jnthn But I don't think that actually works yet
lizmat jnthn: so, if I understand it correctly, the precomped -use- statement calls the bare ModuleLoader code 22:10
*not* the CUR module loader
and hence, we have different code paths between running from source and running from precomped
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?
jnthn lizmat: Yes; of course when I originally impl'd this the code paths were the same ;)
lizmat ok, then I know what to work on :-)
jnthn lizmat: That bit'll need some updating
Ideally though, I'd have thought we would select the module through the database etc at "use" time and serialize the decision 22:12
Dunno if that's possible/sane.
FROGGS jnthn: that the only choice I guess
lizmat do you mean that we should just record the path of the module and disregard any @?INC setting when precomped?
*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
jnthn lizmat: precomps are statically linked against each other
lizmat because if we're going to save @?INC with the call, we might as well just save the path
jnthn So, what FROGGS said 22:14
22:14 Foxcool left
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?
jnthn lizmat: Sounds fine enough to me
FROGGS yes
we cannot deserialize anything else aynway 22:15
lizmat ok, that *would* simplify things a lot
jnthn Dependencies are part of identity.
lizmat ok, I will sleep on this... :-) and do some work on it tomorrow 22:16
22:16 Foxcool joined
FROGGS yeah, me is going to bed too 22:16
gnight #perl6
jnthn me three :)
lizmat gnight all :-)
FROGGS :o)
jnthn 'night o/
FROGGS sleep well you all
jnthn y'all too :) 22:17
o/
masak night, lizmat, FROGGS, jnthn
22:20 zacts joined
zacts I got rakudo installed on my beaglebone black 22:20
I can't wait to test it all out
anyway, /me idles for a bit 22:21
masak ooh beagleboard.org/black
zacts yeah
masak zacts++
zacts debian actually provides a package for rakudo also
debian jessie
masak might be oldish, tho' 22:22
zacts yeah
masak for the freshest possible, git HEAD is what you'll want
rjbs chuckles at writing "flat.map". Some Haskell programmer is going to be confused. 22:23
zacts oh good to know
ok
22:25 atweiden joined
atweiden is there a special way to pass type Regex into and out of functions? 22:28
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␤»
masak atweiden: does that answer your question?
22:31 vendethiel left
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␤»
rjbs Whoops.
m: my constant @x = (1,2,3); @x.^name.say; @x[1] = 12; @x.say
camelia rakudo-moar 0a9a63: OUTPUT«Parcel␤Cannot modify an immutable Int␤ in block <unit> at /tmp/NFgFOABoIM:1␤␤»
rjbs m: my constant @x = [1,2,3]; @x.^name.say; @x[1] = 12; @x.say
camelia rakudo-moar 0a9a63: OUTPUT«Array␤1 12 3␤»
masak rjbs: yeah. :/ 22:37
rjbs I'm trying to understand just what's going on in these two examples.
Maybe I can sort it out with careful reading, but I was hoping someone could just say, "Oh, it's because blort."
masak rjbs: there's wording in the spec about immutable arrays being immutable "one level down" -- but I doubt that will ever happen :/
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
rjbs Does the "constant" in "my constant @x" do anything?
masak rjbs: it disallows you from rebinding the array itself.
rjbs m: my constant @x = [1,2]; @x = [3,4]; @x.say
TimToady all declarators influence the meaning of pseudoassignment
camelia rakudo-moar 0a9a63: OUTPUT«3 4␤»
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
camelia rakudo-moar 0a9a63: OUTPUT«Parcel|(Int|1)(Int|2)␤Cannot modify an immutable Int␤ in block <unit> at /tmp/tz85zhuyA1:1␤␤»
masak m: my constant @x = 1, 2; say @x.WHICH; @x = 3, 4; say @x.WHICH
camelia rakudo-moar 0a9a63: OUTPUT«Parcel|(Int|1)(Int|2)␤Cannot modify an immutable Int␤ in block <unit> at /tmp/2rbwYBjpdk:1␤␤»
masak huh. 22:40
rjbs Google didn't find me anything on "perl6 pseudoassignment."
TimToady it's binding
./S05-regex.pod:time the substitution matches (much like the pseudo-assignment to declarators
./S03-operators.pod:of some sort. We even call some of them pseudo-assignments, but they're
./S03-operators.pod:List-context pseudo-assignment is supported for simple declarations but 22:41
./S04-control.pod:variable or named value, which may be initialized with a pseudo-assignment:
rjbs Ah, maybe it's the hyphen. :)
Thanks, will check out S03 in particular.
22:42 vendethiel joined
TimToady S03:5093 is the most important table 22:42
synbot6 Link: design.perl6.org/S03.html#line_5093
rjbs boy do I ever wish we could cleanly steal back $x = BEGIN { 1 } 22:43
masak 'night, #perl6 22:50
TimToady o/ 22:51
TimToady looks around for a nap to take &
rjbs 😴 22:52
TimToady takes it and 💤 22:53
22:58 koo6 joined 23:05 vendethiel left, meisl left, adu joined 23:06 diana_olhovik left
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:09
23:10 yqt left
atweiden oh wait nvm 23:12
23:16 vendethiel joined 23:17 adu left 23:21 berekuk left 23:25 pauluu joined
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:26
I don't want to freak people out, thinking that they broke something! 23:27
23:27 pauluu left, pauluu joined 23:28 pauluu left
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
* On
seem to be a pretty consitent error, got it three time in a row attempting a make on rakudo 23:31
vendethiel cognominal: that's a known bug iirc, i've seen it in today's irclog 23:33
jdv79 hoelzro: add them fudged, right? 23:39
labster I really hope we get OS X 10.10.10. That's four tens!
atweiden masak: i have a test that passes with: my @entries = Nightscape.ls_entries( :@txjournal, :entity("Lorem") ); 23:41
but fails with: Method 'match' not found for invocant of class 'Any'
when i pass: my @entries = Nightscape.ls_entries( :@txjournal, :entity(/Lorem/) ); 23:42
(relevant arg types are changed in the interim to ensure it works)
hoelzro jdv79: ah, good point 23:49
atweiden github.com/atweiden/nightscape/blo...ape.pm#L35 23:50
github.com/atweiden/nightscape/blo..._entries.t
in general, the multi method / submethod dispatch has been buggy; earlier i could not use a custom subset type in arg types 23:51
that was why i switched from VarName (subset) to passing a regex 23:52
dalek kudo/nom: 4330f86 | (Nick Logan)++ | src/core/IO/Path.pm:
.resolve should return IO::Path instead of str
kudo/nom: 55ed38e | labster++ | src/core/IO/Path.pm:
Merge pull request #407 from ugexe/io-path-resolve-fix

  .resolve: return IO::Path instead of str
23:53 kaare_ left 23:55 kaare_ joined 23:56 BenGoldberg joined