»ö« 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:00
raiph left
00:06
xinming left
00:08
xinming joined
00:22
btyler left
00:28
colomon left
00:35
tokuhirom left
00:36
grondilu joined
00:43
btyler joined
00:55
tokuhirom joined
01:04
jaldhar left,
_jaldhar joined
01:08
_jaldhar left,
_jaldhar joined
01:14
btyler left
01:22
tokuhirom left,
raiph joined
01:49
Guest1337 left
01:58
btyler joined
02:04
cibs_ joined
02:09
cibs joined
02:10
cibs_ left
02:23
grondilu left
02:29
hypolin joined
02:30
hypolin left
02:31
hypolin joined,
colomon joined
02:36
raiph left
02:47
orafu left,
OuLouFu joined,
OuLouFu is now known as orafu
02:59
xinming left
03:01
xinming joined
03:09
woolfy left
03:10
lizmat left
03:14
dayangkun joined
03:15
raiph joined
03:25
prammer_ left
03:29
prammer_ joined
03:34
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex left
03:35
preflex_ is now known as preflex
03:49
colomon left
03:50
orafu left
03:54
lizmat joined
03:59
lizmat left,
odoacre joined
04:03
raiph left
04:10
lizmat joined
04:16
arlinius left
|
|||
lizmat | good *, #perl6! | 04:18 | |
.oO( sees images of Adrian Cronauer ) |
04:20 | ||
04:30
lizmat left
04:32
woolfy joined
04:36
lizmat joined
|
|||
dalek | kudo/nom: af0a16f | (Elizabeth Mattijsen)++ | src/core/Any.pm: Missed one .infinite -> Nil |
04:39 | |
04:42
btyler left
04:47
raiph joined
04:49
birdwindupbird joined
04:54
arlinius joined
04:56
xilo left,
crab2313 joined
04:58
zby_home_ joined
05:01
crab2313 left
05:05
silug left
|
|||
dalek | kudo/nom: 4101df5 | (Elizabeth Mattijsen)++ | t/spectest.data: Move up IO-Socket-INET tests, so that it has more wallclock in parallel tests |
05:14 | |
Woodi | morning all reading lines ppls :) | ||
lizmat | morning Woodi! | ||
Woodi | Ulti: you give me excuse to bash TimToady ;) "Where are NEW books ?! Blogs, articles, comments on topic and beyond ?!" | 05:18 | |
dalek | kudo/nom: 8a1cd05 | (Elizabeth Mattijsen)++ | src/core/Any.pm: Reorganized/slightly commented code for easier perusing |
||
Woodi | and by "TimToady" I mena all old guards :) | ||
Woodi hide | |||
TimToady wonders what he's guarding... | 05:19 | ||
TimToady does not wonder whether he's old... | |||
lizmat neither :-) | 05:20 | ||
.oO( whether I'm old ) |
05:22 | ||
05:23
PacoAir joined
|
|||
Woodi | but maybe we are at end|start of new era in languages ? even that big Java book have no new version lastly... | 05:26 | |
diakopter | .. | 05:27 | |
JimmyZ | gOOd afternOOn | ||
05:27
silug joined
|
|||
moritz | \O | 05:28 | |
Woodi | hallo | 05:29 | |
05:30
PacoAir left
05:36
kaleem joined
|
|||
lizmat | moritz! | 05:36 | |
moritz | lizmat! | 05:37 | |
lizmat: I don't know if you've read it in the backlog, but I'll be coming to YAPC::EU | 05:38 | ||
lizmat | that's way cool! | ||
lizmat still has fond memories of picking up moritz at the train station in Perl | |||
bonsaikitten | what were you doing at the luxemburgian border? ;) | 05:39 | |
moritz | and I'm pretty excited, because I've never been that far east before | ||
lizmat | .oO( at which a certain piece of signage was liberated ) |
||
moritz | lizmat: :-) | ||
bonsaikitten: having a Perl workshop/conference, of course :-) | |||
the Perl Reunification Summit | 05:40 | ||
bonsaikitten | moritz: hmm, obviously ... | ||
05:40
domidumont joined,
iSlug joined
|
|||
lizmat | moritz: wrt to going East: me neither, well in Europe then | 05:41 | |
.o( Mumbai doesn't really count :-) | 05:42 | ||
05:51
domidumont left,
domidumont joined
|
|||
jnthn yawns | 05:53 | ||
Short overnight backlog... :) | |||
lizmat | indeed | 05:54 | |
our connection was down for 1.5 hours last night, and I didn't miss anything :-) | 05:55 | ||
oddly enough, t/spec/S32-io/IO-Socket-INET.t started failing on me :-( | |||
when run under load, I must say | 05:56 | ||
I moved it up earlier in spectest.data, so that it would be run earlier | 05:57 | ||
so that in parallel tests, it wouldn't be the last one to finish, taking up ~1 minute of wallclock every time | 05:58 | ||
05:58
raiph left
|
|||
lizmat | guess that was a bad idea :-( | 05:58 | |
jnthn | ~1 minute?! | 05:59 | |
lizmat | measuring precisely now | 06:01 | |
time make t/spec/S32-io/IO-Socket-INET.t | 06:03 | ||
real2m22.852s | |||
jnthn | um. | 06:04 | |
That really can't be right. | |||
lizmat | been that way since I've been doing spectests | 06:05 | |
jnthn | Is it any particular tests that are really slow? | ||
lizmat | and the failure is definitely load dependent | ||
discard server and client, test #2 | |||
hmmm… let me wrangle the test a bit | 06:06 | ||
06:07
arlinius left
06:11
PacoAir joined
06:15
PacoAir left
|
|||
jnthn | commute & | 06:15 | |
06:19
zby_home_ left,
sqirrel joined
|
|||
lizmat | timing info: gist.github.com/lizmat/6060233 | 06:24 | |
since the test that take a long time are *all* 20 seconds, I would think they only return *after* some internal 20sec timeout has occurred | 06:25 | ||
dalek | ast: 5c99b82 | (Elizabeth Mattijsen)++ | S32-io/IO-Socket-INET.t: Add elapsed time information for debugging |
06:26 | |
06:28
wtw joined
06:33
fridim__ left
06:37
domidumont left
|
|||
dalek | ast: ef215fd | (Elizabeth Mattijsen)++ | S32-io/IO-Socket-INET.t: Added tests for possible timeout related problems |
06:41 | |
lizmat | wonder whether anybody can run that test now on jakudo | 06:42 | |
it now fails 7 tests on parakudo on OSX | |||
06:50
domidumont joined
06:52
arlinius joined
06:53
FROGGS joined
06:56
kaleem left
|
|||
jnthn | lizmat: jakudo has no sockets yet | 06:57 | |
lizmat | so what do you think about the 20 seconds delay 7 times in the test ? | 06:58 | |
hoelzro | morning #perl6 | ||
lizmat | should I fudge those tests for now? | ||
jnthn | lizmat: I'm curious if we've always had that... | 06:59 | |
Like, before the Buf changes | |||
lizmat | yes, I'm quite sure about that | ||
jnthn | Did things get worse, for example? | ||
Well, but why has it just started to show up as an issue now.. | |||
lizmat | IO-Socket-INET has always been the last test to finsih in my parallel test | ||
and was responsible for 1 minute of wallclock always | 07:00 | ||
jnthn | ok, that sounds like it's hitting a tiemout thing then | ||
FROGGS | same on my box fwiw | ||
lizmat | it now shows up, because I mentioned it, and jnthn said that can't be right ;) | ||
jnthn | ok | ||
Then I delegate this to somebody who is good at socket stuff ;) | 07:01 | ||
teaching & | |||
FROGGS | have fun | ||
<-- coffee | |||
hoelzro | Perl 6 doesn't specify what kind of memory management an implementation uses for objects, does it? | ||
lizmat | don't think so | 07:02 | |
except maybe for Buf / Blob and the like ? | |||
07:04
sqirrel left
|
|||
hoelzro | can one specify a destructor/finalizer for a Perl 6 object? is there any guarantee of it running when the last references goes out of scope (like in Perl 5?) | 07:05 | |
I'm trying to write a class that would take advantage of such behavior | |||
07:05
iSlug left,
iSlug joined
|
|||
JimmyZ | END { } ? | 07:06 | |
tadzik | nah, that's not it | 07:07 | |
hoelzro: there is a way in the spec, not implemented anywhere | |||
DESTROY, methinks | |||
I think colomon wrote a nice module that makes END behave in such a way to you can workaround the lack of that | |||
hoelzro | hmm | ||
lizmat | until then, a LEAVE in the block in question, that destroys your object, might be helpful until then | ||
hoelzro | ok, that's acceptable for the time being | 07:08 | |
tadzik | github.com/colomon/Phaser-ATEXIT/ | ||
lizmat | afk for a few hours& | 07:11 | |
arnsholt | hoelzro: Not sure if anything is implemented, but as tadzik says it's specced somewhere. But there's an important wrinkle, which I'm not sure how we'll handle: Many GC methods can't guarantee order | 07:15 | |
Which means that any attributes are likely to be unavailable in the finalizer | |||
07:15
_jaldhar left
07:16
_jaldhar joined
07:38
fhelmberger joined
|
|||
hoelzro | I see | 07:44 | |
07:50
sqirrel joined
07:56
wk joined
07:57
wk is now known as Guest94502
08:06
arlinius left
|
|||
jnthn | In Perl 6, you can't rely on when an object will be GC'd. | 08:08 | |
hoelzro | =( | 08:09 | |
jnthn | DESTROY, even when implemented, could happen at any amount of time into the future after the last reference is gone. | ||
hoelzro | I figured | ||
jnthn | However, you should be able to do stuff like | ||
my $fh will leave { .close } = open "foo"; | |||
Which can now doubt be further sugared | 08:10 | ||
*no | |||
hoelzro | I see | ||
so how would Perl5 interop work? | |||
every Perl 5 block would have an implicit LEAVE that cleans things up? | 08:11 | ||
08:12
wtw left
08:13
gdey left
08:17
gdey joined,
salv0 joined
|
|||
jnthn | Perl 5 things would still be managed by Perl 5 | 08:17 | |
Provided you're doing the embedding approach, whcih Moar is. | 08:18 | ||
08:18
domidumont left,
domidumont joined
08:19
donaldh left
08:21
sqirrel left
08:23
donaldh joined
08:25
wtw joined
|
|||
hoelzro | ah | 08:28 | |
jnthn | o/ donaldh | ||
donaldh: I looked over your make-install branch. It seems sane. | |||
donaldh | jnthn: thx. | 08:35 | |
I started out thinking that it's important to separate the Java classpath from the module search path. | 08:36 | ||
But maybe that's not so good when Java interop comes along and modules want to load 3rd party jars. | 08:37 | ||
jnthn | Yeah, I'm not quite culturally aware enough in Java things to know what's the best answer there. | ||
donaldh | On balance, I think it probably is a good idea to separate the classpath and module search path. | 08:38 | |
jars required by modules can probably be loaded using a private classloader. | 08:39 | ||
I've got experience of doing that and it works very well. | |||
jnthn | OK, sounds workable to me. | 08:42 | |
hoelzro | jnthn: where is 'will leave' spec'd? | ||
08:43
dakkar joined
|
|||
hoelzro | also, can I constrain the possible indexes on an Array? ex. Array[3] of Int? | 08:44 | |
jnthn | Not sure where it's spec'd; s06 maybe... | 08:48 | |
Yes, somebody sent me a patch to implement that even :) | |||
(the array thing) | |||
hoelzro | is the syntax correct? | 08:49 | |
jnthn | No | ||
my Int @a[3] | |||
hoelzro | ah | ||
how would I specify that in a returns clause? | |||
jnthn | um | ||
Hm :) | 08:50 | ||
Array sizes aren't really part of the type... | |||
I guess you could do it with a subset type | |||
hoelzro | I see | ||
jnthn | subset Array3 of Array[Int] where { .shape == 3 } | 08:51 | |
hoelzro | I've been playing with Rust, and I was thinking in terms of fn parse-time(str time) -> (Int, Int, Int) | ||
so I'm thinking about how that would look in Perl 6 | |||
08:52
arlinius joined
|
|||
jnthn | It may be possible that something like sub parse-time(Str $time --> (Int, Int, Int)) { } can actually work... | 08:55 | |
Probably not in Rakudo though, as I think we didnt' catch up with latest STD changes | |||
hoelzro | ah ha | 08:58 | |
09:05
daxim joined
|
|||
dalek | rlito: bd13f1a | (Flavio S. Glock)++ | / (5 files): Perlito5 - indirect syntax tweak |
09:13 | |
hoelzro | could anyone help me understand what's going wrong here: gist.github.com/hoelzro/6061095 | 09:18 | |
FROGGS | hoelzro: I think it just expects a grammar + action-class in methods like INTERPOLATE | 09:24 | |
hoelzro | I see... | 09:26 | |
hoelzro doesn't really understand | |||
so the way regexes work changes in sub vs method? | 09:27 | ||
FROGGS | hmmm | ||
let me test something | 09:31 | ||
ahhh | 09:33 | ||
this is to blame: github.com/rakudo/rakudo/blob/nom/...sor.pm#L60 | 09:35 | ||
hoelzro | anything interesting to report? | ||
so...is that a bug? | |||
FROGGS | timespec is Callable, and it calls it by passing self, which is the Cursor class | ||
I'm trying a fix right now | |||
dalek | rlito: 39a5fa6 | (Flavio S. Glock)++ | / (4 files): Perlito5 - indirect syntax tests tweak |
||
FROGGS | (passing $?CLASS instead of self) | ||
hoelzro | why does that only happen in method and not sub | 09:36 | |
? | |||
FROGGS | because a sub doesnt belong to a class? | ||
errr | 09:37 | ||
hmmm | |||
I'm not sure | |||
hoelzro | so how do I fix this? =) | ||
I mean, I could just have the parsing routine outside of my class | |||
FROGGS | just wait a sec, and we'll see if I can provide a patch | ||
hoelzro | ok =) | 09:38 | |
FROGGS | hmmm, fail :o( | ||
maybe the regex declarator has to be tweaked | 09:42 | ||
09:54
kaleem joined
|
|||
jnthn | Workaround may be my regex foo(Cursor:) { ... } | 09:55 | |
09:55
domidumont left
|
|||
FROGGS | nope, that explodes too | 09:56 | |
r: class C { method m($s) { my regex r(Cursor:) { \d+ }; $s ~~ /^<r>$/ } }; say C.m(123) | |||
camelia | rakudo 8a1cd0: OUTPUT«「123」 r => 「123」» | ||
FROGGS | ? | ||
09:56
domidumont joined
|
|||
FROGGS | okay, explodes locally | 09:56 | |
-.- | |||
I should update my rakudo installation moar often | 09:57 | ||
hoelzro: ^^ | |||
jnthn | I'm guessing it just says, "am I in a package", and then takes the type of that as the invocant type | ||
I guess instead it should look at $*SCOPE | 09:58 | ||
hoelzro | so is what I'm doing wrong? or is this a bug? | 10:01 | |
FROGGS | It is a bug, but you can workaround it by using (Cursor:) as the signature of your regex declarations | 10:04 | |
jnthn | I'd say it's a bug | ||
hoelzro | alright | ||
hmm, this is odd | 10:07 | ||
sub MAIN(Str $time) { ... } | |||
when I call './countdown 10', it complains | |||
'Usage: ./countdown <time>' | |||
tadzik | try "as Str", maybe? | 10:08 | |
hoelzro | tadzik: where would I put that? | 10:09 | |
tadzik | hoelzro: sub MAIN($time as Str) | 10:10 | |
hoelzro | ah | ||
10:30
hypolin left
10:52
colomon joined
10:59
daxim left,
Celelibi left,
smash left,
autumn left,
djanatyn left,
scottp_ left,
scottp joined,
smash joined,
daxim joined
11:00
autumn joined,
djanatyn joined
11:01
Celelibi joined
11:03
rindolf joined
11:06
salv0 left
11:18
_jaldhar left
|
|||
daxim | building nqp-jvm-2013.07 - paste.scsys.co.uk/263423 | 11:18 | |
is this a known failure? should I disable tests to build a package, or apply a patch to the source after unpacking? | 11:19 | ||
hoelzro | FROGGS, jnthn: neither of you have submitted a rakudobug for that regex bug I found earlier, have you? | 11:21 | |
if not, I'll submit | |||
also, has anyone considered my pull request? I thought it was a nice little feature | 11:22 | ||
FROGGS | hoelzro: no, havnt submitted it... | 11:24 | |
hoelzro | k, I'll do it | ||
FROGGS | had no time yet to test your PR | ||
thanks | |||
hoelzro++ | |||
hoelzro | there's no perl6bug program, is there? | 11:29 | |
this is terribly stupid of me, but I can't seem to figure out how to submit a ticket =/ | 11:30 | ||
FROGGS | just send an email to [email@hidden.address] | ||
hoelzro | ah ha | 11:31 | |
what about source code samples? are attachments ok? | |||
daxim | it's RT. yes and yes | ||
hoelzro | ok, cool | ||
11:32
jlaire left
|
|||
hoelzro just realized he's using Rakudo * 2013.02 | 11:33 | ||
diakopter | [Coke]: ping | 11:38 | |
11:43
rindolf left
11:48
fridim__ joined
11:49
benabik left
11:50
benabik joined
11:53
logie joined
|
|||
hoelzro | I think I found another bug: gist.github.com/hoelzro/6061791 | 11:53 | |
that doesn't seem right to me... | |||
(this is now with a Rakudo built from Git) | 11:54 | ||
lizmat | Indeed, that error is LTA | ||
but it is correct, as a regex is just a special sub/method | |||
11:55
tokuhirom joined,
SamuraiJack__ joined
|
|||
hoelzro | but it's a lexical regex; why would that create a method? | 11:55 | |
also, LTA? | 11:56 | ||
timotimo | "Less Than Awesome" | ||
hoelzro | ah =) | 11:57 | |
jnthn | Any regex needs a cursor to operate on | 12:03 | |
lexical regex really means "install in lexical scope" | |||
colomon, FROGGS: Either of you know the state of the NQP sprintf.t failures? Are they machine specific? | |||
colomon | jnthn: they're not | 12:04 | |
jnthn: they're just stuff that needs to be fixed. | |||
I'll try to get to it today or tomorrow | |||
hoelzro | jnthn: so that means it's a method, but it also has an entry in the lexicals table? | ||
jnthn | hoelzro: Well, it doesn't get installed in a method table, but yeah, all regexes (even /.../) are generated as methods | 12:05 | |
hoelzro | so should a duplicate lexical regex (in different scopes) be considered an error? | 12:06 | |
jnthn | hoelzro: To the degree that they all need to be invoked on a cursor | ||
No | |||
hoelzro | ok, that's what I was wondering =) | ||
so that's another bug, rigth? | |||
*right | |||
jnthn | Just as lexical $a in an inner scope doesn't cause issues with a lexical $a in an otuer scope | ||
What's another bug? | |||
colomon | jnthn: they're basically things we'd fudge in roast. Dunno if that is possible (or desirable) in NQP tests. | ||
hoelzro | jnthn: gist.github.com/hoelzro/6061791 | 12:07 | |
jnthn | oh, hm, I should check spec... | 12:09 | |
timotimo | i was wondering ... is it a regression to go from wrong to wrong? i'm not sure if the second wrong is sufficiently less wrong though | ||
12:10
logie left
|
|||
timotimo | (my code goes from rendering =output blocks like regular text paragraphs to rendering them as preformatted text, but bunched up into a single line ...) | 12:10 | |
jnthn | I'm not sure if the "my" is meant to do an additional install of a method in the lexical scope as well as the method table, or if it's instead | ||
Rakudo is taking it to be both | 12:11 | ||
hoelzro | indeed | ||
something to think about =) | |||
jnthn | I'm not sure if the spec calsl it either way | ||
hoelzro | hmm | ||
to me, it seems odd | |||
jnthn | It appears to be deliberately done the current way ratehr than being an accident though... | ||
hoelzro | ah ha | ||
jnthn | Yeah, I can argue it both ways :) | ||
I can't recall a spec quote on it | 12:12 | ||
Well, TimToady++ backlogs ;) | |||
moritz | usually 'my' means 'lexically only' | ||
hoelzro | that's how I look at it | ||
jnthn | yeah, I'd be happy enough going that way | ||
hoelzro | I have one more "bug" to report: gist.github.com/hoelzro/6061896 | ||
lizmat | spectesting double 'regex' error message with more awesomness | 12:13 | |
12:15
tokuhirom left
|
|||
benabik wonders if hoelzro's example would work if Rakudo had IntStr. | 12:16 | ||
lizmat | hoelzro: is that parameter supposed to be a number or a string? or can it be both? | ||
r: class A { { my method a { } }; { my method a { } } # this is not just for "my regex", but also for "my method" | 12:20 | ||
camelia | rakudo 8a1cd0: OUTPUT«===SORRY!===Package 'A' already has a method 'a' (did you mean to declare a multi-method?)at /tmp/wRgBu4_H7h:1------> » | ||
lizmat | maybe it should complain about "my method" ? | 12:21 | |
12:21
Celelibi left
|
|||
jnthn | lizmat: Well, we're speculating that "my method" should not make a method table entry | 12:21 | |
lizmat | but how can you call that method then? | ||
jnthn | You couldn't call it as a method in that case | 12:22 | |
lizmat | I mean, methods are generally called on objects outside of the namespace they're declared | ||
jnthn | Only lexically | ||
lizmat | so this would only make sense when called objects of class "A" inside the "A" namespace? | ||
inside that scope even? | 12:23 | ||
jnthn | yeah...it's a weird thing to do for normal methods | ||
Less weird for regexes though | |||
dalek | kudo/nom: 1822009 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/MethodContainer.nqp: Make double method error more awesome |
12:24 | |
lizmat wonders where we should put tests for that | 12:25 | ||
diakopter | there's a bunch of error tests centralized somewhere I thought | 12:27 | |
jnthn | If you make it a typed exception, then it can go into S32-exceptions/misc.t | 12:30 | |
12:30
ribasushi left
|
|||
hoelzro | lizmat: it's a Str, but isn't '10' a Str? | 12:31 | |
lizmat | looks_like_a_number :-) | ||
hoelzro | heh | ||
moritz | hoelzro: sub MAIN_HELPER does some magic to turn command line arguments into the "appropriate" types | ||
hoelzro | well, shouldn't MAIN accept '10' as parameter, though? | ||
jnthn | val(...) semantics maybe | ||
hoelzro | it just seems odd | 12:32 | |
jnthn | But we dont' have IntStr and friends yet. | ||
MI :/ | |||
lizmat | perl6 a.p6 '"10"' # would work | ||
hoelzro | sub MAIN(Cool $value) works | 12:33 | |
but then I have to manually coerce it | |||
benabik | Would Str(Any) work? Or is that Any(Str)? | ||
12:33
konundra left
|
|||
lizmat | NYI | 12:33 | |
benabik | :-( | ||
jnthn | You writre that as "as Str" for now | 12:34 | |
lizmat | hoelzro: specifying Cool is essentially the same as Any, and that's the defauylt | ||
hoelzro | I see | ||
12:36
jlaire joined
|
|||
benabik | jnthn: Multiple inheritance is NYI? | 12:37 | |
jnthn | benabik: Yes, it's implemented, I'm just unhappy we end up using it in core... | 12:38 | |
12:38
ribasushi joined
|
|||
benabik | I suppose I can understand that attitude. | 12:38 | |
lizmat | in the core, it is always the problem to strike a balance between performance and being an example of Perl 6 code | 12:40 | |
sometimes some features are not available yet at some point in the core (such as phasers), and sometimes features are currently too unoptimized (such as multi-method dispatch) | 12:41 | ||
diakopter | hopefully someday a good JIT solves that tradeoff | 12:46 | |
lizmat | s/hopefully// | 12:47 | |
JimmyZ | JVM :) | ||
FROGGS | we want moar! | 12:48 | |
JimmyZ too :P | |||
diakopter | JimmyZ: a Perl6/bytecode-focused JIT, as opposed to JVM/bytecode.. | 12:49 | |
JimmyZ | A Perl6 JIT by using luajit's dynasm \o/ | 12:50 | |
timotimo | is there a good mechanism to send data "back in time" while backtracking? | 12:52 | |
[Coke] | ... returns from a time warp where he said he'd run something again in a few hours, but it's already tomorrow. | 12:54 | |
lizmat | .oO( Rocky! ) |
12:55 | |
12:56
jose__ joined
|
|||
timotimo | the use case would be the diagram of WHY and WHEREFORE, where when a shorter indent that is not short enough to terminate the raw block is encountered, it should send the new short indent "back in time" to the place where it decided on how much indent to use | 12:56 | |
anyway, maybe that's for much later. first i want to finish up the proper dedenting fix along with fixes to Pod::To::HTML and Pod::To::Text as well as the perl6doc repository and the S26 spec ... oh yay. | 12:57 | ||
[Coke] | diakopter: Pong. | 12:58 | |
diakopter | [Coke]: do you have some time to help with setting up rakudo-jvm? | 12:59 | |
12:59
kaare_ joined
|
|||
diakopter | [Coke]: I'm working on moving camelia to a far faster server with 4x ram | 12:59 | |
[Coke] | I am at $dayjob, so not a lot of time, but I can spend a few minutes here and there. (and tonight is the first Albany.pm meeting in about 5 years. woot) | 13:00 | |
13:00
logie joined
13:01
konundra joined
|
|||
lizmat | [Coke]++ | 13:03 | |
dalek | kudo-js: a7c4605 | (Pawel Murias)++ | / (8 files): Start rewriting the premetamodel grammars attempt to a grammar implementation using QRegex. Pass tests 31 and 29. Add list_i,push_i, stub minor things. |
13:04 | |
13:05
pmurias joined
|
|||
pmurias | pmichaud_: ping | 13:05 | |
[Coke] | lizmat: don't get too excited. It's me and one guy who's in town for a wedding from africa. | 13:08 | |
lizmat | it's a start (again) :-) | 13:09 | |
13:12
telex joined
|
|||
dalek | kudo/nom: 3f8b609 | (Elizabeth Mattijsen)++ | src/core/operators.pm: Fix comment spello |
13:13 | |
13:15
PacoAir joined
13:16
_jaldhar joined
13:25
xilo joined
13:27
bluescreen10 joined
13:28
jose__ left
|
|||
lizmat | afk for a few hours again& | 13:31 | |
13:32
kaleem left
|
|||
[Coke] | did rebuf get merged? | 13:45 | |
moritz | looks like it, yes | 13:46 | |
[Coke] | danke. | 13:47 | |
14:01
bluescreen10 left,
bluescreen10 joined
|
|||
timotimo | uri is failing two utf8-based escape tests | 14:05 | |
its "got" result contains lots of %FF | 14:06 | ||
that confuses me a bit | |||
14:06
Celelibi joined
|
|||
timotimo | apparently the implementation for the escaping is '%' ~ .Str.encode.unpack('H*').uc.comb(/../).join('%') | 14:07 | |
r: "ö".Str.encode.unpack('H*') | |||
camelia | rakudo 182200: ( no output ) | ||
timotimo | r: "ö".Str.encode.unpack('H*').perl.say | ||
camelia | rakudo 182200: OUTPUT«"fffffffc3fffffffb6"» | ||
timotimo | r: "a".Str.encode.unpack('H*').perl.say | ||
camelia | rakudo 182200: OUTPUT«"61"» | ||
timotimo | that's not utf8, is it? | 14:08 | |
r: "ö".Str.encode.unpack('h*').perl.say | |||
camelia | rakudo 182200: OUTPUT«Unrecognized directive 'h' in block at src/gen/CORE.setting:4485 in method reify at src/gen/CORE.setting:6513 in method reify at src/gen/CORE.setting:6408 in method gimme at src/gen/CORE.setting:6836 in method eager at src/gen/CORE.setting:6815 in meth… | ||
timotimo | "ö".encode('utf-8').perl.say | ||
r: "ö".encode('utf-8').perl.say | |||
camelia | rakudo 182200: OUTPUT«utf8.new(-61, -74)» | ||
timotimo | ... is that so? | 14:09 | |
jnthn: does that seem right to you? ^ | |||
[Coke] | r: say utf8.new(-61, -74); | 14:10 | |
camelia | rakudo 182200: OUTPUT«Buf:0x<ffffffc3 ffffffb6>» | ||
[Coke] | r: say ~utf8.new(-61, -74); | ||
camelia | rakudo 182200: OUTPUT«ö» | ||
timotimo | i mean c3 and b6 are correct, but all the f's in front i don't think are right | ||
[Coke] | it round trips, anyway. | ||
14:10
rindolf joined
|
|||
timotimo | maybe internally utf8 uses signed where it should be using unsigned or something? | 14:10 | |
[Coke] | r: say ~utf8.new(-66, -74); | ||
camelia | rakudo 182200: OUTPUT«Malformed UTF-8 string in method decode at src/gen/CORE.setting:4507 in method Str at src/gen/CORE.setting:4512 in method Str at src/gen/CORE.setting:905 in method Stringy at src/gen/CORE.setting:914 in sub prefix:<~> at src/gen/CORE.setting:1304 in su… | ||
timotimo | r: say 'ö'.unpack('H*') | 14:11 | |
camelia | rakudo 182200: OUTPUT«No such method 'unpack' for invocant of type 'Str' in block at /tmp/aOauEAI4su:1» | ||
timotimo | mhm. | ||
r: say ('ö'.encode >>*>> -1) | 14:12 | ||
camelia | rakudo 182200: OUTPUT«-2» | ||
timotimo | er, no. | ||
benabik | I think it's converting from a signed byte to signed integer. | 14:13 | |
And when it's building the utf8 from the ints, it's truncating the higher bits. | |||
timotimo | ah, of course. an integer in a utf8 type is clearly not what's wanted | ||
benabik | Yes. | ||
timotimo | class utf8 does Blob[int8], so at least that part seems right | 14:14 | |
benabik | 0xc3 has the high bit set, so it's (obviously?) negative, so extending it to a 64b int requires adding 0xffffff, not 0x000000 | ||
timotimo | that makes sense indeed | 14:15 | |
a temporary crutch would be to +& it with 0xff, just to make it all pass again (that is, in the uri_escape function) | |||
er, what am i saying. utf8 does Blob[int8] should be does Blob[uint8], no? | 14:16 | ||
(and of course uint8 and friends are not defined) | 14:17 | ||
benabik | Yeah. Should be, if it exists. :-/ | 14:19 | |
This may simply be an output bug, where it's outputting more bits than it's storing. | |||
14:22
ajr joined,
ajr is now known as Guest61758
14:23
Guest61758 is now known as ajr_
|
|||
jnthn | I wondered if the signedness thing would bite at some point. | 14:28 | |
:/ | |||
Neither Parrot nor JV | |||
M offer signed integers | |||
So it'll need a hack. | |||
14:31
robinsmidsrod left
|
|||
jnthn | unpack and pack passed their tests on the new impl, so I'm guessing they are undertested :( | 14:32 | |
pmurias | jnthn: you mean neighter Parrot nor JVM offers unsigned integers? | ||
jnthn | pmurias: yes | ||
pmurias | * neither | ||
timotimo | easy: store utf8 in 16-bit integers ... >_> | 14:33 | |
jnthn | I suspect I can find a way to cheat us a uint8, uint16 and uint32 | ||
In arrays at least | |||
timotimo: That's horribly wasteful. | |||
timotimo | yes, hence the emoticon | 14:34 | |
pmurias | can't we store unsigned integers as signed ones and just do the operations differently? | ||
colomon | stupid perl6 question: how does one go from, say, a binary number string to an Int? | ||
jnthn | r: say :2('10101') | 14:35 | |
timotimo | colomon: .chrs is one option? | ||
camelia | rakudo 3f8b60: OUTPUT«21» | ||
timotimo | oh, that's what you mean | ||
jnthn | pmurias: Yeah, that's what I have in mind ;) | ||
colomon | r: my $a = "1010101"; say :2($a) | ||
camelia | rakudo 3f8b60: OUTPUT«85» | ||
colomon | jnthn++ | ||
jnthn | pmurias: Whenever we pull anything out of an array we have to widen it anyway. | ||
pmurias: JVM treats all ints as 64-bit for calculation purposes. | |||
On Parrot...well, depends if you build 32-bit or 64-bit :) | 14:36 | ||
14:36
robinsmidsrod joined
|
|||
timotimo | hm, how do i generate a buf from another buf with .abs run over all the numbers in it? | 14:36 | |
pmurias | jnthn: have you seen blogs.oracle.com/darcy/entry/unsigned_api? they even link to a patch we could steal code from for backporting | 14:37 | |
jnthn | Buf.new($otherbuf.map(*.abs)) | ||
timotimo | neato | ||
r: "ö".encode.map(*.abs).perl.say | |||
camelia | rakudo 3f8b60: OUTPUT«No such method 'abs' for invocant of type 'utf8' in block at /tmp/ID4IxP_Sd8:1» | ||
timotimo | r: "ö".encode.map(*.&abs).perl.say | ||
camelia | rakudo 3f8b60: OUTPUT«(2,).list» | ||
timotimo | but that's wrong :( | ||
jnthn | uh, guess you need .list.map | 14:38 | |
timotimo | r: "ö".encode.list.map(*.&abs).perl.say | ||
camelia | rakudo 3f8b60: OUTPUT«(61, 74).list» | ||
timotimo | that seems better | ||
jnthn | I'm pretty sure it ain't :) | ||
timotimo | hehe. | ||
it's all temporary | |||
jnthn | The problem is not that you need to absolute it | ||
It's that it's coming out signed when it should be unsigned | |||
You want to add 128 if it's negative... | 14:39 | ||
timotimo | right | ||
jnthn | but if you shove it right back into a buf8 you'll lose it again | ||
so you'd have to put it in a buf16 or so | |||
14:40
Psyche^_ left
|
|||
timotimo | i won't shove it into a buf. this is just to fix the test failure in URI::Escape so that i can install Pod::To::HTML to see if the output looks right | 14:40 | |
at the moment i don't care about correctness in this part. i could equally well install it with --notests actually. | |||
jnthn | are you patching Rakudo or URI::Escape? | ||
colomon | rn: my @a := 1, 1, * R+ * … *; say @a[3] | ||
camelia | niecza v24-88-g1f87209: OUTPUT«===SORRY!===Confused at /tmp/vHFqxuNUZM line 1:------> my @a := 1, 1, * R+ * ⏏… *; say @a[3]Parse failed» | ||
..rakudo 3f8b60: OUTPUT«===SORRY!===Two terms in a rowat /tmp/5u8UmUDL0A:1------> my @a := 1, 1, * R+ * ⏏… *; say @a[3] expecting any of: postfix infix stopper infix or meta-infix statement end statement m… | |||
timotimo | the latter | ||
jnthn | We should really fix it in Rakudo, and add a spectest | ||
colomon | rn: my @a := 1, 1, * + * … *; say @a[3] | ||
camelia | niecza v24-88-g1f87209: OUTPUT«===SORRY!===Confused at /tmp/Cz3fU4ShAZ line 1:------> my @a := 1, 1, * + * ⏏… *; say @a[3]Parse failed» | ||
..rakudo 3f8b60: OUTPUT«===SORRY!===Two terms in a rowat /tmp/T0SdYA7nTu:1------> my @a := 1, 1, * + * ⏏… *; say @a[3] expecting any of: postfix infix stopper infix or meta-infix statement end statement mo… | |||
timotimo | i can surely add a spectest. the fixing i'll leave up to someone else, though. | 14:41 | |
jnthn | *nod* | ||
14:42
Psyche^ joined
|
|||
timotimo | there's only S03-operators/buf.t with "buf" in its name. where should i look? | 14:42 | |
ah | |||
S32-str/encode.t seems right? | |||
jnthn | yeah | 14:43 | |
colomon | rn: my @a := 1, 2, 3 ... *; say @a[3] | ||
camelia | rakudo 3f8b60, niecza v24-88-g1f87209: OUTPUT«4» | ||
colomon | rn: my @a := 1, 2, * + * ... *; say @a[3] | ||
camelia | rakudo 3f8b60, niecza v24-88-g1f87209: OUTPUT«5» | ||
colomon | rn: my @a := 1, 2, * R+ * ... *; say @a[3] | 14:44 | |
camelia | niecza v24-88-g1f87209: OUTPUT«5» | ||
..rakudo 3f8b60: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \v: Mu *%_) in method Numeric at src/gen/CORE.setting:894 in sub infix:<+> at src/gen/CORE.setting:3299 in sub infix:<+> at src/gen/CORE.setting:3297 in block at src/gen/CORE.setting:14527 in … | |||
colomon | rakudobug? | ||
jnthn | I guess Rakudo doesn't like whatever-currying meta-ops. Should that work? | ||
colomon | as far as I know. | ||
dalek | ast: 2b3c0d4 | (Timo Paulssen)++ | S32-str/encode.t: add a test to ensure utf8 codepoints come out right not, for example, negative or off-by-one. |
14:47 | |
timotimo | pretty minimal, but it does explode as intended. | ||
14:47
gdey left
14:49
gdey joined
14:53
fhelmberger left
|
|||
[Coke] | pn: ('ä'.encode('UTF-8') eqv Buf.new(:16<c3>, :16<a4>)) | 14:55 | |
rpn: say ('ä'.encode('UTF-8') eqv Buf.new(:16<c3>, :16<a4>)) | |||
camelia | niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match: Mu, *%_ at /tmp/JW8QI0bJOR line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @… | 14:56 | |
..pugs: OUTPUT«*** No such method in class Str: "&encode" at /tmp/lu6ojf5Tr2 line 1, column 5 - line 2, column 1» | |||
..rakudo 3f8b60: OUTPUT«False» | |||
[Coke] | can you fudge that for niecza and pugs? | ||
i'll let jnthn decide if he wants to fudge it for rakudo | |||
timotimo | oh wow | 14:57 | |
i have apparently introduced a regression that affects exactly *one* out of multiple code blocks in the classtut | 14:58 | ||
15:00
dayangkun left,
konundra left
15:01
telex left
15:03
telex joined
15:04
dayangkun joined
|
|||
jnthn | decommute & | 15:08 | |
15:08
iSlug left
15:09
iSlug joined,
iSlug left
15:10
fhelmberger joined
15:25
dmol joined
15:30
skids joined
15:31
kaare__ joined
15:32
xinming left
15:34
kaare_ left,
xinming joined
15:41
zby_home_ joined
|
|||
timotimo | i'm still puzzled by the growing memory usage of htmlify | 15:42 | |
i suppose it kind of makes sense that rakudo would want to keep a bit of the stuff hanging around ... | |||
15:42
FOAD left
15:43
FOAD joined
|
|||
timotimo | it's probably the registry keeping all the $pod objects around until the very end | 15:55 | |
maybe a bit of processing can be moved to the front, so that it'll only have to keep a string around instead of the whole thing. | 15:56 | ||
15:56
raiph joined
|
|||
[Coke] | pmurias++ | 15:58 | |
timotimo | apparently it does have to keep around lots of the data | ||
moritz | it basically keeps around every Pod:: object it ever parses | 16:05 | |
but it used to be about 1GB | 16:06 | ||
timotimo | either i have broken it, or it has been broken since you last looked | ||
FROGGS | maybe both :P | ||
timotimo | Generated on 2013-04-01T01:53:43-0200 - that's a long time ago i feel. | ||
16:09
donaldh left
16:10
domidumont left,
wtw left
|
|||
timotimo | i'm not really confident in the way pod_string_character works. can that really be efficient? taking one character at a time? | 16:11 | |
but of course that doesn't impact memory usage. or at least it shouldn't do that | 16:13 | ||
16:15
fridim__ left
16:16
FROGGS[mobile] joined,
fhelmberger left
16:17
fhelmberger joined
16:18
syed_ joined
16:19
syed_ left,
konundra joined
16:21
logie left,
ajr_ left,
ajr joined,
FROGGS left
16:22
ajr is now known as Guest26257,
Guest26257 is now known as ajr_,
Guest1337 joined
16:28
domidumont joined
16:31
fhelmberger left
16:35
FROGGS joined
16:36
btyler joined
16:37
FROGGS[mobile] left
16:46
ajr_ left
16:48
spider-mario joined
16:52
birdwindupbird left
16:55
dakkar left
16:56
logie joined
16:57
xinming left
16:59
xinming joined
|
|||
pmurias | [Coke]: what was the karma for? | 17:07 | |
[Coke] | gsoc project | 17:13 | |
17:17
ajr joined
|
|||
colomon | woah, lot of new module test failures overnight | 17:17 | |
17:18
ajr is now known as Guest39882,
Guest39882 is now known as ajr_
|
|||
dalek | kudo-star-daily: df67d1d | coke++ | log/ (5 files): today (automated commit) |
17:18 | |
kudo-star-daily: ebd4c1b | coke++ | log/ (5 files): today (automated commit) |
|||
kudo-star-daily: f34ac5a | coke++ | log/ (5 files): today (automated commit) |
|||
kudo-star-daily: 11c0c3c | coke++ | log/ (5 files): today (automated commit) |
|||
17:22
dmol left
17:24
fridim__ joined
17:35
daxim left
17:36
xinming left
17:37
xinming joined
17:38
btyler left
|
|||
timotimo just reverted an old merge commit ... git is magical | 17:42 | ||
[Coke] | when the failing(!) test was added to S32-str/encode.t, looks like the plan might need updating also. | 17:43 | |
*might have needed | |||
timotimo | oooh, yes | 17:44 | |
sorry about that | 17:45 | ||
dalek | ast: d9ba3ef | (Timo Paulssen)++ | S32-str/encode.t: bump the plan for the last commit |
||
timotimo | oh, hold on, the "failing(!)" indicated i should have TODO'd it? | ||
[Coke] | yes. | 17:46 | |
unless the plan is for it to be fixed asap, sure. | |||
dalek | ast: 2dfe8c6 | (Timo Paulssen)++ | S32-str/encode.t: ... and also mark the failing test as todo. |
||
timotimo | must be the heat messing with my brain functions | ||
i blame external factors for my incompetence! | 17:47 | ||
moritz | [Coke]++, timotimo++ # fixing tests | ||
[Coke] | [resend] can you fudge that for niecza and pugs? | ||
17:47
kaleem joined,
kaleem left
|
|||
timotimo | ... surely can. should i squash all those commits quickly before anybody else sees them? | 17:48 | |
[Coke] | they've been seen. :) | ||
timotimo | noooooooooooo~ | ||
[Coke] | (no worries) | 17:49 | |
timotimo | pn: 'ä'.encode('UTF-8').perl.say | ||
[Coke] | seriously, no worries. Thanks for adding tests! | ||
moritz | timotimo: more commits, more karma :-) | ||
17:49
raiph left
|
|||
timotimo | perl6: 'ä'.encode('UTF-8').perl.say | 17:49 | |
camelia | rakudo 3f8b60: OUTPUT«utf8.new(-61, -92)» | ||
..niecza v24-88-g1f87209: OUTPUT«Buf.new(...)» | |||
timotimo | pugs isn't being run any more? | 17:50 | |
n: 'ä'.encode('UTF-8').list.perl.say | |||
camelia | niecza v24-88-g1f87209: OUTPUT«(Buf.new(...), ).list» | ||
timotimo | aaw come on :( | ||
n: 'ä'.encode('UTF-8')[0].perl.say | |||
camelia | niecza v24-88-g1f87209: OUTPUT«Buf.new(...)» | ||
timotimo | how do i even ... | ||
n: say 'ä'.encode('UTF-8') eqv Buf.new(:16<c3>, :16<a4>) | 17:51 | ||
camelia | niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match: Mu, *%_ at /tmp/9RhEt929Bq line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @… | ||
timotimo | n: say 'ä'.encode('UTF-8') eqv Buf.new([:16<c3>, :16<a4>]) | ||
camelia | niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match: Mu, *%_ at /tmp/ZwdzLbyKzG line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @… | ||
[Coke] | timotimo: if you want to run all 3 you need "npr: " | ||
timotimo | i wanted only pugs and niecza. i know the output of rakudo already | ||
are these S32-str/encode.t tests being run on niecza at all? it would seem like there'd be multiple actual failures | 17:52 | ||
timotimo looks at the always useful roast-data logs | |||
colomon | Niecza doesn't have Buf, as far as I know | ||
timotimo | they are not being run at all, so at least i don't have to fudge them for niecza | 17:53 | |
same for pugs. | |||
[Coke] | timotimo: (not running them) whoops, didn't even think to double check that. | ||
timotimo++ timotimo++ | |||
timotimo | i'm glad the heat has left some shred of thinking capability in my head :) | ||
colomon | fifteen new module failures overnight, don't have time to look into them right now. | 17:54 | |
Bailador, CSS::Grammar, LWP::Simple, Pod::To::HTML, p6doc, etc | 17:55 | ||
timotimo | Pod::To::HTML fails (i think) because URI doesn't finish its tests (due to the encoding issue i added that non-perfect test for earlier today) | 17:56 | |
and i think p6doc fails due to the Pod::To::HTML failure | |||
[Coke] really needs to update the daily star runs to do latest-of-everything. blargh | |||
timotimo | i wonder if jnthn plans to give us uint native types today | 17:57 | |
17:59
ilbot_nextgen joined
18:00
moritz_ joined,
moritz_ left
18:05
stevan__ left
18:06
btyler joined
|
|||
timotimo | it's so strange. just when the script finishes with "reading lib/..." it's at almost 2gb of resident memory | 18:09 | |
just before that it's at 600 mb | |||
18:10
araujo joined
|
|||
timotimo | then it just jumps up 1.5gb? it should just have a dict with a couple of key/value pairs in it :| | 18:10 | |
IO::Path objects shouldn't be big, should they? | 18:11 | ||
spider-mario | hm, how about changing this in ConfigureJVM.pl? | 18:24 | |
- if (open my $CLEAN, '-|', "$make clean") { | |||
+ if (open my $CLEAN, '-|', $make, clean) { | |||
geekosaur | bareword clean | 18:25 | |
spider-mario | oops, indeed | ||
my bad | |||
if (open my $CLEAN, '-|', $make, 'clean') { | |||
then. | |||
timotimo | seriously, how in the world is a list composed of 153 pairs that have a string and a path in them making rakudo take up 1.8 gigs of ram? | 18:27 | |
tadzik | you could say that... | ||
(•_•) | |||
( •_•)>⌐■-■ | |||
(⌐■_■) it scales | |||
FROGGS | *g* | 18:28 | |
timotimo | :| | ||
jnthn | .oO( web scale! ) |
18:30 | |
That does sound rather wtf... | |||
timotimo | r: say "That's {(1.2 * 1024 * 1024) / 152} kilobytes per entry, captain." | ||
camelia | rakudo 3f8b60: OUTPUT«That's 8278.231579 kilobytes per entry, captain.» | ||
TimToady | .oO(What The Fish Scales?) |
18:31 | |
jnthn | timotimo: Can you reproduce it in a small test case? | 18:35 | |
timotimo | yeah, it's small-ish. i'll gist it for you | 18:36 | |
18:37
raiph joined
|
|||
timotimo | gist.github.com/timo/a493f5fbb80e0f298f92 - should be executed in perl6/docs or what's the repo name. | 18:38 | |
18:40
aindilis left
|
|||
lizmat | good *, #perl6! | 18:40 | |
is there a way to have parakudo produce a stack trace when being in an infiniloop somewhere in its bowels ? | 18:41 | ||
some signal I can send to the process? | 18:42 | ||
timotimo | i would love to know that as well | ||
lizmat | seems there are signal handlers defined, as sending a kill -30 will actually state "User defined signal 1: 30" | 18:44 | |
dalek | rl6-roast-data: 54454cf | coke++ | / (5 files): today (automated commit) |
18:46 | |
lizmat | jnthn: doesn nqp install those signal handlers, or does parrot? | 18:47 | |
99.34% | |||
jnthn | lizmat: Pretty sure it ain't NQP | ||
lizmat: As in, almost certain...if it is, it's bit of NQP I've never seen :) | 18:48 | ||
lizmat | hehe | ||
so I guess it becomes a question of parrot calling a nqp::code in a signal handler | |||
[Coke] | jnthn++ # few more tenths of a percent! | ||
jnthn | lizmat: That sounds...scary :) | 18:49 | |
lizmat | well, we want it to die, just with a stack trace, not a segfault :-) | 18:50 | |
18:56
dmol joined
|
|||
lizmat gives up on getting into Parrot | 19:01 | ||
19:01
vk_ joined
|
|||
jnthn | ...that was fast :P | 19:02 | |
lizmat | I wonder whether we couldn't install a signal handler in NQP, that would set a flag and just call nqp::die on the next opcode | ||
19:02
dmol left,
dmol joined
|
|||
jnthn | lizmat: Not quite sure how to do that. | 19:04 | |
lizmat | jnthn: I'm still trying to grok perl6 / rakudo / nqp, and with the limited brain capacity that I have, it just becomes Too Mucb (™) | ||
meanwhile, I found where my code infiniloops | |||
src/core/Stringy: multi infix:<eq>(\a, \b) { a.Stringy eq b.Stringy } | 19:05 | ||
pmurias | jnthn: when I'm reading in the stable for a flattened attribute the 0 sc is the current one 1 is the first one in the dependencies table etc. | ||
lizmat | jnthn: I guess .Stringy is a type coercion, right ? | 19:06 | |
jnthn | pmurias: Yes, sounds right | ||
lizmat: Yeah | |||
lizmat: Typically calls .Str | 19:07 | ||
19:07
dmol left
19:08
dmol joined,
stevan__ joined
|
|||
[Coke] | lizmat: so you're at the "too many layers of abstraction" layer? | 19:08 | |
lizmat | that's one way to abstract it :-) | 19:09 | |
jnthn: in src/core/Any, method join is doing .Str coercion for the elements, and .Stringy for the separator. Is there a reason for that discrepancy? | 19:10 | ||
jnthn | No, probably wants to be Str for both | 19:11 | |
lizmat | running spectest | 19:13 | |
jnthn | Grr...sleeping badly due to heat + early mornings for teaching = lack of energy :/ | ||
[Coke] | jnthn++ | 19:15 | |
lizmat | I've moved to tropic schedule: getting up around 5 am, cycling around 9, lunch, siesta, and then the evening hack :-) | 19:16 | |
FROGGS | sounds nice... except the getting up part | 19:17 | |
19:17
Guest94502 left
|
|||
jnthn | lizmat: Oh, I'd been getting up at 11am and sleeping around 3am-4am before the teaching happened. | 19:18 | |
lizmat | FROGGS: yes, that's the hard part | 19:19 | |
dalek | kudo/nom: fefe2e4 | jnthn++ | src/ (3 files): Stub in unsigned integer types. They presently have no effect whatsoever and behave signed; future commits will gradually try to address that. |
||
lizmat | it's a start | 19:21 | |
.oO( why do I have a sense of deja vu? ) |
|||
TimToady | jnthn: yes, a my method should ignore any class around it; it's just a lexical function from that standpoint | 19:24 | |
jnthn | TimToady: k | 19:25 | |
dalek | kudo/nom: 60ea730 | (Elizabeth Mattijsen)++ | src/core/Any.pm: Unify stringification in .join |
||
Util_ | #ps in 5 minutes | ||
19:30
rindolf left
|
|||
lizmat | jnthn: what's the significance of all infix ops in Stringy doing .Stringy rather than .Str, while Mu.Stringy is just self.Str ? | 19:33 | |
jnthn | lizmat: There are things that are Stringy that are not Str | ||
r: say Buf ~~ Stringy # for example | 19:34 | ||
camelia | rakudo 3f8b60: OUTPUT«True» | ||
jnthn compiles a patch to make "my method" not end up in le method table | |||
lizmat | but but, the only method Stringy exists in Mu ? | ||
jnthn | Well. That's unfortunate :) | 19:35 | |
Maybe we should add one to Blob :) | |||
Does Str not have one? | |||
lizmat | Blob has .Str | ||
jnthn | Yeah, .Stringy should return self. | 19:36 | |
19:36
domidumont left,
abnorman joined
|
|||
[Coke] | seen gerd | 19:36 | |
.seen gerd | |||
yoleaux | I haven't seen gerd around. | ||
lizmat | Str does not have a Stringy | 19:37 | |
jnthn | Well, doesn't that suck. | ||
colomon | LHF | ||
VLHF, even | |||
jnthn | very :) | ||
lizmat | that line is easily added, but I still don't really understand the reason why we have Stringy at all | 19:38 | |
I mean, the file is just a storage of infixes in GLOBAL:: | 19:39 | ||
colomon | lizmat: think of Cat, when we finally get it | ||
lizmat | ah, now that makes sense (in a way) | ||
colomon | if you just convert it to a Str right away every time you do something, it's completely pointless as a class | 19:40 | |
lizmat | that's why it is empty now, as a class, right? | ||
jnthn | colomon: Well, it's the case for Buf too | 19:41 | |
colomon: Which we already have | |||
colomon | jnthn: true, but I don't understand why Buf is considered Stringy. ;) | 19:42 | |
whereas with Cat it is really obvious, and clear why you don't want to just convert it to a Str all the time | 19:43 | ||
lizmat | "Cannot auto-generate a proto method for 'Stringy' in the setting" interesting :-) | ||
19:43
dmol left
|
|||
jnthn | lizmat: You must write explicit proto in the setting if you write a multi | 19:44 | |
(of course, inheriting a proto is ok) | |||
lizmat | I'll try to do without for now | 19:45 | |
dalek | kudo-js: 539748a | (Pawel Murias)++ | / (3 files): Deserialize flattened attributes, for now we unflatten the attributes as the tradeoffs for doing this seem to be different on JavaScript. |
19:47 | |
jnthn | .oO( how unflattening) |
19:48 | |
[Coke] | gist.github.com/coke/5879701 - updated with latest jvm failure info | 19:49 | |
jnthn | roast/S32-io/slurp.t | 19:50 | |
57:#?rakudo.jvm skip "BuF NYI" | |||
oh yes it is :P | |||
19:53
stevan__ left
|
|||
pmurias | jnthn: how often is pmichaud on the channel nowdays? | 19:57 | |
jnthn | pmurias: Rarely, it seems | ||
FROGGS | once a month maybe | 19:58 | |
jnthn | pmurias: You can try email, or maybe somebody else will know the answer | ||
19:58
arlinius left
|
|||
jnthn | (if it's a question you have) | 19:58 | |
pmurias | jnthn: does he backlog? | 20:00 | |
jnthn: I want to dicuss the midterm evaluation with him (for my GSoC project) | |||
20:00
SamuraiJack__ left
|
|||
jnthn | ah... | 20:00 | |
Then I'd try email | |||
20:02
wk joined,
wk is now known as Guest85960
20:03
kaare__ left
|
|||
lizmat is getting really frustrated :-) | 20:08 | ||
1. one test hangs in S03-sequence/basic.t | |||
2. if I take out that test into a seperate test file, it passes | |||
3. if I skip all of the tests until the hanging test in the original file, it still hangs | 20:09 | ||
ideas? | |||
jnthn | TimToady: What about 'our' methods? | 20:11 | |
TimToady: Just in package/lexpad? Or in method table too? | |||
jnthn 's patch made them just package/lexpad, which has broken some tests... | |||
lizmat: I suggest drinking. | 20:12 | ||
lizmat: What if you comment out tests after teh one that fails? | |||
lizmat | ah now, that's an idea | 20:13 | |
jnthn | .oO( which one :P ) |
||
lizmat | the latter, I've been drinking all day | 20:14 | |
jnthn | :D | ||
mst | ride that ballmer peak! | ||
20:15
zby_home_ left
|
|||
lizmat | I'd rather have a Bulmers peak | 20:17 | |
20:18
iSlug joined,
stevan_ joined
|
|||
colomon | Bulmers! | 20:19 | |
FROGGS guesses that mst has an highlight for the word 'drinking' | 20:20 | ||
lizmat | or "drinking all day' :-) | 20:21 | |
FROGGS | *g* | 20:22 | |
yeah | |||
must be it | |||
colomon | we're going to try to take our four-year-old to the pub tonight. | ||
20:22
iSlug left
|
|||
lizmat | isn't he much too young for that ? :-) | 20:23 | |
colomon | for the music | ||
it's an experiement. | |||
he went a bunch of times when he was like 20-24 months old | |||
timotimo | he'll perform? :) | ||
[Coke] | my dad used to take me to the bar and let me play asteroids. | ||
colomon | then he got too squirrelly | ||
[Coke] | yah, my dad did get pretty squirrelly for a while. | 20:24 | |
colomon | timotimo: no, if all goes well his mom and dad will perform. | ||
lizmat | colomon++ | ||
colomon | he's been showing a lot of interest in music again, so we thought we'd try this and see how it went | ||
lizmat | jnthn++ skipping all the tests *after* the hanging test, makes the test pass! | 20:25 | |
colomon | If I can get Jerry to sing some of his Battle of Lake Erie songs I'm guessing our little guy will be captivated. | ||
20:26
bruges_ joined
20:28
bruges left
|
|||
lizmat | jnthn: now found the real hanging test | 20:30 | |
I guess we have some kind of buffering issue in TAP output | |||
mst | did nobody implement $| yet? | 20:34 | |
mst hides | |||
20:34
domidumont joined
|
|||
colomon has the perfect use for his (not in ecosystem) STEP module, except …. wait, it's only a 13M file! I thought it was 135M. My big Linux box might be able to handle parsing 13M… | 20:34 | ||
[Coke] | colomon: is rakudo.jvm any better/faster/different running your module | 20:37 | |
? | |||
colomon | [Coke]: dunno, I haven't tried it yet. | ||
20:37
konundra left
|
|||
colomon | on any of my modules | 20:37 | |
lizmat | r: say (32,16,8 ...^ Rat) # seems I broke this | 20:42 | |
camelia | rakudo 60ea73: OUTPUT«32 16 8» | ||
20:42
domidumont left
20:44
lue left
|
|||
colomon | lizmat: what were you doing? | 20:45 | |
lizmat | trying to implement my latest spec change :-) | ||
r: sub e { "foo" }; say e # something else I found today, rakudobug ? | 20:53 | ||
camelia | rakudo 60ea73: OUTPUT«2.71828182845905» | ||
20:56
arlinius joined
|
|||
colomon | n: sub e { "foo" }; say e # something else I found today, rakudobug ? | 20:59 | |
camelia | niecza v24-88-g1f87209: OUTPUT«2.7182818284590451» | ||
colomon | rn: sub e { "foo" }; say e() # something else I found today, rakudobug ? | ||
camelia | niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Num at /tmp/UEEkladvqd line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @ 576… | ||
..rakudo 60ea73: OUTPUT«foo» | |||
lizmat | that's an intriguing error message in niecza | 21:01 | |
jnthn | Not Rakudo bug; e() is always unambiguously a function all, e is only a listop if there's no term that matches, iirc | ||
21:02
spider-mario left,
dayangkun left
|
|||
lizmat | r: sub e { "foo" }; constant e=42; say e; say e() # I guess so | 21:03 | |
camelia | rakudo 60ea73: OUTPUT«42foo» | ||
21:04
xinming left
21:05
xinming joined
21:06
pmurias left
21:07
vk_ left
21:08
Guest1337 left
|
|||
TimToady | jnthn: 'our method' also does not install in the class; note that 'our $.foo' autogenerates a 'has' method, not an 'our' method | 21:08 | |
jnthn | TimToady: OK, thanks, will fix the tests that expect it to do so | 21:11 | |
21:14
woolfy left
21:17
dayangkun joined
|
|||
lizmat | jnthn: now that I have determined that stringification was not the cause of my hanging test | 21:18 | |
would there be a performance reason for adding a Stringy method to Str or not ? | |||
if not, I'd rather leave things the way they are :-) | 21:19 | ||
21:23
donaldh joined
21:25
ajr_ left
|
|||
jnthn | lizmat: Potentially, yes. Blob should get a method Stringy for correctness reasons also. | 21:28 | |
21:28
woolfy1 joined
|
|||
lizmat | ok, will add one to Str and spectest | 21:28 | |
dalek | kudo/nom: e52c59c | jnthn++ | src/Perl6/Actions.nqp: my/our methods shouldn't go into the method table. |
||
jnthn | lizmat: Can you add one to Blob too? :) | ||
lizmat | sure, for now it would just be self.Str, right ? | 21:29 | |
dalek | kudo/nom: b2599cb | (Elizabeth Mattijsen)++ | src/core/operators.pm: Make sure we don't flatten type objects as endpoints of sequences |
21:30 | |
21:30
PacoAir left
|
|||
dalek | ast: d99ef7f | jnthn++ | S12-class/interface-consistency.t: Correct test with regard to 'our method' usage. |
21:32 | |
ast: 9b66fdf | jnthn++ | S12-methods/class-and-instance.t: Tests for my/our methods. |
|||
jnthn | lizmat: no, just self | ||
lizmat | okidoki | ||
jnthn | lizmat: Because Blob ~~ Stringy | ||
r: say Blob ~~ Stringy | |||
camelia | rakudo 60ea73: OUTPUT«True» | ||
jnthn | OK, that should be the my/our method thing cleaned up :) | ||
r: say 'ö'.ord | 21:33 | ||
camelia | rakudo 60ea73: OUTPUT«246» | ||
21:35
FROGGS left
|
|||
lizmat | r: say Blob.Stringy | 21:36 | |
camelia | rakudo 60ea73: OUTPUT«use of uninitialized value of type Blob in string context in any at src/gen/Metamodel.nqp:1461» | ||
21:37
ajr joined,
Guest85960 left,
ajr is now known as Guest6500
|
|||
jnthn | r: say Blob | 21:37 | |
camelia | rakudo 60ea73: OUTPUT«(Blob)» | 21:38 | |
21:38
dayangkun_ joined
21:39
Guest6500 is now known as ajr_
21:41
dayangkun left
|
|||
jnthn | r: say Buf.new(129) | 21:43 | |
camelia | rakudo 60ea73: OUTPUT«Buf:0x<ffffff81>» | ||
jnthn | r: say Buf.new(129).perl | ||
camelia | rakudo 60ea73: OUTPUT«Buf.new(-127)» | ||
21:44
lue joined
|
|||
lizmat | r: say Buf.new(-127).gist | 21:47 | |
camelia | rakudo 60ea73: OUTPUT«Buf:0x<ffffff81>» | ||
jnthn | whee | ||
lizmat | looks like it is roundtripping | ||
jnthn | yeah, but 129 should come out as 129 :) | ||
donaldh | Does nqp have the equivalent of -Mmodule, or do I just need to do -e 'use module; ...' | ||
jnthn is working on it, but may not get it done tonight | |||
donaldh: No, there's no -M | |||
donaldh is trying to think of a sane interface to ask for nqp compile / runtime params. | 21:48 | ||
maybe runtime::classpath.nqp INIT { nqp::say('.../nqp-runtime.jar:.../asm-4.1.jar:.../jline-1.0.jar') } | 21:52 | ||
then ./nqp -e 'use runtime::class path' | |||
dalek | ast: 364710c | (Elizabeth Mattijsen)++ | S12-methods/private.t: And another todo bites the dust |
21:53 | |
kudo/nom: 4550293 | (Elizabeth Mattijsen)++ | src/core/ (3 files): Add .Stringy to Str and Blob |
21:54 | ||
jnthn | > say chr(246).encode.perl | ||
utf8.new(195, 182) | |||
yayz | |||
lizmat | jnthn++ | 21:55 | |
jnthn does a proper rebuild and spectests | 21:56 | ||
21:58
bluescreen10 left
|
|||
donaldh | jnthn: I've just spotted the generated nqp-config.nqp and nqp --show-config | 21:58 | |
jnthn | donaldh: oh! | ||
donaldh | jnthn: should I just expand that to include class path, etc. | ||
jnthn | oh wow... | ||
donaldh: yes | |||
on JVM it's rather minimal :) | 21:59 | ||
But yeah, use that \o/ | |||
donaldh | I guess the parrot version is more complete. | ||
jnthn | wow, I shoulda known about that :) | ||
right | |||
22:01
raiph left
|
|||
donaldh | okay, there's nothing extra in the parrot --show-config, but we could add config values for each backend as we need them. | 22:03 | |
jnthn | oh, my --show-config on Parrot shows loads of extras | ||
donaldh | that's parrot's tho. | ||
jnthn | All under parrot:: | 22:04 | |
um, I mean nqp --show-config | |||
Running on Parrot | |||
oh wait, I think I misunderstood what you meant :) | |||
donaldh | Hmmm. | ||
jnthn | On NQP JVM I get just two entries. | ||
Anyway, yes, we can add extras | 22:05 | ||
:) | |||
The parrot ones come out like | |||
parrot::win32=1 | |||
donaldh | Yep. and the gen-config script is shared between the jvm and parrot backends. | ||
jnthn | parrot::yacc=echo | ||
So we can do JVM ones as jvm::prop=foo | |||
donaldh | jvm::nqp-classpath ? | ||
jnthn | wfm | 22:06 | |
donaldh | ? | ||
jnthn | "works for me" :) | 22:07 | |
donaldh | jnthn++ | ||
22:09
stevan_ left
22:10
abnorman left
22:11
abnorman joined
|
|||
dalek | p: 06c4835 | jnthn++ | src/vm/parrot/6model/ (6 files): Basic unsigned support for native arrays. Only provided for on the Parrot backend so far; JVM needs similar (and probably more boring/annoying) patches. |
22:14 | |
22:14
konundra joined
22:15
benabik left
|
|||
dalek | kudo/nom: d03e621 | jnthn++ | tools/build/NQP_REVISION: Bump to NQP with unsigned native array support. |
22:16 | |
kudo/nom: 07a1de5 | jnthn++ | src/core/Buf.pm: Blob, Buf, etc. should use unsinged integers. |
|||
lizmat | jnthn: something like "(@l >>~~>> [Parameter])", where would I find the code doing this? | ||
jnthn: also, should I spectest these changes ? | 22:17 | ||
jnthn: actually "(@l >>~~>> Parameter)" | 22:18 | ||
jnthn | lizmat: context? | ||
22:18
benabik joined
|
|||
lizmat | another hanging test | 22:19 | |
working on flattening type objects in non-scalar contexts | |||
jnthn | well, it's a hyperop, so HYPER in metaops.pm I guess | ||
lizmat | cool, thanks, will look there | 22:20 | |
(also running spectest of your changes now) | |||
jnthn | yeah, my run looked ok | ||
dalek | ast: bc37edc | jnthn++ | S32-str/encode.t: Correct and add to Buf unsignedness tests. |
||
jnthn | More tests welcome | ||
lizmat | restarting with changed tests | 22:22 | |
jnthn | :) | ||
The uint work I've done is limited to native arrays so far, but hopefully it deals with the ecosystem regressions. | 22:23 | ||
22:25
vk_ joined
|
|||
lizmat | hmmm…. segfault on making restricted setting | 22:26 | |
jnthn | lizmat: You did build a new NQP, yes? | ||
lizmat | I guess I did not | ||
jnthn | ah... | ||
I bumped NQP_REVISION...it shoulda whined... | 22:27 | ||
Anyway, it needs the NQP updates too | |||
22:27
logie left
|
|||
jnthn needs some sleep | 22:27 | ||
'night | |||
lizmat | gnight jnthn, thanks for all the help! | ||
jnthn | np, thanks for all the patches! :D | ||
o/ | |||
lizmat | o/ | 22:28 | |
22:28
abnorman left
22:29
benabik left
22:30
benabik joined,
athomason_ joined
22:36
abnorman joined
22:44
vk_ left
22:54
fridim__ left
|
|||
lizmat | .tell jnthn: after nuking nqp/parrot and install dir and rebuilding from that, I still get a segfault when building RESTRICTED.setting | 22:57 | |
yoleaux | lizmat: What kind of a name is "jnthn:"?! | ||
lizmat | .tell jnthn after nuking nqp/parrot and install dir and rebuilding from that, I still get a segfault when building RESTRICTED.setting | ||
yoleaux | lizmat: I'll pass your message to jnthn. | ||
lizmat | $ ./perl6 -e 1 | 22:58 | |
Segmentation fault: 11 | |||
timotimo | that's quite the golf! | 22:59 | |
lizmat | $ ./perl6 | 23:00 | |
> 1 | |||
Segmentation fault: 11 | |||
shorter on command line, but needs more lines :-) | |||
23:02
xilo left
|
|||
lizmat | .tell jnthn seems to be changes in nqp that cause this, rolling back last 2 commits in nom doesn't fix the problem | 23:02 | |
yoleaux | lizmat: I'll pass your message to jnthn. | 23:03 | |
23:03
grondilu joined
|
|||
timotimo | at least on my linux here i'm running nqp/master + rakudo/nom on parrot 5.5.0 successfully | 23:03 | |
23:03
xilo joined
|
|||
lizmat | fwiw, this is OSX | 23:03 | |
grondilu | rn: my @fib-word := 1, 0, * R~ * ... *; say @fib-word[^3]; | ||
camelia | rakudo 455029: OUTPUT«1 0 Whatever<690350503>0» | 23:04 | |
..niecza v24-88-g1f87209: OUTPUT«1 0 01» | |||
lizmat | grondilu: is that a recent regression ? | ||
ok, building NQP one commit back doesn't work either | 23:06 | ||
time to go to bed… gnight #perl6! | |||
grondilu | lizmat: don't know if it's recent. I suspect it's not. R is know to break a few things | 23:07 | |
23:07
raiph joined
|
|||
grondilu remember an other example of R breaking stuff but has forgot. Sorry. | 23:08 | ||
rn: say 3 Rxx rand | |||
camelia | niecza v24-88-g1f87209: OUTPUT«0.80465186331637761 0.80465186331637761 0.80465186331637761» | ||
..rakudo 455029: OUTPUT«0.872750481215434 0.872750481215434 0.872750481215434» | |||
grondilu | ^ well there is this but I don't know it is not how it's supposed to behave. | 23:09 | |
23:11
btyler left,
donaldh left
23:13
stevan_ joined
|
|||
timotimo | it *would* be a way to prevent the right hand side of xx from thunking ... | 23:24 | |
23:26
ajr_ left
|
|||
grondilu | timotimo: but shoult it prevent it? | 23:26 | |
*shoulD | 23:27 | ||
grondilu makes a lot of spelling mistakes. He should get some sleep :/ | |||
23:42
araujo left
23:44
araujo joined
23:45
yoleaux left
23:50
yoleaux joined,
ChanServ sets mode: +v yoleaux
23:57
raiph left
|