»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:04
zwut00 left
00:10
pernatiy joined
00:12
Psyche^ joined
00:13
pernatiy left
00:14
pernatiy joined
00:15
Psyche^_ left
00:27
TimK1 joined
00:37
FROGGS left
00:45
btyler left
00:46
slavik joined
00:48
FROGGS joined
|
|||
Mouq | rn: my $thing = "mod?"; my $c := \$thing; (<->$v{$v~="!"; $thing.say})($c) | 00:54 | |
camelia | rakudo a426d5: OUTPUT«Cannot modify an immutable value in block at src/gen/CORE.setting:15639 in block at /tmp/2KMWqwpYsL:1» | ||
..niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Binding '$v' in 'ANON', cannot bind read-only value to is rw parameter at /tmp/NIVk0sHs2m line 0 (ANON @ 1)  at /tmp/NIVk0sHs2m line 1 (mainline @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3)  at /home/p6eva… | |||
Mouq | (This *is* spec, it just seems weird) | 00:58 | |
01:00
FROGGS left
01:04
dayangkun left,
FROGGS joined,
dayangkun joined
01:07
pernatiy left
01:08
pernatiy joined
01:11
btyler joined
01:12
thou left
01:15
TimK1 left
01:20
btyler left
01:22
zakame left
01:23
btyler joined
01:38
FROGGS_ joined
01:41
FROGGS left
02:05
Mouq left
02:28
FROGGS_ left
02:39
Mouq joined
02:47
FROGGS joined
02:49
lelf` joined
02:51
lelf left
02:55
Mouq left
03:02
raiph joined
03:12
abnorman left
|
|||
colomon | not ok 130 - 21st is '2' | 03:12 | |
# got: 'Set<-1818665613094757869>' | |||
# expected: '2' | |||
sigh | |||
03:13
abnorman joined
03:28
preflex left,
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex_ is now known as preflex
03:38
ggoebel joined
03:39
FROGGS left
03:55
btyler left
04:05
FROGGS joined
04:06
btyler joined
04:16
SamuraiJack joined
|
|||
dalek | ast: 9f27c56 | (David Warring)++ | S29-conversions/ord_and_chr.t: corrected and unfudged grapheme test |
04:19 | |
04:30
FROGGS left
04:37
daniel-s_ joined
04:41
daniel-s left
04:42
raiph left
04:44
FROGGS joined
04:51
FROGGS left
04:57
raiph joined
04:59
abnorman left
05:04
FROGGS joined
05:10
FROGGS left
05:15
panchiniak_ joined
|
|||
dalek | ast: 1d8f051 | (David Warring)++ | S32-str/sprintf.t: fixed 'Inf' skip |
05:16 | |
05:16
hummeleBop joined
05:23
logie left
05:24
FROGGS joined
05:35
agre joined
05:48
domidumont joined
05:53
domidumont left
05:54
domidumont joined
06:01
cognominal left
06:11
FROGGS left
06:15
FROGGS joined
06:22
btyler left
06:25
FROGGS left
06:35
domidumont left
06:37
rindolf joined
06:40
FROGGS[mobile] joined
06:46
panchiniak_ left,
panchiniak_ joined
06:48
FROGGS joined
06:50
domidumont joined
06:52
pecastro_ joined
06:54
denis_boyun joined
07:00
denisboyun joined,
denis_boyun left
|
|||
dalek | : f8375e9 | (Tobias Leich)++ | / (2 files): implement (un)pack directive "X" To make this happen both functions do not modify the args they are working on. They just keep and move a position. This allows going back when hitting "X". |
07:02 | |
07:05
kaleem joined
07:07
Noon33 joined
07:09
zakharyas joined
07:10
dmol joined
07:14
agre left
07:28
iSlug joined
07:31
denisboyun left
07:32
raiph left,
rindolf left
07:36
daxim joined
|
|||
hoelzro | tadzik: thanks! | 07:40 | |
I intend to do something similar post-workshop for Rakudo =) | |||
07:41
dmol left
07:47
pernatiy_ joined
07:50
pernatiy left
07:54
xenoterracide_ left,
xenoterracide joined
08:01
Noon33 left,
iravan joined
08:03
fhelmberger joined
08:06
daxim left,
daxim_ joined
08:12
FROGGS left
08:22
FROGGS joined
|
|||
masak | good antenoon, #perl6 | 08:29 | |
jnthn | o/ masak | 08:31 | |
08:33
lizmat_ joined
|
|||
diakopter | lizmat_: o/ | 08:33 | |
08:35
lizmat left
|
|||
FROGGS | hi everyone | 08:35 | |
08:38
agre joined
|
|||
moritz | hi | 08:48 | |
tadzik | hoelzro: sounds awesome :) | 08:52 | |
08:52
locsmif left
08:55
donaldh joined
08:57
hummeleBop left,
hummeleBop joined
09:02
rindolf joined
09:07
panchiniak_ left
09:12
rindolf left,
rindolf joined
|
|||
lizmat_ | good *, #perl6! | 09:29 | |
09:29
lizmat_ is now known as lizmat
|
|||
FROGGS | hi lizmat | 09:29 | |
09:30
xinming left,
rindolf left
|
|||
lizmat | masak, TimToady: if we would give Set and Bag its own .WHICH method, that would be a hash of its keys, would that solve your issue? | 09:30 | |
09:30
rindolf joined
|
|||
lizmat | and jnthn: or would that mess up things considerably on a lower vm level ? | 09:30 | |
in other words: can objects provide their own .WHICH if necessary ? | 09:31 | ||
09:31
xinming joined
|
|||
moritz | lizmat: yes, and they should, if they are considered value types | 09:33 | |
09:33
FROGGS[mobile] left
09:39
rindolf left
09:40
rindolf joined
09:49
iravan left
09:51
cognominal joined
09:57
dmol joined
10:00
dmol left
10:04
rindolf left
10:05
rindolf joined
10:07
jnap joined
|
|||
lizmat | $ perl6 -e 'set(set(),set()).say' | 10:11 | |
set(set()) | |||
moritz | \o/ | 10:12 | |
lizmat | Q: if I have a method WHICH in Set.pm, how can subclasses of Set use the "original" .WHICH ? | 10:13 | |
A: make WHICH a submethod ? | 10:15 | ||
jnthn | lizmat: Why'd you want subclasses not to inherit it, ooc? | 10:18 | |
lizmat | because I made KeySet a subclass of Set | 10:19 | |
jnthn | Feels odd that a parent class is a value type but a subclass not | ||
Barbara would have a disappoint, no? :) | 10:20 | ||
lizmat | sorry, don't get the reference :-) | ||
well, maybe KeySet/Set need to be moved around, that's quite possible | |||
10:21
xinming left
|
|||
jnthn | lizmat: As in, Liskov :) | 10:21 | |
10:23
xinming joined,
denis_boyun joined
|
|||
lizmat | I guess they need to be moved around then :-) | 10:24 | |
10:27
denis_boyun__ joined,
rindolf left
|
|||
colomon | Isn't having the subclass be the modifiable one the right way to do it for Liskov? Certainly you couldn't have Set derive from KeySet without violating Liskov... | 10:28 | |
10:29
denis_boyun left
|
|||
moritz | it's better than the other way round :-) | 10:29 | |
dalek | kudo/nom: 7bd19cf | (Elizabeth Mattijsen)++ | src/core/KeyBag.pm: There is no keybag() specced |
||
moritz | and iirc we do it all the time in p6 | ||
jnthn | Aye, it's more that having a parent class act like a value tyep and a subclass not feels wrong | 10:30 | |
we dont' pretend EnumMap and List are value types. | |||
lizmat | so we let KeySet be a subclass of Set | ||
jnthn | Does inheritance make sense here? | ||
lizmat | have you looked at the code in KeySet? it's only delete, at_key and KeySet and Set | 10:31 | |
jnthn | Was it actually made explicit that Set should have value semantics too? | ||
lizmat | the rest is inherited | ||
that's what I gathered from the discussion between masak and TimToady in the backlog | |||
jnthn | oh, when I scanned it I didn't immediately see that | 10:32 | |
10:33
xenoterracide left
|
|||
jnthn | and re-reading it it's still not entirely clear to me :) | 10:33 | |
dalek | kudo/nom: 044bd5b | (Elizabeth Mattijsen)++ | src/core/KeySet.pm: Need to override Set/KeySet |
10:34 | |
jnthn | Anyway, can always make it a submethod for now but it feels weird | ||
I can already see the RTs. "Why does a Set lose value semantics when I mix in to it?" :) | 10:35 | ||
lizmat | well, yes, it's not entirely clear to me, but I suggest I will be correct if I got it wrong | ||
and rip out the extra code | |||
colomon | While I admit that I don't see major problems deriving KeySet from Set, wouldn't the more perl6y way of factoring out the common code be a shared role? | 10:39 | |
jnthn | colomon: Potentially | ||
lizmat | well, that would always be an option | ||
before I started this, KeySet was more or less a copy-paste from Set | 10:40 | ||
and KeyBag was a copy/paste from Bag | |||
colomon | right | ||
lizmat | which meant a lot of code duplication | ||
jnthn | Using roles over inheritnace in CORE.setting provides a good, uh, role model for others. :) | ||
colomon | :p | ||
there already is a Baggy role, we just don't do any useful factoring with ti. | 10:41 | ||
*it | |||
jnthn | r: class Trousers is Baggy { } | ||
camelia | rakudo a426d5: ( no output ) | ||
jnthn | :D | ||
lizmat | maybe we need a Setty role | ||
jnthn | .oO( And a Getty role to go with it? ) |
10:42 | |
lizmat | please don't mention the unmentionable ;-) | ||
colomon | I certainly don't know of a good reason we have Baggy but not Setty | ||
10:43
fridim_ left
|
|||
colomon | (it's spec, as I recall) | 10:43 | |
Though that suggests to me that this isn't just an implementation detail. | |||
it's a spec issue: how do you declare an argument can be a Set or a KeySet? | 10:44 | ||
for Bag or KeyBag, the answer is Baggy | |||
for Set, it's … ? | 10:45 | ||
lizmat | there is no spec for Baggy or Setty, afaik | ||
perl6:specs liz$ ack Baggy | |||
perl6:specs liz$ ack Setty | |||
FROGGS | ack | 10:46 | |
10:48
kaleem left,
woosley left
10:49
kaleem joined
|
|||
masak .oO( if you need to advise someone not to mention something unmentionable, at least one of us has a wrong definition of "unmentionable"... ) | 10:50 | ||
lizmat | ok, I will refactor Bag/Set to Baggy/Setty roles | 10:55 | |
after doing some errands | |||
10:59
SamuraiJack left,
SamuraiJack_ joined
11:04
pmurias joined
|
|||
pmurias | what does the string ab\x005ccd mean? | 11:04 | |
11:06
brrt joined
|
|||
moritz | nr: say "ab\x005ccd" | 11:06 | |
camelia | rakudo a426d5, niecza v24-95-ga6d4c5f: OUTPUT«ab峍» | ||
moritz | nr: say "ab\x005ccd".chars | ||
camelia | rakudo a426d5, niecza v24-95-ga6d4c5f: OUTPUT«3» | ||
moritz | pmurias: seems it's the same as "ab\x{5CCD}" | ||
.u 峍 | 11:07 | ||
yoleaux | No characters found | ||
pmurias | hmm, it's seems to be converted to \ by nqp/t/qregex/01-qregex.t | ||
moritz | that one might well do something special with it | 11:09 | |
pmurias | nqp: say("\x{005c}") | 11:10 | |
camelia | nqp: OUTPUT«Unrecognized backslash sequence: '\x' at line 2, near "\\x{005c}\")"current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)» | ||
pmurias | nr: say("\x{005c}") | ||
camelia | rakudo a426d5: OUTPUT«===SORRY!===Unrecognized backslash sequence: '\x'at /tmp/lNY_RwpkGC:1------> say("\⏏x{005c}")Confusedat /tmp/lNY_RwpkGC:1------> say("\x{005⏏c}") expecting any of: whitespaceOther potential … | ||
..niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===Unrecognized backslash sequence: '\x' at /tmp/44nrprrwAZ line 1:------> say("\x⏏{005c}")Use of uninitialized value in string context at /home/p6eval/niecza/boot/lib/CORE.setting line 1355 (warn @ 5) … | |||
pmurias | is there a way to encode a character by hex in nqp? | 11:11 | |
moritz | oh, I think it's \c[...] in Perl 6, it was \x{...} in p5 | 11:12 | |
oh, \c for decimal, \x for hex | 11:13 | ||
nr: say "\x[005c]" | |||
camelia | rakudo a426d5, niecza v24-95-ga6d4c5f: OUTPUT«\» | ||
moritz | nqp: say("\x[005c]") | ||
camelia | nqp: OUTPUT«\» | ||
pmurias | thanks | 11:14 | |
11:15
jnap left
11:21
benabik joined
11:28
kaleem left,
kaleem joined
11:39
cogno joined
11:44
cogno left
11:45
spider-mario joined
|
|||
timotimo | the "perl6 is dead, long live perl5" talk just landed on youtube | 11:53 | |
tadzik is waiting for LT day 2, so he can see himself shouting | 11:55 | ||
timotimo | shout, shout, let it all out | ||
these are the perls i can't do without~ | 11:56 | ||
tadzik | haha | ||
I'm talking to you, haha | |||
moritz | timotimo: that talk didn't touch Perl 6 very much | ||
tadzik | putting 6 or 7 in a talk name is like saying "cloud" or "webscale" or "nosql" | 11:57 | |
timotimo | do you know the chrome plugin that replaces "the cloud" with "my butt" everywhere? | ||
jnthn | yes :) | ||
tadzik | haha | 11:58 | |
jnthn | "Store your data in my butt!" | ||
tadzik | I made one of those a year back | ||
timotimo | your data is absolutely secure, because we store it in my butt | ||
tadzik | we had this Amber Gold company, which promised people a lot of money and then went donw | ||
jnthn | My butt can scale to all your needs | ||
tadzik | and the entire media was after it, basically repeating the message "people are naive" over and over | ||
timotimo | oh my | ||
tadzik | so I wrote a plugin to replace it all with Alpen Gold, a chocolate brand | 11:59 | |
made reading news so much better | |||
jnthn | haha | ||
timotimo | this "log how data is being touched" is kind of cute | 12:00 | |
should be pretty easy to do with perl6, too, right? | |||
tadzik | once again, chocolate fixes everything. Lessons learned, ms Troi | ||
timotimo | override hash, for example, and log all changes through the postcircumfixes? | ||
tadzik | with callers | ||
aww yiss | |||
FROGGS | jnthn: as on your request: www.youtube.com/watch?v=fbGkxcY7YFU | 12:01 | |
:P | |||
tadzik | in the cloud! | 12:02 | |
12:03
skids left
|
|||
tadzik | aaaaand I need eyebleach | 12:04 | |
eyebleach.com/ NSFW | |||
timotimo | kidbleach.info/ - NNSFW | 12:05 | |
FROGGS | *g* | 12:06 | |
timotimo | FROGGS: is TIE something that could be done with v5 without you going absolutely insane? | 12:08 | |
FROGGS | timotimo: no idea yet | ||
dalek | kudo-js: e6af0d6 | (Pawel Murias)++ | / (2 files): Pass rx_charclass. Implement enumcharlist and conj rxsubtypes. |
||
timotimo | pmurias: yay for sane regexes on javascript! ;) | ||
FROGGS | timotimo: I never used it in Perl 5, so I'm not sure what it does and how I can fake it | 12:09 | |
tadzik | I think I'll add rakudo-js to rakudobrew | ||
FROGGS | tadzik++ | ||
timotimo | it's currently only nqp-js at the moment :( | ||
tadzik | doesn't matter, still amazing | 12:10 | |
actually, mario can wait for tomorrow. Today's the day to give rakudobrew more love | |||
12:10
kivutar joined
|
|||
colomon | rakudobrew? | 12:10 | |
colomon goes to github... | |||
pmurias | timotimo: they are not entirely sane yet ;) , 3 qregex tests left | 12:11 | |
timotimo | mario == playing mario music on your awesome piano? | ||
tadzik | timotimo: no, but that's a good idea too :) | ||
timotimo | :D | ||
tadzik | timotimo: I started writing games recently | ||
timotimo | oh, neato | ||
tadzik | mario is very far from done, but asteroids are neat and playable | ||
pmurias | in p6? | ||
timotimo | from my last stay at my parent's house i brought home an "antique" yamaha electronic keyboard | ||
tadzik | no, in C | ||
timotimo | i'm hoping i'll be able to learn a few nice tunes. i've had my eyes on the "crashed frigate orpheon" from metroid prime for a long time | 12:12 | |
tadzik | I started mario in C++ though | ||
timotimo: as far as I know, yamahas are practically indestructible | |||
FROGGS | tadzik: you used box2d? | ||
tadzik | mine is also yamaha | ||
FROGGS: no, I'm writing everything myself | |||
FROGGS | k | ||
timotimo | there really was very not much perl6 in that talk :| | 12:14 | |
tadzik | I'll probably use it for something later, to see how many things I got totally wrong :) | ||
timotimo | so i conclude: the rumors of perl6's death are vastly overstated ... or something | ||
colomon | r: my $s = set 2; say $s.Str | 12:16 | |
timotimo | also, no hint whatsoever that perl6 is sucking up lots of perl community creativity and stuff | ||
camelia | rakudo 044bd5: OUTPUT«Set<-796884995>» | ||
colomon | r: my $s = set 2; say $s | ||
camelia | rakudo 044bd5: OUTPUT«set(2)» | ||
colomon | r: my $s = set 2; my $t = set 2; say $s.Str; say $t.Str | 12:17 | |
camelia | rakudo 044bd5: OUTPUT«Set<-2068370265>Set<-2073328463>» | ||
colomon | :( | ||
tadzik | hmm | 12:18 | |
or maybe rakudobrew should really be a plenv plugin | |||
12:19
FROGGS left
12:21
benabik left
|
|||
colomon has somehow completely broken one of the ABC test files in Rakudo. (It still works fine in Niecza.) | 12:23 | ||
tadzik | did github remove the messaging feature? | ||
timotimo | long time ago | ||
tadzik | bah | 12:24 | |
12:25
FROGGS joined
|
|||
tadzik | now the only thing that comes to my mind when I want to communicate with the author is to open an issue in his repo | 12:26 | |
timotimo | i don't like it, either | ||
tadzik | I think I'll do just that | 12:27 | |
colomon | this bug is quite purplexing | 12:28 | |
perplexing | |||
pmurias | why did they remove the messaging feature? random ui changes? | ||
colomon | Purple Xing | ||
12:30
benabik joined
|
|||
colomon | add three lines of comments, code no longer compiles | 12:30 | |
well, no longer runs | |||
no error message | |||
pmurias | tadzik: re mario/asteroids you should combine the games together so that every time you collide with an asteroid you crashland on it and you have to beat a mario level to survive ;) | 12:31 | |
tadzik | :D | ||
that's a cool idea :) | |||
timotimo | tadzik: yamahas are especially not destructible by putting it into a corner and waiting 15 years | 12:35 | |
tadzik | :) | ||
timotimo | i think the device itself is about 20 years old | ||
tadzik | which you can't really say about analog pianos | ||
timotimo | yeah | 12:36 | |
tadzik | there's one in my family home, it's standing between a radiator and a fireplace | ||
timotimo | oh god | ||
tadzik | it's not the best place to put a piano in | ||
timotimo | not at all | ||
my parents have one as well, which never got near enough play time sadly (i'm a bit to blame for that as well) | |||
tadzik | it's something that comes with time, I think | 12:37 | |
I was learning piano for 6 years when I was in primary/secondary school | |||
after those 6 years, I was tired, didn't like it anymore and gave up on it | |||
it's only now, what is it... | |||
8 years later? | |||
when I started appreciating it | |||
timotimo | i conclude you're at least 14 years old | 12:38 | |
tadzik | unless I miscalculed something, yes :) | ||
I started playing when I was 9 or 10 | 12:39 | ||
12:39
PacoLinux joined
|
|||
tadzik | so I did miscalcule something | 12:39 | |
14 + any(9,10) is not quite 22 | |||
12:41
rindolf joined
|
|||
moritz | and you are not quite in kansas :-) | 12:41 | |
tadzik | I feel like I'm missing some reference :) | 12:42 | |
moritz | wizard of oz | ||
tadzik | oh. I never actually read it, I think | 12:43 | |
moritz | just watch the movie :-) | 12:47 | |
tadzik | heh :) | ||
I think I fell asleep last time I tried | |||
but it was late, to my defense | |||
12:47
FROGGS left
|
|||
mathw | o/ | 12:49 | |
tadzik | \o | ||
mathw, mathw | 12:50 | ||
you have a t430, right? | |||
mathw | yup | 12:51 | |
12:51
denis_boyun__ left
|
|||
tadzik | do you have an idea where I could get a spare S key? | 12:52 | |
mathw | umm | ||
no | |||
tadzik | dang | ||
mathw | how did you manage to need a spare S key already/ | ||
tadzik | it broke | 12:53 | |
the mechanism, probably | |||
but it keeps "jumping off | |||
" | |||
12:53
cogno joined,
jnap joined
|
|||
moritz | tadzik is good at breaking key(board)s, it seems :-) | 12:53 | |
tadzik | apparently, yes :) | ||
I'm apparently a hard-hitter | 12:54 | ||
those thinkpad keyboards are hardly durable | |||
masak | rn: multi perms([]) { [] }; multi perms(@ [$h, *@t]) { my @tp = perms @t; @tp.map({ (0..@t).map: -> $i { insert_before $h, $i, $_ } }) }; sub insert_before($e, $i, @l) { [@l[^$i], $e, @l[$i..*]] }; say .join for perms <1 2 3> | ||
mathw | hmm | ||
that's not good :( sorry I can't help | |||
I need my S key | |||
camelia | rakudo 044bd5: OUTPUT«123213231132312321» | ||
..niecza v24-95-ga6d4c5f: OUTPUT«(timeout)» | |||
tadzik | heh :) | ||
masak | \o/ | ||
masak wonders what's up with Niecza | |||
mathw | It's handy when I'm typing things explaining about aikido techniques like shomen uchi shomen irimi nage, which wouldn't be the same at all without the 's'. | 12:55 | |
masak: timeout? hmm. That does look a bit wrong | |||
masak | mathw: yes, I'm pretty sure the correct answer is what Rakudo printed, not a timeout. | ||
mathw | :) | 12:56 | |
tadzik | ahahaha. On ebay, a single key costs $10 | 12:58 | |
mathw | you would expect the control flow to be the same for both | ||
12:58
pernatiy_ left
13:00
cogno left
|
|||
mathw | tadzik: hurrah for ebay | 13:01 | |
13:01
kbaker joined
13:02
hummeleBop1 joined
13:04
hummeleBop left
13:05
btyler joined
|
|||
dalek | kudo-js: 5677621 | (Pawel Murias)++ | / (3 files): Pass rx_backtrack.t Implement rxsubtype alt, nqp::nfarunalt. |
13:07 | |
13:07
ajr joined
13:08
ajr is now known as ajr_
|
|||
masak | plan for today: finish up some t3 after-work. start in on t4 reviews. | 13:09 | |
13:09
benabik left
|
|||
colomon is completely mystified by the ABC thing -- went from utter failure to complete passing under Rakudo with no significant change to the code. But it still seems to fail under Rakudo on his Linux box. | 13:10 | ||
13:12
lelf`` joined,
btyler left
13:13
lelf` left
13:14
PacoLinux left
13:17
lowpro30 joined,
ajr_ left
13:19
ajr joined,
PacoLinux joined,
ajr is now known as Guest90509,
Guest90509 is now known as ajr_
13:20
GlitchMr joined
|
|||
masak | std: my $n = 1; my $p = 2; say "$n->$p" | 13:21 | |
camelia | std 27326bc: OUTPUT«===SORRY!===Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block at /tmp/fuGNoL_DCZ line 1:------> my $n = 1; my $p = 2; say "$n->⏏$p"Parse failedFAILED 00:0… | 13:22 | |
13:22
xinming left
|
|||
timotimo | hm, that's kinda unhelpful, isn't it? | 13:22 | |
masak | TimToady: I'm thinking whether these types of errors shouldn't be suppressed in string interpolations. | ||
TimToady: so that '->' simply means "interpolation ends here". | |||
std: my $n = 1; my $p = 2; say "$n\->$p" | 13:23 | ||
camelia | std 27326bc: OUTPUT«ok 00:00 43m» | ||
masak | workaround so far. | ||
moritz | std: my $n = 1; my $p = 2; say "{$n}->$p" | ||
camelia | std 27326bc: OUTPUT«ok 00:00 43m» | ||
13:24
fhelmberger left,
xinming joined
|
|||
flussence | +1 for not doing that | 13:31 | |
inside strings is the wrong place to be strict | |||
tadzik | mathw: ha, victory! imgur.com/MBne7UM | 13:33 | |
apparently the mechanism is intact, only the keycap is broken | |||
timotimo | that's a weird place to put it :) | ||
donaldh is bisecting 5 lines of code to identify the cause of: Cannot call Numeric; no signatures match | |||
timotimo got a new keyboard the day before yesterday | 13:34 | ||
colomon | panda install ABC fails, but latest ABC source proved manually works just fine. :\ | ||
tadzik | colomon: precomp? | ||
timotimo | donaldh: are you in a place where you can --ll-exception and get a better traceback? | ||
colomon | donaldh: what do the 5 lines look like? | ||
tadzik: maybe? It's failing in the testing stage, though. | |||
tadzik | timotimo: you have to get your priorities straight :P | ||
colomon: yeah, it sometimes is so | |||
timotimo | tadzik: huh? | ||
tadzik | timotimo: print screen is way more important than an s :) | 13:35 | |
masak | tadzik: but, but... how will you now print your screen? :P | ||
timotimo | hehe | ||
tadzik | masak: easy. Let me show you... | ||
timotimo | anyway. the new keyboard in my thinkpad makes it feel like i have a new thinkpad! :D | ||
donaldh | it's this line: while $res.elems < $bufsize && $buf.elems | ||
colomon | tadzik: and now panda installs it without issues. :\ | 13:36 | |
timotimo | so $bufsize is something that can't numeric? | ||
donaldh | comment out the && $buf.elems and CORE.setting compiles. | ||
tadzik | masak: imgur.com/CIXGP9f tada! | ||
colomon: oh | |||
colomon | tadzik: no changes whatsoever. | ||
tadzik | donaldh: is buf actually a perl6 object? | ||
timotimo | i'm hoping the difference isn't in while ($res.elems < $bufsize) && $buf.evems | ||
colomon | tadzik: I don't think panda is to blame. | 13:37 | |
tadzik | *relief* :) | ||
colomon | tadzik: I think there's something wonky going on in Rakudo. | ||
donaldh | whole block (oh 6 lines) : my $res = buf8.new(); | ||
repeat { | |||
timotimo | tadzik: now you're just messing with up | ||
us | |||
donaldh | my $buf := buf8.new(); | ||
nqp::readfh($!PIO, $buf, nqp::unbox_i($bufsize - $res.elems)); | 13:38 | ||
masak | tadzik: :D | ||
donaldh | $res ~= $buf; | ||
} while $res.elems < $bufsize && $buf.elems; | |||
tadzik | well, the S doesn't work in the new place either | ||
masak | I guessed so. | ||
colomon | donaldh: check $bufsize.WHAT ? | ||
donaldh | colomon: method read(IO::Socket:D: Cool $bufsize as Int) { | 13:39 | |
colomon | "as Int" works? | ||
donaldh | Like I said, this is accepted : } while $res.elems < $bufsize; # && $buf.elems; | 13:40 | |
colomon | oh | ||
donaldh | i.e comment the && $buf.elems | ||
colomon | r: say 1 < True | ||
timotimo | so is it doing $res.elems < ($bufsize && $buf.elems)? | ||
camelia | rakudo 044bd5: OUTPUT«False» | ||
colomon | timotimo: nope, that would be okay too | ||
timotimo | mhm | ||
colomon | seems like there must be something funky happening in $buf.elems? | 13:41 | |
13:41
PacoLinux left
|
|||
colomon | just say $buf.elems before the while statement? | 13:41 | |
13:41
btyler joined
|
|||
colomon | r: say (1 && 45).WHAT | 13:42 | |
camelia | rakudo 044bd5: OUTPUT«(Int)» | ||
13:42
lowpro30_ joined
|
|||
dalek | nda: 8674991 | (Donald Hunter)++ | / (6 files): Add support for building and installing jars for JVM. |
13:43 | |
nda: 4547e96 | tadzik++ | / (6 files): Merge pull request #55 from donaldh/jvm-support Add support for building and installing jars for JVM. |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Display.html?id=55 | ||
timotimo | something with huge legs just landed outside my window and i only see a small part of its body o_O | ||
13:45
hummeleBop1 left,
brrt left
|
|||
mathw | tadzik: hahaha, nice one | 13:45 | |
tadzik | finally some use for this big print screen key | ||
13:46
lowpro30 left
|
|||
donaldh | r: gist.github.com/donaldh/4ada7d00c4d64a4efc15 | 13:47 | |
camelia | rakudo 044bd5: OUTPUT«===SORRY!=== Error while compiling /tmp/EgCTAur_WeTwo terms in a rowat /tmp/EgCTAur_We:1------> https⏏://gist.github.com/donaldh/4ada7d00c4d64 expecting any of: argument list postfix infix stopper… | ||
donaldh | I thought camelia could handle gists ? | 13:48 | |
arnsholt | They changed the URL schema a while back. Might be that camelia wasn't updated | 13:49 | |
timotimo | i think it can only handle public gists | 13:50 | |
donaldh | hmmm. Moritz used it yesterday | ||
timotimo | which doesn't really make sense to me | ||
donaldh | oh. | 13:51 | |
dalek | rlito: e4182ba | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - TODO update |
||
timotimo dislikes spamming his list of gists with such small thingies | |||
pmurias | maybe the build system broke? | ||
sorry, incorrectly scrolled window | 13:52 | ||
donaldh | I put the block in a separate file and: Variable '$buf' is not declared | ||
which is nice 'n' self explanatory :D | |||
only one INET test to go on JVM … Failed 1/41 subtests | 13:59 | ||
14:01
cognominal__ joined
14:02
shinobicl_ joined
14:04
cognominal left
14:07
thou joined
14:09
logie joined
14:15
PacoAir joined
|
|||
colomon | r: { my $buf = 1; } while $buf; say "eh?" | 14:16 | |
camelia | rakudo 044bd5: OUTPUT«===SORRY!=== Error while compiling /tmp/7heceTg4EsVariable '$buf' is not declaredat /tmp/7heceTg4Es:1------> { my $buf = 1; } while $buf⏏; say "eh?" expecting any of: postfix» | ||
colomon | r: { my $buf = 1; } while $buf.elems; say "eh?" | ||
14:16
kaleem left
|
|||
camelia | rakudo 044bd5: OUTPUT«===SORRY!=== Error while compiling /tmp/auMVABUy1cVariable '$buf' is not declaredat /tmp/auMVABUy1c:1------> { my $buf = 1; } while $buf.elems⏏; say "eh?" expecting any of: method arguments» | 14:16 | |
colomon | r: repeat { my $buf = 1; } while $buf.elems; say "eh?" | 14:17 | |
camelia | rakudo 044bd5: OUTPUT«===SORRY!=== Error while compiling /tmp/b7fDQHNolFVariable '$buf' is not declaredat /tmp/b7fDQHNolF:1------> repeat { my $buf = 1; } while $buf.elems⏏; say "eh?" expecting any of: method arguments» | ||
timotimo | donaldh++ :) | ||
colomon | donaldh: huh. why didn't the original block get that error? | 14:18 | |
tadzik | maybe it was declared somewhere in the outer scope | ||
lizmat | r: my role Foo { ... }; class A does Foo {} # seems we can't compose with a stubbed role | ||
camelia | rakudo 044bd5: OUTPUT«===SORRY!===None of the parametric role variants for 'Foo' matched the arguments supplied.Null PMC access in get_pmc_keyed()» | ||
14:20
thou left
|
|||
lizmat | afk again& | 14:20 | |
14:21
FROGGS joined
14:26
btyler left
14:28
spider-mario left
|
|||
masak submits rakudobug | 14:32 | ||
FROGGS | masak: I'm gisting a nqp::(un)pack proposal now... | 14:33 | |
donaldh | colomon: Errors always seem to be extremely obscure when compiling the CORE.setting | 14:34 | |
14:36
jnap1 joined,
jnap left
14:38
spider-mario joined
14:53
dmol joined
|
|||
pmurias | FROGGS: is nqp::(un)pack a bottleneck? | 14:53 | |
FROGGS | pmurias: there is no such thing yet, so no, no bottle neck :o) | 14:54 | |
14:54
raiph joined
|
|||
pmurias | why do we need that? | 14:54 | |
FROGGS | pmurias: rakudo's (un)pack can only just a bit atm, and I need a Perl 5 compatible pack/unpack for v5 | 14:55 | |
pmurias | you should have your own setting for v5 | 14:56 | |
FROGGS | so, I propose to have a single (un)pack in nqp | ||
pmurias | rather then pushing stuff into nqp | ||
FROGGS | pmurias: we did the same for sprintf, and it was the best thing would could do | ||
pmurias: the other way would be to make rakudo's (un)pack complete, and use it from v5, which would the be slower for both, rakudo and v5 | 14:57 | ||
pmurias | what I mean is you should have your own p5 stuff rather then using rakudo's things | 14:58 | |
14:59
btyler joined
|
|||
FROGGS | pmurias: why? | 14:59 | |
just for the sake of ode duplication? | 15:00 | ||
code* | |||
pmurias | don't some of the p5 core functions behave slightly differently? | ||
FROGGS | pmurias: sure, and exactle these *some function* I reimplement in v5 | 15:01 | |
15:02
btyler_ joined
|
|||
FROGGS | but I'll never just copy over code unmodified when I dont have to | 15:02 | |
pmurias | something like substr("xxxyyyz",-4,-1) won't work using the Perl6 substr | 15:04 | |
GlitchMr | pmurias, *-4, and *-1. | 15:05 | |
You have to specificially mark you want from the end. | |||
In fact: | |||
rn: substr("xxxyyyz",-4,-1) | |||
camelia | rakudo 044bd5: OUTPUT«Start argument to substr out of range. Is: -4, should be in 0..Inf; use *-4 if you want to index relative to the endcurrent instr.: 'throw' pc 388877 (src/gen/CORE.setting.pir:164759) (src/gen/CORE.setting:10164)called from Sub 'sink' pc 424937 (src/gen/CORE.sett… | ||
..niecza v24-95-ga6d4c5f: ( no output ) | |||
GlitchMr | Rakudo says what you should do instead. | 15:06 | |
pmurias | GlitchMr: I'm pointing out that perl5 code can't use the Perl 6 substr, not trying to do that | 15:07 | |
GlitchMr | But I guess in Perl 5 mode, instead of warning, it could rerun the function with correct arguments. | ||
Perl 5 mode is already sort of difficult. | |||
FROGGS | pmurias: for this one it would pass the whatever implicitly | ||
"would", because NYI | |||
GlitchMr | How would you represent *-1. | 15:08 | |
15:08
btyler left,
btyler_ left
|
|||
FROGGS | well, I would produce the same ast as *-1 does | 15:08 | |
GlitchMr | And please, something like Perl6::substr "xxxyyyz", sub { shift - 4 }, sub { shift - 1 } would be annoying. | ||
FROGGS | hmm? | 15:09 | |
GlitchMr | *-1 is sub($arg) { $arg - 1 } | ||
But then, I guess the issue exists only when calling Perl 6 APIs from Perl 5. | 15:10 | ||
In Perl 5, you could simply use Perl 5 substr(), which will copy behavior of Perl 5 substr(). | |||
FROGGS | well, the common case is that you dont call Perl6's substr from v5 | ||
GlitchMr | As long it's possible, it sounds fine. | ||
And in this case, it would be possible using subroutines. | 15:11 | ||
FROGGS | I mean, you can call methods on a string in v5 for example | ||
GlitchMr | Yes. | ||
I wonder, if you can, Perl 5 string should be instance of Callable. | |||
When being in Perl 6 code. | 15:12 | ||
FROGGS | there is nothing like a Perl 5 string | ||
it is just Str | |||
GlitchMr | Well, Perl 5 SV. | ||
FROGGS | I guess you are talking about diakopter++ 's plan | 15:13 | |
15:14
btyler joined,
denis_boyun joined
|
|||
GlitchMr | Perhaps something like Perl5::Scalar? | 15:15 | |
Except Scalar is too generic. | |||
Because it also includes references. | |||
Also, it would be great if Perl 5 datatypes would work well with Perl 6. | |||
Even something like Perl5::Glob. | |||
15:16
shinobicl_ left
|
|||
GlitchMr | And you could use Str methods, even if only on Perl 6 side. | 15:16 | |
But there is no problem with that, there is already Cool role. | 15:17 | ||
FROGGS | I'm not sure I need a Perl5::Scalar or some such, but my plan is to get something in place to handle Typeglobs, so we'll see | ||
GlitchMr: there is no perl 5 datatype yet, so if you declare a variable/package in v5, you can use it in Perl 6 land, because it is a Perl 6 type | 15:19 | ||
15:21
skids joined,
denis_boyun left
|
|||
TimToady | people keep acting like this identity/.WHICH thing of Sets vs KeySets is unspecced. please see perlcabal.org/syn/S02.html#Immutable_types and perlcabal.org/syn/S02.html#Mutable_types | 15:22 | |
15:26
[particle] joined
15:31
REPLeffect joined
|
|||
GlitchMr | rn: say now - now | 15:31 | |
camelia | niecza v24-95-ga6d4c5f: OUTPUT«-0.00014805793762207031» | ||
..rakudo 044bd5: OUTPUT«-0.01350395» | |||
GlitchMr | 0.01 seconds for simple substraction? | 15:32 | |
subtraction* | |||
TimToady | or noise | ||
jnthn | Highly doubt it's the subtraction. | ||
TimToady | rn: say now - now | ||
camelia | rakudo 044bd5: OUTPUT«-0.01257903» | 15:33 | |
..niecza v24-95-ga6d4c5f: OUTPUT«-0.00014805793762207031» | |||
TimToady | but seems pretty consistent | ||
jnthn | r: say now.WHAT | ||
camelia | rakudo 044bd5: OUTPUT«(Instant)» | ||
TimToady | maybe now is very slow on rakudo | ||
FROGGS | TimToady: how do you think about pack/unpack/sprintf? should they be as Perl5-ish as possible? (without loosing sanity) | ||
GlitchMr | rn: my $now = now; my $now2 = now; say $now - $now2; | ||
camelia | rakudo 044bd5: OUTPUT«-0.0227672» | ||
..niecza v24-95-ga6d4c5f: OUTPUT«-0.00016498565673828125» | |||
FROGGS | TimToady: or do you have something else in mind? | ||
GlitchMr | rn: my $now = now; my $now2 = now; say $now - $now2; | ||
camelia | niecza v24-95-ga6d4c5f: OUTPUT«-0.00015687942504882813» | ||
..rakudo 044bd5: OUTPUT«-0.02065817» | |||
GlitchMr | It's even slower without subtraction. | 15:34 | |
jnthn | now does from-posix, which is a bunch of untyped code searching through the tai leap second stuff | ||
15:34
shinobicl_ joined
|
|||
TimToady | FROGGS: eventually I'd like to treat pack/unpack templates as a sort of assembly language, and compile a struct definition down to it for serializing, and then we'd have a more standard way to define eqv | 15:35 | |
so anything that's not inconsistent with that is fine | |||
FROGGS | hmmm, I fear I can't imagine what you meant by the first line | 15:38 | |
TimToady | other than that, the whole point of pack/unpack is sort of serial violation the type system, so I'm not sure how you'd define "insane" there :) | ||
but I'm okay with supporting most of what P5 does | 15:39 | ||
FROGGS | by (in)sanity I mean the way we factor the support of int sizes | ||
TimToady | well, int sizes are a storage type, so unpack doesn't have to return anything other than Int | 15:40 | |
FROGGS | I guess a fixed width perl directive/letter would be fine | ||
yeah, but when you pack something you need to know how many bytes it should take | |||
TimToady | and that's where it'd be nice to be able to turn a class repr into a pack format | 15:41 | |
pack formats and struct defs are roughly isomorphic on this level | 15:42 | ||
so it'd be nice not to have to duplicate that info | |||
15:43
pernatiy joined,
domidumont left
|
|||
dalek | kudo/nom: 9b49d83 | jnthn++ | src/core/tai-utc.pm: Force leap-second data to be a constant Parcel. Should save a little bit of time, since now it's just a constant table lookup. |
15:43 | |
donaldh | I've just noticed that IO::Socket.recv is not specced | ||
TimToady | I think of the pack format as the "assembly language" end of it | ||
donaldh | Is recv a spec omission, or should it be removed from rakudo? | 15:44 | |
TimToady | jnthn: sure would be nice if they abolished leap seconds for a century or so... | ||
donaldh is busy fixing binary recv on JVM, so is interested if its worth his while | |||
15:45
zakharyas left
|
|||
jnthn | TimToady: I'm not entirely sure I see the point of them... :) | 15:45 | |
masak | today as I was using the sprintf format, I thought "why the heck is this a string language?" | 15:47 | |
jnthn | masak: The 1790s... :P | 15:48 | |
um | |||
masak | :P | ||
jnthn | 1970s :) | ||
masak | yeah, those bloody Jacquard looms ruined everything for centuries to come :P | ||
TimToady | masak: well, at least if it's a constant, we could compile it to something assemblyisher. | 15:49 | |
masak .oO( sprintf "%s %s %s", "HOME", "SWEET", "HOME" ) | |||
TimToady | but yeah, you want recursive definition like a struct can do | ||
gee, you really want an inside-out grammar... | |||
masak | TimToady: my point isn't exactly to get rid of the string format. but *only* having a string format feels wrong. | ||
TimToady: especially when you start constructing things -- then you want something akin to prepared SQL statements. at the very least. | 15:50 | ||
TimToady | yes, strings can be a chokepoint | ||
FROGGS | masak: the other day I was thinking: we have cryptic regexes and beautiful-full-blown grammars, why can't we have both for sprintf/pack/unpack | ||
masak | TimToady: "we could compile it to something" feels like a patch on something broken, rather than a re-think. | ||
TimToady | strings are more for the convenience of programmers | ||
masak | FROGGS: yes, that's the path we should be heading. | ||
TimToady | .oO(Programming as an Activity) |
||
FROGGS | so, a string that is almost not readable and something more verbose | ||
masak | TimToady: well, it's hiding what should be a more first-class citizen inside of strings, just like Perl 6 stopped doing with regexes. | 15:51 | |
TimToady: the symptoms are there: you can compile the program with a faulty sprintf format, for example. | |||
FROGGS | masak: so to have both then? because only having the verbose thing would make some ppl cry I think | ||
(or scream and rant) | |||
pmurias | FROGGS: it should be possible to do unpacking with grammars | ||
TimToady | sure--I'm also sure we could replace it with something quite verbose and impenetrable to newbies | 15:52 | |
masak | TimToady: there's no checking between the format string and the number and types of the other arguments. | ||
jnthn | masak: Still, worse is better... :P | ||
masak | yes, we should probably have two local maxima -- one "good ol' sprintf", and one we actually like :) | ||
FROGGS | pmurias: yes, that is what grammars usually do basically - pack and sprintf with grammars is the interesting part | ||
TimToady | and we already have an implementation of the other from jnthn++ | ||
masak: we've already refactored sprintf into individual .fmt calls, which is one bit of it | 15:53 | ||
jnthn | Huh? What'd I do? :P | ||
TimToady | generative grammars | 15:54 | |
jnthn | Oh | ||
pmurias | FROGGS: generalizing pack and sprintf seems like a templating engine | ||
jnthn | Yes, I'm still not sure if that code is an example of genius or insanity :P | 15:55 | |
TimToady | so pack can take either a string argument and "eval" it, or some other type that can be traversed to do the same thing, and more | ||
FROGGS | but the structure one has to supply for generative grammars is almost not writeable by hand | ||
so we need some kind of class/method thing like grammars, that is what the h4ck0rs are used to | 15:56 | ||
TimToady | I know, let's just write Perl 6 using S-EXPRs... | 15:57 | |
diakopter | /o\ | ||
15:58
iSlug left
|
|||
diakopter | masak: I seem to recall that stubbed role thing being reported before | 15:58 | |
16:00
thou joined
|
|||
TimToady is now imagining a grammar containing % sprintf directives, and having PTSD flashbacks to scanf | 16:00 | ||
FROGGS | hehe | ||
are there languages outside that have something we can steal from? | 16:01 | ||
FROGGS only knows crappy languages like PHP | |||
TimToady | you mean, without introducing S-EXPRs? :) | ||
pmurias | FROGGS: for parsing or generating? | ||
FROGGS | generation of strings/bufs | ||
pmurias | template toolkit? | ||
FROGGS | taking an array of args | ||
I'll look into it after dinner | 16:02 | ||
pmurias | or the bazillilon of other template engines on cpan | ||
but it would be best if something like that doesn't get put into the setting (stays a module) | |||
TimToady | pmurias: unless it becomes the underlying engine for pack, sprintf, and class serialization :) | 16:03 | |
pmurias | we now need an excuse to put an ORM into the core ;) | 16:04 | |
masak | diakopter: quite possibly. if you find the old one, we'll merge. | 16:05 | |
jnthn | .oO( tbh, I'd just merge the tickets... ) |
||
masak | or that. | 16:06 | |
jnthn | I'm seeing if I can get it to report something more useful at the moment :) | ||
...apparently not on first attempt :/ | 16:07 | ||
r: proto foo() { * }; foo() | 16:09 | ||
camelia | rakudo 044bd5: OUTPUT«===SORRY!===Null PMC access in get_pmc_keyed()» | ||
jnthn | aha | ||
That's the underlying reason for the NPMCA | |||
hmm | 16:10 | ||
16:11
hummeleBop joined
|
|||
diakopter | wut. there are a lot of tickets. | 16:11 | |
diakopter feels proud to be mentioned in 179 tickets | 16:14 | ||
jnthn | r: say nqp::isconcrete(nqp::null()) | ||
camelia | rakudo 9b49d8: OUTPUT«1» | ||
diakopter | oh. out of 3,260' | 16:15 | |
O_O | |||
jnthn | Ah...and on JVM that gives 0. | ||
diakopter | masak: weeuh. | ||
weeuhd. | |||
I promise I've reported that one before to masakbat | 16:16 | ||
bot, even | |||
diakopter goes to see if clogsearch is working | |||
speaking of... masak I consider this a reportable bug irclog.perlgeek.de/perl6/2013-08-29#i_7515217 | 16:17 | ||
masak looks | 16:18 | ||
jnthn | grrr | ||
Creating library nqp_dyncall_ops.lib and object nqp_dyncall_ops.exp | |||
CStr.obj : error LNK2001: unresolved external symbol Parrot_str_new_from_cstring | |||
nqp_dyncall_ops.dll : fatal error LNK1120: 1 unresolved externals | |||
Latest NQP doesn't seem to want to build on Windows? | |||
timotimo | i don't have access to mail right now, could somebody please file this? irclog.perlgeek.de/perl6/2013-09-04#i_7539373 | ||
diakopter | masak: 16,590 tickets in the perl5 queue.. | ||
masak | hrm. I suggest someone who has JVM's rakudo built already reproduce irclog.perlgeek.de/perl6/2013-08-29#i_7515217 locally and then report it. | 16:19 | |
diakopter: something to aspire to ;) | |||
diakopter | well theirs is 14 years old.. | ||
16:20
lowpro30_ left
|
|||
pmurias | jnthn: the iscclass op can be called with negative arguments? | 16:20 | |
masak | diakopter: do we have more bugs created per time unit than the perl5 queue? | 16:21 | |
s/bugs/tickets/ | |||
jnthn | pmurias: Which argument? :) | ||
diakopter | well, ours is 10 years old.. | ||
so, noe hardly | |||
not hardly | |||
16:22
denis_boyun joined
|
|||
jnthn | pmurias: on JVM, iscclass does: | 16:22 | |
if (offset < 0 || offset >= target.length()) | |||
return 0; | |||
16:23
lowpro30 joined
|
|||
TimToady | Q: Is Perl 6 sucking up all the developer time from Perl 5? A: No, it's Perl 5 that is sucking up more than its fair share... | 16:23 | |
timotimo | huh? | ||
diakopter | at yapc::eu that question was posed | ||
timotimo | whose answer is that? | 16:24 | |
diakopter | TimToady's tongue-in-teeth anwer | ||
answer | |||
jnthn | Oh ffs. Parrot_str_new_from_cstring is not actually marked as PARROT_EXPORT, meaning if you use it from Windows it'll fail... | ||
timotimo | ah | ||
jnthn: another big "fuck you" to windows users :P | |||
diakopter | ... I'm sure it wasn't meant to be that. | ||
jnthn | Despite this, it's implementing in src/string/api.c. | ||
TimToady | if they'd just redesign Perl 5 it'd be much easier to maintain... :P | ||
jnthn | *implemented... | 16:25 | |
16:25
domidumont joined
|
|||
diakopter | TimToady: yeah, definitely | 16:26 | |
TimToady | Q: Is Perl 6 sucking up all the developer time from Perl 5? A: No, it's Perl 5 that is sucking developer time from Perl 5... | ||
more what I meant | |||
I realize the other could be misread | 16:27 | ||
not trying to complain about p5 sucking resources from p6, since maintaining p5 was always part of the p6 design | 16:28 | ||
perigrin | I'm pretty sure the keynote I saw last night pointed out that both p5 and p6 keep on sucking in their own ways. | 16:29 | |
dalek | p: c97065d | jnthn++ | src/vm/parrot/6model/reprs/CStr.c: Fix busted build on Parrot/Windows. |
16:30 | |
diakopter | perigrin: which one? :) | 16:32 | |
TimToady: while they're at it, they should add more features to Perl 5.. that'll help with maintainability | |||
16:34
agre left
|
|||
perigrin | diakopter: TimToady's from Kiev. | 16:34 | |
diakopter | oh heh.. I watched Stevan's last night | ||
16:35
lelf`` left
|
|||
perigrin | his Detroit of Languages? | 16:35 | |
diakopter | yes | ||
perigrin just saw it the once live in Austin | |||
diakopter | since I saw essentially zero talks in Austin | ||
perigrin | you were an organizer | ||
you don't get to see talks when you do that :) | |||
diakopter | also according to my talk feedback, I looked and spoke like a zombie | 16:36 | |
TimToady | yes, but you're *our* zombie | 16:37 | |
moritz | "Perl 6 isn't dead, but its developers are zombies!" | ||
pmurias | jnthn: one thing I don't understand is how \n matches \n\r in regexes | 16:38 | |
\r\n is explicitly check for | |||
diakopter | that's a regex thing.. | ||
Fatalnix | because regex is boss | ||
^^ | |||
pmurias | Fatalnix-- | ||
Fatalnix | lol | 16:39 | |
pmurias | diakopter: I don't understand how the implementation of that works | ||
diakopter | like a capturing group I thought' | ||
fyi the yapc::na day 1 talks from rooms 1.110 and 2.102 were corrupted; they make take some work to recomposit | 16:40 | ||
TimToady | \n just represents an alternation of various things that are matched by LTM | ||
(in theory--don't know how rakudo does it) | |||
jnthn | pmurias: Do you mean \r\n ? | 16:41 | |
pmurias | no \n\r | ||
jnthn | pmurias: Guess what TimToady said on LTM perhaps. But in the code-gen, I think cclass for 'n' handles it specially | ||
Um... | |||
pmurias | jnthn: \r\n is explicitly checked | 16:42 | |
perigrin | diakopter: in Madison my favorite feedback to my talk was "Dude needs a nap." | ||
jnthn | r: say ("a\n\r" ~~ /a\n/).Str.perl | ||
camelia | rakudo 9b49d8: OUTPUT«"a\n"» | ||
jnthn | pmurias: Simple answer: it doesn't match \n\r. | ||
TimToady | nobody uses \n\r, so there's no point in checking it | ||
GlitchMr | r: say ("a\n\r" ~~ /^a\n$/).Str.perl | ||
camelia | rakudo 9b49d8: OUTPUT«""» | ||
jnthn | Which is what I'd have thought :) | ||
GlitchMr | r: say ("a\r\n" ~~ /^a\n$/).Str.perl | ||
camelia | rakudo 9b49d8: OUTPUT«"a\r\n"» | ||
diakopter | well it probably does in javascript | 16:43 | |
FROGGS | well, one \n should match either a \n, a \r or a \r\n | ||
GlitchMr | Well, \n\r is newline in certain OS. | ||
jnthn | TimToady: Was gonna say, is there some REALLY weird platform I never encountered... :) | ||
GlitchMr | But nobody uses those platforms. | ||
jnthn | GlitchMr: Which one? | ||
diakopter | GlitchMr: old old mac | ||
FROGGS | GlitchMr: which? | ||
TimToady | only becuase \n and \r have their meanings reversed! | ||
it's still CRLF | |||
GlitchMr | jnthn, BBC Micro or Risc OS. | ||
But Risc OS already moved to \n. | 16:44 | ||
So it doesn't count. | |||
jnthn | Wow, BBC Micro was first machine I programmed on, but I never knew that about it :) | ||
pmurias | jnthn: github.com/perl6/nqp/blob/master/t...achars#L48 | ||
FROGGS | jnthn: you just dont love the hardware you are hacking on :o) | ||
GlitchMr | c \n dabc\n\rdefnlogical newline matches \n\r | ||
Interesting. | 16:45 | ||
FROGGS | weird | ||
diakopter | oh yeah, old old mac was \r | ||
GlitchMr | QNX (before POSIX) used \x1E (record separator). | ||
But other than that, I cannot think of other strange newlines (and well, \r was rather common, not only on old Mac OS) | 16:46 | ||
TimToady | the point of \n is to match something that might come in from such a system via, say, NFS | ||
I doubt we need to worry very hard about that... | |||
FROGGS | as long as \n does not match \n\n we are fine | ||
GlitchMr | Commondore 8-bit, Acorn BBC, ZX Spectrum, TRS-80, Apple II all simply used \r. | 16:47 | |
jnthn | pmurias: Isn't it marked TODO? :) | ||
GlitchMr | In C, \n can be anything, provided it's one character. | ||
TimToady | GlitchMr: but what actual character did that mean? | ||
GlitchMr | \r? CR | ||
TimToady | not on mac | ||
16:48
kivutar left
|
|||
GlitchMr | Mac OS X uses \n, but I'm talking about classic Mac OS. | 16:48 | |
TimToady | mac had \r meaning LF and \n meaning CR | ||
timotimo | i like that on my unix i can get a do-over on the current line when i print just \r | ||
GlitchMr | When I type \r, I refer to CR, when I type \n, I refer to LF. | ||
But perhaps I should make it less confusing. | |||
TimToady | but the OS confused them for you | ||
FROGGS | timotimo: that reminds me that we need $|++ in Perl 6 :P | ||
GlitchMr | Well, C standard allows \n to be anything. | ||
pmurias | jnthn: on pugs? | ||
timotimo | FROGGS: i don't know p5; what does that mean? | 16:49 | |
GlitchMr | (provided it's one character) | ||
diakopter | timotimo: don't buffer stdout as much | ||
timotimo | oh yeah, it would be cool to have something simple to do that | ||
doesn't have to be a special var, though | 16:50 | ||
diakopter | (or is it all writer handles?) | ||
pmurias | nqp: say(("abc\r\ndef" ~~ /c\nd/)."!dump_str"('mob')); | ||
camelia | nqp: OUTPUT«mob: c\r\nd @ 2» | ||
pmurias | nqp-jvm: say(("abc\r\ndef" ~~ /c\nd/)."!dump_str"('mob')); | ||
diakopter | std: $|++ | ||
camelia | nqp-jvm: OUTPUT«mob: @ 8» | ||
std 27326bc: OUTPUT«===SORRY!===Unsupported use of $| variable; in Perl 6 please use :autoflush on open at /tmp/tmEXcDUo0p line 1:------> $|⏏++Parse failedFAILED 00:00 41m» | |||
jnthn | pmurias: That's \r\n | 16:51 | |
nqp: say(("abc\n\rdef" ~~ /c\nd/)."!dump_str"('mob')); | |||
camelia | nqp: OUTPUT«mob: @ 8» | ||
TimToady | please say CRLF if you mean that, since \r\n is ambiguous | ||
16:51
benabik joined
|
|||
jnthn | hmm... | 16:51 | |
TimToady | (historically, at least) | ||
jnthn | OK, I have no idea how it matches :) | ||
nqp-jvm: say(("abc\n\rdef" ~~ /c\nd/)."!dump_str"('mob')); | |||
camelia | nqp-jvm: OUTPUT«mob: @ 8» | ||
TimToady | spec doesn't say you have to match LFCR, unless TR16 mandates it | 16:52 | |
so the test might be overreaching | |||
diakopter | who's snoopy? stackoverflow.com/questions/1856117...ence-rules | ||
TimToady | er, TR18 | ||
16:53
ajr_ left
|
|||
GlitchMr | Perhaps \r, and \n should use JavaScript meanings. | 16:53 | |
That is, \x0A and \x0D. | |||
Well, \x0D and \x0A. | 16:54 | ||
TimToady | whew! | ||
that's what they mean in *strings*, but not in regex | |||
dalek | p: 5074d23 | jnthn++ | src/vm/parrot/ops/nqp.ops: Make nqp::isconcrete false on null. Brings Parrot impl in line with JVM impl. |
||
TimToady | in regex \n matches LF, but also other things | ||
jnthn | That gets rid of that null PMC access... :) | 16:55 | |
GlitchMr | I actually wonder how well JavaScript works on EBCDIC. | ||
TimToady | TR18 only mandates recognition of CRLF, not LFCR, so the test is in error | ||
GlitchMr | The specification seems to assume ASCII. | ||
pmurias | jnthn: re matching so it's seem it doesn't actually match, just the test harness is incorrect | ||
jnthn | pmurias: oh! | ||
pmurias: Well. That explains it :) | 16:56 | ||
TimToady | www.unicode.org/reports/tr18/#Line_Boundaries | ||
GlitchMr | But I assume it makes sense for ECMAScript, considering that it's standard for the web, so they had to decide on encoding. | ||
pmurias | nqp: say(("abc\n\rdef" ~~ /c\nd/)."!dump_str"('mob'));say(("abc\r\ndef" ~~ /c\nd/)."!dump_str"('mob')); | 16:57 | |
camelia | nqp: OUTPUT«mob: @ 8mob: c\r\nd @ 2» | ||
TimToady | that looks correctish to me | 16:58 | |
if there's any systems that actually use LFCR (as opposed to mixing up the definitions of \r and \n), I think we can safely ignore them | 16:59 | ||
jnthn | lizmat: 47-48 of keyset.t and a bunch of set.t fail for me on Rakudo on Parrot on Windows. Known? | 17:00 | |
pmurias | silly me | ||
just the test description was incorrect :/ | 17:01 | ||
diakopter | moritz: fudger feature request: annotate the test files with test numbers.. | ||
pmurias | and I overlooked the actual n/y flag :( | ||
diakopter | (if it doesn't already!) | ||
dalek | kudo/nom: e4b20f9 | jnthn++ | t/spectest.data: This test needs ICU on Parrot. |
||
moritz | diakopter: it doesn't | 17:02 | |
diakopter: but I don't patch fudge. I've tried a few times, and it's still opaque to me how the code works | 17:03 | ||
dalek | p: 7121946 | (Pawel Murias)++ | t/qregex/rx_metachars: Fix test description. |
||
diakopter | moritz: oh, I thought you maintained it :) | ||
Mr Test Suite | |||
TimToady | pmurias++ | ||
moritz | diakopter: but it's not a test :-) | 17:04 | |
jnthn | pmurias: oh, heh!! | ||
I missed that too | |||
TimToady | Lesson: don't put comments | ||
diakopter | self-documenting code is better | ||
attempted redundancy just breeds inconsistencies | 17:05 | ||
TimToady | you can say that again | ||
or maybe you can't | |||
17:06
spider-mario left
17:11
agre joined
17:15
panchiniak joined,
jnap1 left
17:17
pmurias left
17:24
kaare_ joined
17:25
lowpro30 left
|
|||
dalek | d: 7c17586 | larry++ | STD.pm6: Don't look for -> during interpolation, masak++ |
17:25 | |
17:29
zwut00 joined
17:31
raiph left
17:32
daxim_ left
17:46
pecastro_ is now known as pecastro
17:47
berekuk joined
|
|||
moritz | mlenz@mlenz-workstation:~/p6/rakudo$ ./perl6 -Ilib --doc lib/Test.pm | 17:53 | |
===SORRY!=== | |||
Odd number of elements found where hash expected | |||
is that due to local patches, or can somebody else reproduce that? | |||
jnthn | moritz: Locally, both of Parrot and JVM. | 18:02 | |
18:04
panchiniak left
|
|||
skids | std: my sub a ($a where { $_ == 1 } --> Str) { 1; }; a(1) | 18:06 | |
camelia | std 7c17586: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/vfBBQqkCT3 line 1:------> my sub a (⏏$a where { $_ == 1 } --> Str) { 1; }; a(ok 00:00 48m» | ||
skids | std: my sub a ($a where { $_ == 1 } --> Str) { $a; }; a(1) | ||
camelia | std 7c17586: OUTPUT«ok 00:00 48m» | ||
skids | r: my sub a ($a where { $_ == 1 } --> Str) { $a; }; a(1) | 18:07 | |
camelia | rakudo e4b20f: OUTPUT«===SORRY!=== Error while compiling /tmp/slNNQ1gJzvMissing blockat /tmp/slNNQ1gJzv:1------> my sub a ($a where { $_ == 1 } --> Str⏏) { $a; }; a(1) expecting any of: postfix statement end statement m… | ||
skids | r: my sub a ($a where { $_ == 1 }, --> Str) { $a; }; a(1) | ||
camelia | rakudo e4b20f: OUTPUT«Type check failed for return value; expected 'Str' but got 'Int' in sub a at /tmp/hliU7pYUJN:1 in block at /tmp/hliU7pYUJN:1» | ||
TimToady | eep, shouldn't need that comma | 18:08 | |
jnthn | Wonder whe we do... | ||
TimToady | std probably thinks it's illegal, in fact | 18:09 | |
std: my sub a ($a where { $_ == 1 }, --> Str) { $a; }; a(1) | |||
camelia | std 7c17586: OUTPUT«ok 00:00 48m» | ||
TimToady | well, maybe not | ||
donaldh | is it okay to bump up the timeouts in the IO-Socket-INET tests for all, or should I special case larger timeouts for JVM ? | ||
jnthn | TimToady: It's same reason that method foo(Blah $x:) { } parses. | ||
dalek | kudo/nom: 5becd4f | (Dagur Valberg Johannsson)++ | src/core/Buf.pm: Made Buf.subbuf act more like Str.substr |
18:10 | |
kudo/nom: a2a06e4 | moritz++ | src/core/Buf.pm: Merge branch 'Buf-subbuf' of github.com/dagurval/rakudo into nom |
|||
donaldh | hallelujah - t/spec/S32-io/IO-Socket-INET.t ........... ok | 18:12 | |
jnthn | .oO( It's raining net... ) |
18:13 | |
donaldh++ | |||
donaldh | just need to regression test on parrot and it should be ready. | ||
jnthn | donaldh: It's probably OK to bump them for all... | ||
donaldh | *just* | ||
jnthn | TimToady: I don't immediatley see why it won't parse with the comma... | ||
donaldh | jnthn: thx, that's simpler than parameterising the shell scripts. | ||
lizmat is back and read the backlog | 18:16 | ||
jnthn: didn't know about the test failures | 18:17 | ||
TimToady: loud and clear about .WHICH | |||
jnthn | lizmat: OK, lemme know if you don't get 'em, in which case they'd be Windows specific... | 18:18 | |
lizmat | moritz: the problem with --doc lib/Test.pm is caused by bag() | ||
r: bag <D X L> | 18:19 | ||
camelia | rakudo e4b20f: ( no output ) | ||
lizmat | hmmm… maybe not ? | ||
oops, no, it is caused by: | |||
r: my %h = bag() | |||
camelia | rakudo e4b20f: OUTPUT«Odd number of elements found where hash expected in method STORE at src/gen/CORE.setting:8372 in block at /tmp/3xgCyH5ZZ7:1» | ||
lizmat | r: my %h := bag() # works | ||
camelia | rakudo e4b20f: ( no output ) | ||
lizmat | because of the non-flattening of bags, my %h = bag() is wrong, because it will not flatten into the hash, therefore is only one value, therefore fails | 18:20 | |
jnthn | TimToady: oh...maybe I do... | ||
TimToady: We parsed the post_constraint after where with chaining prec, not item assignment...seeing if fixing that helps :) | 18:21 | ||
18:22
panchiniak joined,
jnap joined
|
|||
dalek | kudo/nom: b9762d7 | (Elizabeth Mattijsen)++ | lib/Pod/To/Text.pm: Fix to handle changed behaviour of bag() |
18:22 | |
lizmat | moritz: the problem you saw, should be fixed now | 18:23 | |
TimToady | jnthn: sounds to more like --> is missing as a terminator | 18:27 | |
*to me | |||
dalek | albot: fc2b25b | thundergnat++ | lib/EvalbotExecuter.pm: Modify evalbot to accept hex gist id numbers rather than decimal. Apparently Github has begun to assign hexadecimal gist ids. They used to be decimal. |
||
TimToady | oh wait, confusing with ==> | ||
nm | |||
18:28
rindolf left
|
|||
TimToady | oh, --> is a terminator in STD | 18:28 | |
jnthn | TimToady: Well, the things I just tweaked in the grammar didn't help, though I guess they are needed anyway... :) | ||
BabsSeed | Hi | ||
TimToady | o/ | ||
jnthn | Oddly, it claims it parse-failed after the --> Str | 18:29 | |
BabsSeed | \o | ||
TimToady | well, -- can be infix followed by prefix | ||
jnthn | TimToady: ooh, yes, mebbe we need the terminator :) | ||
TimToady | or - followed by -> | ||
jnthn | TimToady: lemme try | ||
18:30
SamuraiJack__ joined
|
|||
jnthn | Yeah, I thought that's what might be going on and why I suspect the prec correction may do it | 18:31 | |
But I guess istem assignment will parse a - | |||
whoa, I can't type... | |||
TimToady | butt wee gnu that all ready | ||
lizmat | cloud? | 18:32 | |
TimToady | yes, cloud | ||
jnthn | eww...butt wee | ||
18:33
SamuraiJack_ left
|
|||
dagurval | moritz: thanks for doing the merge! | 18:33 | |
moritz++ | 18:34 | ||
lizmat | jnthn: seeing errors as well | 18:37 | |
jnthn | TimToady: It was the terminator | 18:38 | |
masak | BabsSeed: hi | ||
TimToady | Back I'll be! --Yodderminator | 18:39 | |
masak | "La vista, baby, hasta." | 18:40 | |
18:42
kbaker left
18:44
arlinius left
18:47
agre_ joined
18:50
agre left
18:53
pecastro left
|
|||
dalek | ast: 1fc796c | (Elizabeth Mattijsen)++ | S0 (2 files): Temporary fudge for Set tests, while refactoring work continures |
18:56 | |
lizmat | I so love the view of TODO's passing, alas not right now :-( | 18:57 | |
FROGGS | :o( | ||
18:59
kivutar joined
|
|||
moritz | speaking of passing TODOs | 19:01 | |
is there a reason not to unfudge S32-io/other.t for rakudo? | |||
lizmat | unfudge++ | 19:02 | |
dagurval | r: my Int $a = 1 | 2 # bug or LTA error? | 19:03 | |
camelia | rakudo e4b20f: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Int' in sub thread_junction at src/gen/CORE.setting:2902 in method AUTOTHREAD at src/gen/CORE.setting:2930 in sub AUTOTHREAD at src/gen/CORE.setting:2964 in block at /tmp/kYQivCMVhd:1»… | ||
lizmat | *and* ? | 19:04 | |
colomon | LTA error | 19:05 | |
TimToady | LTA anyway | ||
you'd have to say my Junction $a to get the other to work | |||
this is construed as a feature | |||
dalek | kudo/nom: b03eced | (Elizabeth Mattijsen)++ | src/core/stubs.pm: Remove superfluous stub (already stubbed in core_prologue) |
19:06 | |
19:09
pecastro joined
19:15
kbaker joined
19:16
panchiniak left
|
|||
jnthn | I'm guessing the exception type for that error somewhere has an Any where it wants a Mu... | 19:16 | |
19:17
Lorn joined
19:20
gabriel left
19:21
gabriel joined
19:22
simcop2387 joined
19:23
sunnavy joined,
abnorman joined
19:24
geekosaur joined
19:28
SamuraiJack__ left
19:29
btyler left
19:32
btyler joined
|
|||
lizmat | r: role A { has $!a }; class B does A { method a { $!a } } #rakudobug, NYI or misunderstanding of S14:100 ? | 19:34 | |
synopsebot | Link: perlcabal.org/syn/S14.html#line_100 | ||
camelia | rakudo b03ece: OUTPUT«===SORRY!=== Error while compiling /tmp/LX2j4tHbnLAttribute $!a not declared in class Bat /tmp/LX2j4tHbnL:1------> s $!a }; class B does A { method a { $!a⏏ } } #rakudobug, NYI or misunderstandin» | ||
TimToady | r: role A { has $!a }; class B does A { method b { $!a } } | 19:37 | |
camelia | rakudo b03ece: OUTPUT«===SORRY!=== Error while compiling /tmp/nZnIhREsbsAttribute $!a not declared in class Bat /tmp/nZnIhREsbs:1------> s $!a }; class B does A { method b { $!a⏏ } }» | ||
colomon | n: role A { has $!a }; class B does A { method b { $!a } } | 19:38 | |
camelia | niecza v24-95-ga6d4c5f: ( no output ) | ||
TimToady | r: role A { has $.a }; class B does A { method b { $!a } } | 19:40 | |
camelia | rakudo b03ece: OUTPUT«===SORRY!=== Error while compiling /tmp/8AfaCkCk52Attribute $!a not declared in class Bat /tmp/8AfaCkCk52:1------> s $.a }; class B does A { method b { $!a⏏ } }» | ||
TimToady | well, in any case, a bug according to S14:100 | 19:42 | |
synopsebot | Link: perlcabal.org/syn/S14.html#line_100 | ||
jnthn | TimToady: We're doing it that way around, so composing two roles that happen to have a private attribute of the same name will cause a collision? | 19:44 | |
jnthn can call it both ways and kinda allows neither at the moment. :) | 19:45 | ||
So I can fix it in either direction without breaking previously working code :) | |||
19:45
domidumont left
|
|||
TimToady | what private attribute a role declares is part of its public interface, as far as the class is concerned | 19:46 | |
jnthn | OK | ||
The main challenge implementation wise is that in: | |||
role R { has $!a; }; class Foo does R { method m() { $!a } } | 19:47 | ||
Today we don't incorporate the role until the closing curly of the class | |||
e.g. composition time | |||
Which is how it has to be for a long list of reasons :) | |||
And if it's a parametric role we don't actually pick the variant until then either | |||
TimToady | so I guess we'd have to defer complaining about bogus attributes till then | ||
jnthn | Which leads me to wonder about stuff like: | ||
role R { has $!a; }; class Foo { method m() { $!a }; does R; } # OK, or must be an error? | 19:48 | ||
Yes, I'm fine with that, just want to check out the corner cases :) | |||
TimToady | if it's checked at compose time, should be OK | ||
jnthn | We normally complain about unused vars at the point of use; we'll just need to treat attributes a bit differently. | 19:49 | |
TimToady | thing is, $!a is scoped to the class, and we're kinda treating it lexically at the moment | ||
jnthn | Right. | ||
TimToady | it sounds saner, if a bit of a bother :) | ||
TimToady is starting to sound English... | |||
jnthn | Well, if my example above is allowed, it's not so bad :) | 19:50 | |
Though we probably wanna keep the cursors around. | |||
So we can emit nice undeclared attributes errors. | |||
TimToady | right, but we do that trick other places too :) | ||
in that sense they're kinda like continuations | 19:51 | ||
jnthn | std: role Foo { has $!a }; class C does Foo { method m() { $!a } } # curious | ||
camelia | std 7c17586: OUTPUT«ok 00:00 44m» | ||
jnthn | std: role Foo { has $!a }; class C does Foo { method m() { $!x } } # curious | ||
camelia | std 7c17586: OUTPUT«ok 00:00 44m» | ||
jnthn | OK, STD simply don't check 'em :) | ||
TimToady | nope | ||
jnthn | (which makes sense given it's a MOP question...) | ||
TimToady | std: $!foo | ||
camelia | std 7c17586: OUTPUT«===SORRY!===Variable $!foo used where no 'self' is available at /tmp/ki_L1YAKD3 line 1:------> <BOL>⏏$!fooCheck failedFAILED 00:00 41m» | ||
jnthn | r: $!foo # think we do that one | ||
TimToady | well, it wants that much anyway... | ||
camelia | rakudo b03ece: OUTPUT«===SORRY!=== Error while compiling /tmp/vp8MIWhgBUVariable $!foo used where no 'self' is availableat /tmp/vp8MIWhgBU:1------> $!foo⏏ # think we do that one» | ||
moritz | std: class A { method m() { $!foo } } | 19:52 | |
camelia | std 7c17586: OUTPUT«ok 00:00 44m» | ||
jnthn | OK, I'll put it on my todo list. :) | ||
TimToady | that's like, really short, right? | ||
when measured in miles, I mean... | |||
jnthn | Especially when measured in Swedish miles... | ||
TimToady | are those anything like Swedish coffee? | 19:53 | |
TimToady always wondered which mountains in Sweden the "mountain grown" Swedish coffee came from | |||
lizmat | meanwhile, I'll use the old nqp::getattr(self, Bag, '%!elems') trick to get things working now | 19:54 | |
19:54
xenoterracide joined
|
|||
jnthn | Well, if Swedish coffee is longer than everybody elses... :) | 19:54 | |
lizmat: aye, that works as a workaround... | 19:55 | ||
19:58
abnorman left
20:02
arlinius joined,
abnorman joined,
zwut00 left
20:08
lowpro30 joined
20:09
ajr joined,
ajr is now known as Guest73775
20:11
PacoLinux joined
20:12
PacoLinux left,
kaare_ left
20:14
Guest73775 is now known as ajr_
20:20
panchiniak joined
20:29
abnorman left
20:32
abnorman joined
20:33
nebuchadnezzar joined
20:46
kivutar left
20:50
pmurias joined
|
|||
lizmat | r: my $a="a"; say "$a(foo)" # is it intentional that scalar interpolation also eats the () and executes what's inbetween ? | 20:51 | |
camelia | rakudo b03ece: OUTPUT«===SORRY!=== Error while compiling /tmp/pgvpwnUfg6Undeclared routine: foo used at line 1» | ||
lizmat | would have expected "a(foo)" | 20:52 | |
masak | yes. it is intentional. | 20:53 | |
PerlJam | lizmat: yes, it's intentional. | ||
lizmat learned something again today | 20:54 | ||
masak | the general guideline is "be very careful about things that might be taken to be postfixes after interpolated variables". | ||
the one I like the least is: "<html>$stuff</html>" | 20:55 | ||
it's subtle because it looks so right :) | |||
PerlJam | masak: {} are your friends | 20:56 | |
:) | |||
lizmat wonders why we interpolate scalars at all, "{$a}" is a bit more typing, but so much more clear | |||
TIMTOWTDI I guess | |||
masak | PerlJam: indeed. | 20:57 | |
I will probably land on a more "foo{$bar}baz"-based style with time. | |||
lizmat | meanwhile, after refactoring with roles: | ||
$ perl6 -e 'bag( <a b b c c c> ).WHICH.say' | |||
Bag|Str|a(1) Str|b(2) Str|c(3) | |||
PerlJam | lizmat: yeah, I've almost decided to always use {} (almost() | ||
s:2nd/'('// | 20:58 | ||
21:00
dwarring joined
21:02
dayangkun left
21:05
agre_ left
21:07
donaldh left
21:08
donaldh joined
21:09
skids left,
donaldh left
21:15
kbaker left
21:17
dayangkun joined,
lowpro30_ joined
|
|||
dalek | rl6-roast-data: 6d17ca9 | coke++ | / (5 files): today (automated commit) |
21:18 | |
21:19
lowpro30 left
|
|||
lizmat | JVM ar 98.6% | 21:22 | |
[Coke] | lizmat: rakudo.jvm is failing a lot of those S03-operators/set tests. | ||
21:22
lowpro30_ left
|
|||
[Coke] | (those are all new failures from yesterday) | 21:22 | |
lizmat | I fudged a lot of them earlier tonight | ||
about 2.5 hours ago, did the JVM run see those ? | |||
[Coke] | ... oh, so did rakudo.parrot, nevermind, whoops | 21:23 | |
so, no worries. | |||
jnthn | aww, below 99%? | ||
jnthn will have to look into why | |||
[Coke] | jnthn: has been for some time. | ||
lizmat | mostly my work, I think :-) | ||
[Coke] | since before you started working on presentations for yapc::eu, iirc. | ||
jnthn | [Coke]: Aye, I've been too busy to really follow all the things I "should" be... | ||
[Coke] | you might be slightly overextended. :) | 21:24 | |
jnthn | Well, didn't expect to teach every day this week until last Friday :) | ||
[Coke] | I will work on geting rakudo.jvm testing clean this weekend. | ||
lizmat | [Coke]++ | 21:25 | |
[Coke] | ... probably by fudging first, and then we can ack for "rakudo.jvm" in the suite to see what's what. I can also open tickets if that helps. | ||
also really looking forward to adding 2 more rakudos to the testing pile. | |||
21:26
donaldh joined
|
|||
jnthn | [Coke]: Not asking for it yet, but how much effort would it be to do daily NQP runs on the different backends also? | 21:26 | |
lizmat | Set refactor using roles now compiles: | 21:27 | |
$ perl6 -e 'set( <a b b c c c> ).WHICH.say' | |||
Set|Str|a Str|b Str|c | |||
$ perl6 -e 'KeySet.new( <a b b c c c> ).WHICH.say' | |||
KeySet|6523836817389416631 | |||
[Coke] | jnthn: I just need one of these: github.com/coke/perl6-roast-data/t...master/bin | ||
jnthn | r: set(<up us the bomb>).WHICH.say | ||
camelia | rakudo b03ece: OUTPUT«Set|-799072600» | ||
[Coke] | so about ... 5m ? | ||
FROGGS | five meters? | 21:28 | |
jnthn | FROGGS: milipedes | ||
[Coke] | pretty much the second there's a rakudo build, I can add it. | ||
jnthn | [Coke]: Nice :) | ||
[Coke] | (even if it fails most things) | ||
lizmat | jnthn: not yet committed | ||
[Coke] commutes. | |||
jnthn | lizmat: aye, just comparing...and memeing :) | 21:29 | |
lizmat | $ perl6 -e 'set( <a> )<a>.say' | ||
Segmentation fault: 11 | |||
:-( | |||
jnthn | :( | 21:30 | |
donaldh | Is it possible to fudge tests in nqp? The chdir tests need to be fudged on JVM. | ||
jnthn | donaldh: There's nothing for that, afaik...short of a BEGIN block hakc I guess | 21:31 | |
lizmat | jnthn: some confusion about attributes living in roles, I thnk | ||
FROGGS | donaldh: see test t/nqp/19 | ||
github.com/perl6/nqp/blob/master/t...ops.t#L111 # poor mans fudge | 21:32 | ||
21:33
Vlavv left
|
|||
donaldh | thx FROGGS, its used for parrot. I'll use same. | 21:33 | |
FROGGS | cool | ||
lizmat | jnthn: it segfaults on: | 21:36 | |
method at_key($k --> Int) { | |||
my $elems := nqp::getattr(self, Bag, '%!elems'); | |||
my class Bag does Baggy { | 21:37 | ||
jnthn: changing the gettattr to Baggy, gives "Can not get attribute '%!elems' declared in class 'Baggy' with this object" | |||
so I guess it *has* to be Bag | |||
if Baggy does Associative, that should be enough for Bag, right? | 21:38 | ||
jnthn | lizmat: Yes, has to be the class the attr was composed into. | 21:43 | |
And yes, doing is transitive | 21:44 | ||
lizmat | guess it's not workng right yet | ||
:-( | |||
21:45
agre joined
|
|||
lizmat | $ perl6 -e 'bag( <a b b c c c> )<b>.say' | 21:46 | |
Segmentation fault: 11 | |||
$ git diff | wc -l | 21:48 | ||
812 | |||
it has become a rather large diff | |||
jnthn: suggestions on attacking the segfault ? | |||
jnthn | gdb? :) | 21:50 | |
dalek | ast: 7cf469f | (Donald Hunter)++ | S32-io/IO-Socket-INET. (2 files): Enable INET tests on Mac OS X. Extend timeouts for JVM. |
||
lizmat | gist.github.com/lizmat/6470437 the diff of my Set/Bag refactor | 21:51 | |
pmurias | jnthn: did anything in nqp change recently in regards how the setting is handled? | 21:52 | |
lizmat | jnthn: > set()<a> | ||
Program received signal EXC_BAD_ACCESS, Could not access memory. | |||
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000008 | |||
0x00000001017b95ca in exists_key () | |||
donaldh | With chdir tests fudged, jvm nqp is failing 8 of the 19-file-ops tests. | 21:53 | |
jnthn | pmurias: Recently? I don't think so... | ||
pmurias | jnthn: a dependency on the serialization context of parrots QRegex and setting is getting into my nqpmo :( | 21:54 | |
jnthn | pmurias: Last time that was likely to have changed was back during the JVM work, but I think that was only abstracting stuff behind the forceouterctx... | ||
pmurias: Oh, I hate it when that happens...it's a pain to debug... | |||
pmurias: Often it's missing sc write barrier disabling... | |||
pmurias: Or maybe mishandling of the compiling SC stack | |||
21:55
denis_boyun left
|
|||
jnthn | pmurias: I wish I could often you some insightful debugging wisdom, but sadly it's mostly a case of "ARRRGHHH" and then some hunting :( | 21:55 | |
lizmat: Well, that's a null pointer access, or thereabouts... | |||
donaldh will look at the failing nqp tests on jvm another day, if someone else doesn't get there first. | |||
lizmat | fwiw, it generates *exactly* the same error in different runs | 21:56 | |
pmurias | jnthn: I have mostly seen it when I accidently load the wrong QRegex or something like that :( | 21:58 | |
dalek | p/donaldh-sockets: 309b39a | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/io/ (3 files): donaldh first hack on sockets for JVM. |
22:00 | |
p/donaldh-sockets: 991581a | (Donald Hunter)++ | src/vm/jvm/ (3 files): Initial ops for socket IO using NIO. |
|||
p/donaldh-sockets: 8d8b466 | (Donald Hunter)++ | src/vm/jvm/ (6 files): Added server socket and process pipe to IO. |
|||
p/donaldh-sockets: d1a9af0 | (Donald Hunter)++ | / (4 files): Add nqp::openpipe tests (JVM only) |
|||
p/donaldh-sockets: a8c4ac1 | (Donald Hunter)++ | src/vm/jvm/ (5 files): Add nqp::setinputlinesep for JVM. |
|||
p/donaldh-sockets: 8b1a699 | (Donald Hunter)++ | t/nqp/19-file-ops.t: Fudged the chdir tests on jvm. |
|||
p: 309b39a | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/io/ (3 files): donaldh first hack on sockets for JVM. |
22:02 | ||
p: 991581a | (Donald Hunter)++ | src/vm/jvm/ (3 files): Initial ops for socket IO using NIO. |
|||
p: 8d8b466 | (Donald Hunter)++ | src/vm/jvm/ (6 files): Added server socket and process pipe to IO. |
|||
p: d1a9af0 | (Donald Hunter)++ | / (4 files): Add nqp::openpipe tests (JVM only) |
|||
p: a8c4ac1 | (Donald Hunter)++ | src/vm/jvm/ (5 files): Add nqp::setinputlinesep for JVM. |
|||
p: 8b1a699 | (Donald Hunter)++ | t/nqp/19-file-ops.t: Fudged the chdir tests on jvm. |
|||
p: 92cda32 | (Donald Hunter)++ | / (12 files): Merge pull request #121 from perl6/donaldh-sockets Implement sync sockets, pipes on JVM using NIO. |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Display.html?id=121 | ||
colomon | woah | ||
tadzik | \o/ | ||
jnthn | donaldh++ :D# | 22:06 | |
donaldh | jnthn: your initial work on NIO was nice and easy to extend. | 22:07 | |
donaldh is looking forward to async NIO | |||
pmurias | "ARRRGHHH", more stuff to implement in nqp-js ;) | ||
donaldh thinks there is now a backends arms race | 22:08 | ||
masak | arms races are fine, as long as people are civil about it. :) | 22:09 | |
'night, #perl6 | |||
lizmat | jnthn: the segfault happens here: my $elems := nqp::getattr(self, Bag, '%!elems'); | 22:11 | |
I assume nqp::getattr is doing an exists_key, and that segfaults | 22:12 | ||
jnthn | lizmat: What if you run bt in gdb? | 22:13 | |
lizmat | bt? | ||
jnthn | after the segfault, type "bt" and hit enter | ||
lizmat | ah, ok | ||
lizmat needs to rebuild :-( | |||
pmurias | jnthn: using | was causing the problem | ||
jnthn | pmurias: NFA pre-computation? | ||
Or caching maybe... | 22:14 | ||
pmurias | something very crazy for sure as I was using it in the compiler to quote strings | 22:15 | |
lizmat | jnthn: added backtrace to gist.github.com/lizmat/6470437 | 22:21 | |
22:21
shinobicl_ left
|
|||
jnthn | lizmat: No, it's outside of the attribute lookup | 22:22 | |
What do you do to elems? | 22:23 | ||
Oh, better question | |||
What is %!elems type wise? | |||
lizmat | has %!elems | ||
nothing special | |||
jnthn | Right, but it's a Perl 6 hash... | ||
lizmat | my role Baggy does Associative { | ||
has %!elems; # should be UInt | |||
jnthn | And then you do: | 22:24 | |
nqp::existskey($elems, nqp::unbox_s($key)) | |||
But that's meant to be used on a VM-level hash... | |||
It should *not* SEGV and I dunno why it does... | |||
JVM mighta given you a better clue... | |||
lizmat | my $elems := nqp::getattr(self, Bag, '%!elems'); | ||
jnthn | Right, that'd be a Perl 6 hash. | 22:25 | |
Not an nqp::hash() which a Perl 6 hash has it's its $!storage | |||
lizmat | oh? getattr gives a Perl6 hash? | ||
jnthn | No, but a %!elems attribute is initialized to a Perl 6 hash | ||
nqp::getattr give syou whatever is in the slot | |||
*gives | |||
pmurias | \h and \v combined give \s? | 22:26 | |
lizmat | ah, so I should just use .exists on it? | ||
jnthn | yeah | ||
I'm skeptical about your BUILD submethod, btw | 22:27 | ||
lizmat | open to suggestions | ||
22:27
bbkr_ joined
|
|||
jnthn | oh, no... | 22:27 | |
lizmat | what's wrong with it? | ||
jnthn | Well, I expected it to be the thing that sets the attr is all... | 22:28 | |
yeah, I think it isn't quite right... | |||
new does self.bless(:elems(%e)); | |||
But BUILD doesn't store to %!elems... | 22:29 | ||
lizmat | should it? isnt that what the BUILD in Mu does ? | ||
something like nqp::getattr(self, Bag, '%!elems') := %elems ? | 22:30 | ||
22:31
bbkr left
|
|||
jnthn | No, if you write a submethod BUILD in a class you say, "I will be responsible for setting the attributes" | 22:32 | |
nqp::bindattr(self, Bag, '%!elems', %elems); | |||
lizmat | building... | 22:33 | |
dalek | kudo-js: 63f071d | (Pawel Murias)++ | bin/process-qregex-tests: Improve the process-qregex-tests script to handle rx_metachars.t. |
22:35 | |
kudo-js: 563c908 | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp: Fix handling of rxsubtype cclass. |
|||
kudo-js: 2803537 | (Pawel Murias)++ | / (2 files): Fix handling of \n in regexes, implement conjseq rxsubtype, implement bol,eol,rwb,lwb anchors |
|||
kudo-js: 878ab69 | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp: Fix quoting of strings. |
|||
kudo-js: 5058344 | (Pawel Murias)++ | / (4 files): Implement EDGE_CHARLIST in runNFA. |
|||
kudo-js: a55eb58 | (Pawel Murias)++ | runtime.js: Fix bug in runNFA. |
22:37 | ||
kudo-js: 603db43 | (Pawel Murias)++ | / (3 files): Pass rx_metachars. Do not use | in the regexes in the backend as it's causing wierd serialization issues. Make \s accept all horizontal and vertical whitespace. |
|||
lizmat | jnthn++, that seems to do the trick! | 22:38 | |
22:40
Vlavv joined
|
|||
lizmat | fixing all cases and rebuilding | 22:44 | |
donaldh | IO::Socket on JVM - github.com/rakudo/rakudo/pull/206 | 22:48 | |
timotimo | yaaaaaaay | 22:50 | |
donaldh | goodnight #perl6 | 22:51 | |
tadzik | donaldh++ | ||
jnthn | 'night, #perl6 | 22:54 | |
22:54
donaldh left
22:58
Bzek joined
|
|||
lizmat | gnight jnthn! | 22:59 | |
23:00
agre left
23:02
hummeleBop left
23:13
pmurias left
23:25
panchiniak left
|
|||
dalek | kudo/nom: b55712f | (Elizabeth Mattijsen)++ | / (9 files): Refactor of Set/Bag using roles, jnthn++ for gdb support |
23:28 | |
lizmat | finally clean, *phew* | ||
23:28
benabik left
|
|||
timotimo | cool :) | 23:28 | |
lizmat | unfudging tests now, and then to bed :-) | 23:31 | |
timotimo | cool, the jvm part got 120 new passes last daily | 23:34 | |
23:34
REPLeffect left
23:35
jnap left,
geekosaur left
|
|||
lizmat | we aim to pass :-) | 23:35 | |
23:35
geekosaur joined
|
|||
timotimo | :3 | 23:35 | |
sjohnson | :3 | 23:37 | |
dalek | ast: bb23f9a | (Elizabeth Mattijsen)++ | S0 (2 files): Unfudge all passing tests after the Set/Bag refactor |
23:38 | |
timotimo | wow | 23:40 | |
i can't actually find a mention of infix:<~> being specced as list associativity | 23:43 | ||
dalek | ast: ccfc662 | (Elizabeth Mattijsen)++ | S0 (2 files): Turn lots of skipped tests into todo's (they don't bomb anymore) |
23:46 | |
lizmat | sleep& | 23:47 | |
timotimo | gnite! | ||
23:49
ajr_ left,
jnap joined
23:54
skids joined
|