»ö« 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:09
raiph left
00:10
xenoterracide left
00:12
Psyche^_ joined
00:16
Psyche^ left
00:21
xenoterracide joined,
raiph joined
00:28
wbill left
00:48
Rotwang left
00:50
Rotwang joined
00:53
telex left
00:56
telex joined
00:59
raiph left
01:01
Rotwang left
01:03
Rotwang joined
01:05
berekuk left,
dayangkun left
01:06
berekuk joined
01:07
virtualsue left
01:08
Rotwang left
01:17
berekuk left
01:18
johnny5_ left
01:19
johnny5_ joined
01:22
johnny5_ left
01:23
johnny5_ joined
01:57
logie joined
02:10
benabik joined
02:23
cibs_ left,
cibs joined
02:43
jeffreykegler joined
02:49
jeffreykegler left
02:54
logie left
02:58
LordVorp left
03:02
ggoebel15 left
03:04
LordVorp joined
03:19
xenoterracide left
04:00
logie joined
04:04
logie left,
kaleem joined
04:09
sftp left
04:12
sftp joined
04:14
SamuraiJack joined
04:17
sftp left
04:18
sftp joined
04:21
preflex_ joined,
ChanServ sets mode: +v preflex_
04:22
preflex left,
preflex_ is now known as preflex
04:37
johnny5_ left
04:38
johnny5_ joined
04:43
virtualsue joined
04:57
benabik left
04:58
johnny5_ left
04:59
virtualsue left,
johnny5_ joined
05:01
johnny5_ left
05:02
johnny5_ joined
05:04
Ben_Goldberg left
05:11
johnny5_ left
05:12
johnny5_ joined
05:16
johnny5_ left
05:17
johnny5_ joined
05:18
kaleem left
05:20
[Sno] left
05:39
johnny5_ left
05:40
johnny5_ joined
05:49
ssutch left
05:51
SamuraiJack_ joined
05:54
SamuraiJack left
05:55
raiph joined
05:59
SamuraiJack__ joined
06:03
SamuraiJack_ left
06:17
darutoko joined
06:21
dmol joined
06:25
ssutch joined
06:26
[Sno] joined
06:32
raiph left
|
|||
moritz | \o | 06:48 | |
JimmyZ | o/ | 06:49 | |
06:50
kaleem joined
06:58
FROGGS joined,
wbill joined
07:16
cognominal joined
07:18
atroxaper joined
07:22
SamuraiJack joined,
dayangkun joined
07:23
dayangkun left
07:24
SamuraiJack__ left,
SamuraiJack_ joined
07:28
SamuraiJack left
|
|||
FROGGS | preflex: ask TimToady Can you please look/reply on that? gist.github.com/FROGGS/6464777#comment-947906 | 07:47 | |
preflex | Consider it noted. | ||
FROGGS | thanks | ||
07:50
zakharyas joined
|
|||
FROGGS | preflex: tell arnsholt interesting for you too: gist.github.com/FROGGS/6464777#comment-947906 | 07:57 | |
preflex | Consider it noted. | ||
FROGGS | if anybody else has a minute, I'd appreciate every comment/musing about that :o) | 08:03 | |
first I was thinking that there could be a pack/unpack implementation that work for rakudo *and* v5, but that does not seems to be the case | |||
08:14
nnunley left
08:18
ssutch left
08:19
salv0 left
08:20
salv0 joined
08:28
kurahaupo left
08:40
kurahaupo joined
09:14
tobyink joined
|
|||
timotimo | o/ | 09:18 | |
atroxaper | timotimo o/ | 09:19 | |
FROGGS | o/ | ||
atroxaper | Do you know why i can't call .hash() with NQPMatch? | 09:20 | |
r: say Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new())).hash; | |||
camelia | rakudo-jvm 2c40f6: OUTPUT«Could not find symbol '&Grammar' in any find_method_fallback at gen/jvm/Metamodel.nqp:2607 in any find_method at gen/jvm/Metamodel.nqp:945 in any at gen/jvm/BOOTSTRAP.nqp:1658 in block at /tmp/P3pwhJAduo:1 in any eval at gen/jvm/stage2…» | ||
..rakudo-parrot 2c40f6: OUTPUT«Could not find symbol '&Grammar' in method <anon> at gen/parrot/CORE.setting:11987 in any at gen/parrot/Metamodel.nqp:2691 in any find_method_fallback at gen/parrot/Metamodel.nqp:2679 in any find_method at gen/parrot/Metamodel.nqp:946…» | |||
atroxaper | r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; say Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new())).hash; | 09:21 | |
camelia | rakudo-parrot 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got NQPMatch instead in method BUILD at gen/parrot/CORE.setting:8359 in method new at gen/parrot/CORE.setting:8358 in method reify at gen/parrot/CORE.setting:8480 in method …» | ||
..rakudo-jvm 2c40f6: OUTPUT«Nominal type check failed for parameter '$got' in method BUILD at gen/jvm/CORE.setting:8334 in block at gen/jvm/CORE.setting:8451 in block at gen/jvm/CORE.setting:7106 in block at gen/jvm/CORE.setting:7106 in block at gen/jvm/CORE.se…» | |||
timotimo | NQPMatch doesn't know how to turn itself into a perl6 hash | 09:30 | |
FROGGS | r: say nqp::hllize(Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new()))).hash; | 09:31 | |
camelia | rakudo-jvm 2c40f6: OUTPUT«Could not find symbol '&Grammar' in any find_method_fallback at gen/jvm/Metamodel.nqp:2607 in any find_method at gen/jvm/Metamodel.nqp:945 in any at gen/jvm/BOOTSTRAP.nqp:1658 in block at /tmp/udqbZhEHSS:1 in any eval at gen/jvm/stage2…» | ||
..rakudo-parrot 2c40f6: OUTPUT«Could not find symbol '&Grammar' in method <anon> at gen/parrot/CORE.setting:11987 in any at gen/parrot/Metamodel.nqp:2691 in any find_method_fallback at gen/parrot/Metamodel.nqp:2679 in any find_method at gen/parrot/Metamodel.nqp:946…» | |||
FROGGS | r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; say nqp::hllize(Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new()))).hash; | ||
camelia | rakudo-parrot 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got NQPMatch instead in method BUILD at gen/parrot/CORE.setting:8359 in method new at gen/parrot/CORE.setting:8358 in method reify at gen/parrot/CORE.setting:8480 in method …» | ||
..rakudo-jvm 2c40f6: OUTPUT«Nominal type check failed for parameter '$got' in method BUILD at gen/jvm/CORE.setting:8334 in block at gen/jvm/CORE.setting:8451 in block at gen/jvm/CORE.setting:7106 in block at gen/jvm/CORE.setting:7106 in block at gen/jvm/CORE.se…» | |||
atroxaper | r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; say Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new())).hash; | 09:38 | |
camelia | rakudo-parrot 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got NQPMatch instead in method BUILD at gen/parrot/CORE.setting:8359 in method new at gen/parrot/CORE.setting:8358 in method reify at gen/parrot/CORE.setting:8480 in method …» | ||
..rakudo-jvm 2c40f6: OUTPUT«Nominal type check failed for parameter '$got' in method BUILD at gen/jvm/CORE.setting:8334 in block at gen/jvm/CORE.setting:8451 in block at gen/jvm/CORE.setting:7106 in block at gen/jvm/CORE.setting:7106 in block at gen/jvm/CORE.se…» | |||
09:39
cognominal left
09:51
fhelmberger joined
09:54
dakkar joined
|
|||
FROGGS | rp: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; my Mu $x := Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new())); say .Str for $x | 09:54 | |
camelia | rakudo-parrot 2c40f6: OUTPUT«my $b=4;» | ||
FROGGS | rp: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; my Mu $x := Perl6::Grammar.parse('my $b=4; $b++', :actions(Perl6::Actions.new())); say .Str for $x | ||
camelia | rakudo-parrot 2c40f6: OUTPUT«my $b=4; $b++» | 09:55 | |
timotimo | so how do i find out how to fix my jvm implementation of charrange? | 10:04 | |
10:09
brrt joined
|
|||
timotimo puts checks and throws before every array creation in the compiler | 10:15 | ||
no help | |||
at least in JASTToJVMBytecode | 10:16 | ||
i wish it gave me a filename and line for that exception :( | 10:26 | ||
i don't even know where i would have to put code to get that in the output | 10:27 | ||
10:28
Rotwang joined
|
|||
timotimo coaxed a line number out of jdb | 10:32 | ||
10:32
tobyink left
|
|||
timotimo | processMethod calls visitMaxs from ASM with (0, 0) and *that* causes the negativeArraySizeException | 10:34 | |
great. | |||
10:34
spider-mario joined
|
|||
timotimo | you try to pop an argument from the stack but there is no argument on stack :( | 10:35 | |
but i double-checked that everything is right :( | 10:37 | ||
10:45
berekuk joined
|
|||
lizmat | good *, #perl6! | 10:47 | |
timotimo | hey liz :) | 10:48 | |
lizmat | timotimo o/ | ||
lizmat just realized that (+=) for atomic updates is bogus | |||
nwc10 | moritz: thanks for the reality check on JVM star. | 10:49 | |
it's a bit :-/ | |||
in that, for within-the-community marketing reasons, my opinion (*opinion*) is that it's important to be able to deliver a JVM Star, to capitalise on the growing awareness of the concurrency features | 10:50 | ||
10:50
denis_boyun joined
|
|||
timotimo | yeah :( | 10:51 | |
nwc10 | I have to apologise that I really have no time to help deliver on this. | 10:52 | |
timotimo | come over to arnsholt's place to do housework for him, cooking and cleaning and walking the dog, then he'll have more time to spend on nativecall :D | 10:53 | |
nwc10 | I don't have time to do that *either* | ||
timotimo | ;) | ||
nwc10 | however much I like walking dogs (at least, well behaved dogs) | ||
10:55
Rotwang left
|
|||
dalek | p/charrange_jvm: da40731 | (Timo Paulssen)++ | src/ (2 files): first attempt at charrange on JVM |
10:58 | |
timotimo | if anyone wants to help, i'm at my wit's end here | 10:59 | |
dalek | ecs: 82ae35f | (Elizabeth Mattijsen)++ | S17-concurrency.pod: Introduce "is cas" variable trait |
||
lizmat | timotimo: I'm afraid I'm more of a JVM noob than you | ||
10:59
pernatiy left
|
|||
timotimo | i've already tried the rubber duck method | 11:00 | |
11:00
tgt joined
|
|||
FROGGS | if there are any LHFs I would be proud to pick them... but... are there any? | 11:01 | |
timotimo | FROGGS: i'm guessing you don't know terribly much about jvm bytecode? | 11:02 | |
FROGGS | no :/ | 11:03 | |
nwc10 | moritz: are you able to break out any of the Star blockers into "tickets others could do"? | ||
FROGGS | neither about Java/JVM in general | ||
nwc10: that would be awesome! | |||
having a concrete task would definitely help | |||
nwc10 | I'm not sure if I'm asking a stupidly obvious (or obviously pointless) question | 11:04 | |
but my suspicion is that some of this stuff is more scripting/automating than really JVM domain specific | |||
timotimo | moritz mentioned something about Configure.pl changes that need to happen | ||
11:04
Rotwang joined
|
|||
FROGGS | 1) I guess the first thing would be to fiddle with the build system to somehow make a release at all | 11:04 | |
timotimo | but nothing specific that i know of | ||
nwc10 | but that might mean that it needs more familarity/confidence with the build system | ||
FROGGS | 2) then we'd try to build modules, and fix those which are fixable without nativecall implementation | 11:05 | |
and "2)" should expose some LHFs | 11:06 | ||
timotimo | so i've been thinking: if the right qregex node existed, i could implement an optimizer for QRegex that turns a scan + a node that it "knows" how to negate into a smarter/faster scan. also, doing things like turning "...foo" into "search for foo and step 3 back" would also be possible, but the NFA creator must be told how to handle that | 11:10 | |
it would be best if i could just say "for the NFA, use these nodes, for creating the actual regex code, use these. they mean the same" | 11:11 | ||
FROGGS | like a QAST::WVal? | 11:14 | |
timotimo | you mean QAST::Want? | ||
FROGGS | err yes | ||
timotimo | yeah, kind of like that | 11:15 | |
I guess that could totally be re-used for this! | 11:16 | ||
FROGGS | reused++ | 11:17 | |
timotimo | hm, the "...foo" doesn't have to be a "search for foo, then step 3 back", it could also be "after scanning, look 3 ahead to see if there's “foo” there" | 11:18 | |
11:18
atroxaper left
|
|||
timotimo | it's a bit less performant (because it doesn't use boyer-moore), but it would still be a little speed boost in that case, and it would probably be simpler to implement | 11:18 | |
FROGGS | string_at_pos("foo", pos+3), yeah | ||
(sortof) | |||
timotimo | yes :) | ||
FROGGS | yeah, that would work for everything that has a known width... | 11:19 | |
timotimo | yeah | ||
11:20
brrt left
|
|||
timotimo | i'll just go ahead and implement negated simple charranges first instead | 11:21 | |
11:22
kurahaupo left,
bbkr_ joined
|
|||
timotimo | turns out no negated simple charranges actually exist in nqp nor rakudo | 11:36 | |
oh well. maybe some users will have regexes like that | |||
11:45
kurahaupo joined
11:46
xenoterracide joined
|
|||
timotimo | negated charranges are also faster than their enumcharlist equivalents (20s vs 25s for 1000x 100_000 non-matching characters, 5s vs 17s for 1000x 100_000 matching characters) | 11:46 | |
11:50
dram joined
|
|||
timotimo | (and that is if the non-matching character is found early in the enumcharlist. if i had used the latest, it would probably be a more dramatic difference) | 11:51 | |
FROGGS | cool | 11:52 | |
very very cool! | |||
lizmat | timotimo++ | ||
timotimo | :) | ||
it doesn't make any difference at all in stage parse, though | |||
FROGGS | can we apply this technique to grammar rules like: token foo { \W "something" } ? | 11:53 | |
timotimo | \W and friends are already specially implemented | ||
FROGGS | I guess stage parse is just about method call overhead... | 11:54 | |
ahh, k | |||
nwc10 | rakudo++ # sufficiently simple and clear that mere mortals can hack on the regex engine | ||
11:55
dmol left
|
|||
FROGGS | yeah, its design is quite awesome | 11:55 | |
(written in itself)++ | 11:56 | ||
timotimo | the debug output that spews the bytecode before compilation doesn't have the mnemonics >_< | 11:57 | |
r: (1, 2, 3, 4).hash.say | 11:59 | ||
camelia | rakudo-parrot 2c40f6: OUTPUT«("1" => 2, "3" => 4).hash» | ||
..rakudo-jvm 2c40f6: OUTPUT«("3" => 4, "1" => 2).hash» | |||
timotimo | r: (1, 2, 3, 4).hash.invert.say | ||
camelia | rakudo-parrot 2c40f6: OUTPUT«2 => "1" 4 => "3"» | ||
..rakudo-jvm 2c40f6: OUTPUT«4 => "3" 2 => "1"» | |||
12:00
denis_boyun left
|
|||
timotimo | how do i tell lines() to operate on the first argument if it's given, otherwise on stdin? | 12:00 | |
ah, lines already does that | |||
nice. | |||
12:05
pernatiy joined,
kivutar joined
|
|||
diakopter | lizmat: there are atomic add instructions | 12:07 | |
timotimo | sprunge.us/RjZD <- have some jvm bytecodes for you. the wrongness is somewhere around the only mention of charCodeAt | 12:09 | |
codePointAt* | 12:10 | ||
12:19
kivutar left
12:38
cognominal joined,
kaleem left
12:44
dmol joined
12:59
SamuraiJack_ left
13:02
tipdbmp left
13:05
kivutar joined
13:12
dmol left,
raiph joined
13:15
araujo left,
araujo joined
13:20
kivutar left
13:21
dmol joined
13:24
Rotwang left
13:27
raiph left
13:31
Rotwang joined
13:32
cognominal left
13:36
raiph joined
13:42
smash__ is now known as smash
13:46
sqirrel joined
13:49
kivutar joined
13:51
ajr joined,
ajr is now known as Guest34367
13:52
Guest34367 is now known as ajr_
14:07
fhelmberger_ joined
14:11
fhelmberger left
14:15
denis_boyun joined
|
|||
colomon | .u 𠀡 | 14:18 | |
14:21
fhelmberger_ left,
fhelmberger joined
|
|||
colomon is having fun writing Unicode tests in C++ | 14:22 | ||
mathw | sounds like the kind of thing you have to pay attention to | 14:23 | |
timotimo is having no fun trying to make his bytecodes work properly | 14:24 | ||
colomon | mathw: I discovered my text editor doesn't seem to handle codepoints greater than FFFF. | 14:25 | |
mathw: my code, on the other hand, hand no problem with that. | |||
actually, the only bug I've found in my testing so far was failing to handle codepoints between 80 and FF. | 14:26 | ||
and that's fixed. | |||
colomon is now fantasizing about how beautiful this code would be in p6 | 14:27 | ||
14:30
sqirrel left,
pippo joined
|
|||
dalek | p: f8a27c0 | (Timo Paulssen)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp: stub charrange for moarvm. |
14:31 | |
timotimo | now nqp-moar should also build again. | ||
pippo | o/ #perl6 | ||
timotimo | o/ pippo | ||
colomon | \o | 14:32 | |
pippo | Hi timotimo. I hav seen you testing this earlier "(1, 2, 3, 4).hash.say" | ||
timotimo | yup | ||
i needed a perl6 script that pretty-prints the debug output of the jvm bytecode creator. it doesn't have the mnemonics | 14:33 | ||
so i copypasted the nqp::hash from the translator and changed nqp::hash(...) into (...).hash | |||
pippo | I have one question. (1, 2, 1, 4).hash.say does not return what I expect. | 14:34 | |
14:34
raiph left
|
|||
timotimo | r: (1, 2, 1, 4).hash.say | 14:34 | |
camelia | rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«("1" => 4).hash» | ||
timotimo | why not? | ||
pippo | timotmo I would expect somthing like my %h; %h.push(1, 2, 1, 4); instead | 14:35 | |
timotimo | if you want these semantics, you will have to use .push instead | ||
pippo | r: my %h; %h.push(1, 2, 1, 4); say %h | ||
timotimo | i don't think the constructor should do that for you | ||
camelia | rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«("1" => [2, 4]).hash» | ||
pippo | If it should be like this. Then OK. | 14:37 | |
dalek | p/charrange_jvm: 643eb6f | (Timo Paulssen)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp: stub charrange for moarvm. |
14:38 | |
p/charrange_jvm: e5c7395 | (Timo Paulssen)++ | src/ (3 files): implement negated charrange on parrot and jvm jvm part is still b0rked, though |
|||
[Coke] spent a few moments trying to get star's modules-test to work, no luck yet. | |||
timotimo | bah, derp. | ||
mathw | colomon: the best advice about unicode is to let someone else i.e. an established unicode library handle it if at all possible | 14:39 | |
dalek | p/charrange_jvm: 8f0d8f4 | (Timo Paulssen)++ | src/ (2 files): first attempt at charrange on JVM |
||
p/charrange_jvm: 8e4f995 | (Timo Paulssen)++ | src/ (3 files): implement negated charrange on parrot and jvm jvm part is still b0rked, though |
|||
mathw | colomon: good way to get a headache | ||
colomon | mathw: as far as I know there is no available library for converting utf-8 to STEP-style pure-ASCII strings and vice-versa. | 14:40 | |
14:40
logie joined
|
|||
colomon is sorely tempted to write such a library in p6, but really should not stop doing lucrative contract work to do so. | 14:42 | ||
mathw | colomon: there will be soon, though? :) | ||
14:42
dmol left,
bluescreen10 joined
|
|||
colomon | this code would be so much more beautiful in p6... | 14:42 | |
14:43
btyler joined
|
|||
timotimo | also probably 100_000x slower | 14:43 | |
Rotwang | hi | ||
mathw | colomon: lots of code is more beautiful in P6 | 14:44 | |
Rotwang | can I create constant class attribute? e.g. constant $!foo = 5; doesn't work inside a class | ||
colomon | timotimo: I bet it would only be 100x slower at most | ||
timotimo | maybe on rakudo-jvm. | ||
14:44
PacoAir joined
|
|||
timotimo | Rotwang: maybe our constant $foo = 5 may work? | 14:45 | |
colomon | it's certainly a better idea, unless you intend to have a different constant $!foo for each class object. | 14:46 | |
Rotwang | timotimo: indeed it did work, thanks | ||
timotimo | yw :) | ||
timotimo is afk for a bit | |||
pippo | lizmat: ping | 14:47 | |
14:52
denis_boyun left,
sqirrel joined,
logie left
14:53
denisboyun joined,
benabik joined
14:59
sqirrel left
15:04
raiph joined
15:05
logie joined
15:13
kaleem joined
15:22
jnap joined
15:25
zakharyas1 joined
15:26
ajr_ left,
ajr joined
15:27
ajr is now known as Guest82245,
Guest82245 is now known as ajr_,
nnunley joined
15:31
kbaker joined
15:35
kaleem left
15:39
spider-mario left
|
|||
timotimo | jnthn: it would be super swell if you could tell me what i'm screwing up in the charrange_jvm branch? | 15:40 | |
15:41
benabik left
15:43
kaare_ joined
|
|||
FROGGS thinks that timotimo++ meant that it would be totally champion or good-oh or hunky-dory or spiffing! | 15:49 | ||
15:50
thou joined
15:52
ajr_ left
15:53
ajr_ joined
15:55
araujo left
15:56
araujo joined
15:57
denis_boyun joined,
denisboyun left
16:02
betterworld left,
betterworld joined
16:06
lue left
16:08
fhelmberger left
16:09
fhelmberger joined,
REPLeffect left
16:10
ggoebel15 joined
16:15
zakharyas1 left
|
|||
timotimo | are the lookup tables for boyer moore string search cached? | 16:18 | |
hm, calculating them is done in C land on parrot, i bet | |||
that's probably a small enough overhead to not need caching at all | |||
16:20
FROGGS left
16:24
kurahaupo left
|
|||
timotimo | i wonder if boyer-moore can be generalised to a subset of regex in a clever fashion | 16:25 | |
16:25
[Sno] left
|
|||
moritz thinks that timotimo looks at entirely the wrong places to optimize :( | 16:26 | ||
timotimo | probably :) | ||
that's just things my mind comes up with randomly | |||
16:39
REPLeffect joined
|
|||
colomon | do we have good rakudo jvm profiles yet? | 16:40 | |
timotimo | what's a profile? | ||
16:42
kivutar left
16:43
SmokeMachine left
16:45
FROGGS joined
|
|||
timotimo | er | 16:48 | |
i think i'm looking at a bug right here | |||
looks like it's not honoring zerowidth if it matches \r\n | 16:49 | ||
nqp: say("\r\na" ~~ /<?[\w]>'\r\na'/); | |||
camelia | nqp-moarvm: OUTPUT«Substring length (-6) cannot be negativeStr» | ||
..nqp-jvm, nqp-parrot: OUTPUT«» | |||
timotimo | nqp: say('\r\n'); | 16:50 | |
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«\r\n» | ||
timotimo | nqp: say("\r\n"); | ||
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT« | ||
timotimo | nqp: say("\r\na" ~~ /<?[\w]>"\r\na"/); | ||
camelia | nqp-moarvm: OUTPUT«Substring length (-6) cannot be negativeStr» | ||
..nqp-jvm, nqp-parrot: OUTPUT«» | |||
timotimo | nqp: say("\r\na" ~~ /"\r\na"/); | ||
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT« | ||
16:51
fhelmberger_ joined
|
|||
timotimo | ha! i has found a bug! | 16:51 | |
\o/ | |||
this one i can fix on the train ride tonight | |||
Rotwang | here is something I REALLY didn't expect: | ||
16:51
fhelmberger left
|
|||
Rotwang | r: sub quux (Mu $foo) { say $foo.WHAT }; quux ( "a", ) | 16:51 | |
camelia | rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«(Parcel)» | ||
Rotwang | r: sub quux (Mu $foo) { say $foo.WHAT }; quux( "a", ) | ||
camelia | rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«(Str)» | ||
timotimo | spaces are significant | 16:52 | |
Rotwang | now I see -__- | ||
timotimo | you can either write quux("a") or you can write quux "a" | ||
if you write quux ("a") that's different if there are , in there | |||
16:52
tgt left
|
|||
Rotwang | perl6 is full of surprises [; | 16:53 | |
just spent around half an hour to find that because isa_ok from Test.pm didn't work | 16:54 | ||
16:55
jaffa4 joined,
denis_boyun left
|
|||
jaffa4 | hi all | 16:55 | |
Is there true and false in Perl6? | |||
16:55
fhelmberger_ left
|
|||
timotimo | r: say Bool.pick; | 16:55 | |
camelia | rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«False» | ||
16:56
denisboyun joined
16:57
btyler left
|
|||
hoelzro | jaffa4: True | 16:57 | |
FROGGS .oO( use help; quux ( "a", "b" ) # would warn to keep beginners on trak ) | |||
hoelzro | ;) | ||
FROGGS .oO( maybe even: use any-help-there-is; ) | |||
timotimo | er, i used \w instead of \n | 17:03 | |
nqp: say("\r\na" ~~ /<?[\n]>"\r\na"/); | |||
camelia | nqp-moarvm: OUTPUT«Substring length (-6) cannot be negativeStr» | ||
..nqp-jvm, nqp-parrot: OUTPUT«» | |||
timotimo | it's the same either way | ||
jaffa4 | so True | ||
Rotwang | FROGGS: if there was a book similar to the lama book it would make learning curve much flatter | ||
timotimo | nqp: say("\r\na" ~~ /"\r\na"/); | ||
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT« | ||
17:04
iSlug joined
17:05
zakharyas left
17:07
btyler joined
|
|||
timotimo | we should implement a perl6 module for this new and upcoming very efficient compression format: m68k.soup.io/post/365158786/For-exa...ld-like-to | 17:14 | |
diakopter | lizmat++ # (is cas) # seems implementable efficiently (eventually) | 17:16 | |
17:16
logie left
|
|||
timotimo | diakopter: can you help with jvm bytecode generation? | 17:19 | |
FROGGS | Rotwang: I agree, but nor I am a good writer nor do I know writers | 17:20 | |
17:21
nebuchadnezzar left
17:22
fhelmberger joined
|
|||
timotimo is also not good at writing, he thinks | 17:22 | ||
but it's a thing where you can get good with practice, i think | |||
17:25
SamuraiJack_ joined
17:27
woolfy1 joined
|
|||
Rotwang | timotimo: so practice your writing skills on new perl6 introductory book ^__^ | 17:27 | |
17:28
woolfy left
17:30
raiph left
17:40
kivutar joined
17:43
[Sno] joined
17:52
tgt joined
17:57
dakkar left
17:59
SamuraiJack_ left
18:06
ssutch joined
18:09
fhelmberger left
18:11
nebuchadnezzar joined
18:12
nebuchadnezzar left
18:13
dmol joined
|
|||
TimToady 's brane is completely jet-lagged from the hackers conference, even though it was only a 45-minute drive away--couldn't've had anything to do with staying up half the night gabbing... | 18:16 | ||
preflex | TimToady: you have 1 new message. '/msg preflex messages' to read it. | ||
TimToady | FROGGS: need more brane to think on it deeply, but how is sint32 different from int32? | 18:25 | |
(btw, I always backlog, so msging is redundant) | 18:26 | ||
((I keep telling myself that redundancy is a good thing...)) | 18:27 | ||
pippo | TimToady: I have a question for you :-). If (1,2,1,4).hash is the hash representation of the list shall it return {"1"=>4 } or {"1" => [2,4]}? | 18:29 | |
FROGGS | TimToady: sint32 has no special meaning there... replaced it by int32 | 18:30 | |
18:33
lowpro30 joined
18:34
jeffreykegler joined
|
|||
timotimo | Rotwang: i'm waiting for rakudo-js to become browser-able to make an interactive thingie happen | 18:37 | |
18:37
Eily left
18:38
lue joined
|
|||
lue | hello world o/ | 18:38 | |
FROGGS | hi lue | 18:39 | |
jaffa4 | panda, which files should I edit to add a module? | ||
pippo | o/ lue | ||
TimToady | pippo: normal hash only stringifies the key, though you can suppress that as well | 18:43 | |
18:43
lizmat left
|
|||
TimToady | oh, wait | 18:43 | |
bad line wrap so I didn't read your Q right | |||
dalek | osystem: a915ad1 | jaffa4++ | META.list: Update META.list |
18:44 | |
TimToady | it should be the first; only .push has the second semantics | ||
pippo | OK. Thank you | ||
:-) | 18:45 | ||
TimToady | though how I misread [2,4] as "4" (even with the linewrap) is a mystery | 18:46 | |
probably a paris-in-the-the-spring moment | 18:47 | ||
timotimo | jetlagged brane probably | ||
TimToady | the two are not mutually exclusive :) | ||
pippo | :-) Time to tak a rest ? | ||
TimToady | there is never enough rest for a BDFL... :) | ||
pippo | BDFL ? | 18:48 | |
TimToady | we have to plan most of our rest for after we've gone the way of all flesh :) | ||
18:50
Eily joined,
lizmat joined
|
|||
pippo | :-) | 18:50 | |
o/ lizmat. | 18:51 | ||
timotimo | TimToady: i'm considering introducing QAST::Want to QRegex to signify that a section has a declarative half and an equivalent, but perhaps faster, non-declarative half. does that sounds like a terrible idea? | ||
so, ...foo would be turned into whatever it was before for the NFA, but the WANT would have a second child "optimized" and a third would have a string-equal-at-offset assertion before the ... and the "foo" may then be dropped | 18:52 | ||
TimToady is not familiar enough with QRegex to have a valid opinion | |||
timotimo | ah, that's all right then | 18:53 | |
it's basically mostly QAST::Regex nodes for everything | |||
18:54
ajr_ left
18:55
denis_boyun__ joined
|
|||
TimToady | after a chat with Don Knuth over the weekend, maybe I should break down the barrier we erected in 2001 between me and the implementations, and plan to do some code review, and maybe I'll get a clue as to how to make things faster | 18:56 | |
18:56
denisboyun left
|
|||
timotimo | you've seen plenty an optimization over your lifetime, i'm sure. that'll come in handy i bet :) | 18:57 | |
pippo | \o/ perl6 faster !!! | ||
TimToady | well, after 13 years I doubt it would qualify as premature optimization :) | 18:58 | |
more likely, of course, is I'll merely discover that I've made it impossible :) | |||
timotimo | how do i .gist a string in nqp-land? :o | ||
18:58
ajr joined
18:59
ajr is now known as Guest76247
19:05
logie joined,
bluescreen10 left
|
|||
dalek | p: 4df65de | (Timo Paulssen)++ | src/vm/parrot/QAST/Compiler.nqp: don't move the cursor for zerowidth match of \r\n Fixes #120511 |
19:06 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120511 | ||
19:07
jeffreykegler left
|
|||
timotimo | from my git log it doesn't look like we actually merged cursless into master! | 19:08 | |
moritz | we didn't? | 19:09 | |
19:09
rurban_ left
|
|||
FROGGS | ohh, ++TimToady | 19:09 | |
timotimo: we did | 19:10 | ||
otherwise I'd still be at 140s instead of 125s for stage parse | |||
moritz | commit 1820f2eb7272cfeafb071b06cfa3e1d0efab2360, "Bump NQP_REVISION to get latest qregex cursor and closure fixes. jnthn++" | 19:11 | |
$ git merge origin/cursless | |||
Already up-to-date. | |||
and 03f81f8249120859c89bbaab6289cbb87e3c5c11 was the merge commit | |||
FROGGS | timotimo: what do you need the .gist of a string for? | 19:12 | |
timotimo | i was wrong | ||
19:12
darutoko left
|
|||
timotimo | FROGGS: testing :) | 19:12 | |
for science | |||
moritz deletes the remote branch | |||
FROGGS | rp: say "hello".gist | ||
camelia | rakudo-parrot 2c40f6: OUTPUT«hello» | ||
timotimo | yeah, we actually did merge it in. i don't know why i thought otherwise | ||
19:12
logie left
|
|||
FROGGS | how is that different to .Str ? | 19:12 | |
moritz | but the NQP cursless branch is not merged | ||
FROGGS | O.o | 19:13 | |
moritz | FROGGS: for strings not at all | ||
FROGGS | timotimo: see? :P --^ | ||
timotimo | it^H^H^H^Hnqp: say("\r\n".Str); | ||
escape sequences | |||
FROGGS | ahhh | ||
timotimo | the branch itself is not merged, but all the commits are in already it seems | 19:14 | |
FROGGS | timotimo: I thought that just happens here with camelia | ||
timotimo | the JVM problem of my charrange bytecode generation is driving me mad | 19:15 | |
FROGGS | TimToady: I too think that rakudo has settled enough for the most things already | ||
timotimo | i'm certain i didn't do anything wrong that i'd know of, but there must be something i'm missing | ||
FROGGS | timotimo: maybe you can use some sort of p5 script? eval "nqp-p -e '$@'" | perl -CSDL -E 'while(<>) { s/[\r\n]/\x{2424}/g; print }' | 19:19 | |
put an improved version in a nqp-debug.pl or so | 19:20 | ||
19:22
Guest76247 is now known as ajr_
|
|||
timotimo | enh | 19:24 | |
diakopter | TimToady: mwhaha you can start with reviewing some iteration(s) of the p5 interop; oh wait you mostly did that :P | 19:26 | |
FROGGS | I have suh a thing that invokes perl6 with -Mv5 | ||
timotimo | bad reception here :( | 19:28 | |
i've figured out something great | |||
the qregex NFA stuff is generated in the actions of P6Regex | 19:29 | ||
that means when i get my grubby hands on it in the Optimizer, i can do whatever transformations i want and as long as they're safe, the NFA won't be affected | |||
nwc10 | TimToady: I'm not familiar with the reason(s) why a barrier was a good thing (if I knew, I've forgotten, sorry), but do those reasons still apply? | ||
TimToady | "we already know how you implement things, and we don't want Perl 6 implemented that way" :) | 19:30 | |
timotimo | 7 | 19:31 | |
TimToady | but it was also good that I did not pick winners over that time | ||
nwc10 | the latter was my guess - at this time it seems that there is one viable winner | ||
and whilst someone might write a better Perl 6 in the future, for the next couple of years what matters is Rakudo's completeness, performance and uptake. And without *that*, there likely won't be a future where someone writes a better Perl 6 | 19:32 | ||
TimToady | though I still use niecza when something needs to run fast | ||
19:32
pernatiy left,
rurban joined
|
|||
nwc10 | but the former also applies - at this time, it would be hard to subvert the Rakudo implementation into using a lexer, yacc, smoke and mirrors | 19:33 | |
written in C | |||
TimToady | nor would I want to :) | ||
FROGGS | nwc10++ # exactly | ||
moritz | and increasing the bus factor of rakudo also wouldn't hurt | 19:34 | |
nwc10 | I know it's selection bias, but I keep spotting the benefits of a self-hosting implementation | ||
FROGGS .oO( love the language - hack the language ) | 19:35 | ||
moritz | .oO( love the language - hack the compiler ) |
19:37 | |
19:41
wtw joined
|
|||
TimToady | diakopter: if you want more review, iterate it s'more :P | 19:43 | |
19:44
ajr_ left
19:45
rurban1 joined
19:48
denysonique left
|
|||
diakopter | ok | 19:48 | |
lue | I can only think that add_parent isn't adding the right something, but I'm not sure -> gist.github.com/lue/c0923d2d1498fce7f19c | 19:50 | |
19:57
rurban1 left
20:10
jeff_s2 left
|
|||
PerlJam | TimToady: If you wanted to remove the implementation barrier, you could kill two birds by starting to maintain niecza yourself :) | 20:10 | |
moritz | lue: try to add a debug print in add_parent | 20:11 | |
diakopter | .oO( the bird known as niecza ) |
||
moritz | and why use an array of parents when you only want to support one parent class? | 20:12 | |
lue | "Null PMC access in get_string()" (I remember this being an issue yesterday. That I can't see anything once it's put in a QAST::Var) | ||
moritz: the exercises told me to :) | 20:13 | ||
That is, I can print the value of $<ident>[1] in the action method, but whatever's passed to the PHPish is completely unprintable :( | 20:14 | ||
lue hates how he has to keep bugging everybody about these exercises... | 20:18 | ||
timotimo switches to another train | 20:19 | ||
lue: i also didn't do every exercise in the course :( | |||
PerlJam | lue, timotimo: what course? | 20:20 | |
(I'm guessing that thing that lizmat and jnthn put together) | |||
lue | timotimo: the only thing I've not done so far is fiddling with the terminators so that I don't need semicolons where I shouldn't need them. I've been insistent on doing everything else so far though :) | ||
PerlJam: it's a "get to know NQP" course from Edument. Don't have a link to it on-hand though. | 20:21 | ||
jnthn | evening, #perl6 | 20:22 | |
FROGGS | hi jnthn | 20:23 | |
jnthn yawns | |||
20:24
tipdbmp joined
|
|||
timotimo | good for you :) lue++ | 20:29 | |
20:30
iSlug left
|
|||
timotimo is about to create a regex optimizer | 20:30 | ||
lue | timotimo: well, I've got an annoying NULL PMC ACCESS to deal with right now :P . (The supplied rubyish example doesn't have inheritance, and NQP's own ClassHOW plays with these C3MRO thingys way more complex than what I'm doing.) | 20:31 | |
timotimo | try using jvm | ||
jnthn | That probably just turns it into a null pointer exception :P | 20:32 | |
timotimo: You still having problems with code-gen on JVM? | 20:33 | ||
timotimo | yes | 20:34 | |
ASM is trying to tell me i pop too much by raising a negative stay size expression | 20:35 | ||
jnthn | yes, it's error reporting is crap | ||
timotimo | excuse the fat fingered typing | ||
jnthn | common issues are different stack sizes either side of a conditional | ||
timotimo | i've tried to make sure that all paths through the different gotos end up with 0 stuff left on the stack and may have made a mistake there | 20:36 | |
sprunge.us/RjZD - this is an excerpt, the one i generated | |||
lue | timotimo: yeah, I'll see if I still have nqp-j around | ||
jnthn | timotimo: tbh, I'd probably find it easier to read the patch to the code-gen :) | 20:37 | |
timotimo | it's up in the charrange_jvm branch | ||
see how i have an extra label to pop & fail? | 20:38 | ||
lue | Well, nqp-j doesn't give me Null PMC, but instead a "expecting 0..0 args, got 1" error with no useful backtrace :/ | 20:41 | |
timotimo | i should be able to turn a concat with a single child into the single child, right? | ||
jnthn | + $il.append($I2L); | 20:42 | |
+ $il.append($DUP); | |||
That looks wrong | |||
I think that'll split the long on the stack | 20:43 | ||
A long counts as two stack slots, so needs duplicating with dup2, and popping with pop2 | |||
I think a | 20:44 | ||
$il.append($POP); | |||
may also be vulnerable | |||
20:44
rurban1 joined
|
|||
jnthn | timotimo: On the concat question - yes, though it isn't an optimization really othr than simplifying the tree, which I guess may make ohter opts easier... | 20:50 | |
20:51
kivutar left
|
|||
jaffa4 | Could anyone tell me how to write tests for rakudo? | 20:51 | |
for a panda module, sorry? | |||
flussence | Just make a t/ directory next to the lib/ one and panda automatically looks in there for *.t files and runs them | 20:53 | |
jaffa4 | how is it possible that my tests run if I run it but it does not run properly if the panda install runs it? | 20:56 | |
20:56
stevan__ left
|
|||
flussence | hmm | 20:56 | |
maybe it's running a different rakudo to your normal one | 20:57 | ||
or there's some cwd-dependent library that it can't find on its own | 20:58 | ||
jaffa4 | it is the same rakudo | 20:59 | |
FROGGS | how does it fail? | ||
jaffa4 | Cannot fetch object from non-existent serialization context BFC5F3FB5D2F2BA20A28211EC7F849095B9FC154 | ||
FROGGS | O.o | 21:00 | |
then precompilation is broken | |||
21:00
rurban1 left
|
|||
FROGGS | like that the dependency of something is newer then the module using it | 21:00 | |
21:01
rurban1 joined
|
|||
jaffa4 | there is no dependency | 21:01 | |
FROGGS | weird | 21:02 | |
timotimo | thank you jnthn i did not know about thebextra size ofbthe longs onbthebstack | 21:03 | |
i I'll implementbthe fix in half an hour out so | 21:04 | ||
21:05
pernatiy joined
|
|||
jnthn | timotimo: not by typing like that you won't :P | 21:06 | |
FROGGS | r: say 12345679 * 0.00001; say 12345679 * 1e-5 | 21:10 | |
camelia | rakudo-parrot 2c40f6: OUTPUT«123.45679123.45679» | ||
..rakudo-jvm 2c40f6: OUTPUT«123.45679123.45679000000001» | |||
FROGGS scratches his head | |||
jnthn | Rat vs Num > | 21:11 | |
colomon | who'd win? | ||
moritz | floating point FTL | ||
TimToady | maybe we should rename Num to Approximation :) | ||
jaffa4 | FROGGS: I think I know the reason... pir version of the same perl 6 program does not run | 21:13 | |
FROGGS | jaffa4: so compilation itself breaks your code :/ | 21:14 | |
TimToady | we could also change 'e' to 'timesapproximatelytentothepowerof' | ||
jaffa4 | FROGGS: I guess so | ||
moritz | you generally can't run p6 scripts compiled to pir | 21:15 | |
21:15
Guest2496 joined
|
|||
jnthn | Yes, but this is a module I thought? | 21:15 | |
FROGGS | thought so too | ||
jaffa4 | a module which is broken by compilation | 21:16 | |
21:16
rurban1 left
|
|||
moritz | yes, happens | 21:17 | |
21:17
stevan__ joined
|
|||
moritz | there are known cases, like precompiling a constant array | 21:17 | |
and some others that have been observed but not yet narrowed down | |||
21:18
kaare_ left
|
|||
timotimo | jnthn: i have my laptop keyboard now, now i can implements! :) | 21:18 | |
jnthn | \o/ | ||
jaffa4 | and now? | 21:19 | |
FROGGS | r: say 1e-5* 0.33 # jnthn: is that fixable? when yes: any pointers where to start fixing this up? | ||
camelia | rakudo-jvm 2c40f6: OUTPUT«3.3000000000000006E-6» | ||
..rakudo-parrot 2c40f6: OUTPUT«3.3e-06» | |||
moritz | jaffa4: and now you don't precompile, or you try to fix the precompilation bug | ||
jaffa4: or you figure out what triggers the bug, and avoid the trigger | 21:20 | ||
jaffa4 | How do I stop panda from precompiling? | ||
FROGGS | jaffa4: would be nice to know what triggers it btw | ||
dmol | Hello! How should perl6-pod parser behave on wrongly typed p6 docs like bpaste.net/show/148751/ ? Should it die? | ||
jaffa4 | probably using Perl6::Grammar from nqp | 21:21 | |
timotimo | dmol: it would be nice if it had a nice error message instead | ||
FROGGS | jaffa4: can you bisect it? | 21:22 | |
jaffa4 | bisect it? | ||
FROGGS | jaffa4: comment out about 50% of the code, recompile, test | 21:23 | |
dmol | timotimo: I use (p5) Perl6::Pod for docs generating. Now it just silently says nothing, and includes "=end code" into the code block | ||
FROGGS | jaffa4: if the error is still there, omment out another 50% of the remaining lines, recompile, test | ||
jaffa4: if it succeeds, activate some of the last lines again... | 21:24 | ||
dmol | timotimo: that causes me a lot of troubles, when I mistyped for p6::slides, when image was totally ommited. | ||
21:24
ingy^ joined
|
|||
dmol | timotimo: so, if nothing other is predefined, it is better to die | 21:24 | |
FROGGS | dmol: we are the wrong guys when it comes to P5 modules | ||
timotimo | :( | ||
jnthn: java.lang.ArrayIndexOutOfBoundsException: - what could this mean now? :) | 21:25 | ||
jaffa4 | bye all, leaving | ||
FROGGS | jaffa4: o/ | ||
jnthn | Though we should check if Rakudo's Pod parser gets a better error on it ;) | ||
timotimo: Similar kind of issue | |||
FROGGS | dmol: IMO dying with a proper error message is never bad | ||
21:25
jaffa4 left
|
|||
dmol | FROGGS: is there p6 module for generation pdf slides (latex/beamer) ? | 21:26 | |
timotimo | you are right of course, i missed a POP2 replacement | ||
21:26
rurban1 joined
|
|||
jnthn | timotimo: ah :) | 21:26 | |
timotimo | when this works i'll be pretty happy | ||
jnthn | The whole pop vs pop2 thing on JVM is quite the annoyance. | ||
timotimo | still won't make a noticable difference in rakudo setting parsing performance, sadly | 21:27 | |
jnthn | No, we've few ranges there | ||
FROGGS | dmol: no idea, maybe ask masak if here is nothing: modules.perl6.org/ | ||
timotimo | i wonder what automatic optimization will help there at all | ||
jnthn | timotimo: Probably using the NFA to entirely eliminate certain rule calls, perhaps. | 21:28 | |
timotimo | we've already made a lot of headway there recently, didn't we? do you recall any rules that should be, but aren't declarative? | ||
dmol | FROGGS: thanks! | 21:29 | |
timotimo | iirc, making something declarative that previously wasn't can break things, because you want to have control over what takes part in the LTM etc etc | ||
jnthn | timotimo: No, I more meant (this is tricky and I ain't suggesting doing it) that after the NFA matches, it may be able to tell us "don't bother re-scanning this bit" or so | 21:32 | |
timotimo | oh | ||
i thought that already happens because it has no fate to do that part? | |||
or did you mean re-using data from the NFA to populate captures? | 21:33 | ||
lizmat is finally back and checking backlog | |||
TimToady | timotimo: there are several components to that; you can pretty easily skip declarative bits that don't capture | 21:34 | |
jnthn | timotimo: It re-evaluates the rule that is chosen, it just uses the NFA to decide which path to take | ||
timotimo | ah, mhm | ||
jnthn | timotimo: And we can probably find ways to do a bit more than that. :) | ||
TimToady | there are implementations that can use declarative match to find captures, but in my experience they tend not to scale well | ||
we may also be able to avoid doing some of the recursive descent, and just fake the tree that we know would've been returned had we done it | 21:35 | ||
but that's hard to integrate with the actions | |||
timotimo | the jast dumper cannot dump jasts :( | 21:36 | |
TimToady | another possible approach is to not actually rescan the declarative part unless we know that the captured bits have to be pulled out, since a certain amount of capture is accidental | ||
but doing that lazily might be more overhead than it's worth; dunno unless someone tries it | 21:37 | ||
TimToady still thinks that the fastest way to "cheat" would be to recognize when we have a stable grammar and store an equivalent YACC grammar, then call back into the recursive descent only if we get a failure that need a better error message | 21:38 | ||
that's not likely a trivial undertaking either | |||
there may be more that can be done in terms of moving hash entries into native attributes | 21:40 | ||
but we really just need better profiling, including of factors that cut across the way normal profilers divide up the problem | 21:43 | ||
21:44
rurban1 left
|
|||
TimToady | since a bad algoritm that is replicated in many places will often not show up on routine-based profiler | 21:44 | |
timotimo | yeah :( | ||
21:44
pippo left
|
|||
TimToady | either half my keys aren't working, or half my neurons, or both | 21:45 | |
TimToady goes to take a nap to see if it eliminates the second possiblility | |||
21:47
pippo joined
|
|||
FROGGS | so what happens next? The Optimomizer mutates into The Profilimo? | 21:47 | |
FROGGS .oO( hey! don't expect more at that time'o'day! ) | 21:48 | ||
timotimo | haha | 21:50 | |
21:50
rurban1 joined
|
|||
timotimo | well, i can measure no performance benefit from my charrange implementation | 21:52 | |
on the jvm, that is | |||
so maybe the jit already optimizes the hell out of that operation | |||
FROGGS | yeah, quite possible | 21:54 | |
timotimo | well, since it works i'll go ahead and push it | ||
FROGGS | timotimo++ | 21:55 | |
dalek | p: 098f5b7 | (Timo Paulssen)++ | src/ (2 files): first attempt at charrange on JVM |
21:56 | |
p: b3d6cb7 | (Timo Paulssen)++ | src/ (3 files): implement negated charrange on parrot and jvm jvm part is still b0rked, though |
|||
p: a015b4a | (Timo Paulssen)++ | src/vm/jvm/QAST/Compiler.nqp: longs occupy 2 slots in the stack. jnthn++ |
|||
itz | act.yapc.eu/lpw2013/talk/5150 | 21:57 | |
lizmat | itz++ | ||
tadzik | ooh | ||
makesme want to go to lpw :) | 21:58 | ||
lizmat | tadzik: there's still time! | ||
dalek | p: 7b9f357 | (Timo Paulssen)++ | src/vm/parrot/QAST/Compiler.nqp: actually, don't try to find \r\n for zerowidth at all. |
||
tadzik | lizmat: yeah, but my calendar is pack()ed :( | 21:59 | |
FROGGS | timotimo: does that fix the issues about <?[\w]> we had in curseless? | 22:00 | |
timotimo | oh | ||
we did? | |||
FROGGS | yeah | ||
timotimo | well, it maybe does! | 22:01 | |
FROGGS | cool :o) | ||
tadzik | oh well, I'll look at flights :P | ||
FROGGS | something I can try tomorrow :o) | ||
timotimo | actually, is \w word or whitespace? | ||
FROGGS | word | ||
timotimo | in that case, no, it shouldn't fix anything | ||
FROGGS | ahh, newline, I see | ||
timotimo | after a \r\n is matched for zerowidth, the cursor was mistakenly moved ahead one ^Hcharacter | 22:02 | |
lue | welp, I converted @!parents to $!parent, and now I get Attribute '%!methods' not declared at line 47, near ");\n }\n\n" :/ | 22:03 | |
timotimo | :( | ||
lue | I think I somehow b0rked NQP's object system | ||
lue & | |||
tadzik | globally!? | ||
timotimo | on the whole wide world?!?! :o | 22:04 | |
22:04
denis_boyun__ left
22:05
rurban1 left
|
|||
dalek | ecs: fdc1356 | (Elizabeth Mattijsen)++ | S17-concurrency.pod: Missed one more Supply role -> Publish class |
22:05 | |
FROGGS | timotimo: the not converted <?before's contain \s :o) | ||
timotimo | ah! | 22:06 | |
in that case, i may have fixed it! :) | |||
but only on windows, where there's \r\n? | |||
jnthn | Early night because exhaust & | ||
timotimo | gnite jnthn, and thanks very muc hagain! | ||
lizmat | gnight jnthn! | 22:07 | |
22:13
xinming_ joined
22:16
xinming left
|
|||
dalek | p: 24b421b | (Timo Paulssen)++ | src/vm/parrot/QAST/Compiler.nqp: use eqat for "\r\n" check instead of substr+iseq |
22:18 | |
22:28
FROGGS left
22:37
colomon left
|
|||
dalek | p: 5f497cb | (Timo Paulssen)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp: moarvm had the \r\n bug, too. |
22:38 | |
22:39
raiph joined
|
|||
lizmat | n: class A {method new {say "A.new"}}; role x { method new {say "role.new"; nextsame}}; A.new does x | 22:40 | |
camelia | niecza v24-98-g473bd20: OUTPUT«A.newUnhandled exception: Cannot use 'does' operator with an immutable object at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 1469 (infix:<does> @ 8)  at /tmp/pH3b7WUaaM line 1 (m…» | ||
lizmat | r: class A {method new {say "A.new"}}; role x { method new {say "role.new"; nextsame}}; A.new does x | 22:41 | |
camelia | rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«A.new» | ||
lizmat | I sorta expected this to say "role.new" first before saying A.new | ||
22:42
lowpro30 left
|
|||
woolfy1 | Thanks to the donation made by the Perl 6 Community! act.yapc.eu/lpw2013/news/1117 | 22:45 | |
London Perl Workshop. Looking forward to meet you all there. | |||
Juerd | Wonderful, woolfy1 :) | 22:46 | |
woolfy1 | Happy! | ||
Juerd | I do wonder how incredibly expensive the LPW must be, with this many sponsors! | 22:47 | |
lue | Is there a non-WHAT way to learn the type of an NQP variable, or should I try nqp-m (if it exists)? | 22:53 | |
(nqp-j for some reason refuses to run the examples :/) | |||
lizmat | lue: sorry, too tired to think straight | 22:54 | |
which reminds me, I should go to bed& | |||
lue | That's alright :) | ||
♞ lizmat o/ | |||
woolfy1 | LPW hosts 250+ attendees, it is free (as in you pay nothing to attend), also coffee/tea/snacks (not a free lunch), there are 5 tracks. The combination does ask for some funding. | 22:57 | |
Oh, that was meant for Juerd. | |||
Juerd | Oh, wow, I didn't know it was that big, and free. | ||
Now I want to go there. :P | |||
woolfy1 | act.yapc.eu/lpw2013/stats (now already almost 200) & act.yapc.eu/lpw2012/stats (300+) | 22:58 | |
This will be our 3rd LPW. It's not just the workshop, the topics, the people. London is also magnificent. The British Museum, for example, is an immensely large museum, free entrance, mummies, fossils, the Rosetta Stone! | 22:59 | ||
The British Museum dawrfs our Dutch Rijksmuseum. | 23:00 | ||
s/dawrfs/dwarfs/ | 23:04 | ||
arnsholt | The British Museum is kind of ridiculous | 23:08 | |
Also, full of stuff the British have stolen throughout the centuries =) | |||
23:08
colomon joined
23:12
xenoterracide left
|
|||
woolfy1 | Maybe ridiculous that it is full of stolen stuff, but on the other hand, it is magnificent. | 23:13 | |
Why ridiculous??? | 23:14 | ||
arnsholt | Just so massive | 23:15 | |
Not ridiculous bad, just insanely much stuff =) | 23:16 | ||
woolfy1 | I dunno why massice means ridiculous. Apollo rockets, pyramids, Betelgeuze, universe: not ridiculous at all. | ||
Ack. lizmat and I went for a whole day and all we say was the Egyptian wing and bits of the Chinese section. But I saw mummies and the Rosetta Stone! | 23:17 | ||
oh well, it's not Perl 6. In time, Perl 6 will be massive as well. | |||
Bed & | |||
bye | |||
23:21
kbaker left
23:24
Rotwang left
|
|||
timotimo | its memory requirements already are :) | 23:31 | |
lue | My problems were apparently caused by forgetting to "mangle" the class name :) [which in the PHPish sample means "name" should actually be "::name"] | ||
timotimo | oh well... | ||
lue | (now it's back to easier debugging tasks) | 23:32 | |
23:39
davecc joined
|
|||
pippo | gnight #perl6 | 23:57 | |
23:57
pippo left
|