»ö« 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 23 4end» | ||
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 23 45end» | ||
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 23 4Lonesome 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/iiIyDiUYZdCannot use ! twigil on my variableat /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/nPYSVJrnBdVariable '%?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«herefoo at /tmp/d7DRDxmefF line 1Trying 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«ab» | ||
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«ab» | ||
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 bc 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«123123123» | ||
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«123123123» | ||
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«123123» | ||
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«ab» | ||
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/ewC4TI68s1Missing initializer on constant declarationat /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/p3SSCZba77Unexpected named parameter 'SYMBOL' passedat /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_pjUndeclared 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 worldHello worldHello worldHello worldHello worldHello worldHello worldHello worldHello 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/byNRiN22pOCannot use 'is rw' on an optional parameterat /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/sdlh2FzPhPUndeclared 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.newPerl6::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/W6Z9vIc8HKThis 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«yayRegex» | ||
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/x7R8I9z7hnVariable '@m' is not declaredat /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«ParcelCannot 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«Array1 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
|