»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:04
bonsaikitten joined
00:11
Targen left
00:12
b1rkh0ff left
00:21
Chillance left,
slayer101_ left
00:32
benabik left
00:33
benabik joined
00:59
bowtie left
01:09
Targen joined
01:12
anuby joined
01:13
hypolin joined
01:33
bluescreen10 joined
01:46
skids joined
02:11
thou left
02:25
xinming left
02:28
xinming joined
02:32
slayer101_ joined
02:38
slayer101_ left
02:39
slayer101_ joined
02:59
slayer101_ left
03:20
sevin joined
03:36
alester left
03:50
dayangkun joined
04:05
stevan_ joined
04:21
sevin left
04:28
preflex left,
preflex_ joined,
preflex_ is now known as preflex
04:43
thou joined
04:49
thou left
05:01
geekosaur left
05:02
geekosaur joined
05:07
bluescreen10 left
05:09
eternaleye_ joined,
thou joined
05:12
kaleem joined
05:26
telex left
05:28
telex joined
05:34
sevin joined
05:38
anuby left
05:39
kaleem left
05:41
arlinius left
05:43
anuby joined
05:45
anuby left
05:46
anuby joined
06:04
SamuraiJack joined
06:11
kaleem joined
06:21
PacoAir joined
06:29
PacoAir left
06:43
thou left
06:47
slayer101_ joined
06:48
slayer101_ left
06:57
For-Odin joined
07:04
For-Odin left,
For-Odin joined
07:07
FROGGS[mobile] joined
|
|||
FROGGS[mobile] | gmorning | 07:08 | |
tadzik | hello mobile FROGGS | ||
07:30
kaleem left
07:41
sevin left
07:45
am0c joined
07:48
FROGGS joined
07:50
FROGGS[mobile] left
|
|||
dalek | ecs: eb2a85b | (Konrad Borowski)++ | S02-bits.pod: ?ROUTINE has & sigil, not $ sigil |
07:51 | |
07:52
thou joined,
b1rkh0ff joined
07:57
PacoAir joined
08:01
thou left,
PacoAir left
08:04
kaleem joined
08:27
SamuraiJack left
08:29
SamuraiJack joined
|
|||
cedrvint | hello #perl6 | 08:32 | |
rn: say("test" ~~ /. ** 0/) | |||
p6eval | niecza v24-17-gd343a2a: OUTPUT«#<match from(0) to(0) text() pos([].list) named({}.hash)>» | ||
..rakudo c3f565: OUTPUT«「test」» | |||
cedrvint | is this^ a bug in Rakudo? | ||
sorear | I would say so | 08:34 | |
cedrvint submits a ticket | 08:35 | ||
moritz | nqp: my $x := ('0' ~~ /./); say('yes') if $x; | 08:40 | |
p6eval | nqp: OUTPUT«yes» | ||
08:46
hoelzro|away is now known as hoelzro
|
|||
moritz | it seems to generate the right QAST::Regex node | 08:47 | |
so the bug is likely in the codegen | |||
diakopter | my code probably | 08:48 | |
I did the quant iirc | |||
moritz | nqp: /a ** 5..3/ | 08:49 | |
p6eval | nqp: ( no output ) | ||
moritz | std: /a ** 5..3/ | ||
p6eval | std 7deb9d7: OUTPUT«===SORRY!===Empty range at /tmp/t202LjNh1y line 1:------> /a ** 5..3⏏/Parse failedFAILED 00:00 41m» | ||
moritz | std: /a ** 0/ | ||
p6eval | std 7deb9d7: OUTPUT«ok 00:00 42m» | ||
bbkr | r: "a" ~~ m/{ say &?ROUTINE.WHAT } a/; | 08:50 | |
p6eval | rakudo c3f565: OUTPUT«===SORRY!===Undeclared name: &?ROUTINE used at line 1» | ||
diakopter | er, I did the quant for NFA | ||
not sure which is DTWT | |||
moritz: would 0 repetitions mean *doesn't match*? | 08:51 | ||
bbkr | r: sub foo { say &?ROUTINE.name }; foo() | ||
p6eval | rakudo c3f565: OUTPUT«foo» | ||
moritz | diakopter: no, it means 'match zero characters, successfull' | 08:52 | |
diakopter | k | ||
I was mostly joking :P | |||
(I thought it extremely unlikely the answer was yes) | 08:53 | ||
bbkr | is above "m/{ say &?ROUTINE.WHAT } a/" a bug? previously &?ROUTINE was available in regexp blocks and returning Nil | 08:54 | |
moritz | r: say Regex ~~ Routine | 08:55 | |
p6eval | rakudo c3f565: OUTPUT«True» | ||
moritz | should refer to the regex itself | ||
diakopter | r: say("test" ~~ /{ say 5 } ** 0/) | ||
p6eval | rakudo c3f565: OUTPUT«(timeout)555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555 | ||
bbkr reports | 08:56 | ||
diakopter | so it's not NFA | ||
moritz | diakopter: of course not if you add {} | ||
diakopter: {} terminates LTM | 08:57 | ||
diakopter | that's my point; I was trying to determine whether the problem was with NFA quant. | ||
surely that was clear by "so it's not NFA" | |||
moritz | no, wasn't clear to me | 08:58 | |
diakopter | 'course, the problem could also be in the NFA quant | ||
moritz | because I thought you meant it's clear that /{ say 5 } ** 0/, but generalized it to ** 0 in all cases | ||
* that /{ say 5 } ** 0/ was not NFA, | 08:59 | ||
09:05
bbkr__ joined,
kaleem left
|
|||
diakopter | I checked NFA.nqp; if min/max are zero, it hits line 255 (emits a no-op) | 09:06 | |
DTRT++ | 09:07 | ||
09:07
kaleem joined,
sqirrel joined
|
|||
moritz | diakopter++ | 09:07 | |
# also starts with a 'd' :-) | |||
jnthn | morning o/ | 09:24 | |
arnsholt | chromatic is one hell of a backseat driver | 09:25 | |
'lo jnthn \o | |||
diakopter is a trunk driver | |||
nwc10 | that's so svn | ||
diakopter | jnthn: that's boot to you | 09:26 | |
jnthn | Why boot me? I just arrived :P | 09:27 | |
09:30
xinming left
09:31
bowtie joined
|
|||
moritz | we should rather boost jnthn++ :-) | 09:32 | |
diakopter | STL is fine thank you | ||
nwc10 | no-one mentioned this: blogs.perl.org/users/hercynium/2013...-well.html | ||
There, I fixed that for you :-) | |||
09:32
kaleem left
|
|||
moritz | I just read it :-) | 09:33 | |
and it's interesting, but kinda missing a point | |||
diakopter | pray for the unsung genius hero(es) chromatic mentions | ||
arnsholt | I just read the chromatic post linked from that post (thus my backseat driver comment) | ||
moritz | afaict scala was designed to be run by the JVM | 09:34 | |
09:34
xinming joined
|
|||
moritz | whereas neither Perl 5 nor Perl 6 are | 09:34 | |
so it's not obvious that just because scala on the JVM is faster for a particular application than native Perl 5 is, Perl-[56] on JVM will be fast | |||
nwc10 | IIRC I've read people frustrated that Scala doesn't have some things, or compramises on some things, simple because it has to, to work on the JVM | 09:35 | |
(ie, they knew why it was done the way it was) | |||
diakopter | I need 20,000 threads _now_ ;) | 09:36 | |
moritz | it's probably really easy to get a 90% subset implementation of Perl 5 to be fast on the JVM | ||
s/really/relatively/ | |||
diakopter | smop == wink and a node | ||
er, nod | |||
moritz | but the last 10% (magic, lvalue substr(), whatever), they might slow things down considerably | 09:37 | |
diakopter | tieing.. | ||
nwc10 | that would be consistent with what fglock said about implementing loops in Perlito. They were much faster. Much much faster. (Forget the number). But then adding continue and next, and they were slower than Perl 5 | ||
moritz | and if you want to use 20 modules, even if all of them are pure perl, chances are that some of them sorely need some of the missing 10% features | ||
arnsholt | moritz: Which I think moe's more or less explicitly acknowledged, by saying right away that backwards compatibility is going to be broken | 09:39 | |
nwc10 thinks all of this. Glad I don't need to type anything | |||
but this doesn't make Moe wrong. :-) | 09:40 | ||
it makes Moe interesting. | |||
checking the assumptions. And trying different trade offs | |||
moritz | arnsholt: right. The hard part will be figuring out which compromises to make, so that Moe feels both perlish and fast | ||
arnsholt | Yeah, that's gonna be really, really hard | 09:41 | |
09:41
isBEKaml joined
|
|||
isBEKaml | OHHAI, #perl6! | 09:41 | |
moritz thinks it's a good excuse/reason to start to learn scala | |||
diakopter | the >100ms startup time won't be funnest | ||
isBEKaml | moritz: scala's always a good reason, even if it's just to learn FP on the jvm with static types. :) | 09:42 | |
09:42
Psyche^ joined
09:43
Patterner left,
Psyche^ is now known as Patterner
09:44
sqirrel left
|
|||
moritz | isBEKaml: yes, but I usually fail at learning languages unless I have a project where I actually use it alongside | 09:44 | |
isBEKaml | moritz: I have yet to find a suitable project to hack along using Scala. :-) I'm a big phel that way. | ||
09:57
For-Odin left,
dakkar joined
10:04
hypolin left
|
|||
jnthn has a fix for the quant bug | 10:06 | ||
cedrvint | jnthn++ | 10:07 | |
10:08
wk_ left
|
|||
moritz has a small patch that checks for empty range at parse time | 10:09 | ||
std: /a**5..3/ | |||
p6eval | std 7deb9d7: OUTPUT«===SORRY!===Empty range at /tmp/AVQa_aK8K2 line 1:------> /a**5..3⏏/Parse failedFAILED 00:00 41m» | ||
moritz | like this | ||
10:10
SmokeMachine joined
|
|||
cedrvint | std: /. ** -1/ | 10:10 | |
p6eval | std 7deb9d7: OUTPUT«===SORRY!===Unrecognized regex metacharacter * (must be quoted to match literally) at /tmp/qdfIkwa49r line 1:------> /. *⏏* -1/Unable to parse regex; couldn't find final '/' at /tmp/qdfIkwa49r line 1:------> /. ** ⏏… | ||
cedrvint | std: /.**-1/ | ||
p6eval | std 7deb9d7: OUTPUT«===SORRY!===Unrecognized regex metacharacter * (must be quoted to match literally) at /tmp/6abJBmo_EH line 1:------> /.*⏏*-1/Unable to parse regex; couldn't find final '/' at /tmp/6abJBmo_EH line 1:------> /.**⏏… | ||
cedrvint | std: /.**1/ | 10:11 | |
p6eval | std 7deb9d7: OUTPUT«ok 00:00 42m» | ||
jnthn | r: say 'aa' ~~ / a ** 0/ | ||
p6eval | rakudo c3f565: OUTPUT«「aa」» | ||
jnthn | r: say 'aa' ~~ / a ** 0..0/ | ||
p6eval | rakudo c3f565: OUTPUT«「aa」» | ||
jnthn | Yeah, fixed those two | ||
jnthn spectests | 10:12 | ||
moritz guesses his and jnthn's patches are orthogonal, but waits to see | |||
cedrvint | hum, according to S05 negative ranges are allowed | ||
moritz | according to STD not | 10:13 | |
I'm going with STD here :-) | |||
jnthn | moritz: oh, sorry...I didn't know you were patching too | ||
moritz | jnthn: no problem, go ahead | ||
cedrvint | n: 'test' ~~ /. ** -1/ | ||
p6eval | niecza v24-17-gd343a2a: OUTPUT«===SORRY!===Unrecognized regex metacharacter * (must be quoted to match literally) at /tmp/_jC1K05nry line 1:------> 'test' ~~ /. *⏏* -1/Unable to parse regex; couldn't find final '/' at /tmp/_jC1K05nry line 1:---… | ||
10:13
anuby left
|
|||
jnthn | moritz: Hm, my fix breaks some of the :P5 tests... | 10:18 | |
r: say "abbbbc" ~~ rx:P5/ab{0,}bc/ | 10:19 | ||
p6eval | rakudo c3f565: OUTPUT«「abbbbc」» | ||
jnthn | ah...looks like P5Regex actions bug. | 10:21 | |
10:23
chromis joined
10:27
Chillance joined
10:36
cognominal joined,
dayangkun left
10:39
isBEKaml left
|
|||
dalek | p: d8431d2 | jnthn++ | t/qregex/rx_quantifiers: Test for ** 0 and ** 0..0 quantifiers. |
10:43 | |
p: 82793b5 | jnthn++ | src/QAST/Compiler.nqp: Fix compilation of ** 0 and ** 0..0 quantifiers. |
|||
p: 5401c4e | jnthn++ | src/QRegex/P5Regex/Actions.nqp: Fix {1,} compilation in P5Regex. |
|||
kudo/nom: efac0f1 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get ** fix. |
10:44 | ||
p-jvm-prep: 79ffc9d | jnthn++ | src/org/perl6/nqp/sixmodel/REPRRegistry.java: Make sure REPR's id and name are set. |
10:47 | ||
p-jvm-prep: e81fd35 | jnthn++ | src/org/perl6/nqp/sixmodel/ (2 files): Add Uninstantiable REPR. |
|||
p-jvm-prep: 29f8ce7 | jnthn++ | t/qast_6model.t: Test for reprname and newtype. |
|||
p-jvm-prep: 1d7c623 | jnthn++ | / (2 files): Implement reprname and newtype. |
|||
10:55
kaleem joined
11:03
wk joined
11:04
For-Odin joined
11:05
For-Odin left,
Su-Shee_ joined
11:06
Su-Shee left,
Su-Shee_ is now known as Su-Shee
|
|||
dalek | p-jvm-prep: 49fe3ee | jnthn++ | t/qast_6model.t: Fix typo'd test plan. |
11:07 | |
p-jvm-prep: 8e58be5 | jnthn++ | / (3 files): Implement and test nqp::substr. |
|||
11:22
cognominal left
11:23
vikram joined
11:24
vikram left
11:31
cognominal joined
11:42
cognominal left
11:43
FROGGS left
11:44
cognominal joined
12:10
sftp joined
|
|||
masak | good definitely afternoon already, #perl6 | 12:12 | |
12:12
MikeFair__ joined
12:13
MikeFair left
|
|||
cedrvint | o/ masak | 12:14 | |
masak | timotimo: re rt.perl.org/rt3//Public/Bug/Displa...l?id=77272 -- that error message is *horrible*. | 12:18 | |
timotimo: so, while I'm happy that it now has line and file in it, I'd like for it not to spew 28 lines of useless inventory of trait_mod:<is> candidates, none of which will help the user realize what went wrong. (typo in class name) | 12:19 | ||
is it possible to hijack the useless error message and replace it with a useful one in this case? | |||
dalek | p-jvm-prep: 773a84a | jnthn++ | / (2 files): Set up some of the nqp-specific ops. |
12:20 | |
p-jvm-prep: d5691cb | jnthn++ | t/qast_core.t: Tests for while and for with control exceptions. |
|||
p-jvm-prep: 89aaf7a | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement control op for next/redo/last. |
|||
p-jvm-prep: 6c5ecc9 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Fix control exceptions crossing block boundaries. |
|||
masak | I mean, we know that what comes after 'class A is' must be either something kinda special, like 'rw', or an already-declared class/role name. | ||
if it isn't, we should be able to hijack. | |||
jnthn | Apart from the "something kinda special" is not special at all. | ||
It's a perfectly ordinary multi-dispatch to trait_mod:<is> | 12:21 | ||
arnsholt | If any trait_mod:<is> fails I think we want line and file, really | ||
jnthn | Yes, you get line and file now :) | ||
The problem is how to try and do better than listing the candidates. | |||
masak | right. | ||
arnsholt | r: class A is NoSuchType {} | ||
p6eval | rakudo efac0f: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Mu:U $child, Mu:U $parent):(Attribute:D $attr, :rw(:$rw)!):(Attribute:D $attr, :readonly(:$readonly)!):(Attribute:D $attr, :box_target(:$box_target)!):(Routine:D $r, … | ||
12:22
sqirrel joined
|
|||
jnthn | r: multi trait_mod:<is>(Mu:U $type, *%fail) { die "No such parent" }; class A is NoSuchType {} | 12:22 | |
p6eval | rakudo efac0f: OUTPUT«===SORRY!===No such parentat /tmp/UyilwwusGR:1------> » | ||
jnthn | r: multi trait_mod:<is>(Mu:U $type, *%fail) { die "No such parent" }; class A is Int {} | ||
p6eval | rakudo efac0f: ( no output ) | 12:23 | |
jnthn | r: multi trait_mod:<is>(Mu:U $type, *%fail) { die "No such parent" }; class A is rw {} | ||
p6eval | rakudo efac0f: ( no output ) | ||
jnthn | So that looks promising *but*... | ||
r: multi trait_mod:<is>(Mu:U $type, *%fail) { die "No such parent" }; multi trait_mod:<is>(Mu:U $type, :omgz!) { say "ok" }; class A is omgz {} | 12:24 | ||
p6eval | rakudo efac0f: OUTPUT«===SORRY!===Malformed parameterat /tmp/IS77AjXuud:1------> t" }; multi trait_mod:<is>(Mu:U $type, :⏏omgz!) { say "ok" }; class A is omgz {} expecting any of: pair value formal parameter constraint… | ||
jnthn | r: multi trait_mod:<is>(Mu:U $type, *%fail) { die "No such parent" }; multi trait_mod:<is>(Mu:U $type, :$omgz!) { say "ok" }; class A is omgz {} | ||
p6eval | rakudo efac0f: OUTPUT«ok» | ||
jnthn | Ah, OK, it gets it right. | ||
So maybe it can work. | |||
12:24
SamuraiJack left
|
|||
jnthn | But I don't wanna do something that could have ecosystem fallout the day before release :) | 12:25 | |
arnsholt | How hard would it be to make it something like "Cannot call trait_mod at $file:$line"? | ||
moritz | we could also define a proto that does a re-dispatch, and catches a dispatch failure | ||
though we don't have typed exceptions for those yet | 12:26 | ||
so, probably not | |||
jnthn | arnsholt: The file/line is output already now | ||
The problem is that a common mistake triggers an accurate, but unhelpful error. | |||
A fail to apply a trait mod really *is* a multi-dispatch failure. I don't think we should be hiding that in the general case. | 12:27 | ||
12:28
sqirrel left
|
|||
arnsholt | There is that. But moving the line and file info to the top instead of after the pseudo-stacktrace would help a bit at least | 12:28 | |
jnthn | I don't see how putting the file/line in a different place than the user is used to seeing it helps anything. | 12:29 | |
The pointy thing should be better placed, though (actually point to the trait name) | |||
masak | ooh, ++isBEKaml is doin' this month's release. | 12:30 | |
any volunteers for March? :) | |||
moritz is the eternal fallback | |||
masak | I can be a fallback too, provided nothing messes up my March schedule. | 12:31 | |
jnthn | End of March is ungood for me. | 12:32 | |
masak | oh, right. | ||
no, I was meaning more "any of the lurkers volunteering for March?" :) | |||
jnthn | (So would be good for somebody to take the Star release also then) | ||
I'm happy to do this month's Star release if nobody else wishes to. | |||
12:47
FROGGS[mobile] joined
12:52
grondilu joined
|
|||
grondilu | You know what would be nice? A *persistent* command-line history in the REPL. | 12:53 | |
moritz | grondilu: wouldn't be too hard to do | ||
there's a history thingy that comes with readline | |||
grondilu | I actually have no idea about how the REPL works. Is it in perl6 or is the perl6 interpreter encapsulated in Perl5 or something? | 12:56 | |
arnsholt | Mostly inherited from NQP IIRC | ||
grondilu | so the readline API calls are in NQP? | ||
12:57
FROGGS joined
|
|||
moritz | well, NQP calls $stdin.readline_interactive | 12:58 | |
which in turn is a parrot method | |||
from src/pmc/filehandle.pmc | |||
grondilu | ok | 13:00 | |
moritz | it seems it already has a call to add_history | 13:01 | |
so I guess it's just a matter of setting a history file first, and later closing it | |||
or...something | |||
grondilu | yes, a convention for the file would have to be chosen. | ||
but since we already have a ~/.perl6/ directory, it's not absurd to use a ~/.perl6/history file. | 13:02 | ||
moritz | correct | 13:03 | |
13:07
araujo joined
13:10
jaldhar left
13:12
isBEKaml joined
|
|||
isBEKaml | good evening, #perl6! | 13:13 | |
moritz | \o isBEKaml | 13:14 | |
jnthn | hi isBEKaml | 13:15 | |
isBEKaml | hello, jnthn, moritz | 13:16 | |
13:16
cognominal left
13:17
jaldhar joined
|
|||
FROGGS | hint: to add a deadlock to rakudo just use perl 5's ternary syntax | 13:17 | |
isBEKaml | Wait, I'm doing this month's release? (I totally never got how my name came up :) | ||
jnthn | r: my $a = 1 ? 2 : 3; | 13:19 | |
p6eval | rakudo efac0f: OUTPUT«===SORRY!===Unsupported use of ?: for the conditional operator; in Perl 6 please use ??!!at /tmp/ud0vQFsD8h:1------> my $a = 1 ?⏏ 2 : 3;» | ||
FROGGS | jnthn: I added it in the internals... | ||
isBEKaml | r: my $a = 1 ?? 2 !! 3; #lemme see... | ||
p6eval | rakudo efac0f: ( no output ) | ||
FROGGS | stage parse got stuck | ||
isBEKaml | r: my $a = 1 ?? 2 !! 3; say $a; #lemme see... | 13:20 | |
p6eval | rakudo efac0f: OUTPUT«2» | ||
isBEKaml | ... | ||
jnthn | FROGGS: Where exactly? | 13:21 | |
FROGGS | in Match.pm method ACCEPTS | ||
Match.ACCEPTS( $thing ) is the same like $think ~~ Match, right? | 13:22 | ||
13:22
cognominal joined
|
|||
FROGGS | or is there a difference between $think ~~ Match and Match ~~ $thing? | 13:22 | |
13:22
jaldhar left
|
|||
jnthn | It's not symetric | 13:22 | |
But if you want to write a type check in the setting then the optimal way is nqp::istype($thing, Match) | 13:23 | ||
masak | isBEKaml: irclog.perlgeek.de/perl6/2012-11-11#i_6143331 | ||
isBEKaml | Anyway, since I'll be doing a release in a couple of hours now, will it be okay if I do it through a series of pull requests with a final upload to rakudo.org? | ||
FROGGS | I want to change the return value of that operation | ||
masak | isBEKaml: that's how it happened. you obviously didn't expect us to survive this far :P | ||
isBEKaml: it's only Wednesday. you have until tomorrow ;) | 13:24 | ||
FROGGS | r: say "abc" ~~ s[x] = "y" | ||
p6eval | rakudo efac0f: OUTPUT«Cannot assign to a non-container in sub infix:<=> at src/gen/CORE.setting:12250 in block at /tmp/BlU1VY0wtQ:1» | ||
FROGGS | ohh | ||
isBEKaml | (I'm currently going through the release guide now) | ||
FROGGS | r: my $s = "abc"; say $s ~~ s[x] = "y" | ||
p6eval | rakudo efac0f: OUTPUT«True» | ||
isBEKaml | r: say 42 # up, are you? | ||
p6eval | rakudo efac0f: OUTPUT«42» | ||
masak | isBEKaml: but yes, the release process should be doable on a clone of the rakudo/rakudo repository. | ||
FROGGS | should be false, thats what I'm trying to do | 13:25 | |
masak | isBEKaml: though note that the perl6/nqp repository is involved, too. | ||
FROGGS | I think I add some print()s so I get a clue what happens | 13:26 | |
13:26
cognominal left
|
|||
isBEKaml | man, my network strength is weak... :/ | 13:28 | |
moritz | if you don't have commit access to perl6/nqp, I can fix that for you | 13:29 | |
just shout :-) | |||
isBEKaml | moritz: aye, nqp bits please! :) | ||
moritz | isBEKaml: what's your github ID? | 13:30 | |
isBEKaml | moritz: svatsan | ||
FROGGS | .oO( the moment you recognize you read to much crap... I read "bitch please" ) |
||
isBEKaml | FROGGS: yeah, blame p6eval. :-) | ||
moritz | isBEKaml: done | 13:31 | |
isBEKaml | masak: Well, I must have raised my hand in a moment of weakness. (I know... ) | ||
moritz: thank you. | |||
masak | isBEKaml: a weakness for which we will profusely thank you tomorrow. | 13:33 | |
isBEKaml | masak: but no matter, I'm doing it anyway. I'm just as happy to be able to contribute something. | ||
masak | does anyone here know what "triangulating" means in the context of TDD? | ||
FROGGS | masak: I can just image that you have to triangulate the problem if the tests are too vague | 13:34 | |
13:35
dayangkun joined
|
|||
masak | does anyone here *know*...? | 13:36 | |
FROGGS | ;o) | ||
bowtie | hi, all, I like the new colours in error messages, some info for you - data blocks in S26 don't seam to be supported in 2012-12 even though perl6.org/compilers/features suggest that it should now work, can you please get feature web site updated, and thanks, perl 6 is cool :) | ||
isBEKaml | masak: according to codemanship.co.uk/parlezuml/blog/?postid=987, triangulate apparently means running a series of tests to arrive a general solution to a problem. | ||
13:37
cognominal joined
|
|||
FROGGS | bowtie: it might help if you would make an RT ticket with a short example code and the expected behaviour | 13:38 | |
bowtie: that note here might get lost | |||
isBEKaml | masak: it's only 16th today, eh... Here's the catch, I may be offline tomorrow or worse, without a network until saturday. :| | ||
bowtie | FROGGS, will do if you kick me in correct direction of where to do the 'rt' | 13:39 | |
masak | isBEKaml: re triangulate -- thanks. I searched and didn't find anything. | 13:40 | |
isBEKaml: may I offer to switch release dates with you? | |||
isBEKaml: I can do tomorrow, if you do March. | |||
arnsholt | tadzik: You around? | ||
tadzik | arnsholt: yeah, sort of | ||
isBEKaml | masak: March eh? no no.. I totally want to pull a joke on the Mayans! | ||
arnsholt | Regarding bowtie's issue. You happen to know where data blocks are supposed to be at ATM? | 13:41 | |
tadzik | bowtie? blocks? | ||
arnsholt | Being the POD-master and all =) | ||
tadzik | oh | ||
data blocks, right | |||
bowtie | tadzik, where do I create the 'rt' | 13:42 | |
masak | isBEKaml: you can still pull the joke in March if you want. I was just thinking of getting the right release date on the release. | ||
tadzik | email [email@hidden.address] | ||
arnsholt | RT is rt.perl.org | ||
tadzik | yeah, data blocks are NYI | ||
arnsholt | (The Perl bugtracker) | ||
tadzik | probably lhf though | ||
arnsholt | Right, so it's sort of a bug in the feature matrix as well | ||
FROGGS | bowtie: here is that mail posted too, and some explanation: rakudo.org/tickets/ | ||
bowtie | FROGGS, will do | 13:43 | |
arnsholt | bowtie: Right, so that bit of POD isn't implemented yet (NYI == not yet implemented), and the feature matrix isn't entirely correct it would seem | ||
isBEKaml | masak: If I do a release tomorrow 0530 hrs IST, it'll be just past midnight UTC. :-) | ||
masak | oh, ok. | 13:44 | |
isBEKaml: on your head be it. | |||
my offer for switching release dates still stands if you don't want to be awake that early :) | |||
isBEKaml | masak: So, if I do it, the date is still in. (On my own head) :P | ||
masak: I travel tomorrow, so I guess I'll be awake. :) | |||
masak | ok. | 13:46 | |
arnsholt | isBEKaml: Where in India are you, if I may ask? | ||
isBEKaml | arnsholt: Mumbai. | ||
masak | let me/us know if you need any kind of help with the release process. | ||
arnsholt | Oh, cool! I was there just before christmas | ||
isBEKaml | arnsholt: Ah, awesome. I didn't know you were here then. (I usually follow along IRC logs) Your visit was good/fruitful, I guess? (No troubles?) | 13:47 | |
arnsholt | It was pretty good | 13:48 | |
isBEKaml | masak: sure, I'll ask here if I need anything. | ||
arnsholt | I was at a conference at IIT-B, which was excellent (my first major conference), and then a five days in Goa for relaxation and a couple days in SoBo before going back home | 13:49 | |
isBEKaml | [Release Prepping] Please update changelogs, issues or anything that goes along into this release. I'm planning to do a release around Midnight UTC. | ||
arnsholt | The traffic was insane (obviously =), but everything went smoothly for the most part | ||
isBEKaml | arnsholt: Ah... Goa's always good for relaxation. | ||
arnsholt | A couple hiccups at the conference excursion | ||
masak | isBEKaml++ | 13:50 | |
13:50
rindolf joined
|
|||
arnsholt | Yeah, after two months of travelling almost every weekend, sun, sand and relaxation was wonderful =) | 13:50 | |
isBEKaml | arnsholt: traffic snarls, it's pretty much expected anywhere in India. | ||
arnsholt | Yeah, I've been in Chennai once before and it was sort of similar | ||
But Mumbai is just so much bigger =) | |||
isBEKaml | (except maybe, in the rural/remote pockets but you go without water! :) | 13:51 | |
arnsholt: Chennai too? awesome. | |||
arnsholt | Yeah, my girlfriend did fieldwork for her master's thesis in Tamil Nadu, around Kanchipuram | 13:52 | |
(She does religious history) | |||
bowtie | 'rt' - 116419Perl6 features out of date | 13:56 | |
arnsholt, the issue is that the feature list implies it works, not that it dose not | 13:58 | ||
arnsholt | Yeah, that's true | ||
Is there someone who's curator of the feature matrix? | 13:59 | ||
tadzik | everyone is | ||
it's on github/perl6/features or so | |||
arnsholt | Right | ||
14:01
Targen left
|
|||
jnthn | bowtie: Where does the feature list say data blocks work, ooc? | 14:02 | |
Oh, unless it's counted as part of Pod... | 14:03 | ||
arnsholt | It's specced together with POD at least | ||
bowtie | data blocks are in S26 which is the reference next to Pod in features, it's just an observation | 14:06 | |
jnthn | *nod* | 14:07 | |
bbkr_ | r: say 1.0000000000000000000000000000001 + 1 | 14:08 | |
p6eval | rakudo efac0f: OUTPUT«2» | ||
bbkr_ | rn: say 1.0000000000000000000000000000001 + 1 | ||
p6eval | rakudo efac0f, niecza v24-17-gd343a2a: OUTPUT«2» | ||
14:09
renormalist joined
14:10
PacoAir joined
|
|||
bbkr_ | r: 1.0000000000000000000000000000001 + 1.0 | 14:11 | |
p6eval | rakudo efac0f: ( no output ) | ||
bbkr_ | r: say 1.0000000000000000000000000000001 + 1.0 | ||
p6eval | rakudo efac0f: OUTPUT«2» | ||
bbkr_ | weird... | ||
14:11
FROGGS left
|
|||
bbkr_ | r: say 1.0000000000000000000000000000001 | 14:12 | |
p6eval | rakudo efac0f: OUTPUT«1.000000000000000000000000000000100» | ||
bbkr_ | those trailing 0s looks like a bug | ||
14:12
SmokeMac_ joined,
bluescreen10 joined
14:13
PacoAir_ joined,
PacoAir left,
SmokeMachine left,
PacoAir_ is now known as PacoAir
|
|||
moritz | r: say ( 1.0000000000000000000000000000001 + 1.0 ).WHAT | 14:18 | |
p6eval | rakudo efac0f: OUTPUT«Num()» | ||
moritz | you are witness to Rat overflowing, and auto-casting to Num | ||
masak | it's either that or using up more processor/memory trying to juggle all the precision. | 14:19 | |
the BigRat rabbit hole runs pretty deep :) | 14:20 | ||
er, FatRat | |||
14:21
thou joined
14:24
FROGGS joined
|
|||
bbkr_ | what about trailing 0s in example above? bug? | 14:25 | |
[Coke] | wr: say 1.0000000000000000000000000000001.WHAT | ||
r: say 1.0000000000000000000000000000001.WHAT | |||
p6eval | rakudo efac0f: OUTPUT«Rat()» | ||
jnthn | Gee, I'm rocketing thorugh getting nqp-mo compiling. That's bad 'cus it means I'm less than a day of work from the point where my blocker becomes porting the bounded serialization stuff... | 14:26 | |
;) | |||
[Coke] | r: say 1.0000000000000000000000000000001.denominator | ||
p6eval | rakudo efac0f: OUTPUT«10000000000000000000000000000000» | ||
jnthn | r: say 1.0000000000000000000000000000001e1 | ||
p6eval | rakudo efac0f: OUTPUT«10» | ||
moritz | bbkr_: if the spec says trailing zeros aren't allowed, then it's a bug | ||
14:27
xinming_ joined
14:28
xinming left
|
|||
bbkr_ | moritz: spec does not forbid trailing zeros. it's "common sense" type of issue. | 14:29 | |
masak | I don't really see what's wrong with trailing zeroes. | 14:33 | |
rn: say 1.0 | |||
p6eval | rakudo efac0f, niecza v24-17-gd343a2a: OUTPUT«1» | ||
masak | rn: say 1e1 | ||
p6eval | rakudo efac0f, niecza v24-17-gd343a2a: OUTPUT«10» | ||
masak | rn: say 1e0 | ||
p6eval | rakudo efac0f, niecza v24-17-gd343a2a: OUTPUT«1» | ||
masak | rn: say sprintf '<%5.2f>', 3/2 | 14:34 | |
p6eval | rakudo efac0f, niecza v24-17-gd343a2a: OUTPUT«< 1.50>» | ||
[Coke] | r: eval eval eval eval eval eval eval eval eval eval eval "squirrel" | 14:35 | |
p6eval | rakudo efac0f: OUTPUT«===SORRY!===Undeclared routine: squirrel used at line 1» | ||
bbkr_ | masak: IMO number should be printed in simplest form possible. and it works that way up to 1.0000000000000000001 (no trailing zeros). | 14:36 | |
r: say 1.0000000000000000001 | |||
p6eval | rakudo efac0f: OUTPUT«1.0000000000000000001» | ||
masak | I'll go so far as agree that it's a bit weird that those zeroes are there. | ||
FROGGS | npr: say 1.0000000000000000000000000000001 | 14:38 | |
p6eval | rakudo efac0f: OUTPUT«1.000000000000000000000000000000100» | ||
..pugs: OUTPUT«1.0000000000000000000000000000001» | |||
..niecza v24-17-gd343a2a: OUTPUT«1» | |||
bbkr_ | this may cause problems when using in some fixed-width environment (tables, protocols using stringified value, etc) | 14:41 | |
FROGGS | well, might use sprintf for that | ||
[Coke] | if you're using a fixed width, i'd argue you shoudl be using sprintf. | ||
FROGGS | npr: print 1.0000000000000000000000000000001 | 14:42 | |
p6eval | pugs: OUTPUT«1.0000000000000000000000000000001» | ||
..niecza v24-17-gd343a2a: OUTPUT«1» | |||
..rakudo efac0f: OUTPUT«1.000000000000000000000000000000100» | |||
14:42
cognominal left
14:43
cognominal joined
14:48
FROGGS[mobile] left,
FROGGS[mobile] joined
|
|||
masak | note though that not even sprintf guarantees a maximum width if numbers are too large. | 14:50 | |
formats are better for that. | |||
FROGGS | I usually have a hash table for that, field name => regex | 14:51 | |
(before doing formatting) | |||
so I dont write crap to systems like SAP | |||
15:00
cognominal left,
cognominal joined
|
|||
isBEKaml | hmmm - I got connection reset when I git pull --rebase on nqp. :-) (after a loooong time) | 15:00 | |
fatal: read error: Connection reset by peer | |||
fatal: protocol error: bad pack header | |||
moritz | isBEKaml: probably a network problem | 15:01 | |
just retry | |||
15:01
bitbybit joined
|
|||
masak | any suggestion on how to convert a number to int in nqp? | 15:02 | |
that is, I'm after the semantic effect of rounding it down towards the closest integer. | 15:03 | ||
PerlJam | isn't there an nqp::floor or something? | ||
jnthn | nqp::floor_n | ||
PerlJam | yeah, that. | ||
15:04
bitbybit left
|
|||
[Coke] | r: say 200000000*0.0001 # xkcd | 15:07 | |
p6eval | rakudo efac0f: OUTPUT«20000» | ||
masak | yay. thank ye. | ||
benabik | [Coke]: Uhg, don't remind me. | ||
15:08
FROGGS left
|
|||
masak | hm, but if there's only floor but not round, I have to be careful with those negative numbers... | 15:09 | |
oh, the special cases. :) | |||
15:09
FROGGS[mobile] left
15:10
FROGGS[mobile] joined,
FROGGS[mobile] left
|
|||
isBEKaml | network issues. BBL (release in 9-10 hrs ish) | 15:12 | |
15:14
isBEKaml left
|
|||
PerlJam | masak: what does "round" mean anyway? Which rounding semantics were you expecting? :-) | 15:15 | |
benabik | n <= x < n.5 rounds to n. n.5 < x <= n+1 rounds to n+1. x == n.5 rounds non-deterministically to n or n+1. | 15:16 | |
15:17
SunilJoshi joined
|
|||
PerlJam | benabik: I just *knew* there was a reason we included a random number generator! | 15:19 | |
benabik | Ooh, even better! Rounds to n|n+1 | 15:20 | |
_Real_ non-determinism, not this psuedo-random stuff. | |||
Oh, maybe that should be n&n+1 | |||
masak | PerlJam: oh, indeed. I need to do more work than I initially thought. and more tests. | 15:24 | |
15:25
stopbit joined
15:28
orafu joined
15:35
isBEKaml joined
15:36
arlinius joined
|
|||
isBEKaml | Was there a parrot release this month? I see from git commits that the last parrot release was a month ago, not this past week or anything more recent. | 15:36 | |
15:37
hash_table joined
|
|||
benabik | isBEKaml: dukeleto is going to release Parrot 5.0 fairly soon. | 15:37 | |
diakopter | r: say("test" ~~ /{ BEGIN die } ** 0/) | 15:38 | |
p6eval | rakudo efac0f: OUTPUT«===SORRY!===» | ||
diakopter | r: say("test" ~~ /{ die } ** 0/) | ||
p6eval | rakudo efac0f: OUTPUT«「」» | ||
isBEKaml | benabik: hmm, the question now is, should we hold? Rakudo's convention is a release about 3-4 days after Parrot's. | ||
diakopter | r: say("test" ~~ /{ macro die { }; die } ** 0/) | 15:40 | |
p6eval | rakudo efac0f: OUTPUT«「」» | ||
isBEKaml | benabik: I see you've asked this question on #parrot. :-) | ||
diakopter | r: say("test" ~~ /{ macro die { }; BEGIN die } ** 0/) | ||
p6eval | rakudo efac0f: OUTPUT«「」» | ||
benabik | isBEKaml: From the docs: "The Parrot project makes releases on the third Tuesday of each month." So the release is scheduled for the 18th. | 15:41 | |
masak | benabik: no, the 18th is a Thursday. | ||
benabik | isBEKaml: I lurk here and in #parrot. Less asking, more osmosis. | ||
masak | er, a Friday. | ||
benabik | masak: D'oh | ||
jnthn | The third Tuesday was yesterday. | ||
benabik | My calendar app was stuck on November for some reason. | 15:42 | |
isBEKaml masak: Apologies. | |||
isBEKaml | If parrot's not released yet, I don't think I can cut a release this month. (I'll be on road and out of network most of the next couple of weeks) | 15:43 | |
masak | well, nqp is still on Parrot 4.10. | 15:44 | |
I don't immediately see a reason to upgrade to 5.0. | |||
isBEKaml | not even on 4.11? | ||
masak | (we generally don't upgrade to the latest Parrot unless there's a reason to, methinks) | ||
isBEKaml: I just checked, and it's on 4.10. | |||
Rakudo, however, is on a relatively new (post-release) NQP, so you'll still need to release NQP as usual. | 15:45 | ||
isBEKaml | masak: Okay - If there's no problem, I'll cut a release as usual. | 15:47 | |
masak | no problem as far as I can see. | 15:49 | |
isBEKaml | masak: okay | 15:54 | |
timotimo | r: class A is NoSuchType { } | 15:58 | |
p6eval | rakudo efac0f: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Mu:U $child, Mu:U $parent):(Attribute:D $attr, :rw(:$rw)!):(Attribute:D $attr, :readonly(:$readonly)!):(Attribute:D $attr, :box_target(:$box_target)!):(Routine:D $r, … | ||
timotimo | i get "null pmc access" locally :| | 15:59 | |
say, masak, do you think it's reasonable to look through the lexpad/world object for all objects that are similarly named (levensthein distance?) | |||
jnthn | Works locally for me... | ||
timotimo builds a newer rakudo | 16:00 | ||
masak | timotimo: I think it's reasonable, as long as we're talking error reporting. might give Perl 6 a reputation of almost unbelievably good error messages. | 16:01 | |
Su-Shee | can I have just unbelievably good messages? ;) and no errors? | 16:02 | |
hello everyone. | |||
masak | Su-Shee! \o/ | ||
timotimo | masak: yeah, i think in that case rakudo would terminate as the next step, so it would be reasonable to do some extra work i guess. | ||
now to implement levensthein in nqp! | 16:03 | ||
i've been misspelling it *again* :~ | |||
masak | oh the irony. | ||
16:04
kaleem left
16:10
MikeFair joined
16:11
isBEKaml left,
MikeFair__ left
|
|||
timotimo | can't seem to figure out how to get the length of a string in nqp :| | 16:17 | |
jnthn | nqp: say(nqp::chars('beer')) | 16:20 | |
p6eval | nqp: OUTPUT«4» | ||
timotimo | thanks. should have tried that, too :| | 16:21 | |
since i'm assuming nqp doesn't offer "is memo", how do i do %memo{$key} :exists in nqp? | 16:24 | ||
alternatively, where do i have to look to find all subs in the nqp:: namespace? | |||
is that nqp/src/ops/nqp.ops? | 16:25 | ||
jnthn | No, src/QAST/Operations.nqp | ||
nqp::existskey(%memo, $key) | |||
timotimo | thanks :) | ||
there seems to be no "min" or "max" functions, is that right? | 16:30 | ||
dalek | kudo-js: 35340a6 | (Paweł Murias)++ | run (2 files): fix return value of to_n, pass test 33 |
||
kudo-js: c3f9577 | (Paweł Murias)++ | runtime.js: deserialize doubles |
|||
kudo-js: 529e2af | (Paweł Murias)++ | runtime.js: Implement nqp::existskey. |
|||
kudo-js: b73198e | (Paweł Murias)++ | / (2 files): Update to current nqp, mention that in README. |
|||
jnthn | timotimo: No, we don't have those | 16:31 | |
timotimo | don't really need it for only three elements anyway :) | 16:32 | |
16:33
pmurias joined
|
|||
pmurias | jnthn: re spurt in t/helpers.nqp the only difference to spew is the :encoding? | 16:34 | |
jnthn | nqp: spew() | ||
p6eval | nqp: OUTPUT«too few positional arguments: 0 passed, 1 (or more) expectedcurrent instr.: 'spew' pc 734 (src/stage2/gen/NQPCORE.setting.pir:331) (src/stage2/NQPCORE.setting:388)» | ||
jnthn | huh, didn't even realize we had that :) | ||
no, spurt is the spec name for spew :) | |||
pmurias just noticed that | |||
jnthn: so we should rename spew into spurt in nqp? | 16:35 | ||
jnthn | pmurias: yeah, but maybe leave it until after the release tomorrow. | ||
pmurias | ok | 16:38 | |
16:39
hoelzro is now known as hoelzro|away
|
|||
timotimo | sprunge.us/BLdj - this is my first attempt, but i'm getting a parse error (couldn't parse blockoid; unable to find "}"). i'll be afk for ~30 minutes, but if someone could point out the (probably) obvious flaw, that would be nice :) | 16:41 | |
moritz | r: sprunge.us/BLdj | 16:42 | |
p6eval | rakudo efac0f: OUTPUT«===SORRY!===Two terms in a rowat /tmp/mH49DSaAlo:1------> http⏏://sprunge.us/BLdj expecting any of: argument list postfix infix or meta-infix infix stopper statement end sta… | ||
moritz | grml | ||
timotimo | wha, how did that happen? | ||
moritz | it tried to parse the URL | ||
timotimo | hah, ok | ||
locally i get │elements() not implemented in class 'Parcel' on line 10 | |||
moritz | automagic fetching only works for gist URLs, iirc | ||
timotimo | unlike for gist, i have a super handy global alias "SPR" that adds | sprunge to any command, which i find super helpful | 16:43 | |
it even copies the url into my clipboard for me | |||
bbl now. | |||
moritz | timotimo: wait, that's NQP code, right? | 16:46 | |
and you're running it with NQP? | |||
if yes, I don't see how you can end up with a Parcel | |||
timotimo | i was running it with nqp, but to paste that error, i ran it with rakudo instead (like you tried with evalbot) | 16:48 | |
rakudo seems to parse the code just fine without any worries about missing or unreachable "}" | 16:49 | ||
jnthn | Try && instead of and | 16:51 | |
moritz | if you write it as nqp code, you have to run it with nqp | ||
for example nqp::elems returns a Parrot integer | |||
you can't simply use that in Rakudo | |||
(needs boxing) | |||
jnthn | r: say nqp::elems(nqp::list()).WHAT | 16:52 | |
p6eval | rakudo efac0f: OUTPUT«Int()» | ||
jnthn | Since QAST it's actually a bit smarter. | ||
Since QAST supports per-hll configurable boxing. | |||
But that relies on you calling something that returns a native integer (which nqp::elems does) | 16:53 | ||
moritz | oh wow :-) | ||
jnthn | Unboxing still needs a lot of care though, to not hit the v-table call :) | 16:54 | |
17:09
SunilJoshi left
|
|||
timotimo | yay, turning and into && brings me into run-time-error-land \o/ | 17:10 | |
17:10
SamuraiJack joined
17:11
MayDaniel joined
|
|||
timotimo | totally works now. thanks! | 17:14 | |
but the result is wrong. strange. | 17:16 | ||
now i think i've got a correct version. still need to prettify. | |||
17:19
sjn left
17:20
sjn joined
17:26
For-Odin joined
17:28
aindilis joined
|
|||
timotimo | can i have an optional parameter in nqp without using something like *%adverbs? | 17:31 | |
jnthn | $foo? should work | ||
moritz | yes | ||
timotimo | cool :) | ||
and then i can do if $foo.defined { ... }? | |||
jnthn | nqp::defined($foo) | 17:32 | |
17:32
ifim joined
|
|||
dalek | p/mop-cleanup: 56d2292 | jnthn++ | src/how/NQPClassHOW.pm: Remove outdated comment. |
17:43 | |
p/mop-cleanup: 5826673 | jnthn++ | src/QAST/Operations.nqp: Provide nqp:: ops for low-level iterator usage. NQP will continue to support the $_.key/$_.value approach for hash iteration in normal code. However, off Parrot this will be provided through the NQPCORE.setting, and thus is not available to the MOP. Essentially, these ops are to saw a circularity that we got away with up until now, but isn't really sensible to burden other backends with. |
|||
p/mop-cleanup: 1bcaac4 | jnthn++ | src/QAST/Operations.nqp: Add ops for get/set of a coderef's name. |
|||
p/mop-cleanup: 3b7e5a3 | jnthn++ | src/stage0/ (9 files): Update bootstrap. |
|||
p/mop-cleanup: ce967e9 | jnthn++ | src/how/ (5 files): A variety of circularity-sawing MOP updates. |
|||
17:45
zby_home_ joined
|
|||
dalek | p-jvm-prep: c148d02 | jnthn++ | / (2 files): Type check and method cache related ops. |
17:48 | |
p-jvm-prep: fc4f7e4 | jnthn++ | lib/QAST/JASTCompiler.nqp: Fix copy/paste fail. |
|||
p-jvm-prep: 08c659e | jnthn++ | / (3 files): Implement and test setcodename/getcodename. |
|||
17:56
dakkar left
|
|||
timotimo | my "bounded levenshtein" optimisation is totally exploding in my face :( | 17:57 | |
tadzik | hello #perl6 \o/ | ||
[Coke] wonders what time friday the contest is over? | 17:58 | ||
n: say /:ignoremark ü/ ~~ "u" | 17:59 | ||
p6eval | niecza v24-17-gd343a2a: OUTPUT«===SORRY!===Action method mod_internal:sym<:m> not yet implemented at /tmp/_Awmp2R1VH line 1:------> say /:ignoremark⏏ ü/ ~~ "u"Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line… | ||
[Coke] | jnthn: how big a lift is :ignoremark for rakudo? | ||
moritz | depends on how easy it is to get an NFD representation of the string | 18:00 | |
then you can compile 'ü' to u\p{Mark}* # in p5 terminolog | 18:01 | ||
18:02
SamuraiJack left,
wk left
18:05
SamuraiJack joined
|
|||
TimToady | [Coke]: um, your ~~ is backwards | 18:09 | |
not that it would suddenly cause :m to be implemented the other way around... | 18:10 | ||
18:13
kaare_ joined
18:16
japhb is now known as japhb_
18:17
japhb_ is now known as japhb__,
japhb__ is now known as japhb
18:19
japhb_ joined,
am0c left
18:21
spider-mario joined
|
|||
[Coke] | TimToady: whoops, aye. | 18:21 | |
18:22
japhb_ left
|
|||
kthakore | lol ... TimToady how can ~~ be backwards? | 18:23 | |
PerlJam | [Coke]: R is your meta-friend :) | 18:24 | |
18:26
b1rkh0ff left
|
|||
jnthn | [Coke]: Not too easy, I suspect | 18:26 | |
TimToady | kthakore: ~~ is not a symmetrical operator since about 10 years ago | 18:31 | |
unfortunately p5 copied the original symmetrical design after we'd already changed it... | |||
PerlJam | kthakore was just attempting literal humor mrthinks | 18:33 | |
er, s/mrth/meth/ | |||
timotimo | i hopeit won't be too hard to get a sensible list of candidates for the is trait operator | 18:34 | |
jnthn | r: say &trait_mod:<is>.candidates | 18:35 | |
p6eval | rakudo efac0f: OUTPUT«sub trait_mod:<is>(Mu:U $child, Mu:U $parent) { ... } sub trait_mod:<is>(Mu:U $type, :rw(:$rw)!) { ... } sub trait_mod:<is>(Mu:U $type, :nativesize(:$nativesize)!) { ... } sub trait_mod:<is>(Mu:U $type, :hidden(:$hidden)!) { ... } sub trait_mod:<is>(Attribute:D $at… | ||
timotimo | now get the list of all classes that one could derive from:) | ||
jnthn | Well, that's less simple... :P | 18:36 | |
timotimo | hehe | ||
it is required to improve the misspelt class error message | 18:37 | ||
leaving the tram bbl | |||
18:38
b1rkh0ff joined
18:55
FROGGS joined
18:58
SamuraiJack left
|
|||
dalek | p-jvm-prep: 5e9c7c3 | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement defor (just desugar it for now). |
18:58 | |
p-jvm-prep: 334179b | jnthn++ | / (2 files): Cheating nqp::where. But good enough for what we'll need it for, for a while. :-) |
|||
p-jvm-prep: 18812aa | jnthn++ | lib/QAST/JASTCompiler.nqp: Fix non-void while code-gen bug. |
|||
19:00
thou left
19:01
sahadev joined
|
|||
jnthn | Turns out the 1450 or so lines of nqp-mo.pm that we can now cross-compile boil down to about 88KB of JVM bytecode. :) | 19:02 | |
tadzik | that's a big deal :) | 19:03 | |
arnsholt | Cool. How much Parrot bytecode does it compile to? =) | ||
jnthn | It's not really fair to compare yet, because I haven't got all of the serialization stuff in place. | ||
The PBC file comes out to 300 KB | 19:04 | ||
19:04
For-Odin left
|
|||
arnsholt | Right | 19:04 | |
jnthn | And the serialization blob itself is about 14KB. | ||
But there's some fixup code to come. | |||
Should still end up about half the size. | |||
19:04
wk joined
|
|||
arnsholt | Nice! | 19:05 | |
jnthn | Which ain't bad considering I know some of the code-gen is decidedly improvable. :) | ||
arnsholt | Even better =) | ||
nwc10 | hangon. nqp-mo.pm is only 1572 lines here | ||
jnthn | nwc10: Yeah, I'm ~100 off | 19:06 | |
nwc10: About 30 are lines we really need :) | |||
And the others are Parrot-specific (the vtable mapping stuff) | |||
nwc10 | and then what - drink beer? | ||
19:07
telex left
|
|||
jnthn | I'm afraid that there's about 2 or 3 uncommentable lines worth of easy win left. | 19:07 | |
And that's one of the LHF tasks. | |||
The rest involves porting a good chunk of the bounded serialization. | |||
nwc10 | so drink gin? | 19:08 | |
or does it really need meths? | |||
jnthn | Well, it also needs me to get a good night's sleep so I can think clearly, which has been hard to come by this week. :( | ||
19:08
telex joined
|
|||
jnthn | Time for some dinner here, bbl | 19:09 | |
arnsholt | Porting bounded serialization sounds less low-hanging, yeah | 19:14 | |
19:33
cognominal left
19:39
japhb_ joined
19:40
snearch joined
19:42
cognominal joined
19:43
benabik left
19:47
arlinius left
20:12
sahadev left
20:19
zby_home_ left
|
|||
[Coke] yawns. | 20:21 | ||
20:21
cognominal left
20:23
eternaleye_ is now known as eternaleye
20:24
benabik joined
20:26
cognominal joined
|
|||
dalek | rl6-roast-data: 9981643 | coke++ | / (3 files): today (automated commit) |
20:30 | |
[Coke] | sorear: S04-declarations/my.niecza aborted 75 test(s) | 20:31 | |
I'll see if i can track that down after $dayjob | |||
20:34
SmokeMac_ left
20:39
hoelzro|away is now known as hoelzro,
cognominal left
20:41
Targen joined
20:44
hash_table left
20:46
cognominal joined
20:47
bluescreen10 left
20:53
arlinius joined
20:56
bluescreen10 joined
21:07
isBEKaml joined
|
|||
isBEKaml | hi | 21:07 | |
21:07
cognominal left
|
|||
Ulti | isBEKaml hi | 21:09 | |
isBEKaml | hello, Ulti | 21:13 | |
21:14
cognominal joined
|
|||
isBEKaml | jnthn, moritz: If you're around, do we need to bump PARROT_REVISION in nqp? | 21:15 | |
masak would guess "no", but is happy to wait for someone else to confirm this | 21:18 | ||
isBEKaml | hello, masak... We still have to think up a name for this release. :-) We have Sonoma.pm available (japhb++'s home base) Any objections to using it? | 21:20 | |
masak | sounds good to me. | 21:21 | |
21:22
thou joined
|
|||
isBEKaml | I'll wait for others to chime in too. We still have about 2.5 hrs to cutting a release. :-) | 21:22 | |
timotimo | is there a nicer way to get user input in nqp than my $stdin := pir::getinterp__P().stdin_handle(); | ||
jnthn | timotimo: probably not | 21:25 | |
isBEKaml: No, and if there hasn't been testing much on anything newer than what's in PARROT_REVISION, it's probably best not to | |||
isBEKaml | jnthn: Okay, I'll just bump the VERSION then. | 21:26 | |
pmurias | jnthn: I have started stealing tests from nqp-jvm ;) | 21:38 | |
dalek | kudo-js: 8133272 | (Paweł Murias)++ | / (5 files): steal and pass t/qast_literal.t |
||
spider-mario | rust developers use the name “sigil” in their commit messages | 21:39 | |
I find it interesting. | |||
(they’re actually applied to types, not variables) | |||
(well, they *can* be applied to variables but it’s not part of their names) | 21:40 | ||
(whereas it’s part of the type of the result of applying them to a value) | |||
21:41
benabik left
|
|||
jnthn | pmurias: nice :) | 21:41 | |
21:44
hoelzro is now known as hoelzro|away
|
|||
pmurias | spider-mario: what do they do? | 21:48 | |
spider-mario | they are used to make pointers | ||
but there are different types of pointers | |||
@, & and ~ | |||
@int means “managed (or shared) pointer to int” | |||
& means borrowed pointer | |||
and ~ means unique pointer | 21:49 | ||
masak | I like that. | ||
they are using the sigils for a distinction they want to make in a very "core" place of the syntax. that's exactly how to thing of sigils, IMO. | 21:50 | ||
spider-mario | appearently, the recommended term for unique pointer is rather “owned pointer” | ||
isBEKaml | damn, is make -jx a bad idea for nqp? | ||
masak | well, "owned" rhymes better with "borrowed" and "shared". | ||
'night, #perl6 | 21:51 | ||
isBEKaml: good luck with le release. | |||
spider-mario | good night | ||
isBEKaml | masak: night, masak. :) | ||
jnthn | 'night, masak | ||
isBEKaml | non-zero exit status in t/nqp/46-charspec.t. is that expected? | 21:55 | |
jnthn | isBEKaml: yes, if you didn't build Parrot with ICU | ||
isBEKaml | jnthn: I don't have icu. | 21:56 | |
jnthn: so I'll ignore it. | |||
22:03
slavik1 left
22:05
kaare_ left
22:13
MayDaniel left
|
|||
rindolf | jnthn: hi. | 22:20 | |
22:22
PacoAir left
|
|||
dalek | p: f7c5f75 | isBEKaml++ | VERSION: Bump VERSION to 2013.01 |
22:24 | |
jnthn | hi, rindolf | ||
rindolf | jnthn: what's up? | ||
Hi all. | |||
jnthn | rindolf: Not much, just wondering why in 2013 getting printer drivers installed can take 30 minutes...to fail. | 22:27 | |
rindolf | jnthn: sucks. :-( | ||
jnthn: are you using Windows? | |||
jnthn | rindolf: On the desktop, yeah. | ||
rindolf | jnthn: ah, OK. | 22:28 | |
diakopter | jnthn: usually if you hunt carefully there's a way to install just the drivers without all the accompanying software | ||
jnthn | diakopter: Yeah, the added fun is that it's a network printer... | 22:29 | |
Quite why I've ended up with a network printer *for home use*, I don't know. :) | |||
On the upside, a bunch of boring admin work I've put off for months is now done... | 22:30 | ||
22:35
pmurias left
22:38
Chillance left
22:39
leprevost joined
22:40
leprevost left
|
|||
isBEKaml | nqp release done. Where do I upload nqp tarball? It can't be github now, right? | 22:42 | |
timotimo | hm. i wonder how to decide when to use levenshtein guessing for the "class A is NoSuchClass" case and when to give the regular candidate list for trait-mod "is" | 22:45 | |
maybe i should look for the place where that error message originates first | 22:46 | ||
22:46
rindolf left
|
|||
timotimo | that reminds me that i have no idea how to figure stuff like that out :| | 22:47 | |
22:49
spider-mario left
22:53
slavik1 joined
|
|||
timotimo | r: class A is NoSuchClass { } | 22:57 | |
p6eval | rakudo efac0f: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Mu:U $child, Mu:U $parent):(Attribute:D $attr, :rw(:$rw)!):(Attribute:D $attr, :readonly(:$readonly)!):(Attribute:D $attr, :box_target(:$box_target)!):(Routine:D $r, … | ||
timotimo | oh, this is in c code >_< | 22:58 | |
jnthn | timotimo: Earlier today I showed a possible extra trait_mod:<is> candidate to add to catch situations where things go wrong. | 23:05 | |
timotimo | decommute& | ||
jnthn | timotimo: An alternative is to look in World where traits are applied | 23:06 | |
isBEKaml | jnthn: I can't seem to run tools/contributors.pl. :( | 23:10 | |
I get this error: List form of pipe open not implemented at tools\contributors.pl line 16. | |||
line 15 actually. | |||
23:13
snearch left
|
|||
isBEKaml | 2013.01 rakudo release draft: gist.github.com/4551934 | 23:18 | |
Please proof read and let me know if anything's amiss. | 23:19 | ||
23:20
bluescreen10 left
|
|||
jnthn | The next release of Rakudo (#60), assuming the world doesn't end today, is | 23:22 | |
scheduled for February 21, 2013. | |||
...I think the reference to the end of the world doesn't need to be in this month's release ;) | |||
isBEKaml | jnthn: it's down below. ;) | 23:23 | |
jnthn | isBEKaml: There's...another doomsday conspiracy? ;) | 23:24 | |
isBEKaml | jnthn: Mayans never tire themselves out. :P | 23:25 | |
lue | more critically: line 4: January 2013 release of Rakudo Perl #60 "Sonoma" | ||
line 53: The next release of Rakudo (#60), | |||
jnthn | ay, good catch | 23:26 | |
lue++ | |||
isBEKaml | lue++ | 23:27 | |
jnthn++ | |||
lue | Also a bit of an accuracy thing, the Mayans never predicted diddly-squat (it's the modern-day nutjobs we're laughing at) | ||
isBEKaml | updated gist | 23:28 | |
ponbiki | .win 23 | 23:31 | |
jnthn | sleep & | 23:32 | |
isBEKaml | 'night, jnthn | 23:33 | |
lue: Right, I have updated my gist to say "conspiracy theorists" :) | 23:37 | ||
lue | :) | ||
23:39
benabik joined
23:41
hash_table joined
|
|||
geekosaur | what, the nutjobs haven't come up with a new prediction yet? | 23:44 | |
TimToady | are you predicting that? | 23:47 | |
timotimo | oh, jnthn went to bed :| | 23:52 | |
irclog.perlgeek.de/perl6/2013-01-16#i_6340095 - and following. so would this implementation, with a multi trait_mod:<is>(Mu:U $type, *%fail) be the best way? or should i try the levenshtein distance calculation instead? | 23:53 | ||
23:54
hash_table left,
stopbit left
|