»ö« 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 moritz on 3 May 2013. |
|||
00:04
leprevost left
00:08
Timbus joined
00:17
leprevost joined
00:23
rjbs joined
00:27
pecastro left
00:34
jaldhar_ left
|
|||
gtodd | p5eval: use autobox ; | 00:36 | |
p5eval | gtodd: ERROR: Can't locate autobox.pm in @INC (@INC contains: /lib) at (eval 7) line 1.BEGIN failed--compilation aborted at (eval 7) line 1. | ||
gtodd | :-) | ||
00:36
Chillance left
00:37
fgomez joined
|
|||
gtodd wonders if there's a perl5i compiler bot along with p5eval, rakudo, niecza | 00:38 | ||
00:39
kbenson1 left
|
|||
diakopter | p5eval: use perl5i::2; | 00:40 | |
p5eval | diakopter: ERROR: Can't locate perl5i/2.pm in @INC (@INC contains: /lib) at (eval 7) line 1.BEGIN failed--compilation aborted at (eval 7) line 1. | ||
00:40
kbenson joined
00:41
eternaleye joined,
eternaleye left,
eternaleye joined
00:43
lizmat joined
00:44
jaldhar_ joined
00:45
autumn joined
00:46
[bjoern] left
|
|||
diakopter | gtodd: oh, I presume perl5i uses autobox... | 00:47 | |
00:51
kbenson left
00:52
kbenson joined
00:53
snarkyboojum joined
00:58
dayangkun joined
00:59
betterworld joined
01:05
anuby joined
01:23
FROGGS joined
01:24
kbenson left
01:28
eternaleye left
01:31
eternaleye joined
01:41
cognominal joined
01:46
berekuk joined
01:48
berekuk left
02:05
kurahaupo left,
kurahaupo joined
02:07
ingy joined
02:19
dayangkun left
|
|||
dalek | rl6-bench: 75540d3 | (Geoffrey Broadwell)++ | timeall: Properly handle best_times() and subtract_times() for scalable tests in timeall |
02:22 | |
rl6-bench: 796439f | (Geoffrey Broadwell)++ | analyze: Refactor options processing in analyze |
|||
rl6-bench: d58e086 | (Geoffrey Broadwell)++ | analyze: Factor analyze_timings_files() out of analyze MAIN() |
|||
rl6-bench: e21737c | (Geoffrey Broadwell)++ | analyze: Begin fixing analyze to handle new scaled timings files from timeall: handled ungrouped compiler info |
|||
02:24
japhb_ left
02:26
dayangkun joined
02:29
lustlife joined
03:02
japhb left,
japhb joined
03:03
senaxfz joined
03:21
senaxfz left
03:29
preflex_ joined,
preflex_ is now known as preflex
03:45
japhb_ joined
03:58
leprevost left
04:09
cognominal left
04:25
Psyche^ joined
04:28
Psyche^ is now known as Patterner
|
|||
diakopter | .tell moritz I *love* the collapsed join/part msgs; nice! | 04:45 | |
yoleaux | diakopter: I'll pass your message to moritz. | ||
05:09
ingy left
05:10
genehack joined
05:13
SamuraiJack joined,
kshannon joined
05:15
ingy joined
05:17
ruoso joined
06:07
kaleem joined
06:43
FROGGS left
06:48
domidumont joined
06:55
domidumont left
06:56
domidumont joined,
FROGGS joined
07:07
frdmn joined
|
|||
moritz | good morning | 07:16 | |
yoleaux | 04:45Z <diakopter> moritz: I *love* the collapsed join/part msgs; nice! | ||
moritz too | |||
sorear | good morning moritz. | ||
FROGGS | morning | 07:17 | |
07:17
kurahaupo left
07:39
cibs joined
07:41
pencilk joined
|
|||
lizmat | morning #perl6! | 07:42 | |
FROGGS | morning lizmat | 07:43 | |
lizmat | 1 spectest failure after my :delete :exists fixes, checking now | ||
dalek | : 15fab88 | (Tobias Leich)++ | lib/Perl5/ (2 files): dispatch prefix:<local> to prefix:<temp> |
07:44 | |
sorear | morning lizmat! | ||
07:44
dmol joined
07:45
daxim joined
07:51
berekuk joined
|
|||
lizmat | so what is the right way of running a single spectest test-file? | 07:58 | |
07:58
fhelmberger joined
|
|||
tadzik | ./perl6 t/spec/test/file? | 07:58 | |
nwc10 | I thought ./perl6 -Ilib path/to/it | 07:59 | |
tadzik | or prove -e perl6 (...) | ||
but fudge it first | |||
lizmat | you mean, run the .rakudo version? | ||
tadzik | yeah | ||
lizmat | the thing is, if I run this inside the spectest, I get this: | 08:00 | |
t/spec/S03-feeds/basic.rakudo ............................. All 19 subtests passed | |||
(less 5 skipped subtests: 14 okay) | |||
if I run it separately, I get: # Looks like you planned 19 tests, but ran 21 | |||
# FUDGED! | |||
FROGGS | make sometests TESTFILES=t/spec/... | 08:01 | |
08:01
pencilk left
|
|||
moritz | so, it complains about a wrong test plan, or that it ran too many tets | 08:01 | |
FROGGS | this will fudge too, and then I usually run the .rakudo test directly, to get some output | ||
lizmat | Parse errors: Bad plan. You planned 19 tests but ran 21. | 08:02 | |
FROGGS++ that generates the test summary report | |||
and indeed… 2 errors | |||
seems it is getting too many "ok 15 - # SKIP double-ended feeds" now | 08:03 | ||
hmmm... | |||
it says that is both ok, and failed? gist.github.com/lizmat/5574406 | 08:05 | ||
moritz | where does it say it's ok? | 08:06 | |
all subtests passing is not sufficient for a test file passing | 08:07 | ||
you also need to satisfy the test plan, and exit with a return code of 0 | |||
dalek | : 630b49f | (Tobias Leich)++ | STATUS.md: status update |
08:08 | |
lizmat | aha… ok | ||
08:11
sqirrel joined
|
|||
lizmat | in the section marked "#?rakudo skip 'double-ended feeds'" I only see 2 times is(), yet it generates 4 "ok N - # SKIP double-ended feeds" | 08:12 | |
is that expected? | 08:13 | ||
08:13
berekuk left
08:15
berekuk joined
|
|||
moritz | lizmat: there are two sections that are skipped with 'double-ended feeds', and each contains two tests | 08:16 | |
lizmat | grrr… duh | ||
so the plan just seems to be wrong | |||
moritz | $ ack '\b(is|ok|lives_ok|dies_ok)\b' S03-feeds/basic.t|wc -l | 08:17 | |
24 | |||
that's what my manual counting also produces | 08:18 | ||
@data ==> grep {/<[aeiouy]>/} ==> is($(*), $(@out), 'basic test for $(*)'); | |||
I'm pretty sure fudged won't recognize lines like these as tests | |||
lizmat | grrr: Parse errors: Bad plan. You planned 24 tests but ran 21. | 08:20 | |
ok, will look at this after fitness, afk for a few hours | |||
dalek | ast: bb94740 | moritz++ | S03-feeds/basic.t: fix test plan, rakudo fudging also move a block to the end of the file, because providing a #?DOES seems to confuse fudge for the subsequent blocks |
08:23 | |
moritz | lizmat: fixed it for you, that one was a bit tricky | ||
lizmat | ok, cool, running spectest while doing fitness :-) | 08:24 | |
moritz++ | |||
dalek | : 9ef59dc | (Tobias Leich)++ | README.md: added installation instruction and updated description |
||
08:30
pecastro joined
|
|||
moritz | perlweekly.com/archive/94.html I wonder if "punpking" is a typo, a pun, or both :-) | 08:36 | |
shachaf | Perhaps it's all three! | 08:39 | |
moritz | this is starting to be become recursively recursive | ||
08:40
pecastro_ joined
|
|||
labster reads | 08:42 | ||
Whoa, how did I explain why companies switch to Python? | |||
moritz | no | 08:44 | |
because they have trouble finding good perl programmers? | |||
08:46
dakkar joined
08:47
hlin_ joined,
odoacre_ joined,
cognominal joined
08:48
araujo_ joined,
odoacre_ is now known as odoacre
08:49
pecastro left,
araujo left
|
|||
tadzik | python is easier, there are more python programers, so using python is cheaper for them | 08:50 | |
08:51
sqirrel left
09:06
domidumont left
09:11
AMENDEES_ joined
09:25
berekuk left
|
|||
moritz | terralang.org/ seems interesting | 09:29 | |
the front page is a bit weak | |||
but it seems to be designed for code generation | 09:30 | ||
09:33
domidumont joined
09:35
domidumont left,
domidumont joined
09:38
dmol left
09:40
domidumont left
09:41
domidumont joined
|
|||
nwc10 | but which Python? | 09:44 | |
moritz | python 5.7 of course -- the best of 2.7 and 3.0 combined! | 09:45 | |
09:45
cognominal left
09:49
woosley left
09:50
xinming left
09:52
xinming joined
|
|||
dalek | p/rak-jvm-support: cdbb9d1 | jnthn++ | src/vm/jvm/ (2 files): Avoid an apparent invokedynamic bug. Seems that optional args to the resolver can somehow get "lost" in a sufficiently large class file. Weird. |
09:58 | |
p/rak-jvm-support: 5eac9c8 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java: Correct an error. |
|||
hoelzro | why is it that there hasn't been a * release since February? is it because the next one will be with a JVM Rakudo? | 09:59 | |
dalek | kudo/jvm-support: 35d1f37 | jnthn++ | src/Perl6/World.nqp: A couple of portability tweaks to module loading. |
||
kudo/jvm-support: a3a2574 | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files): Implement optional parameter binding. |
|||
nwc10 | hoelzro: I believe that it's been mentioned on the list (shock, horror!) | ||
jnthn | hoelzro: No, it's 'cus the relesae candidates so far have had failing module tests, iirc. | ||
hoelzro looks | |||
oh, I see | |||
nwc10 | because there isn't (yet) a continuious integration process to spot this earlier. | 10:00 | |
jnthn | *nod* | ||
nwc10 | or however it's spelled | ||
hoelzro | alright | 10:01 | |
seems reasonable | |||
10:03
pecastro_ is now known as pecastro
10:08
domidumont left
10:15
domidumont joined
10:16
anuby left,
rindolf joined
10:19
cognominal joined
10:26
rindolf left,
rindolf joined
|
|||
lizmat | is there a way to have multiple MMD candidates share the same code block? | 10:27 | |
jnthn | no | ||
lizmat | too bad :-) | ||
I guess this is really an optimisation issue, to be handled by the optimiser? | 10:28 | ||
jnthn | Well, depends what you're optimizing for. | 10:29 | |
lizmat | in this case memory, I would think? | ||
jnthn | If it can look at the arguments it's getting to each one and do some inlining specific to each of them, you could potentially come out ahead on speed. | ||
So, it's probably a trade-off. | 10:30 | ||
(The optimizer already potentially can do that kind of inlining, fwiw.) | |||
(Though it can't do dupe code elimination yet.) | 10:31 | ||
lizmat | well, if the code gets serialized, it would mean smaller bytecode files, so faster startup :-) | ||
moritz | fwiw we once had a syntax sub f (signature 1) | (signature 2) { ... } | ||
lizmat | I guess that becomes less of an issue with SSD's | ||
moritz | that allowed two multi candidates to share the same code | ||
lizmat | I think it would be an optimizer thing: developers may not see that the code is the same many times | 10:33 | |
otoh, it would mean less maintenance (and less chance of fixing one place where it needed to be fixed in two) | 10:34 | ||
anyways, just making sure I'm not forgetting obvious things to do | |||
jnthn: would "multi method at_key(Any:U \SELF: $key) is rw {" not also be a candidate for adding a "Mu" type to $key ? | 10:35 | ||
jnthn | lizmat: Hmm...I guess that's the auto-viv one... | ||
lizmat: I suppose yes. | 10:36 | ||
lizmat | will do and test | ||
10:41
rindolf left
10:42
rindolf joined,
AMENDEES_ left
|
|||
Juerd | lizmat: Serialised code for faster startup? Not just with SSDs, but with even with a network filesystem that doesn't sound like a useful optimization. Anything will do at least 10 MB/s now. That's a shitload of code. If you have more than that, the startup overhead is probably the least of your worries. | 10:42 | |
s/S/Smaller s/ | |||
lizmat: Also, caching will take care of the 2nd and consequent runs. | 10:43 | ||
I've seen servers with crashed RAID arrays that continued to serve websites perfectly because everything was in cache :) | 10:44 | ||
10:49
rindolf left
10:50
rindolf joined
10:52
kresike joined,
denisboyun joined
|
|||
kresike | hello all you happy perl6 people | 10:52 | |
10:57
robinsmidsrod joined
11:01
rindolf left
|
|||
colomon | \o | 11:03 | |
dalek | p/rak-jvm-support: 0de5175 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files): Initial bits of SC repossession support. This doesn't serialize/deserialize the repossessions, but at least should mean we start to detect and record them. |
11:06 | |
p/rak-jvm-support: a0f9501 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationWriter.java: Serialize repossessions table. |
|||
11:11
robinsmidsrod left
11:14
robinsmidsrod joined
11:15
robinsmidsrod left
11:19
rindolf joined,
robinsmidsrod joined
11:25
jokar joined,
jokar left
11:27
Targen left
11:28
rindolf left
11:29
rindolf joined
11:34
domidumont left
11:35
domidumont joined,
domidumont left
11:36
domidumont joined,
domidumont left
11:37
domidumont joined
11:43
rindolf left,
rindolf joined
|
|||
FROGGS | r: my $a = "abc"; say $a ~~ s/b// | 11:44 | |
camelia | rakudo 2a04f2: OUTPUT«True» | ||
FROGGS | r: my $a = "abc"; say $a ~~ s/c$// | 11:47 | |
camelia | rakudo 2a04f2: OUTPUT«True» | ||
11:54
sqirrel joined
|
|||
FROGGS | r: my $RS = 'c'; sub my_chomp(*@s is rw) { for @s -> $s is rw { say "s: $s"; if $s ~~ s/$RS$// { say $RS } } }; my $a = "abc"; my_chomp($a); say "a: $a" | 11:54 | |
camelia | rakudo 2a04f2: OUTPUT«s: abca: ab» | ||
FROGGS | r: sub my_chomp(*@s is rw) { for @s -> $s is rw { say "s: $s"; if $s ~~ s/c// { say "did it!" } } }; my $a = "abc"; my_chomp($a); say "a: $a" | 11:56 | |
camelia | rakudo 2a04f2: OUTPUT«s: abca: ab» | ||
FROGGS | RAKUDOBUG | ||
r: sub my_chomp(*@s is rw) { for @s -> $s is rw { say "s: $s"; say $s ~~ s/c// } }; my $a = "abc"; my_chomp($a); say "a: $a" | |||
camelia | rakudo 2a04f2: OUTPUT«s: abcFalsea: ab» | ||
11:57
rindolf left
11:58
rindolf joined
|
|||
FROGGS | r: my $a = "abc"; for $a -> $s is rw { say $s ~~ s/b// }; say $a | 11:58 | |
camelia | rakudo 2a04f2: OUTPUT«Falseac» | ||
FROGGS | a bit shorter | 11:59 | |
colomon | n: my $a = "abc"; for $a -> $s is rw { say $s ~~ s/b// }; say $a | 12:00 | |
camelia | niecza v24-50-gba63d9a: OUTPUT«Trueac» | ||
FROGGS | nr: my $a = "abc"; for $a -> $s is rw { say $s ~~ /b/; say $/ }; | 12:02 | |
camelia | rakudo 2a04f2, niecza v24-50-gba63d9a: OUTPUT«「b」「b」» | ||
FROGGS | nr: my $a = "abc"; for $a -> $s is rw { say $s ~~ s/b//; say $/ }; | ||
camelia | niecza v24-50-gba63d9a: OUTPUT«True「b」» | ||
..rakudo 2a04f2: OUTPUT«False(Any)» | |||
FROGGS | substitution only | ||
12:08
d4l3k_ joined
12:09
genehack_ joined,
SamuraiJack_ joined
12:11
integral_ joined,
integral_ left,
integral_ joined,
Ulti joined,
ruoso_ joined
12:12
x2 joined,
fgomez_ joined,
rindolf left,
xinming_ joined
12:13
rindolf joined
12:16
xinming left,
odoacre left,
ruoso left,
SamuraiJack left,
genehack left,
fgomez left,
Ulti_ left,
vaelxon left,
d4l3k_ is now known as dalek
|
|||
dalek | p/rak-jvm-support: 2416ad0 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationReader.java: Basic repossession handling on deserialize. |
12:17 | |
p/rak-jvm-support: a7f1e8b | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationWriter.java: Fix buffer resize fail. |
|||
p/rak-jvm-support: bf18546 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/NFA.java: Quieten NFA serialize NYI. |
|||
12:20
odoacre joined
12:23
rindolf left
12:24
rindolf joined
12:32
rindolf left
12:33
rindolf joined
|
|||
[Coke] should add a star continuous build, eh? | 12:34 | ||
FROGGS | r: multi sub test { say CALLER::<$_> }; $_ = "hello"; ::("&test")() | 12:36 | |
camelia | rakudo 2a04f2: OUTPUT«(Any)» | ||
FROGGS | r: multi sub test { say CALLER::<$_> }; $_ = "hello"; test() | 12:37 | |
camelia | rakudo 2a04f2: OUTPUT«hello» | ||
FROGGS | jnthn: do you have a hint what is going wrong there? | ||
FROGGS fears that jnthn is saying "you can't do it that way" | |||
jnthn | I can guess, at lesat. | 12:40 | |
FROGGS | \o/ | ||
jnthn | CALLER:: looks a frame out. | ||
When you call a multi then you are actually calling a proto which then does the multi-dispatch. | |||
12:41
denisboyun___ joined
|
|||
jnthn | Really doing that gets costly, though, so a bunch of the time we inline that proto. | 12:41 | |
An indirect call through ::(...) thwarts the optimizer, however. So you have to go via the proto. | |||
So in that case there's 2 frames there, not one. | |||
FROGGS | I see | ||
jnthn | Maybe try DYNAMIC:: instead of CALLER:: | 12:42 | |
Or CALLER::DYNAMIC::<$_> | |||
FROGGS | r: multi sub test { say DYNAMIC::<$_> }; $_ = "hello"; test() | ||
camelia | rakudo 2a04f2: OUTPUT«(Any)» | ||
FROGGS | r: multi sub test { say CALLER::DYNAMIC::<$_> }; $_ = "hello"; test() | ||
camelia | rakudo 2a04f2: OUTPUT«hello» | ||
FROGGS | r: multi sub test { say CALLER::DYNAMIC::<$_> }; $_ = "hello"; ::("&test")() | ||
camelia | rakudo 2a04f2: OUTPUT«hello» | ||
FROGGS | r: multi sub test { say CALLER::DYNAMIC::<$_> }; $_ = "hello"; test() # took long | ||
camelia | rakudo 2a04f2: OUTPUT«hello» | ||
FROGGS | okay, just was a hickup | 12:43 | |
jnthn++ # thanks! | |||
12:43
integral joined,
integral left,
integral joined
|
|||
jnthn | Hm, the setting currently loads as far as line 4445, where it ties to construct a Pair and then has a sad... | 12:43 | |
Well, with local patches. | |||
Somebody may wish to look at constant folding the ~ operator, BTW. | 12:44 | ||
Or why the current folder doesn't manage it. | |||
FROGGS | timotimo: a job for you! :P | ||
but getting to line 4445 sounds pretty cool actually | 12:45 | ||
[Coke] | I don't know what the rollup summary would look like, but at this point, would a daily dump of the build output from a star build be sufficient? | 12:46 | |
jnthn | Well, we don't run that much up to that point. | ||
moritz | jnthn: prefix ~ or infix ~ ? | ||
jnthn | [Coke]: Pushed to github each day like the roast ones would be awesome, then we can use diff | ||
moritz: infix | |||
12:46
rindolf left
|
|||
jnthn | moritz: I noticed 'cus one bit of the setting does a bunch of ~s (in class Str) and it calls infix:<~> for all of them. | 12:47 | |
12:47
rindolf joined
|
|||
moritz | jnthn: iirc I had some bootstrappy issues with some few operators | 12:47 | |
jnthn currently has epic reams of debugging output. | |||
[Coke] | jnthn: ok. I can have a shell of that done during my lunch break, and finalize it tonight. | ||
jnthn | [Coke]++! | ||
12:47
integral_ left,
denisboyun left
|
|||
[Coke] | jnthn: do we want the *whole* build output? just the test output? | 12:47 | |
jnthn | oh...it explodes when making a Pair 'cus I didn't implement named arg binding. It even tells me that :) | ||
[Coke] | (split into files?) | ||
jnthn | [Coke]: The test output sounds like the useful bit, though if the build fails that is also useful.... | 12:48 | |
moritz | jnthn: iirc multiple ~ in one expression are compiled to a listop call; so if one of them isn't known at compile time, nothing is constant folded | ||
[Coke] | "thanks jnthn from several days ago!" | ||
jnthn | moritz: Hm. But all these ones are. | ||
12:48
woosley1 joined
|
|||
jnthn | moritz: Maybe it's 'cus it's in the setting or maybe 'cus of the list assoc. | 12:48 | |
jnthn wants to focus on setting loading for now ;) | |||
moritz | oh, it's not marked as 'is pure' | 12:49 | |
so I'll try to mark it as that, and then look if the setting still compiles :-) | |||
jnthn | moritz++ | 12:50 | |
dalek | p/rak-jvm-support: b546d47 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6Opaque.java: Add missing get_storage_spec in P6opaque. |
||
p/rak-jvm-support: 34dd073 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Missing deconts in istype. |
|||
p/rak-jvm-support: b4d48e2 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Revise smart_stringify a bit. |
|||
p/rak-jvm-support: bb9f52a | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: inf/neginf/nan/isnanorinf ops. |
|||
moritz | stage optimize finished | 12:51 | |
that's a good sign | |||
fwiw ilbot6 on postgresql has been happily logging for a day now | 12:52 | ||
arnsholt | \o/ | 12:54 | |
[Coke] sees "Quieten" go by in the logs, and misreads it as "Quoten" | |||
arnsholt | moritz: Have you tracked memory usage? | ||
[Coke] assumes that a daily build of star should just use the versions of nqp/parrot in the repo. | 12:55 | ||
(... or maybe master, but I doubt it) | 12:56 | ||
moritz | arnsholt: it's at 695MB :/ | ||
arnsholt: don't know what it started with | |||
12:57
kst joined
|
|||
FROGGS | moritz: so you can still burn it on cd! \o/ | 12:57 | |
arnsholt | Yeah. I suspect a long-running Zavolaj process will leak memory steadily | ||
It's an unfortunate limitation of the conservative internals we have ATM | |||
moritz | arnsholt++ # making me look at htop found that I had an unnecessary memcached running on my workstation | ||
arnsholt | ^_^ | 12:58 | |
jnthn sees his face in a conf brochure and realizes he really had better figure out what to talk about there :) | |||
arnsholt | =D | ||
jnthn | oh, but it's in November. I've got a bit :) | ||
12:59
SamuraiJack_ left
13:00
kaleem left,
rindolf left
|
|||
arnsholt | Plenty of time! =) | 13:00 | |
lizmat | jnthn: who knows what will happen in the mean time! | ||
13:00
rindolf joined
|
|||
[Coke] decided he's not going to YAPC::NA this year, folks. I'll trying to be online during the hackathons, though. | 13:05 | ||
moritz | then at leastn I'm not the only one missing from the party :-) | 13:06 | |
[Coke] | *try to be | ||
13:08
_daniel-s__ joined
13:09
PacoAir joined
13:11
daxim left
13:12
daxim joined
|
|||
pmichaud is sad Coke++ won't be at yapc::na. | 13:13 | ||
good morning, #perl6 | |||
lizmat | morning pmichaud! | 13:14 | |
jnthn | o/ pmichaud | 13:15 | |
13:15
rindolf left
|
|||
FROGGS | hi pmichaud | 13:15 | |
13:15
rindolf joined
|
|||
FROGGS | [Coke]: ó.ò | 13:16 | |
[Coke] | If only I could somehow use perl in my Java-only work environment... | ||
then maybe I could justify the expense :) | |||
FROGGS | moritz: we still need to find a new date for our mini hackathon :o) | ||
pmichaud | [Coke]: you need to come to the conference to learn about Perl 6 on the JVM. :) | ||
jnthn | pmichaud: "might it be better to simply change the existing candidates to be :$delete where ?$delete" | ||
pmichaud: It would not because the multi-dispatcher can deal with the "required named arg is missing" path rather cheaply. | 13:17 | ||
lizmat | jnthn: this is about my pull request? | ||
pmichaud | jnthn: I'm talking about the case where the named are is present but false. | 13:18 | |
*named arg | |||
jnthn | pmichaud: Yes, but you removed the ! | ||
pmichaud: Was that deliberate? | |||
pmichaud | yes. | ||
I'm removing the candidate. | |||
[Coke] | hurm. "make modules-tests" in star doesn't actually error out when there are errors. | ||
pmichaud | I'm removing the !candidate | ||
I'm leaving the existing candidate but making it :$delete where ?$delete" | |||
so that it's only called if :delete exists and is true. | |||
otherwise, it should fall back to the case of ... oh, wait. | 13:19 | ||
jnthn | Yes but then you force a bind check and invocation of the where block. | ||
13:19
Targen joined
|
|||
pmichaud | aren't we doing that in the "where 0" case anyway? | 13:19 | |
lizmat | I was going for making the special case special | 13:20 | |
and the normal case easier, hence no where for the other case | |||
13:20
leprevost joined
|
|||
lizmat | was that a bad idea? | 13:20 | |
jnthn | If the multi-dispatcher sees :$delete! then it can quickly look and see if we've any matching named arg, and then just disregard the candidate. | ||
pmichaud | lizmat: to me, the special case is :delete :-) | ||
jnthn: I understand that part. | |||
jnthn | If you make it :$delete then it's an optional named so the fast-path won't work. | 13:21 | |
pmichaud | okay, I meant :$delete! where ?$delete then | ||
I was thinking of the wrong ! | |||
(I was thinking :$delete where !$delete) | |||
Yes, there should be a ! after :$delete | |||
pmichaud adds to ticket. | |||
jnthn | phew :) | ||
dalek | : c0120c2 | (Tobias Leich)++ | / (2 files): let chomped do what it is meant for |
13:22 | |
pmichaud | lizmat: I tend to think of :!delete or :delete(0) as being the default case (normally we aren't deleting), with :delete being the special case. | ||
thus :!delete or :delete(0) should do exactly the same thing as when :delete isn't present at all. | 13:23 | ||
lizmat | the thing is that I found out the hard way, you can't do a "where True" | ||
pmichaud | right, thus ?$delete | ||
lizmat | ah, good point | ||
ok, so lose the where 0 candidate, and make the other "$delete! where $delete | 13:24 | ||
pmichaud | well, not yet :) | ||
lizmat | that makes sense to me... | ||
13:24
kaleem joined
|
|||
lizmat | ah… :-( | 13:24 | |
pmichaud | there's a problem with my fallback approach in that if the other candidates don't have a named :$delete arg they'll never match (when we convert postcircumfix to be a sub instead of a method) | ||
unless we add *%_ to all of the candidates. | 13:25 | ||
(well, all of the fallback ones) | |||
jnthn: opinion on ^^^^ | |||
[Coke] | github.com/rakudo/star/issues/21 - there's some low hanging p5 fruit. | 13:27 | |
jnthn | We could add a *% without hosing the inline, I *think*. | ||
[Coke] | anyone wants to help get a star release out the door, there's your chance. :) | ||
13:27
rindolf left
13:28
rindolf joined
|
|||
pmichaud | [Coke]++ oooh, nice. | 13:28 | |
btw, I'm looking for my p6 tuit level to spike dramatically upward in a week. | 13:29 | ||
[Coke] | \o | ||
pmichaud | (it will be essentially zero after today, though) | ||
lizmat: okay, I'd say go with the fallback approach for now. | |||
as in, lose the where 0 candidate, and make the existing ones :$delete! where ?$delete | 13:30 | ||
lizmat | ok, will do that | ||
this also fixes my question of sharing code blocks between candidates, btw, at least in this case | 13:31 | ||
FROGGS | (in a week)++ | 13:32 | |
lizmat | pmichaud: hmmm… actually, that won't work :-( | 13:34 | |
pmichaud adds an "easy" label to star issue #21 | |||
lizmat: won't work because...? | |||
(what did I overlook? ;-) | |||
lizmat | for exists: then the fall back will not revert the meaning SELF.exists | 13:35 | |
so maybe just have one candidate, and handle the value inside the candidate | |||
would that make more sense then? | |||
dalek | kudo/jvm-support: 71263c6 | jnthn++ | src/core/Stash.pm: Thinko spotted while debugging. |
||
kudo/jvm-support: 63e5222 | jnthn++ | src/ (2 files): Set up boxing to Perl 6 types. |
|||
kudo/jvm-support: f7ac11d | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java: Implement named (non-slurpy) binding. |
|||
kudo/jvm-support: 89aec58 | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java: Implement nqp::p6listitems. |
|||
lizmat was under the impression that having more candidates would allow more work to be done at compile time | 13:36 | ||
13:36
mtk joined
|
|||
pmichaud | ah, yes... exists changes meaning here. for :exists I'm fine with either separate candidates or a single candidate that handles it | 13:36 | |
lizmat | and being able to select candidates for :delete, :exists and :!exists at dompile time | ||
*compile | |||
pmichaud | while they're methods we can't do much in the way of compile-time evaluation, but when they become subs we will be able to. | 13:37 | |
at the moment it might be a slighly premature optimization to try to figure out the best way to go there, though. | |||
13:37
dmol joined
|
|||
lizmat | ok, fair enough, I guess I assumed we were further along then we are in that respect | 13:38 | |
the exists candidate now becomes: SELF.exists($key) ?^ $exists | |||
!(SELF.exists($key) ?^ $exists) | 13:39 | ||
actually | |||
moritz | erm | ||
lizmat | ? | ||
moritz | shouldn't it more like $exists ? SELF.exists($key) : SELF.at_key($key) ? | ||
wait, I guess I should backlog first | |||
moritz goes into hiding again | |||
lizmat | no, $!exists is now specced to return true if it doesn't exist | 13:40 | |
:-) | |||
:!exists rather | |||
moritz | (too many bangs (for the buck) confuse everybody, right? :-) | ||
PerlJam just got here and is already confused :) | 13:41 | ||
good $localtime all | |||
13:41
rindolf left
|
|||
pmichaud | also, can %h{@keys}:kv($kv) be written as %h{@keys}:$kv ? (just curious) | 13:41 | |
13:41
rindolf joined
|
|||
pmichaud | std: my %h; say %h{@keys}:$kv | 13:41 | |
camelia | std b33d8e0: OUTPUT«===SORRY!===Variable @keys is not predeclared at /tmp/3RjxgEQE0W line 1:------> my %h; say %h{⏏@keys}:$kvVariable $kv is not predeclared at /tmp/3RjxgEQE0W line 1:------> my %h; say %h{@keys}:⏏$kvCheck fa… | ||
lizmat | r: my %h; say %h<a>:!exists # should become true | 13:42 | |
camelia | rakudo 2a04f2: OUTPUT«False» | ||
pmichaud | std: my %h; my @keys; my $kv; say %h{@keys}:$kv | ||
jnthn | std: my %h; my @keys; my $kv; say %h{@keys}:$kv | ||
camelia | std b33d8e0: OUTPUT«ok 00:00 44m» | ||
jnthn | r: my %h; my @keys; my $kv; say %h{@keys}:$kv | ||
camelia | rakudo 2a04f2: OUTPUT«» | ||
jnthn | yay, we parse it already too :) | ||
lizmat | pmichaud: another good point... | ||
jnthn | Darn, that adverb parsing was hard work to get right... | ||
:) | |||
pmichaud | I'm fine with :kv($kv)... I was just curious if :$kv would work there or not. Go with whatever is easiest to read. | ||
I suspect that trying to figure out adverb parsing cost me about four months in 2005. | 13:43 | ||
I finally made progress when I decided to not figure it out. | |||
lizmat | actual, those :kv fixes were collateral "damage" | 13:44 | |
in preparation on fixing :p / :k / :kv / :v | |||
once we have clarity on that | |||
pmichaud | yeah, I wonder if :p(0) should be the same as "not present" also. | 13:45 | |
so that it can just be the :$p! where $?p thingy | |||
lizmat | also, I do think there is a point with having :delete:p | ||
it would easy slicing out pairs from one hash to another | 13:46 | ||
or is there another idiom for that already? | |||
pmichaud | don't know of one... and that one seems "natural" | ||
jnthn | pmichaud: Ouch. It didn't take me that long, though I put it off for at least that long. ;) | ||
pmichaud: I had STD to steal from, at least. IN 2005 you didn't so...argh. | 13:47 | ||
pmichaud | right | ||
jnthn | The way it works is, um, special. | ||
13:47
sqirrel left
|
|||
pmichaud | I finally decided I couldn't block on it anymore if we were going to get anywhere. | 13:47 | |
13:48
dmol left
13:49
btyler joined
|
|||
moritz | std: my %h; %h<a b>:p:delete | 13:50 | |
camelia | std b33d8e0: OUTPUT«ok 00:00 43m» | ||
13:50
rindolf left
|
|||
pmichaud | okay, I have to get to my other tasks... bbl | 13:50 | |
13:50
rindolf joined
|
|||
lizmat | pmichaud++ | 13:50 | |
14:03
rindolf left,
rindolf joined
14:06
woosley1 left
|
|||
dalek | kudo/jvm-support: bf28293 | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java: Implement nqp::p6arrfindtypes. |
14:07 | |
kudo/jvm-support: b7c3801 | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java: Implement nqp::p6shiftpush. |
|||
14:08
xilo left
14:17
rindolf left,
rindolf joined
|
|||
FROGGS .oO( nqp::p6shush / nqp::p6pift ? ) | 14:17 | ||
lizmat represses a Dr. Seuss reference | 14:19 | ||
14:24
donaldh joined
|
|||
lizmat | fwiw, I had to code the :delete candidate as ":$delete! where so $delete" | 14:24 | |
14:24
dmol joined,
fhelmberger_ joined
|
|||
lizmat | without the "so", that candidate would also be selected with :delete(0) | 14:25 | |
tadzik | doesn't that make ! redundant? | ||
lizmat | the where? or the so? | ||
moritz | no | ||
tadzik | ah, no, ok | ||
lizmat | not sure whether that is a problem in the selection logic or the smartmatching | 14:26 | |
dalek | kudo/nom: a9f3c63 | moritz++ | src/core/Stringy.pm: constant-fold infix:<~> |
||
14:26
snarkyboojum_ joined
|
|||
kudo/nom: 0d3c9b0 | moritz++ | src/core/Stringy.pm: potentially constant-fold more stringy operators |
|||
14:27
FROGGS_ joined
|
|||
moritz | git grep 'proto sub' | grep -v 'is pure' # potential gold mine for 'is pure' annotations | 14:27 | |
moritz wonders if &defined can be made to constant-fold | 14:29 | ||
lizmat | I'm not sure you would have many real life situations where that would work | 14:30 | |
moritz neither | |||
14:31
sivoais_ joined
|
|||
arnsholt | It'd depend on how good the rest of the constant-folding is, I suppose | 14:31 | |
14:32
rindolf left
|
|||
lizmat | so, I have a test that blows up: want to mark it as todo, but even with that, it will make the script die and this fail that file | 14:32 | |
moritz | #?rakudo skip 'oh noes, it dies' | ||
arnsholt | But yeah, in most cases the programmer probably knows if it'll always be undef | ||
14:32
rindolf joined
|
|||
lizmat | moritz++ | 14:33 | |
moritz | I actually thought constant-folding &defined wouldn't easily work, because &defined is, well, defined so early | 14:34 | |
14:34
baest_ joined
|
|||
moritz | so it might not be easy to apply traits | 14:34 | |
14:34
Kelder joined,
[particle]1 joined
14:35
fhelmberger left,
FROGGS left,
snarkyboojum left
|
|||
arnsholt | Ah, right. That I have no idea about | 14:37 | |
FROGGS_ | std: use v5; $/ = \3; my %stuff = (1..4); say @stuff{1, 3} | ||
14:37
Tene_ joined,
Tene_ left,
Tene_ joined,
avarab joined,
avarab left,
avarab joined,
gfldex_ joined,
Maddingu1 joined,
mangala_ joined,
mj41 joined,
cxreg2 joined,
FROGGS_ is now known as FROGGS,
anocelot_ joined,
clkao_ joined,
sciurius_ joined,
dmol left,
masak_ joined
14:38
ehouse_ joined
|
|||
FROGGS | std: hello? | 14:38 | |
14:38
jercos_ joined
|
|||
lizmat | seems like a netsplit pb to me | 14:40 | |
14:40
GlitchMr joined,
sivoais_ left
|
|||
FROGGS | must be, yeah | 14:40 | |
14:40
sivoais joined
|
|||
lizmat | hmmm… so I've written some spectests, how do I push those (from my cloned repo?) | 14:43 | |
14:43
BooK joined
|
|||
FROGGS | git remote add ... ? | 14:43 | |
14:43
xilo joined,
woolfy joined
14:44
rindolf left,
PZt joined
14:45
rindolf joined
14:46
Maddingu1 is now known as Maddingue
14:47
baest_ is now known as baest
|
|||
lizmat | but git remote add upstream git://github.com/rakudo/rakudo.git would be the wrong repo, no? | 14:48 | |
14:49
rking1 joined
|
|||
lizmat | as t/spec doesn't live there | 14:49 | |
14:49
frdmn left,
sivoais left
|
|||
lizmat | perl6/roast.git I assume | 14:49 | |
14:49
sivoais joined
|
|||
PerlJam | lizmat: yes. | 14:49 | |
FROGGS | right | 14:50 | |
lizmat | so should I clone perl6/roast and submit a pull request? | 14:53 | |
jnthn | You should already have a commit bit for that, I think. | 14:54 | |
lizmat | it appears so | 14:55 | |
14:55
rindolf left
14:56
rindolf joined
14:57
sivoais left
|
|||
FROGGS | lizmat: you can work with pull requests but it might be handier if you just add perl6/roast as a remote and push directly to it | 14:58 | |
14:58
camelia joined
|
|||
FROGGS | camelia: \o/ | 14:58 | |
std: use v5; $/ = \3; my %stuff = (1..4); say @stuff{1, 3} | |||
lizmat | trying to do so, have some kind of permission issue | ||
14:59
ChanServ sets mode: +v camelia
|
|||
camelia | std b33d8e0: OUTPUT«ok 00:01 54m» | 14:59 | |
14:59
kaare__ joined
|
|||
arnsholt | lizmat: Maybe your remote is set up to talk to the GitHub HTTPS part? | 15:00 | |
15:00
sivoais joined
|
|||
arnsholt | If you started out with a RO checkout you may have to twiddle that | 15:00 | |
lizmat | twiddling :-) | ||
dalek | ast: 5c7b4be | (Elizabeth Mattijsen)++ | S09-hashes/objecthash.t: Tests for %h{Mu} support One test is dying badly still. No idea to fix that. Marked as "skip" |
15:01 | |
lizmat | success! | 15:02 | |
arnsholt++ | |||
FROGGS | lizmat++ # successfully twiddled :o) | ||
'oh noes, it dies' *g* | |||
dalek | : 02ca4a1 | (Tobias Leich)++ | lib/Perl5/Terms.pm: fixed slurp' paragraph mode, and added todo about slurp mode |
15:05 | |
: 7ba8e2c | (Tobias Leich)++ | / (3 files): make qw() return an array instead of a string |
|||
15:05
rindolf left
15:06
rindolf joined
|
|||
FROGGS | r: say (304 * 100 / 40185) ~'% v5 spectests pass' | 15:06 | |
camelia | rakudo 2a04f2: OUTPUT«0.756501% v5 spectests pass» | ||
tadzik | \o/ | ||
FROGGS | meh, should be the other way around | ||
(some day) | |||
ohh, and not to forget the bunch of test file which dont have a parseable plan :/ | 15:07 | ||
15:07
jercos_ is now known as jecos
15:08
jecos is now known as jercos
15:11
rindolf left,
kbenson joined,
sjn joined,
rindolf joined
15:15
kbenson1 joined,
alester_ joined
15:16
_jaldhar_ joined
15:17
anocelot joined,
preflex_ joined,
skids_ joined
15:18
leprevost left,
jercos_ joined,
japhb__ joined
15:19
itz_ joined
15:23
rindolf left,
kbenson left,
jercos left,
anocelot_ left,
japhb_ left,
preflex left,
dayangkun left,
jaldhar_ left,
hugme left,
sorear left,
skids left,
itz left,
alester left,
preflex_ is now known as preflex,
rindolf joined,
alester_ is now known as alester
15:24
kresike left
15:25
sorear joined
|
|||
FROGGS | r: say &infix:<==>(1, 2) | 15:26 | |
camelia | rakudo 0d3c9b: OUTPUT«False» | ||
FROGGS | r: say &infix:<==>(1, 1) | ||
camelia | rakudo 0d3c9b: OUTPUT«True» | ||
FROGGS | r: say &infix:{"=="}(1, 1) | ||
camelia | rakudo 0d3c9b: OUTPUT«===SORRY!===You can't adverb thatat /tmp/i_ErpzjVDp:1------> say &infix:{"=="}⏏(1, 1) expecting any of: postfix statement end statement modifier statement modifier loop horizontal w… | ||
FROGGS | hmmm | 15:27 | |
15:27
hugme joined,
ChanServ sets mode: +v hugme
|
|||
FROGGS | r: say ::("&infix:<==>")(1, 1) | 15:28 | |
camelia | rakudo 0d3c9b: OUTPUT«True» | ||
FROGGS | okay | ||
15:30
dayangkun joined
15:34
rindolf left
15:35
rindolf joined
15:37
denisboyun___ left
15:42
frdmn joined
|
|||
dalek | p/rak-jvm-support: b051ece | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (3 files): Cloning of container lexicals (state to come). |
15:43 | |
p/rak-jvm-support: f8886f7 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6Opaque.java: Make auto-viv'd attributes stick around. |
|||
15:45
ggoebel joined,
rindolf left
|
|||
dalek | kudo/nom: b41219e | moritz++ | src/core/Mu.pm: potentially constant-fold &defined |
15:47 | |
15:49
dmol joined,
domidumont left
15:51
jercos_ is now known as jercos
|
|||
cognominal | what is 'is pure'? It's not specced. Does it mean sub without side effects? | 15:54 | |
tadzik | yeah | ||
it's not a spec thing, it's Rakudo-specific, a hint to the optimizer | 15:55 | ||
(or so I think) | |||
cognominal | it would be nice to have it as a spec (perhaps as a fun keyword instead of sub). I like code as documentation. | 15:57 | |
dalek | : 914696f | (Tobias Leich)++ | t/test.pl: fixed cmp_ok |
15:59 | |
: 7f9a3b6 | (Tobias Leich)++ | t/test.pl: indentation |
|||
: d9849d7 | (Tobias Leich)++ | / (2 files): make shift() use @_ when no arg is supplied |
|||
FROGGS | r: say (357 * 100 / 40185) ~'% v5 spectests pass' | ||
camelia | rakudo 0d3c9b: OUTPUT«0.888391% v5 spectests pass» | ||
FROGGS | almost one percent *g* | 16:00 | |
dalek | kudo/jvm-support: 08f65ec | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files): Named slurpy binding. |
||
kudo/jvm-support: 3a27ac5 | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files): Implement nqp::p6bindattrinvres. |
|||
moritz | note that rakudo's notion of 'is pure' doesn't quite fit the normal one | ||
in rakudo's world, a function marked as 'is pure' is still allowed to die or warn | |||
FROGGS | one percent in two months, that is like 198 months to go? | ||
moritz | (otherwise most string and numeric operators wouldn't be constant-foldable, because they nearly all coerce, and coercion can warn) | 16:01 | |
16:02
frdmn left,
frdmn joined,
rindolf joined
16:03
FROGGS[mobile] joined
|
|||
[Coke] | lizmat: objecthash.t - pugs says: TODO passed: 26-28 | 16:05 | |
lizmat++ for thinking to pre-fudge for pugs | 16:06 | ||
16:07
FROGGS left,
thou joined
16:08
rindolf left,
rindolf joined
16:09
frdmn|afk joined
16:10
dmol left
|
|||
lizmat | [Coke] you're welcome :-) | 16:12 | |
16:13
frdmn left
|
|||
tadzik | FROGGS[mobile]: I think shift() should also look in @ARGV when it's not inside a sub | 16:13 | |
16:17
rindolf left,
rindolf joined
16:26
rindolf left
|
|||
lizmat | n: my %h= <a b c> Z 1..3; say %h | 16:26 | |
16:27
rindolf joined
|
|||
camelia | niecza v24-50-gba63d9a: OUTPUT«{"a" => 1, "b" => 2, "c" => 3}» | 16:27 | |
lizmat | pugs: my %h= <a b c> Z 1..3; say %h | ||
camelia | pugs: OUTPUT«*** Odd number of elements found where hash expected: VList [VStr "a",VStr "b",VStr "c"] at /tmp/WFU7R9RETK line 1, column 1-22» | ||
lizmat now understands crummy setup in hash test | |||
16:28
domidumont joined
16:34
kaleem left,
rindolf left
16:35
rindolf joined
16:37
FROGGS joined
|
|||
lizmat | n: my @a= <a b c>; say @a[1]:delete; say @a | 16:39 | |
camelia | niecza v24-50-gba63d9a: OUTPUT«Unhandled exception: Excess arguments to KERNEL Array.postcircumfix:<[ ]>, unused named delete at <unknown> line 0 (KERNEL Array.postcircumfix:<[ ]> @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 179 (postcircumfix:<[ ]> @ 5)  at /tmp/pF0PmBHJv2 … | ||
lizmat | r: my @a= <a b c>; say @a[1]:delete; say @a # rakudo is silent again, but doesn't delete | 16:40 | |
camelia | rakudo b41219: OUTPUT«ba b c» | ||
lizmat | S32/Containers:666 reads "his adverb may be applied to any subscripting operation. The operation returns the elements normally, but reads them out destructively." | 16:42 | |
I assume that is a case of NYI in rakudo? | |||
16:44
rindolf left
|
|||
colomon | lizmat: I'm not sure it's intended to work that way. | 16:45 | |
16:45
rindolf joined
|
|||
lizmat | "destructively" | 16:45 | |
I guess that doesn't make it clear whether the result would be "a,"c" or "a",Any,"c", right? | |||
colomon | lizmat: you're absolutely right. I had no idea. | ||
no one has implemented that one yet, unless Pugs did it. | 16:46 | ||
colomon looked at the spec after his first response. | 16:47 | ||
lizmat | S32/Containers:653 states that the element should be set to a "non-existent" state | ||
I assume the resulting list would then need to be: "a",Mu,"c" | |||
colomon | lizmat: sounds right to me. unless maybe it's Any instead of Mu | 16:49 | |
lizmat | rn: my @a; @a[1]=1; .say for @a | 16:50 | |
camelia | rakudo b41219, niecza v24-50-gba63d9a: OUTPUT«(Any)1» | ||
16:50
fhelmberger_ left
16:54
grondilu joined
|
|||
TimToady | :delete should always remove the key from a hash; the other semantics are available with something like @a<b> := Any | 16:55 | |
lizmat | so setting deleted array elements to Any should be enough? | ||
TimToady | enough for what? | 16:56 | |
lizmat | to "read them out destructively" | ||
TimToady | no, I just said the opposite of that... | ||
lizmat | binding them to Any | 16:57 | |
colomon | TimToady: she | ||
' | |||
TimToady: she's talking about array, not hash | |||
TimToady | "remove the key" is not the same as binding Any | ||
ah, | |||
well, yes, you can't remove the key of an array :) | |||
colomon | unless it's the tail of the array. | ||
16:57
rindolf left
|
|||
TimToady | sorry, misread | 16:57 | |
lizmat | yes, and that's specced | ||
16:58
rindolf joined
|
|||
TimToady | but if the array type supports sparsity, then :exists should go to false | 16:58 | |
lizmat | r: my @a= <a b c>; say @a[1]:delete; say @a # expected a Any c | ||
camelia | rakudo b41219: OUTPUT«ba b c» | ||
TimToady | whether that's handled by poking a NULL into the pointer is an implementation detail (that's what P5 does) | ||
I'd expect a Any C there | 16:59 | ||
lizmat | ok, then I will have a go at writing that as well, as I'm writing the spec tests for it now anyway | 17:00 | |
TimToady | (where Any is the default default, of course, when we get to the point where we can set other defaults) | ||
lizmat | r: my @a; @a[1]=1; .say for @a # sort of expected Mu 1 | 17:01 | |
camelia | rakudo b41219: OUTPUT«(Any)1» | ||
colomon | TimToady: BTW, I still haven't been able to figure out how to make Nil and Empty do the right thing in Niecza, but at least you should be able to use Empty in the actions now if you'd like | ||
TimToady | colomon++ | 17:02 | |
if we said that :exists returns false when the entry is the default value, then := self.default could work for "I'm not here", I guess | 17:06 | ||
since it's the default, the implementation could feel free to deallocate any memory used in that case | |||
lizmat | r: say Array.default # seems we need to implement "default" for that then | 17:07 | |
camelia | rakudo b41219: OUTPUT«No such method 'default' for invocant of type 'Array' in block at /tmp/W5tBD8W36n:1» | ||
TimToady | I wouldn't carry those semantics over to hashes, though, unless they're KeyHashes, since hashes can distinguish a key pointing to Any from a missing key | ||
17:08
dakkar left
|
|||
TimToady | KeyHashes are supposed to be defined in terms of defaults in any case | 17:08 | |
lizmat | well, it would be the value return when trying to access a key that;s not in the hash | ||
returned | |||
TimToady | so, for instance, a Set defaults to False | 17:09 | |
so the Set only needs to track the values that are true | |||
and a mutable KeySet lets you delete things by say $keyset<foo> = False | |||
*saying | 17:10 | ||
likewise $keybag<marbles> = 0 would throw all the marbles out of the bag and delete the marbles key | |||
lizmat | r: say Set.default # expecting False then | 17:11 | |
camelia | rakudo b41219: OUTPUT«No such method 'default' for invocant of type 'Set' in block at /tmp/MSaUOPYCph:1» | ||
dalek | rl6-bench: 7fb98e8 | (Geoffrey Broadwell)++ | TODO: Add a few more Rakudo performance-affecting commit TODOs |
||
rl6-bench: 71e806d | (Geoffrey Broadwell)++ | analyze: More scaled time work in analyze: compare work rates across all compilers and scales for each test |
|||
rl6-bench: da8fda3 | (Geoffrey Broadwell)++ | microbenchmarks.pl: Convert most existing microbenchmarks to be auto-scaled, with a first guess at an appropriate starting scale for each |
|||
lizmat | r: say Bag.default # expecting 0 then | ||
TimToady | lizmat: correct | ||
camelia | rakudo b41219: OUTPUT«No such method 'default' for invocant of type 'Bag' in block at /tmp/y432ebdvaR:1» | ||
TimToady | defaults are completely NYI though | 17:12 | |
and probably not sufficiently specced... | |||
well, the behavior of defaults is specced for KeyHashes, but we haven't set up a trait to set the default | 17:13 | ||
having a default other than Any might be a mixin/composition | 17:14 | ||
17:14
atrodo joined
|
|||
lizmat | indeed: for now in the tests for :delete on arrays, I will assume Any | 17:14 | |
TimToady | if everything has a default default of Any, that might just be inherited from one of Mu/Any/Cool | ||
colomon | are Set.default and Bag.default always False and 0, respectively? | ||
TimToady | yes | ||
17:15
betterworld left
|
|||
TimToady | so those could just have a hardwired default method | 17:15 | |
most standard types would not need to store an actual Any/False/0 in the object | 17:16 | ||
colomon | lizmat: you want to add the tests to roast? ;) | ||
lizmat | yes, working on that now | ||
colomon | niecza> say Set.default; say Bag.default; | 17:17 | |
False | |||
0 | |||
TimToady | I suppose we'll need a trait that can set it on a declaration though | ||
lizmat | colomon: you mean for Set.default and Bag.default ? | ||
colomon | lizmat: yes | ||
TimToady | my @array is default(42) or some such | ||
dalek | kudo/jvm-support: 4e29b8b | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files): Implement positional slurpy params. |
||
kudo/jvm-support: a4ef060 | jnthn++ | src/core/Mu.pm: Fix BUILDALL to work on JVM. |
|||
kudo/jvm-support: e4b2d65 | jnthn++ | src/core/IO.pm: A tiny bit of IO portability stuff. |
|||
kudo/jvm-support: f889024 | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java: Implement nqp::p6definite. |
|||
lizmat | Well, maybe later… I'm working on getting :delete on Array tested | 17:18 | |
dalek | ecza: 009f999 | (Solomon Foster)++ | lib/CORE.setting: Add default method for Set, KeySet, Bag, and KeyBag. |
||
lizmat | what to do with a faulty test? | 17:19 | |
eval_dies_ok '$a :delete', "Can't :delete a scalar"; | |||
is successful, but for the wrong reason "You can't adverb that" | |||
colomon | lizmat: don't worry about it, I'm adding them now myself. | ||
lizmat: (I mean the Set tests) | 17:20 | ||
lizmat | eval_dies_ok '$a :foo', "Can't :delete a scalar"; would also succeed | ||
colomon: ok | |||
TimToady | .oO(What do you do with a drunken test earlie in the morning?) |
17:21 | |
colomon finds p6 work intoxicating, because it's frequently so easy to make noticeable progress. Or maybe that's the whisky talking. | |||
lizmat | I'll remove the test in a separate commit | ||
17:21
_ilbot joined
|
|||
colomon | TimToady: don't get me started on shanties... | 17:21 | |
[Coke] | sergot: are you actively running something on feather or is that a background job? | 17:22 | |
dalek | ast: 95ecaba | (Solomon Foster)++ | S02-types/ (4 files): Add tests for Set, Bag, etc. default method. |
17:24 | |
[Coke] | ... and it's gone. | ||
dalek | ast: 6d719f1 | (Elizabeth Mattijsen)++ | S32-hash/delete_adverb.t: More or less complete tests for :delete adverb on hashes Lot's of cases not tested before. |
17:26 | |
ast: 99587bb | (Elizabeth Mattijsen)++ | S32-hash/delete_adverb.t: Removed bogus Scalar :delete test This wasn't testing :delete at all, just the failure of adverbing a scalar |
|||
17:29
Chillance joined
|
|||
lizmat | pugs: my %h=a=>1; say %h{*}:delete | 17:30 | |
camelia | pugs: OUTPUT«pugs: Named argument found where no matched parameter expected: (delete,Val (VBool True))» | ||
lizmat | pugs: my %h=a=>1; say %h<a>:delete | 17:31 | |
camelia | pugs: OUTPUT«pugs: Named argument found where no matched parameter expected: (delete,Val (VBool True))» | ||
17:31
daxim left
|
|||
dalek | ast: 82b2f2d | (Elizabeth Mattijsen)++ | S32-hash/delete_adverb.t: Some pugs fudging, as pugs apparently doesn't know adverbs |
17:33 | |
lizmat | afk for 2 hours or so | ||
colomon | r: my $a = set<a b c>; say $a.default | 17:34 | |
camelia | rakudo b41219: OUTPUT«No such method 'default' for invocant of type 'Parcel' in block at /tmp/FPAXhg2R3W:1» | ||
colomon | er? | ||
n: my $a = set<a b c>; say $a.default | |||
camelia | niecza v24-50-gba63d9a: OUTPUT«Unhandled exception: Unable to resolve method default in type Parcel at /tmp/4Oi6XOiUCb line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 4327 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4328 (module-CORE @ 582)  at /… | ||
colomon | rn: my $a = set<a b c>; say $a.WHAT | ||
camelia | rakudo b41219, niecza v24-50-gba63d9a: OUTPUT«(Parcel)» | ||
colomon is apparently very dense this morning. | 17:35 | ||
dalek | kudo/nom: 1708566 | (Solomon Foster)++ | src/core/ (2 files): Add default method for Set, KeySet, Bag, and KeyBag. |
17:42 | |
masak_ | oh hai, oh hai, dear #perl6 | ||
17:42
masak_ is now known as masak
|
|||
TimToady | std: my $a = set<a b c>; say $a.WHAT | 17:46 | |
camelia | std b33d8e0: OUTPUT«ok 00:00 43m» | ||
TimToady | I guess that isn't one that carps about having no args | ||
since set() is just ∅ | 17:47 | ||
17:48
_jaldhar_ left
|
|||
TimToady | but set<a b c> is going to be a common mistake | 17:48 | |
colomon | rn: my $a = set(<a b c>); say $a.WHAT | ||
camelia | rakudo b41219, niecza v24-50-gba63d9a: OUTPUT«(Set)» | ||
colomon | rn: my $a = set <a b c>; say $a.WHAT | ||
camelia | rakudo b41219, niecza v24-50-gba63d9a: OUTPUT«(Set)» | ||
colomon | yeesh | ||
colomon is always delighted to have TimToady explain how colomon is being dense. :) | 17:49 | ||
masak | labster++ # blog.brentlaabs.com/2013/05/porting...erl-6.html | ||
TimToady | maybe I could add 'set' and 'bag' to the category of functions that require an argument, since set() defeats that warning | ||
masak | "Now that I've written this, I've realized that my own project is a microcosm of the Perl 6 saga. Making a better codebase takes a lot of time, but it ultimately seems worth the effort." -- labster++ | 17:50 | |
TimToady | std: say<a b c> | ||
camelia | std b33d8e0: OUTPUT«===SORRY!===Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/e8wl57bRHS line 1:------> say⏏<a b c>Check failedFAILED 00:00 41m» | ||
TimToady | like that | ||
masak | TimToady: +1 | ||
PerlJam | TimToady: +1 | ||
17:50
moritz joined
|
|||
TimToady | we had many of those errors in early pugs code too | 17:51 | |
17:51
dmol joined
|
|||
PerlJam | I just know that it took me a little bit to figure out what colomon was doing wrong. Anything that minimizes the "Huh?" factor is a good thing. :) | 17:54 | |
colomon | rn: say [(|)] set <a b c>, set <a b d>, set <a d g> | 17:57 | |
camelia | niecza v24-50-gba63d9a: OUTPUT«Unhandled exception: No value for parameter '$b' in 'infix:<(|)>' at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<(|)> @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 2658 (reduceop @ 12)  at /tmp/Grdwz9eGgL line 1 (mainline @ 6)  at /hom… | ||
..rakudo b41219: OUTPUT«Too many positional parameters passed; got 5 but expected 2 in sub infix:<(|)> at src/gen/CORE.setting:13075 in sub at src/gen/CORE.setting:13910 in block at /tmp/8vS6PdbMHl:1» | |||
masak | lizmat: re irclog.perlgeek.de/perl6/2013-05-14#i_7064076 -- I unspec'd multiple signatures per routine body a year and a half ago. rationale here: github.com/perl6/specs/commit/9950...a69fc9e4a5 | ||
17:57
SamuraiJack_ joined
|
|||
PerlJam | r: sub foo(::T where *.does(R)) { ... } | 17:58 | |
camelia | rakudo b41219: OUTPUT«===SORRY!===Cannot do non-typename cases of type_constraint yetat /tmp/djU_uHnr55:1------> sub foo(::T where *.does(R)⏏) { ... } expecting any of: argument list postfix» | ||
masak | lizmat: in real Perl 6 code I would delegate all the different candidates to a common helper sub, and hide the helper sub as appropriate. | 17:59 | |
PerlJam | std: sub foo(::T where *.does(R)) { ... } | ||
camelia | std b33d8e0: OUTPUT«===SORRY!===Undeclared name: 'R' used at line 1Check failedFAILED 00:00 45m» | ||
TimToady | colomon: note that set is a listop, so each set is counting the following sets as sub-arguments | ||
PerlJam | std: role R {}; sub foo(::T where *.does(R)) { ... } | ||
camelia | std b33d8e0: OUTPUT«ok 00:00 45m» | ||
colomon | TimToady: wondered about that. but it should work either way... | ||
TimToady | not if we make sets of sets work right | 18:00 | |
PerlJam: why not just 'where R' ? | |||
PerlJam | Just didn't think of it that way. | ||
colomon | TimToady: that's not allowed by the current spec, is it? | ||
TimToady | I believe current spec doesn't allow sets to flatten in list context | 18:01 | |
and the constructor should not be flattening sets either | |||
colomon | TimToady: I take it back, current spec does not address this at all, at least not in S32 | ||
18:01
SamuraiJack_ left,
Tene_ is now known as Tene
18:02
SamuraiJack joined
|
|||
colomon | TimToady: it's nothing to do with flattening. set function absorbs the keys or values of collections, including Sets | 18:02 | |
TimToady | see line S32/Containers:1112 | ||
18:03
dmol left
|
|||
TimToady | but it's also the case that the constructors should be treating the incoming elements as items | 18:03 | |
colomon | TimToady: I assume you mean "Sets and Bags do not flatten into list context." ? | 18:04 | |
TimToady | in general, items should stay items | ||
they show up as $@keys, not @keys, basically | |||
colomon | that's very much not how it is implemented | ||
masak .oO( what happens in Vega$ stays in Vega$ ) | |||
colomon | rn: say set(<a b c>, <d e f>) | 18:05 | |
camelia | rakudo b41219, niecza v24-51-g009f999: OUTPUT«set(a, b, c, d, e, f)» | ||
TimToady | yes, I know, since I was one of the people who originally thought the dwimming was cute, until it wasn't | ||
masak | colomon: but those are parcels, not sets and bags. | ||
TimToady | yes, parcels can flatten in list context by default | ||
colomon | rn: my $a = set <a b c>; my $b = set <d e f>; say set($a, $b) | ||
camelia | rakudo b41219, niecza v24-51-g009f999: OUTPUT«set(a, b, c, d, e, f)» | 18:06 | |
masak | colomon: known, RT'd, deplored. | ||
TimToady | likewise, if you really want to incorporate one set in another, the you can use (|) or set <a b c>, $otherset.keys | ||
colomon | rn: my @a = <a b c>; my @b = <d e f>; say set(@a, @b) | ||
camelia | rakudo b41219, niecza v24-51-g009f999: OUTPUT«set(a, b, c, d, e, f)» | ||
TimToady | or ∪ if we ever arrive in the 21st century... | 18:07 | |
18:07
sftp joined
|
|||
masak .oO( ∪∩icode ) | 18:08 | ||
colomon feels like he's going insane. | 18:09 | ||
masak hugs colomon | 18:11 | ||
18:11
frdmn|afk is now known as frdmn
|
|||
colomon | if someone cares to explain what the rules for set / bag construction are actually meant to be (preferably in spec), I'll try to get around to fixing roast and both compilers.... | 18:12 | |
TimToady | we've been talking about how to write sets of sets for some months now, but I will see if I can enhance the specs in that regard | ||
colomon | and the production code I've written which relies on the current behavior... | 18:13 | |
rjbs | the spec will metasetize | ||
18:13
leprevost joined
18:14
kaare_ joined
|
|||
masak | colomon: let me try and summarize the situation. @ or % sigil? flatten. $ sigil? don't flatten. <> or () lists? flatten. [] array? don't flatten. a set or a bag, constructed in-place with 'set' or 'bag'? don't flatten. | 18:15 | |
TimToady: hope I got that right. | |||
colomon | masak: I have no idea how to write code to support that | ||
masak | colomon: well, if it turns out to be *impossible* to implement, we must do something about that. | 18:16 | |
18:16
kaare__ left
|
|||
masak | colomon: but so far it has seemed quite sane to me. | 18:16 | |
18:16
sjohnson joined
|
|||
masak | colomon: basically, some things act as flattenable lists, and others act as items. sets and bags act as items. | 18:16 | |
colomon | masak: how do you write a slurpy sub which can distinguish whether its arguments were $ or @/%? | 18:17 | |
masak | hm. | 18:18 | |
rn: say $_ ~~ Positional for Set, Bag; say $_ ~~ Associative for Set, Bag | 18:20 | ||
camelia | rakudo 170856, niecza v24-51-g009f999: OUTPUT«FalseFalseTrueTrue» | ||
masak | colomon: I'm not at the point where I'm saying "oh gosh, you're right, this is impossible" yet -- but I do see the problem. lemme think some more. | 18:23 | |
rn: sub foo(*@x) { say @x.elems }; my @y = 1, 2, 3; foo(@y); foo @y | 18:25 | ||
camelia | rakudo 170856, niecza v24-51-g009f999: OUTPUT«33» | ||
jnthn | That's the **@foo vs *@foo distiction in part, no? | ||
colomon | masak: also, those rules seem to ignore (possibly intentionally) the current rules for handling associative / pairs (use keys only) | 18:26 | |
jnthn: I thought **@foo was how you sent a variable number of lists? | 18:27 | ||
jnthn | colomon: It means "don't flatten any of the incoming things" | ||
nqp: say(nqp::replace('abc', 'x', 0, 0)) | 18:28 | ||
camelia | nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::replace('abc', 'x', 0, 0)"): Error while compiling op replace (source text: "nqp::replace('abc', 'x', 0, 0)"): No registered operation handler for 'replace'current instr.: '' pc 48591 (src/stage… | ||
jnthn | oh.. | ||
nqp: say(pir::replace__Sssii('abc', 'x', 0, 0)) | |||
camelia | nqp: OUTPUT«error:imcc:The opcode 'replace_s_sc_sc_ic_ic' (replace<5>) was not found. Check the type and number of the arguments in file '(file unknown)' line 39» | ||
jnthn | nqp: say(pir::replace__Sssii('abc', 0, 0, 'x')) | 18:29 | |
camelia | nqp: OUTPUT«error:imcc:The opcode 'replace_s_sc_s_ic_i' (replace<5>) was not found. Check the type and number of the arguments in file '(file unknown)' line 161304349» | ||
jnthn | nqp: say(pir::replace__Ssiis('abc', 0, 0, 'x')) # sigh | ||
camelia | nqp: OUTPUT«xabc» | ||
jnthn | nqp: say(pir::replace__Ssiis('abc', 0, 1, 'x')) # sigh | ||
camelia | nqp: OUTPUT«xbc» | ||
jnthn | nqp: say(pir::replace__Ssiis('abc', 1, 1, 'x')) # sigh | ||
camelia | nqp: OUTPUT«axc» | ||
jnthn | ah... | ||
dalek | ecs: 221b79f | larry++ | S32-setting-library/Containers.pod: sets and bags are object based, use === semantics |
18:31 | |
18:35
nyuszika7h joined
|
|||
dalek | ecs: 0380487 | larry++ | S32-setting-library/Containers.pod: more set/bag list clarifications We're not trying to override explicit @ or .keys here, merely the implicit policy for a default of item in list context. Also, set/bag constructors are simply slurpies, and shouldn't care at all what was passed as the objects in those slurpies. Generally one should be using "union" to combine sets or bags anyway, not relying on implicit constructor semantics to do that. |
18:39 | |
18:39
denisboyun joined
18:41
gtodd left
|
|||
colomon | TimToady: can you add explicit .Set .Bag etc conversion functions to the spec as well? This change makes them much more important.... | 18:43 | |
dalek | ecs: 1e7aec4 | larry++ | S32-setting-library/Containers.pod: say how to turn pairs/hashes into sets/bags |
18:46 | |
TimToady | uh, just did | 18:47 | |
well, mentioned them, anyway... | |||
as the new way to deal with pairs or hashes that want to become sets/bags | |||
18:48
betterworld joined
|
|||
colomon | TimToady: I was thinking Set.Bag and combinations like that, but it's good to have them on Hash, too. | 18:49 | |
though perhaps a bit vague. | |||
TimToady | I usually just assume there are appropriate coercers where they make sense :) | 18:50 | |
18:50
frdmn left
|
|||
TimToady | but in this case it seems good to distinguish coercion from composition | 18:51 | |
18:51
frdmn joined
|
|||
TimToady | "this already looks kinda like a bag, so make it moreso" | 18:51 | |
colomon | it's important because the established way of doing it was via constructor, and you just eliminated that. :) | 18:52 | |
TimToady | which is what we both realized simultaneously :) | ||
colomon | the relevant spectests are now badly broken. I should probably do some paying $work now, but will take a look at cleaning it up soon. | 18:54 | |
TimToady | though in the case of Set => Bag, a constructor works just as well as long as you say @set rather than $set | ||
thanks! | |||
colomon | also at fixing set operators so they work right in reduce metaop | 18:55 | |
because that just got more important as well. | |||
(indeed, ABC will have issues if I don't fix that the same time I change the constructors.) | |||
TimToady | I realized several months ago when we had an RC task that wanted sets of sets that we were about to laughed out of the stadium by mathematicians if we didn't fix this... | 18:56 | |
TimToady wonders what kind of stadum mathematicians come in... | 18:57 | ||
*dium | |||
colomon | bah, didn't we learn our lesson 100+ years ago? Sets of sets are dangerous things. | ||
very large football stadiums, in my case. ;) | |||
TimToady | but...we want P6 to be dangerous... | ||
masak | it's not sets of sets that are dangerous. ZFC is full of them (and *nothing else*). | 18:58 | |
PerlJam now pictures that TimToady quote showing up on twitter out of context. | |||
masak | it's non-wellfoundedness we should look out for. | ||
TimToady | it's sets defined in terms of themselves that are the problem | ||
18:58
berekuk joined
|
|||
TimToady | We want Perl 6 to be the safest dangerous language, and the most dangerous safe language. | 18:59 | |
colomon hopes masak and TimToady don't spend the rest of the day trying to figure out how to implement a set that contains itself.... | |||
TimToady | r: my @a = <a b c>; @a[3] := @a; say @a | 19:00 | |
camelia | rakudo 170856: OUTPUT«(timeout)» | ||
FROGGS | hehe | ||
masak | r: my $s = set; multi sub infix:<(elem)>(Set $r, Set $l) { $r === $s && $l === $s ?? True !! nextsame }; say $s (elem) $s | 19:02 | |
camelia | rakudo 170856: OUTPUT«True» | ||
masak | \o/ | ||
masak admires the horribleness of that | 19:03 | ||
in fact, | |||
r: my $s = set; multi sub infix:<(elem)>(Set $r, Set $l) { $r === $s && $l === $s || nextsame }; say $s (elem) $s | |||
colomon | somebody else can be responsible for coming up with set of sets tests for roast.... | ||
camelia | rakudo 170856: OUTPUT«True» | ||
colomon | shouldn't we be working on number theory today, considering all the interesting announcements? | 19:06 | |
moritz | like the prove for the weak Goldback hypothesis? | 19:07 | |
sorear | wait, what? | ||
colomon | sorear: odd nums > 5 are the sum of 3 primes, that one | 19:08 | |
it's not confirmed yet, but there's supposed to be a 130 page proof. | 19:09 | ||
also, there are an infinite number of pairs of primes within 70,000,000 of each other. | 19:10 | ||
moritz | plus.google.com/u/0/11413483434647...qpSYNZFbzC | ||
colomon | two separate proofs | ||
moritz | arxiv.org/abs/1305.2897 is the paper for the Goldbach one | ||
masak | it's a good day to be prime. | ||
colomon | plus.google.com/u/0/11413483434647...ESxA9bL5um talks about the other result | 19:11 | |
dalek | d: e2a36d8 | larry++ | STD.pm6: disallow set<a b c> A (beneficial?) side effect is that you may no longer say 'set' to mean ∅. You must say 'set()' instead. Which is perhaps clearer... |
||
moritz | quick, let's do some RSA with expmod :-) | 19:12 | |
PerlJam | wikipedia says odd nums > 7 for the goldbach conjecture: en.wikipedia.org/wiki/Goldbach's_weak_conjecture | ||
(and, as we all know, wikipedia is infallible ;) | |||
colomon | PerlJam: 2 + 2 + 3 = 7 | ||
PerlJam | 2 is not an odd number last time I checked :) | 19:14 | |
moritz | 2 is the oddest prime :-) | ||
masak | PerlJam: that's not relevant. | ||
TimToady | 2 is the only prime that is not the sum of 3 primes if we allow 1 to be a prime :) | ||
masak | it's the sum that should be odd. | ||
TimToady | well, and 1 | ||
dalek | rl6-bench: 53be1bb | (Geoffrey Broadwell)++ | analyze: Calculate peak rates per perl in analyze compare_scaled_times() |
19:15 | |
rl6-bench: b3a904a | (Geoffrey Broadwell)++ | analyze: More analyze changes for scaled times: fix enabled_perls() and start fixing summarize_results_text() |
|||
PerlJam | masak: and we're back to what wikipedia says ... "Every odd number greater than 7 can be expressed as the sum of three odd primes." | ||
colomon | TimToady: I did find it interesting that weak Goldbach seems like it is more naturally stated if 1 is prime. :) | ||
PerlJam: wikipedia is weird | 19:16 | ||
PerlJam | I don't know that that's Goldbach's weak conjecture or not, but it's certainly different than "every odd number greater than five is the sum of three primes" | ||
masak | PerlJam: well, if you require the primes to be odd, then you'd lose 7, yes. | ||
PerlJam | right. | ||
moritz | PerlJam: I guess there are several competing phrasings of that conjecture, all of which boil down to the same interesting question | ||
masak | besides that, it's not clear to me that the claims are equivalent. | ||
moritz | because it's easy to prove it for any arbitrary limit you set yourself | 19:17 | |
colomon | PerlJam: check out the summary to arxiv.org/abs/1305.2897 | ||
sorear | looks like this isn't the first purported proof of the WGC that's too long to quickly verify | 19:20 | |
and it probably won't be the last. sorry. | |||
PerlJam | sorear: all the hard problems are. | ||
moritz | though the good sign is that the same author previously published an accepted proof for a weaker formulation | 19:21 | |
19:21
dmol joined
|
|||
moritz | time will tell. | 19:21 | |
19:22
nyuszika7h left
19:23
autark joined
|
|||
PerlJam | Remember the hubub around the proof of Fermat's Last Theorem? Took a couple of years to work out if the proof was a proof. | 19:24 | |
masak | my latest "wow" moment related to mathematics was learning (on Wikipedia) that the fundamental theorem of finitely generated abelian groups is directly related to the Chinese remainder theorem. | ||
I have a special sweet spot for the latter, because of a program involving numbers modulo 3, 5, and 7 found in this book: www.amazon.com/BASIC-Computer-Games...894800523/ | 19:26 | ||
19:27
dmol left
19:28
cooper joined
19:30
nyuszika7h joined
|
|||
masak | I should totally blog about that one at some point. | 19:30 | |
19:33
gfldex_ is now known as gfldex
|
|||
PerlJam | I have a book by the same author called "The Texas Instruments Home Computer Idea Book" I gather he was prolific in BASIC books :) | 19:35 | |
masak | those BASIC games meant a lot to my early growth as a programmer. not because they were of excellent design, but because they were fun, and interesting to try to reverse-engineer. | 19:41 | |
and it's kind of rewarding when you reverse-engineer a number guessing game and find the Chinese remainder theorem. :P | |||
19:42
telex joined,
_ilbot left,
moritz left
19:43
_ilbot joined
|
|||
FROGGS | std: use v5; require v5.0.0 | 19:43 | |
camelia | std e2a36d8: OUTPUT«===SORRY!===Number contains two decimal points (missing 'v' for version number?) at /tmp/XMkktheIyn line 1:------> use v5; require v5.0.⏏0Parse failedFAILED 00:01 52m» | ||
masak | er. | 19:44 | |
confused STD is confused. | |||
FROGGS | ya, but we can help it out there :o) | 19:45 | |
19:45
moritz joined
|
|||
dalek | p/rak-jvm-support: 41e4fb0 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Fix nqp::div_In. |
19:47 | |
p/rak-jvm-support: fc571c1 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Implement nqp::replace op. |
|||
19:50
autark` joined,
autark left
|
|||
dalek | d: 4dc2553 | (Tobias Leich)++ | STD_P5.pm6: allow: require VERSION Found in Perl5's testsuite in t/comp/require.t. |
19:50 | |
rl6-roast-data: 14f41d4 | coke++ | / (4 files): today (automated commit) |
19:54 | ||
19:55
FROGGS[mobile] left
|
|||
[Coke] | niecza has been dirty for 301 days. pugs has been clean for 1 day. rakudo has been dirty for 10 days. # yay, pugs is clean again. | 19:56 | |
FROGGS | ó.ò | ||
I wish I could reproduce that rakudobug | |||
[Coke] | Happy to test proposed fixes for rakudo on feather, since that's the only place it seems to be exploding on that test. | ||
FROGGS: do you have an account on feather? | |||
FROGGS | ohh, I had once | ||
hmmm | 19:57 | ||
TimToady | std: set<a b c>; | ||
camelia | std e2a36d8: OUTPUT«===SORRY!===The 'set' listop may not be called without arguments (please use () or whitespace to clarify) at /tmp/PADZ4qSrTX line 1:------> set⏏<a b c>;Potential difficulties: Use of non-subscript <...> where postfix is expec… | ||
19:58
frdmn_ joined,
frdmn left
|
|||
TimToady | std: set; | 19:58 | |
camelia | std e2a36d8: OUTPUT«===SORRY!===The 'set' listop may not be called without arguments (please use () or whitespace to clarify) at /tmp/t3YsN5H42z line 1:------> set⏏;Check failedFAILED 00:00 41m» | ||
TimToady | std: set(); | ||
camelia | std e2a36d8: OUTPUT«ok 00:00 41m» | ||
19:59
frdmn_ is now known as frdmn
|
|||
masak | TimToady++ | 19:59 | |
19:59
rindolf left
|
|||
masak | rn: set<a b c>; | 20:00 | |
camelia | rakudo 170856, niecza v24-51-g009f999: ( no output ) | ||
masak submits rakudobug | |||
rn: set; | |||
camelia | rakudo 170856, niecza v24-51-g009f999: ( no output ) | ||
FROGGS | [Coke]: I've got a mail in my outbox about requesting an account on feather, but I cant remember if I already got one :/ | 20:01 | |
moritz: can you check that somehow? | |||
20:02
gdey joined
|
|||
[Coke] | ~froggs exists. | 20:04 | |
let me see if I can reset your password. | 20:05 | ||
FROGGS | cool | ||
[Coke] tries to figure out how to go to window 27 with an escape key in irssi. | 20:08 | ||
moritz | FROGGS, [Coke]: did the password reset work? | ||
Tene | "escape key"? | ||
FROGGS | moritz: it did | 20:09 | |
Tene | [Coke]: /bind | ||
[Coke] | tene: ESC-7:/win 7::ESC-U:/win 17::ESC-??:/win 27 | 20:10 | |
20:10
SamuraiJack left
|
|||
Tene | [Coke]: yeah, just set it with /bind. You can run /bind with no arguments to get a list of current bindings for examples. | 20:10 | |
I have up to 33 bound, going down the keyboard through m | 20:11 | ||
Util | For the GSoC task "JavaScript backend for NQP (and Rakudo Perl 6)", benabik is listed as a possible mentor, but he is also listed on other tasks. | ||
Any Rakudo people up for being mentor (or co-mentor or backup mentor) for that task? | 20:12 | ||
[Coke] | pmichaud had volunteered. I'm willing to if no one else does. | ||
Tene | [Coke]: Just make sure to /save when you've got it how you want. | 20:13 | |
20:15
DreamingInCode1 joined
|
|||
Util | [Coke]: yes, he did, and I did not see my note about it before asking. Thanks! | 20:15 | |
20:17
ajr joined
20:18
ajr is now known as Guest59475
20:19
Guest59475 is now known as ajr_
|
|||
ajr_ | I was just looking around the code for a place to maintain the record count $*IN.input_record_number() (rakudo/src/core/IO.pm ?) but then two thoughts occurred to me. | 20:22 | |
First, this looks like a method, not a variable name. | 20:23 | ||
FROGGS | moritz / [Coke]: I cant install parrot, it tells me the disk is full O.o | ||
ajr_ | Second, how to maintain the value, associated with the file - what happens if there are multiple files in/out? | 20:24 | |
PerlJam | ajr_: aye, it's a method. Is that a problem? | 20:25 | |
ajr_ | Well, the value has to be maintained somewhere. | 20:26 | |
masak | ajr_: the method is just a way to return the value. | ||
PerlJam | ajr_: the value is kep in the object. | 20:27 | |
s/kep/kept/ | |||
masak | I don't know the answer to the "multiple files in/out" question. the question feels insufficiently specified. | ||
ajr_ | The fact it's a method may make the question redundant, though how is the method associated with a particular file? | 20:28 | |
[Coke] | FROGGS: whoops. I'll see how much of that I can deal with. | 20:29 | |
ajr_ | There might be a case where you're reading two files, and want the record count for each one. | ||
masak | ajr_: it's associated with a filehandle, like $*IO | ||
ajr_: if you've opened your own file, and stored the filehandle in a variable $fh, it'd be $fh.input_record_number() | 20:30 | ||
ajr_: I'm confused at your confusion :) | |||
20:30
domidumont left
|
|||
PerlJam | ajr_: are you thinking of p5's automagic $ARGV switching when reading the ARGV handle? | 20:31 | |
ajr_ | So $*IN.input_record_number() would return the count for STDIN? | ||
masak | aye. | ||
dalek | rl6-bench: a90094c | (Geoffrey Broadwell)++ | analyze: More improvements to summarize_results_text() in analyze |
20:32 | |
rl6-bench: 4a29ed0 | (Geoffrey Broadwell)++ | analyze: More tweaks to headers in summarize_results_text() in analyze |
|||
PerlJam notes that the $ARGV equivalent is to be determined in S28 | |||
TimToady wonders if it would make more sense to send the line number with the line in question | |||
ajr_ | Is the same input method used for all files, including $IN*, or are there special ones? | 20:34 | |
PerlJam | ajr_: "same input method"? | ||
20:36
gdey left
|
|||
PerlJam | TimToady: would that imply that the idiom for lines() would change? | 20:37 | |
ajr_ | PerlJam: I'm trying to find the appropriate place to maintain a record count, which is presumably where the file is read? | ||
PerlJam | ajr_: the IO handle that's associated with the file seems like the right place to me. | ||
ajr_: are you asking if there are other IO thingies that read files that aren't also IO::Handles? | 20:38 | ||
dalek | kudo/jvm-support: 2dc8c3a | jnthn++ | src/core/terms.pm: Make %*ENV setup portable (hopefully). |
20:39 | |
kudo/jvm-support: 7a2efe3 | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java: Missing null check. |
|||
kudo/jvm-support: 9412ca4 | jnthn++ | src/core/ (3 files): Mark out a few things that explode on JVM. This gets the setting loadable, just about. |
|||
colomon | \o/ | ||
ajr_ | PearlJam: I think that's the question. | ||
PerlJam | ajr_: you could start with solving the problem for IO::Handle and then worry about other IO thingies if they happen to show up. | 20:40 | |
ajr_ | OK, I'll look there. | 20:41 | |
20:43
kaare_ left
20:44
donaldh_ joined
20:45
donaldh_ left
|
|||
[Coke] | FROGGS: you probably have enough room to build one parrot now, anyway. | 20:45 | |
20:46
donaldh left,
donaldh joined
|
|||
FROGGS | [Coke]: yeah, currently trying... [Coke]++ | 20:46 | |
20:52
denisboyun left
|
|||
jnthn | $ perl6 -e "say 'omg something works on le jvm'" | 20:52 | |
omg something works on le jvm | |||
donaldh | jnthn++ | ||
jnthn | That's probably about all that works, but... :P | ||
donaldh | heh | 20:53 | |
jnthn | Gee, this startup time will want a little work :) | ||
[Coke] | Anyone who is using perlbrew on feather - please remove your build directories. | 20:54 | |
20:54
thou left
|
|||
FROGGS | jnthn++ | 20:54 | |
[Coke] | (azawawi is the one I found first, but that's pretty big) | ||
dalek | p/rak-jvm-support: 9d74404 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6Opaque.java: Support nqp::isattrinit properly on P6opaque. |
20:55 | |
p/rak-jvm-support: 9db6da9 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SixModelObject.java: More informative errors. |
|||
[Coke] | (I don't actually see an subcommand for perlbrew to do a cleanup. wonder if it's safe to just remove the build dir.) | 20:57 | |
FROGGS | [Coke]: maybe it is blowing up because of the qemu vm | 21:00 | |
japhb__ | What module in the Perl 5 world would create the closest equivalent of (simple variable) binding in Perl 6? | ||
PerlJam | someone could setup perlbrew system wide so that each version is only installed once ( that might mitigate the build dir size problem at least) | 21:01 | |
[Coke] | FROGGS: are you seeing the failure now | ||
sorear | Data::Alias? | ||
lizmat | japhb_: Data::Alias provides an "alias" function | ||
21:03
araujo_ left,
araujo joined,
araujo left,
araujo joined
|
|||
dalek | kudo/jvm-support: 33bc338 | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/ (3 files): Add DEBUG_MODE flag for the reams of warnings. Turn them off by default, so "say 'hello'" doesn't give thousands of lines of output. |
21:04 | |
kudo/jvm-support: 09ecb72 | jnthn++ | src/ (2 files): Small tweaks to get 'hello world' working. |
|||
kudo/jvm-support: 5c82398 | jnthn++ | / (2 files): Add CORE.setting to the build. |
|||
FROGGS | [Coke]: not yet | ||
21:05
pmurias joined
|
|||
pmurias | Ulti: re mentors, pmichaud is mentioned in the | 21:05 | |
Ulti: "Possible Mentors" section | |||
japhb__ | lizmat, sorear, thank you. | 21:06 | |
[Coke] | FROGGS: try the version in ~coke/sandbox/perl6pass/rakudo | 21:11 | |
FROGGS | k, thanks | ||
I'm not sure my rakudo there is picking up the right nqp | 21:12 | ||
[Coke] | the build in my dir is whatever is recommended by the the nom branch. | ||
ajr_ | The lines method in IO.pm maintains a line count ($count) which could be stored, but slurp doesn't. Is it reasonable to expect a line count for a slurped file? | 21:13 | |
FROGGS | ajr_: if you slurp a file at once, what do you need a line count for? | ||
[Coke] | .tell au - so far, you have the biggest directory on feather and we're tight on space. Anything you can clean up? | ||
yoleaux | [Coke]: I'll pass your message to au. | ||
sorear | au doesn't irc often, you ought to send an email too | 21:14 | |
ajr_ | FROGGS: The number of lines (records) in the file might be significant; what if that's what interests you? | 21:15 | |
[Coke] | If someone who knows her email addy could do that, I'd appreciate it. | ||
FROGGS | [Coke]: okay, I get the coredump with my freshly built rakudo too | ||
lizmat | ajr_: lines method is specced as only being applicable to lines red with "get" (S32/IO:202) | ||
read | 21:16 | ||
[Coke] | FROGGS++ | ||
21:16
bruges joined
|
|||
ajr_ | OK, then the answer for slurp is no, it's not reasonable. | 21:16 | |
FROGGS | r: say "abc\ndef\n".lines() | 21:17 | |
camelia | rakudo 170856: OUTPUT«abc def» | ||
FROGGS | r: say "abc\ndef\n".lines().elems | ||
camelia | rakudo 170856: OUTPUT«2» | ||
21:25
avarab is now known as avar
21:27
kurahaupo joined
|
|||
ajr_ | There's a method "ins" in S32 which looks as though it's meant to be what S28 has defined as input_record_number: | 21:32 | |
$. $NR $*IN.input_record_number() | |||
$/ $RS $*IN.input_record_separator() | |||
21:32
kurahaupo left
21:33
mtk left
21:36
mtk joined,
thou joined
21:38
ajr_ left
21:41
PacoAir left
|
|||
lizmat | is there a reason why Array.elems is not a left value ? | 21:44 | |
or do I have to use .splice to set the length of an array ? | 21:45 | ||
japhb | lizmat, diakopter++ pointed out that I should mention to you: I'm head down on my benchmarking talk, trying to give you, tadzik, FROGGS, etc. as much time as possible to hash out ecosystem thoughts, before I write my ecosystem talk. diakopter helpfully pointed out that if I don't say it out loud, no one knows. ;-) | ||
FROGGS | japhb: k, good to know :o) | 21:46 | |
lizmat | which ecosystem talk? | ||
nobody tells me anything ever :-) | |||
21:46
kurahaupo joined
|
|||
lizmat | rn: my @a; @a.elems=3 | 21:46 | |
FROGGS | lizmat: interesting idea | ||
camelia | niecza v24-51-g009f999: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/Zu4pfdqp6Q line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4331 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4332 (module-CORE @ 582)  at /home/p6eval/niecza/li… | ||
..rakudo 170856: OUTPUT«Cannot assign to a readonly variable or a value in block at /tmp/gsA4w0QamN:1» | |||
lizmat | $#array in perl 5 is also a left value, fwiw :-) | 21:47 | |
FROGGS | hehe | ||
it is somehow weird what I learn about perl 5 in this channel | |||
lizmat | he, you're reimplementing it, you should pick up *something* :-) | 21:48 | |
tadzik | japhb: hash out? | ||
japhb: I can find my old ecosystem talk slides if you want them | 21:49 | ||
japhb: the talk sucked though | |||
21:49
alester left
|
|||
[Coke] | ah. the big space hog is in /data/var/spool | 21:49 | |
PerlJam | lizmat: you don't have to use splice, you can just set @array[$index] | 21:50 | |
lizmat | ?? you mean at initialization? | ||
japhb | tadzik, hash out = brainstorm/discuss/figure out/design ... | 21:51 | |
[Coke] | will continue the hunt when I get home. | ||
japhb | lizmat, looking for talk on yapc site, hold | ||
PerlJam | r: my @array; @array[57] = Nil; @array.elems | ||
camelia | rakudo 170856: ( no output ) | ||
PerlJam | r: my @array; @array[57] = Nil; say @array.elems | ||
camelia | rakudo 170856: OUTPUT«58» | ||
japhb | lizmat: www.yapcna.org/yn2013/talk/4695 | ||
Description written by diakopter. ;-) | |||
lizmat | PerlJam: and now to make it smaller ? | 21:52 | |
PerlJam | lizmat: do you want to limit the size of the array, or just extend it like you can in Perl 5? | ||
lizmat | I want to limit it | ||
dalek | rl6-bench: 594448e | (Geoffrey Broadwell)++ | analyze: analyze: comment out unused line, improve HTML output |
21:53 | |
rl6-bench: 492eed3 | (Geoffrey Broadwell)++ | / (2 files): Use Data::Alias to simulate binding on Perl 5; add to PREREQUISITES list in README |
|||
21:55
perlpilot joined
|
|||
lizmat | n: my @a= (1..10); @a[*]:delete; say @a | 21:55 | |
camelia | niecza v24-51-g009f999: OUTPUT«Unhandled exception: Excess arguments to KERNEL Array.postcircumfix:<[ ]>, unused named delete at <unknown> line 0 (KERNEL Array.postcircumfix:<[ ]> @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 179 (postcircumfix:<[ ]> @ 5)  at /tmp/wvTQEKVp_w … | ||
lizmat | pugs: my @a= (1..10); @a[*]:delete; say @a | 21:56 | |
camelia | pugs: OUTPUT«***  Unexpected ":delete" expecting term postfix or operator at /tmp/60aQ8LsoAm line 1, column 22» | ||
PerlJam | oh, then my @array[15]; # will limit the size of the array, but it's NYI (I think) | ||
lizmat | yes, but that's compile time, I want runtime :-) | ||
perlpilot | [Coke]: feather is pausing bizarrely for me. I guess this is related to the almost-full disk? | 21:58 | |
FROGGS | perlpilot: maybe [Coke] is running a treesize? I experience pauses too | 21:59 | |
lizmat | pugs: my %h=a=>1; say %h{*}:delete | 22:01 | |
camelia | pugs: OUTPUT«pugs: Named argument found where no matched parameter expected: (delete,Val (VBool True))» | ||
lizmat | n: my %h=a=>1; say %h{*}:delete | ||
camelia | niecza v24-51-g009f999: OUTPUT«(Any)» | ||
sorear | o/ perlpilot | 22:02 | |
22:04
lustlife left
|
|||
dalek | ast: 574c899 | (Elizabeth Mattijsen)++ | S32-hash/delete_adverb.t: Added Array:delete tests Also made sure that fudging Niecza and Pugs is hopefully correct, so that syntax errors are "skip" rather than "todo" |
22:04 | |
22:07
perlpilot left
|
|||
raiph | am i right in understanding that jnthn++ has "hello world" working for rakudo on jvm? | 22:08 | |
22:08
fgomez_ left
|
|||
FROGGS | raiph: yes, look like | 22:08 | |
lizmat thinks it was "omg something works on le jvm", and not "hello world" :-) | 22:09 | ||
FROGGS | pedantic :P | ||
lizmat | that's my *middle* name | 22:10 | |
raiph | lizmat: ??? i'm asking if he's saying that 'say "hello world"' works on his local rakudo on jvm. | 22:11 | |
diakopter | yes | 22:12 | |
it does | |||
21:21 < jnthn> 23:33 < jnthn> $ perl6 -e "say 'omg something works on le jvm'" | 22:13 | ||
21:21 < jnthn> 23:33 < jnthn> omg something works on le jvm | |||
lizmat | irclog.perlgeek.de/perl6/2013-05-14#i_7068276 | ||
diakopter | ohhh | ||
lol. | |||
now I get it. :) | |||
raiph | ohh, i missed that. just saw the later commit msg, thanks lizmat | 22:14 | |
lizmat | I wonder how bad it would be to have a separate "multi method postcircumfix:<[ ]>(\SELF: $pos where $pos < 0) is rw {" candidate to fail | 22:17 | |
and remove the "fail if $pos < 0" from all the other candidates in Any | 22:18 | ||
jnthn | lizmat: Suspect that way spoils the cache's day too. | 22:19 | |
lizmat | I guess the optimiser isn't smart enough to skip that candidate altogether when $pos is an uint ? | 22:20 | |
jnthn | It can't do anything when it's a method call, which it is at the moment. | ||
In the future, they'll be multi subs, and it'll be able to analyse them more, but it's likely to handle the way it is now better. | 22:21 | ||
Or at least do so sooner. | |||
FROGGS | just to confirm: I cant export/import a variable from a module right now, or can I? | ||
jnthn | FROGGS: Only constants. | ||
22:21
xilo left
|
|||
lizmat | and I don't think you can do enums either | 22:21 | |
FROGGS | :/ | ||
I want to export %*ENV as %ENV to v5 | 22:22 | ||
lizmat | not unless you make your own EXPORT sub | ||
afaik | |||
FROGGS | doing that would be fine too, but it didnt work yesterday when I tried | ||
jnthn | You can do enums, it just doesn't export the elements. | 22:23 | |
As in, you have to longname 'em. | |||
lizmat | ah, yes, it exports the elements if you map $_ to "eval $_", if I remember correctly | ||
FROGGS | r: module A { sub EXPORT(|) { my %ex; %ex<%ENV> := %*ENV; %ex } }; import A; say %ENV | 22:24 | |
camelia | rakudo 170856: OUTPUT«===SORRY!===Variable '%ENV' is not declaredat /tmp/piquGLNSNU:1------> V> := %*ENV; %ex } }; import A; say %ENV⏏<EOL> expecting any of: postfix» | ||
FROGGS | should that work? (by spec?) | ||
22:27
fgomez joined,
prammer_ left
22:28
prammer_ joined
|
|||
lizmat | sub EXPORT should be in UNIT | 22:28 | |
(before the "module") | 22:29 | ||
lizmat is just cargo-culting from code she made for the masakism workshop | |||
donaldh | jnthn: Trying to use HLL::Compiler.lineof but QAST::CompilerJAST is not an HLL::Compiler. | ||
FROGGS | okay, so it must be a separate file | ||
donaldh | jnthn: Can I get to the HLL::Compiler ? | 22:30 | |
lizmat | possibly, not sure | ||
jnthn | UNIT implies separate file, yeah. | ||
donaldh: I suspect so. | |||
FROGGS | ... because I cant import from a module I am in | ||
k, will try that after $short-sleep | 22:31 | ||
gnight all o/ | |||
jnthn | donaldh: You may need a "use NQPHLL" or so. | ||
'night, FROGGS | |||
donaldh | ah. | ||
jnthn | donaldh: Which may also want a Makefile update to add the dep. | ||
donaldh | jnthn: I tried a use HLL::Compiler which blew up :) | ||
lizmat | 'night FROGGS | ||
FROGGS | HAH!! it is working!! | 22:32 | |
I just had to move it before my "class Perl5::Terms;" declaration | 22:33 | ||
lizmit++ # should be lizmit**100 | |||
\o/ | |||
donaldh | jnthn++ use NQPHLL works | 22:34 | |
and Makefile dep appears to be there already. | 22:36 | ||
jnthn | oh : | 22:38 | |
:) | |||
22:45
fgomez left
22:53
xilo joined
|
|||
donaldh | yay, part way there. I have line numbers for the starts of blocks. | 22:53 | |
jnthn | \o/ | 22:54 | |
donaldh | The stack goes from NQPHLL.nqp -> t/nqp/01-literal.t -> NQPCORE.setting | ||
I know it _should_ do that, but it's still surreal. | 22:55 | ||
jnthn | :) | ||
This will be a big help. :) | |||
[Coke] | do we have any qmail admins here? | 22:57 | |
masak | jnthn++ # hello world | 22:58 | |
jnthn is almost done with a blog post :) | |||
donaldh | It, uh, isn't that friendly in the Eclipse debug view until you click on a line gist.github.com/donaldh/5580373 | ||
[Coke] | jnthn++! | 22:59 | |
masak | dang, now I gotta wait until jnthn posts his blog post until I can go to bed... :P | 23:00 | |
lizmat can't wait for jnthn's blog post, but can't keep her eyes open so goes to sleep& | |||
23:01
pmurias left
|
|||
masak | 'night, lizmat | 23:01 | |
jnthn | o/ lizmat | ||
masak | dream about successful EXPORTs. | ||
23:01
Chillance left
23:03
sjohnson left,
sjohnson joined
|
|||
[Coke] | we want mail to be working on feather, yes? | 23:13 | |
I see undelivered git messages to audreyt from 2011, e.g. | 23:14 | ||
lue | Did I read that last rakudo/jvm-support commit from a while ago correctly? (Specifically, "I can use Rakudo on JVM... kinda") | ||
[Coke] | hello world works. | 23:15 | |
23:16
gdey joined
|
|||
lue goes to upgrade his icedtea then | 23:16 | ||
donaldh needs a faster computer | 23:17 | ||
s/needs/wants/ | 23:18 | ||
[Coke] | .ask juerd - feather ran out of disk space today- looks like messages are piled up in /var/qmail from (ever) and need to be delivered. | 23:19 | |
yoleaux | [Coke]: I'll pass your message to juerd. | ||
[Coke] | .ask juerd - I'm out of my depth and don't know anything about qmail. | 23:20 | |
yoleaux | [Coke]: I'll pass your message to juerd. | ||
[Coke] | (now might be a good time to create a .forward file if you don't have one.) | ||
23:26
thou left
|
|||
masak | 'night, #perl6 | 23:29 | |
TimToady | o/ | 23:30 | |
jnthn | post: 6guts.wordpress.com/2013/05/15/raku...-answered/ | 23:32 | |
TimToady | \o/ | 23:34 | |
23:34
DreamingInCode1 left,
DreamingInCode joined
|
|||
sorear | jnthn++ | 23:35 | |
23:35
DreamingInCode left
23:36
DreamingInCode joined
|
|||
donaldh | jnthn: I've sent a pull request for source annotations on rak-jvm-support | 23:41 | |
jnthn | donaldh: Thanks; I'll take a look tomorrow. | ||
donaldh | g'night o/ | 23:42 | |
jnthn | Should rest now...need to make some vague attempt to get my body to sleep at normal-ish times given I gotta teach Thu/Fri... | ||
'night | |||
23:42
donaldh left
|
|||
[Coke] | jnthn++ | 23:51 |