»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 27 June 2009. |
|||
00:08
lichtkind left
00:09
ihrd joined
00:10
ihrd left
00:23
amoc left
00:25
amoc joined
00:26
jauaor left
00:29
cj left
00:30
jedsen joined
00:35
Whiteknight joined
00:39
hercynium joined
00:46
Limbic_Region left
00:56
tann left
01:09
Whiteknight left
01:19
cls_bsd joined
01:28
scottp joined
|
|||
scottp | perl6: my $x = 6; say "testing pastebot for perl{$x}"; | 01:30 | |
p6eval | elf 27433: OUTPUT«testing pastebot for perl{$x}» | 01:31 | |
..pugs, rakudo 0e8a86: OUTPUT«testing pastebot for perl6» | |||
01:36
Chillance left
01:59
KyleHa joined
|
|||
jjore | In gist.github.com/141232, I'm getting a null PMC exception in get_string() while running a regexp. What should I be looking at to debug this? | 02:03 | |
KyleHa | Null PMC is always a bug. The best thing to do is narrow it down to the minimum code that produces it and submit [email@hidden.address] (or look for an existing bug first). | 02:09 | |
scottp | I am converting some code from pugs and have an example - $false = //= 0; - what does the '//' do as it does not compile in Rakudo | 02:10 | |
KyleHa | Well "//=" is "defined or equal", but I don't know about "=//=", if that's what you have there. | 02:11 | |
jjore | Presumably the same thing it does in perl 5? defined-or? | ||
er, oh. | |||
gosh. = // = in perl5 would be a really perverted but legal thing. | 02:12 | ||
scottp | perl 5 would be ||= 0 - i.e. pipe not forward slash. | ||
perl6: $false //= 0; say 'it worked'; | |||
p6eval | pugs: OUTPUT«***  Unexpected " //=" expecting "::" Variable "$false" requires predeclaration or explicit package name at /tmp/0QHdQGSbaL line 1, column 7» | ||
..elf 27433: OUTPUT«Unknown rule: infix_postfix_meta_operator:=It needs to be added to ast_handlers. at ./elf_h line 2850» | |||
..rakudo 0e8a86: OUTPUT«Symbol '$false' not predeclared in <anonymous> (/tmp/Fwh6L6WVvI:2)in Main (src/gen_setting.pm:3340)» | |||
jjore | scottp, 5.10 has //=. | 02:13 | |
scottp | jjore: ta - had not tried that. | ||
KyleHa | rakudo: my $false //= 0; say 'yay'; | ||
p6eval | rakudo 0e8a86: OUTPUT«yay» | ||
scottp | oh... I found my error, it was somethwere else - here it is - $defined //= [//] ($true,$false,$string,$defined,$last); | ||
KyleHa | That's a little beyond me. | 02:14 | |
jjore | but fyi, $false = //= 0; could possibly also mean $false = ( $_ =~ m// ) = 0; which is the horribly perverted thing. | ||
KyleHa | I think the "[//]" construct applies "defined or" to each thing in the list, but I'm not sure. It would be called a hyperoperator by the documentation. | 02:15 | |
Oh, I think I get it. | |||
rakudo: my $sum = [+] (1, 2, 3); | |||
p6eval | rakudo 0e8a86: ( no output ) | ||
KyleHa | rakudo: my $sum = [+] (1, 2, 3); say $sum; | 02:16 | |
p6eval | rakudo 0e8a86: OUTPUT«6» | ||
KyleHa | So your $defined assignment takes the first item in the list that's defined and discards the rest. | ||
rakudo: my $defined //= [//] (1, 2, undef, 3); say $defined; | 02:17 | ||
p6eval | rakudo 0e8a86: OUTPUT«Statement not terminated properly at line 2, near "//= [//] ("in Main (src/gen_setting.pm:3340)» | ||
scottp | yes I get that error as above. | ||
KyleHa | I'm guessing the [//] operator isn't implemented yet. | ||
scottp | Yes my guess too | ||
jjore | Is there a "dump" method for objects to get at their implementation details? .perl lossily thunks to perl source which isn't enough. | 02:18 | |
KyleHa | What does .perl lose? | 02:19 | |
jjore | Doesn't work for Regexp objects for one. | ||
KyleHa | There's a test for [//] in S03-operators/reduce-metaop.t that's fudged for Rakudo. | ||
jjore | I /guess/ getting the pmcs and their data would ideal. | 02:20 | |
KyleHa | jjore: There are some things that .perl doesn't work for because they haven't defined what its output should be in cases where one could write the same thing lots of different ways. That may be the case for Regex. | 02:21 | |
02:21
scottp left
|
|||
jjore | So, in perl 5 there is Devel::Peek to show the C implementation. Is there an equivalent for rakudo that sees through to the parrot implementation? | 02:22 | |
KyleHa | rakudo: my $x = /foo/; say $x.perl; | 02:23 | |
p6eval | rakudo 0e8a86: OUTPUT«{ ... }» | ||
KyleHa | rakudo: my $x = /foo/; say $x.PARROT; | 02:24 | |
p6eval | rakudo 0e8a86: OUTPUT«Regex» | ||
KyleHa | That's not exactly detailed. | ||
You're past my depth, jjore, sorry. | |||
jjore | I'd be glad to go read source. Any idea where to start looking? | ||
KyleHa | I'm not familiar with Rakudo source at all. I spend most of my time in the spec tests. | 02:25 | |
There's a whole directory, S12-introspection, that would be my first target. | |||
Here's the corresponding documentation: perlcabal.org/syn/S12.html | 02:26 | ||
jjore | woot | ||
ah, well, that is Perl 6 introspection which ought to be different than introspection into implementation. | 02:27 | ||
02:27
last left
|
|||
KyleHa | I agree. I wish I had a better answer for you. | 02:28 | |
jjore | Ok, well thanks for what you've got. | ||
KyleHa | You're welcome. | ||
jjore | No wait, I think this is where I troll "Why aren't you *perfect*?!" | 02:29 | |
KyleHa | Heh. | ||
We haven't implemented that part of the script either. | |||
jjore | .DOES?( 'Perfect' ) ? ... : false; | 02:30 | |
02:30
scottp joined
02:56
twigil joined
|
|||
jjore | Am I doing it wrong? 'abc' ~~ /$<a>=(.) $<a>/ # produces null pmc error. | 02:59 | |
rakudo: 'abc' ~~ /$<a>=(.) $<a>/ | |||
p6eval | rakudo 0e8a86: ( no output ) | ||
jjore | okays.... on the rakudo I fetched earlier today anyway. Huh. | 03:00 | |
03:03
FCO joined
|
|||
jjore | rakudo: 'abc' ~~ / $<a> = (.) $<a> / | 03:04 | |
p6eval | rakudo 0e8a86: OUTPUT«Null PMC access in get_string()in regex PGE::Grammar::_block51 (/tmp/A4j44bVpKG:1)called from Main (/tmp/A4j44bVpKG:2)» | ||
jjore | rakudo: 'abc' ~~ /$<a> = (.) $<a>/ | ||
p6eval | rakudo 0e8a86: OUTPUT«Null PMC access in get_string()in regex PGE::Grammar::_block51 (/tmp/c6gfnhA0Uu:1)called from Main (/tmp/c6gfnhA0Uu:2)» | ||
jjore | rakudo: 'abc' ~~ /$<a> =(.) $<a>/ | ||
p6eval | rakudo 0e8a86: ( no output ) | ||
jjore | rakudo: 'abc' ~~ /$<a>= (.) $<a>/ | ||
p6eval | rakudo 0e8a86: OUTPUT«Null PMC access in get_string()in regex PGE::Grammar::_block51 (/tmp/AZFL4K099j:1)called from Main (/tmp/AZFL4K099j:2)» | ||
jjore | rakudo: '' ~~ /$<a>= (.) $<a>/ | ||
p6eval | rakudo 0e8a86: ( no output ) | ||
eternaleye | jnthn: re learning hiragana, has someone shown you the 'a ka sa ta na, ha ma ya ra wa' trick yet? | 03:05 | |
03:05
SmokeMachine left
|
|||
jjore | Ah. | 03:06 | |
rakudo: 'a' ~~ /$<a>= (.)$<a>/; # minimal | 03:07 | ||
03:07
molaf joined,
molaf_x joined
|
|||
p6eval | rakudo 0e8a86: OUTPUT«Null PMC access in get_string()in regex PGE::Grammar::_block51 (/tmp/wYUb0HxL6M:1)called from Main (/tmp/wYUb0HxL6M:2)» | 03:07 | |
03:07
molaf left
|
|||
jjore | apologies for spam. | 03:07 | |
pmichaud | I think PGE might not like spaces around the '=' there. | 03:08 | |
rakudo: say 'aa' ~~ /$<a>=(.) $<a>/; | |||
p6eval | rakudo 0e8a86: OUTPUT«aa» | ||
pmichaud | rakudo: say 'aa' ~~ /$<a> =(.) $<a>/; | ||
p6eval | rakudo 0e8a86: OUTPUT«aa» | ||
pmichaud | rakudo: say 'aa' ~~ /$<a> = (.) $<a>/; | ||
p6eval | rakudo 0e8a86: OUTPUT«Null PMC access in get_string()in regex PGE::Grammar::_block51 (/tmp/nbZHs9R6xM:1)called from Main (/tmp/nbZHs9R6xM:2)» | ||
jjore | orly? I thought the examples usually used spaces. | ||
pmichaud | they might. PGE (the regexp engine) might not handle it well though. | 03:09 | |
eternaleye | rakudo: say 'ab' ~~ /$<a>=(.) $<a>/; | 03:10 | |
p6eval | rakudo 0e8a86: OUTPUT«» | ||
eternaleye | rakudo: say ?('ab' ~~ /$<a>=(.) $<a>/); | ||
p6eval | rakudo 0e8a86: OUTPUT«0» | ||
jjore | So what is a good way to step into the part of pge that is potentially having an issue? | ||
pmichaud | it would be PGE's Perl6Regex parser that is having difficulty | ||
oddly, I only find one example in S05 where the equals has spaces around it :-) | 03:12 | ||
jjore | I infer from your answer that knowing "PGE:Grammer:_block51" is not interesting to inspect the failing thing. | ||
pmichaud | well, _block51 is just the name of the (anonymous) regex | 03:13 | |
rakudo: /$<a>= (.) $<a>/ | |||
p6eval | rakudo 0e8a86: ( no output ) | ||
jjore | So, to dump it or trace it to see where the problem lies? | ||
pmichaud | rakudo: say /$<a>= (.) $<a>/ | ||
p6eval | rakudo 0e8a86: OUTPUT«_block50» | ||
pmichaud | hmmm. | ||
actually, I'm guessing that it's mis-generating the code for $<a>= (.) | 03:14 | ||
it must be generating it as $<a>=<.ws> (.) | |||
03:15
sri_kraih left
|
|||
pmichaud | if it sounds like I'm not answering your question, it's because I'm not sure how to answer them. | 03:17 | |
Basically when PGE parses the alias, it's misparsing it. As a result, the generated code for the regex is wrong. | |||
jjore | Fair enough. I guessed that maybe reading --target=past would be useful or at least potentially enlightening to read. | ||
pmichaud | fixing it will require updating PGE's parser to skip over whitespace after finding '=' | 03:18 | |
well, PGE doesn't go through PAST | |||
so you'd just end up seeing a node representing the regex, but no details | |||
(PGE pre-dates the compiler toolkit and PAST) | 03:19 | ||
03:20
jauaor joined
|
|||
jjore | --target=pir is lower than --target=post, right? | 03:20 | |
pmichaud | it comes after post, yes. | 03:21 | |
post is the precursor to PIR | |||
past->post->pir | |||
except for regexes, which basically have their own special comipler | |||
*compiler | |||
pugs_svn | r27434 | kyle++ | [t/spec] Move 2 tests from class.t to class2.t, rm class.t, and mv class2.t class.t | 03:22 | |
pmichaud | those go directly from regex source to a regex parse tree to PIR | ||
jjore | asking --target=pir is highly uninformative for regexp contents. | ||
pmichaud | right | ||
because it's the compiled code for the regexp | |||
jjore | no, it seems to be missing it. | 03:23 | |
pmichaud | oh, it's there | ||
wait, are you expecting to see the regexp source in the --target=pir output? | 03:24 | ||
as in, the actual "$<a> = (.) $<a>" part? | |||
jjore | well... maybe? or the alias for $<a>. | ||
pmichaud | would you expect to see something called $xyz<abc>[0] in Perl 6 compiled output? | ||
(assuming that was in the source) | 03:25 | ||
jjore | Yes, because the information would need to be available for programatic introspection. | ||
pmichaud | we aren't doing anything like that yet. | 03:26 | |
03:26
skids left
|
|||
pmichaud | afaik, there hasn't been anything in the spec to indicate we absolutely need to do that. If we do, then I suspect we just have to embed a copy of the full source into the compiled output. | 03:26 | |
which we may indeed have to do, but I'm waiting for verification of that fact before committing to doing it. | 03:27 | ||
jjore supposes it *ought* to be in the spec for the reason that he also never wants his operations staff to deploy to prod w/o -g symbols. | |||
but that's merely policy. | 03:28 | ||
pmichaud | anyway, the short answer then is "no, the full source is not embedded into the compiled output" | ||
nor the individual source tokens, at the moment. | 03:29 | ||
jjore can more reasonably find the regexp components by using something more striking like 'X'. | 03:30 | ||
pmichaud | sure | ||
jjore | So even it's its fully destructured I can still get there. | ||
pmichaud | in the case of $<a>=(.) it's going to be a captured named 'a' | ||
*capture | |||
jjore | It is ... strange to read my regexp turned into "assembly." | 03:31 | |
pmichaud | :-) | ||
at the time, we expected that would be the fastest way to run regexes | 03:32 | ||
i.e., to have them compile directly down the code | |||
*down to code | |||
jjore | I just tried `perl5 --target=pir xxx.p6 > xxx.pir; parrot xxx.pir` but got several imcc syntax errors. Is there a better way to go from perl 6 -> pir -> running it? | 03:35 | |
pmichaud | there's a bug in Parrot right now that is preventing that from working. | 03:36 | |
the imcc syntax errors are part of the Parrot bug. I'm trying to find a good workaround but have had limited success with it. | |||
jjore | Bummer. O. | ||
er, ok. | |||
TimToady | jjore: re run(), the main reason its name is changed is becuase it returns true for success rather than false | ||
jjore | re-run, that's fine. It's still surprising not to have system(). | 03:37 | |
pmichaud | TimToady: is it generally expected that regex foo { ... }; say &foo.perl; would give back the source of the regex? | ||
same for any other closure? | |||
jjore | even if no one really /likes/ that 0==system() is success. | 03:38 | |
pmichaud | ("yes" is an okay answer :-) | ||
TimToady | I think that should be the default behavior, suppressable fof poeple who want to keep secrets | ||
*for | |||
pmichaud | okay. | ||
do you think that embedding the source would be an efficient or inefficient mechanism for doing that? | |||
jjore | I missed scrottie's perl in Vegas talk but I heard he's used Enbugger on compiled perl to get it to spill its secrets. | 03:39 | |
TimToady | I think the size of the source will typically be outweight by the rest of the mechanism | ||
outweighed even | |||
pmichaud | right, so that keeping a copy of the source is fairly efficient, then? | 03:40 | |
jjore | which thrilled and surprised me. that he took something supposedly perl2exe'd and still got in w/ it. | ||
TimToady | and one big happy string is hard to beat for efficiency | ||
pmichaud | right. | ||
okay, I have the same opinion. | |||
I'll start seeing what I can do to aim in that direction. Thanks. | |||
03:41
mikehh left
|
|||
pmichaud | I suspect that also helps with embedded pod streams and the like. | 03:42 | |
03:42
mikehh joined
|
|||
pmichaud | so, jjore, looks like you'll get your wish :-) | 03:43 | |
jjore | You're so kind. :-) | 03:44 | |
03:45
mikehh left
03:48
molaf_x left
|
|||
jjore | oh say, diffing the pir seems to pull up useful things, if I normalize those pointer-looking things that are /^\d\d_\d{9,}$/ | 03:48 | |
pmichaud | \d{9,} ? | 03:49 | |
jauaor | hello | ||
pmichaud | p5 regexp, or ... ? | ||
jauaor | anybody on mac here? | ||
03:50
mikehh joined
|
|||
jjore | << .const 'Sub' $P22 = "12_1246851932" >> | 03:50 | |
pmichaud | oh. | ||
the "unique" identifiers for each sub. | |||
jjore | I don't know the id's real meaning now but if I look past those differences, the pir seems useful to diff. | ||
pmichaud | their meaning is simply to unique identifiy parrot subs | 03:51 | |
since "name" isn't a good unique identifier | |||
and yes.... it's just a unique number followed by a (gasp) timestamp. | |||
(I cheated for now.) | |||
jjore | oh, timestamp. ok. | ||
Thanks. | |||
so the difference, fwiw, is captscope["a"] vs captscope[0] | 03:52 | ||
pmichaud | yes. | ||
$<a>=(.) causes it to capture to 'a' instead of 0 | |||
jjore | yes, well, this is the space vs no-space. | 03:53 | |
pmichaud | hmmm, interesting, but I can believe it. | ||
because $<a>= (.) ends up acting like $<a>=<.ws> (.) | 03:54 | ||
jjore | anyhow, thanks for being an idea instigator. I've got to switch bars to get a power outlet. | ||
pmichaud | so the (.) ends up being "capture to $0" | ||
instead of being aliased. | |||
jjore | oh, that's an explanation behind your explanation. cool. | ||
pmichaud | an interesting test would be $<a>=[.] versus $<a>= [.] | 03:55 | |
I'm guessing the latter wouldn't have a captscope[0] | |||
it might not have a captscope['a'] either, which would mean that the <.ws> is being factored out inside of regexes (as it should) | |||
03:58
pjcj_ left,
pjcj joined,
scottp left
04:02
azawawi joined
|
|||
jjore | No, the latter is captscope["a"]. Apparently the lack of space indicates something very different since I was just grepping for capt but `perl6...|grep captscope|wc -l` is 0 w/ space but 12 w/ space. | 04:03 | |
azawawi | hi | ||
lambdabot | azawawi: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
azawawi | @messages | ||
lambdabot | literal said 6h 21m 20s ago: I fixed that bug you mentioned | ||
pmichaud | that's... odd. I think I want to investigate this a bit more myself :-) | ||
anyway, it's worth filing a rakudobug for. | 04:05 | ||
04:07
Pismire joined
04:10
azawawi left,
edpratomo joined
|
|||
pugs_svn | r27435 | kyle++ | [t/spec] Test for #57336 (needs review) | 04:28 | |
04:30
scottp joined
04:33
Pismire left
04:37
scottp left
04:41
frew|work left
04:45
Snublefot is now known as Snublefot_Work
04:48
tann joined
05:19
Molaf joined
05:23
drbean_ joined
05:25
drbean left
05:26
KyleHa left
05:42
frew_ left
05:43
justatheory left
|
|||
pugs_svn | r27436 | pmichaud++ | [t/spec]: Fudge out odd failure in S02-literals/types.t . | 05:46 | |
r27437 | pmichaud++ | [t/spec]: Not sure how or why, but subtypes.t now reports only 50 tests instead of 51. | 05:47 | ||
05:59
eternaleye_ joined
06:01
eternaleye left
06:04
kidd_ left
06:16
eMaX joined
|
|||
Matt-W | Woooo my patch went in! | 06:19 | |
moritz_ | Matt-W: yes, I applied it | 06:20 | |
Matt-W | moritz_++ | 06:21 | |
git++ | |||
^ clever enough to not complain that you'd pushed the patch I already made | 06:22 | ||
06:22
rfordinal joined
06:30
azawawi joined
|
|||
azawawi | hi | 06:30 | |
06:30
rfordinal left
06:35
DemoFreak joined
|
|||
pugs_svn | r27438 | azawawi++ | [S:H:P6] emit multi-sigs | 06:37 | |
06:42
edpratomo left,
tann_ joined
06:43
sparc__ joined
06:47
sparc left
06:49
azawawi left
06:50
iblechbot joined,
twigil left,
fridim_ joined
06:53
fridim_ left
06:55
tann left
06:56
sparc joined
06:58
sparc___ joined
06:59
tann joined
07:00
sparc____ joined,
zamolxes joined
07:01
sparc__ left
07:02
sparc__ joined,
sparc left,
jedsen left,
sparc__ is now known as sparc
07:04
sparc____ left
07:06
M_o_C joined
07:07
rfordinal joined
07:10
last joined
07:11
tann_ left
07:17
sparc___ left
07:24
nacho_ left
07:32
icwiener joined
07:33
eternaleye_ left
07:35
sparc left
07:38
eternaleye joined
07:46
mberends joined
07:52
dakkar joined
08:00
synth joined
08:11
skipper left
08:14
last left
08:15
|MoC| joined
08:24
PZt left
08:32
DemoFreak left
08:34
M_o_C left
08:41
ejs joined
08:42
ejs0 joined
08:45
eternaleye left
08:56
cotto joined
08:58
pmurias joined
08:59
payload left
09:03
ejs left
09:08
cls_bsd left
09:14
pmurias_ joined
09:15
pmurias left
|
|||
pmurias_ | ruoso: hi | 09:15 | |
09:16
pmurias_ is now known as pmurias
|
|||
jnthn | morning | 09:18 | |
moritz_ | oh hai | 09:19 | |
jnthn | phenny tell eternaleye no, nobody showed me that...got a link? :-) | ||
phenny ? | |||
moritz_ | maybe phenny needs to be 'phenny:' or so? | ||
jnthn | phenny: tell eternaleye no, nobody showed me that...got a link? :-) | 09:20 | |
phenny | jnthn: I'll pass that on when eternaleye is around. | ||
jnthn | moritz_: Thanks! :-) | ||
moritz_ | jnthn: np | ||
09:20
tann left
09:21
ejs0 left
09:22
xinming left
09:30
payload joined
|
|||
pmurias | ruoso: i have a problem with compiling CORE.pm with --yeast in that the function a m0ld code is compiled to segfaults when called from the runloops but runs when called from the init function in the loaded library | 09:33 | |
ruoso: gdb doesn't know what called the segfault | |||
09:39
zamolxes left
09:43
xinming joined
09:53
zamolxes joined
09:54
donaldh joined
09:57
payload left
|
|||
mberends | jnthn++ # "Six days mostly in front of the computer from waking up to sleeping" | 10:05 | |
pmurias | ruoso: dlclose seems to be the culprit | 10:17 | |
10:22
payload joined
10:23
xinming left
10:29
PZt joined
10:32
payload left,
meppl joined
10:35
payload joined
10:46
last joined
10:55
pmurias left
10:56
last left
11:00
payload left
11:01
digitalise joined
11:06
icwiener_ joined
11:07
xinming joined
11:19
payload joined
11:20
donaldh left
11:21
donaldh joined
11:22
icwiener left
|
|||
pugs_svn | r27439 | kyle++ | [t/spec] Remove icky test for exact matching error message. | 11:26 | |
11:33
ruoso left
|
|||
mikehh | I tried running t/spec/S02-literals/string-interpolation.t using both ./perl6 and perl t/harness | 11:42 | |
11:43
payload left
|
|||
mikehh | using ./perl6 t/spec/S02-literals/string-interpolation.t it passed 4 times and failed 5 | 11:43 | |
11:45
Chillance joined
|
|||
mikehh | perl t/harness t/spec/S02-literals/string-interpolation.t it passed 2 times and failed 6 | 11:45 | |
I ran make spectest 3 times and it passed twice | 11:48 | ||
11:59
masak joined
12:06
sri_kraih joined
12:14
daemon left
|
|||
masak | use.perl.org/~jjore/journal/39233 # help poor jjore! | 12:16 | |
hm, I haven't backlogged yet. maybe he already got help here... | |||
jnthn | I may implement rename to help him out. ;-) | 12:17 | |
masak backlogs | 12:19 | ||
12:19
Chillance left
|
|||
moritz_ | it would help to know what kind of input triggered the errors | 12:20 | |
12:20
icwiener-_- joined
|
|||
jnthn | aye, but he said in the post that it wasn't a bug report. | 12:20 | |
So hopefully we find out here. :-) | |||
moritz_ | my second suspicion are the $<foo> = (...) things | 12:21 | |
jnthn | std: sub say($x where $x eq "w00t") { say "Bah!" }; | ||
p6eval | std 27439: OUTPUT«##### PARSE FAILED #####Unable to parse multisig; couldn't find final ')' at /tmp/CkOP5pu91I line 1:------> sub say($x where $x eq "w00t") { say "Bah!" }; expecting any of: infix or meta-infix (with precedence tighter than chaining) infix stopper | ||
..param_sep p… | |||
moritz_ | it seems to work fine without those. | ||
12:24
skids joined
12:32
ruoso joined
12:34
icwiener_ left
|
|||
ruoso | Hello! | 12:34 | |
moritz_ | hi ruoso | ||
masak | g'day ruoso | 12:40 | |
pugs_svn | r27440 | masak++ | [README] kill comment re grok being written in Perl 6 | 12:41 | |
r27440 | masak++ | | |||
r27440 | masak++ | Turns out (at least in the short term) that writing grok in Perl 5 is | |||
r27440 | masak++ | much more feasible. | |||
r27441 | masak++ | [u4x] fleshed out documentation for Pair | |||
r27442 | masak++ | [u4x] lots of small changes and additions | |||
masak | ok, so I want to do test coverage using Rakudo. is there any way, however cumbersome, to make Rakudo reveal which statements in the source code were run? | 12:45 | |
rakudo: subset Positive of Num where { $^n > 0 }; my Positive $p; $p = -42 | |||
p6eval | rakudo 0e8a86: OUTPUT«Assignment type check failed; expected , but got Intin Main (/tmp/pW2gVtsbd4:2)» | ||
moritz_ | yes, you can write a coverage runcore for parrot that looks at the file anotations | ||
masak submits rakudobug | |||
jnthn | bug? | ||
masak | moritz_: excellent. just what I needed to hear. | 12:46 | |
jnthn | oh, less than awesome error message | ||
masak | aye. | ||
jnthn | wow. That was some LOUD thunder. | ||
moritz_ didn't hear anything | |||
masak really likes the attribute 'less than awesome' | |||
sets the right expectations, if you ask me. | |||
moritz_ | can't have been *so* loud :-) | ||
masak | so, next question: how do I write a runcore for Parrot? is there documentation somewhere? | 12:47 | |
Matt-W | Hi | 12:48 | |
masak | Matt-W: good day, sir. | ||
Matt-W | jnthn: well you know how Perl 6 has unicode for real representation of anything you like, now it also has a truly empty type complete with empty name! | 12:49 | |
moritz_ | masak: I think chromatic wanted to encapsulate that somewhat to make it easier | ||
Matt-W | masak: good day. I am happy, as my patch is now in rakudo. I should write another one | ||
masak | Matt-W++ # and yes, you should | ||
moritz_ | Q: how do we implement Perl 6? A: One patch at a time | ||
masak | with git, many patches at a time. :P | 12:50 | |
Matt-W | I am however also unhappy, as I'm trying to persuade a recalcitrant, bizarrely-configured solaris box to compile things | ||
12:51
icwiener joined
|
|||
jnthn | masak: What moritz_ said - it would get easier in the future. | 12:52 | |
masak: They ain't pluggable at the moment. | |||
masak | EWANTFUTURENOW | ||
12:53
amoc left
|
|||
mberends | EWANTWANTWANT | 12:53 | |
jnthn | masak: I suspect a runcore may be the way to do it though. | 12:54 | |
masak: It may be that the profiling runcore gives enough info mind. | |||
Since it'll need to know, where it's been. | |||
masak | oh, there's a profiling runcore? \o/ | 12:55 | |
how do I invoke it? | |||
jnthn++ # catching up on blogging -- I want to know what you've been up to! :) | 12:56 | ||
(er, promising to catch up on blogging, at least) | 12:57 | ||
jnthn | masak: No, there's a proposed one. :-( | 12:58 | |
masak: I think chromatic and cotto are planning to work on it. | |||
masak also makez teh :-( | |||
EWANTFUTURENOW | |||
jnthn | "The future will be better tomorrow." | 12:59 | |
PerlJam | masak: but the future belongs to skynet. | ||
moritz_ | masak: a coverage report for rakudo and would also make me very happy | ||
s/and// | |||
masak heads over to #parrot to urge the future on | |||
mberends | masak: parrot -R trace program.pbc # is probably the profiling runcore | 13:00 | |
masak | mberends: g'day. thanks, I'll try that. | 13:01 | |
there's also a -p (profile) option for parrot. | 13:02 | ||
13:04
last joined
13:05
takadonet joined,
rfordinal left
|
|||
takadonet | hey everyone | 13:06 | |
PerlJam | greetings takadonet | ||
13:06
icwiener-_- left
|
|||
masak | hey takadonet -- done anything cool with Rakudo yet? | 13:07 | |
takadonet | masak: Not really, mostly just playing around with Grammar's to parse out file formats and wrappers in the bio-informatics field | 13:09 | |
masak | oh, it's you! :) | ||
I think that qualifies as something cool, by the way. :) | |||
takadonet | hehe. Planning to help re-do www.bioperl.org/wiki/Main_Page | ||
masak is a bioinformatician | |||
Tene isn't! | |||
takadonet | WOW really | 13:10 | |
masak | yes, really. I'll have my degree any year now. | ||
takadonet | I just have an undergraduate in CS but been working in the field for almost 2 years now | ||
Masak: Have you heard of annotation pipeline called gendb? | 13:11 | ||
masak | rakudo: subset DNA of Str where { all(.comb) eq any<A C G T> }; my DNA = "GATTACA" | ||
p6eval | rakudo 0e8a86: OUTPUT«Malformed declaration at line 2, near "DNA = \"GAT"in Main (src/gen_setting.pm:3340)» | ||
masak | rakudo: subset DNA of Str where { all(.comb) eq any<A C G T> }; my DNA $dna = "GATTACA" | ||
p6eval | rakudo 0e8a86: OUTPUT«Assignment type check failed; expected , but got Strin Main (/tmp/vZU6KjvkxT:2)» | ||
krunen | ffdddddddddd~. | ||
masak | krunen: toddler? | 13:12 | |
jnthn | Or cat? ;-) | ||
skids | or ferret. | ||
masak | takadonet: no, I don't think I have. | ||
takadonet | masak: www.cebitec.uni-bielefeld.de/groups...endb_info/ | 13:13 | |
moritz_ | uni bielefeld - that city doesn't even exist :-) | ||
en.wikipedia.org/wiki/Bielefeld_Conspiracy | 13:14 | ||
masak gasps | |||
takadonet | masak: We have that pipeline locally and I'm in charge of developing it with one other | ||
masak | takadonet: haven't been on any genome projects yet, so I haven't had the opportunity to use something like this. :) | 13:15 | |
takadonet | masak: This is my first large project that I was assigned to but the last few years I have done small application for biologist at our lab. Also little script to help automate blasting, multiple alignment etc.. | 13:17 | |
masak | takadonet: in my employed life, I develop a Java-based bioinformatics platform called Bioclipse. | 13:18 | |
moritz_ | masak: you're one of these guys? I didn't know that... | 13:19 | |
I log their IRC channel, IIRC | |||
masak | moritz_: yes, I was the one who arranged that. :) | ||
moritz_ | masak: I don't remember that either :/ | 13:20 | |
local insomnia? | |||
masak | amnesia, even. | ||
PerlJam | moritz_: They say that your memory is the first thing to go ... | ||
masak | PerlJam: if you're lucky. :) | 13:21 | |
moritz_ | masak: classical case of amnesia, mis-remembering words :-) | ||
PerlJam: ah well, it's already on the road down hill | |||
pmichaud | Good morning, #perl6 | 13:22 | |
moritz_ | oh hai | 13:23 | |
takadonet | morning | ||
masak | good pmorning. | ||
by the way, passing '-R trace' to parrot didn't do anything that I could see. passing '-p' spewed out interesting statistics about the frequency of internal Parrot calls, but nothing about source code annotations. | 13:25 | ||
jnthn | morning, pmichaud | 13:26 | |
13:28
amoc joined
13:31
frew_ joined,
iblechbot left
|
|||
masak | moritz_: clicking "Article: Encodings and Unicode" on perlgeek.de/ gives a 404. seems there is one 'en/' too many in the URL. | 13:35 | |
13:36
alester joined
|
|||
moritz_ | masak: thanks, fixed locally. It will take soem time for the update to percolate through | 13:39 | |
masak | great; no problem. | ||
13:40
cls_bsd joined
|
|||
takadonet | masak: Did you go to ISMB? | 13:41 | |
masak | 'fraid not. | 13:42 | |
13:46
jauaor left,
jauaor joined
13:50
KyleHa joined
13:52
rfordinal joined
14:01
daemon joined
14:03
jauaor left
14:07
DemoFreak joined
14:10
frew_ left
14:14
lucs joined
|
|||
KyleHa | I branched Rakudo locally, and implemented a couple of operators in setting/Operator.pm (I think). What's the best way to submit that for someone smart to have a look at it and maybe make it part of Rakudo? | 14:22 | |
masak | a TODO rakudobug, I think. | 14:24 | |
aye, that's what the README says. | |||
'unified diff from the C<git> command is greatly preffered' | 14:25 | ||
KyleHa | Gack. I should have looked there. Thank you, masak++ | ||
masak | unkown unknowns are the hardest. :) | ||
pmichaud | I really think I need to change the name of the README file to something more appropriate. | 14:26 | |
masak | pmichaud: it's not your fault. | ||
people just don't end up on a path where they scan the repo for developer hints. | |||
pmichaud | I just find it incredibly ironic. | ||
masak | aye, I know. :) | ||
it is ironic. | 14:27 | ||
pmichaud | and we shouldn't let a good source of irony go to waste :-) | ||
KyleHa | GOREADSOMETHINGELSE | ||
pmichaud | Maybe a lightning talk about creating the ultimate hidden file | ||
Do you have important secret details (e.g., credit card numbers) that you want to protect from hackers? Place it in a file called README, as they'll *never* look there. | 14:28 | ||
masak | Pugs has README, READTOO and READTHEM. actually following the advice in those files will take years (and possibly make your head asplode) | ||
pmichaud: maybe add a friendly notice at the end of the 'make' process to go read the README file if one thinks there might be a risk that one will be submitting patches? | 14:29 | ||
oh noes, rgs resigned! twitter.com/perlbuzz/status/2497451316 | 14:32 | ||
alester | I knows, I knows! | ||
I posteds! | |||
:-P | |||
14:32
Front_slash joined
|
|||
masak | I'm sorry to see the discussion resulting in that. | 14:34 | |
jnthn | Me too. :-( | 14:35 | |
14:35
drbean_ is now known as drbean
|
|||
alester | I'm less and less interested in p5 development every day. | 14:35 | |
Not because of this, but because I think that Perl 6 is where we should be putting our energy. | |||
14:35
lambdabot left
|
|||
masak | I've had the opposite experience; from being almost only Perl 6-oriented, I now find more and more places where Perl 5 excels. | 14:36 | |
KyleHa | OK, there's my patchy patch. | ||
pmichaud | speaking of which... I'm revamping my "Hacking Rakudo Perl" talk a bit for oscon and yapceu | ||
masak | but the design of the core or the release cycle are not such things. | ||
takadonet | I'm in the same boat there Alester | 14:37 | |
pmichaud | does anyone here have suggestions/comments for what really need to go in the talk? | ||
i.e., I'm wanting to step up the presentation a notch if I can :-) | |||
jnthn | more lolcats | 14:38 | |
alester | pmichuad: Two words: Animated Transitions | ||
masak | pmichaud: "job openings" -- bug wrangler, RT supervisor, test suite masseur, etc. | ||
pmichaud | "job openings"++ | ||
14:38
lambdabot joined
|
|||
alester | yeah, I like that | 14:38 | |
You know | |||
masak | things that are pretty easy to get into but require a constant supply of tuits. | 14:39 | |
skids | .oO(maybe we should have a directory for not-quite-there-yet p6 implementations of builtins/setting that can't be applied) |
||
alester | Come up with those job openings and I'll run 'em as a Perlbuzz article. | ||
pmichaud | I had something like that in my earlier version but not as explicit as "job openings" | ||
masak | pmichaud: the sense should be, "we'd love to have you in the community, here's what you could do to help" | ||
pmichaud | for those who are curious, my slides for yapcna are at www.pmichaud.com/2009/pres/yapc-rakudo | ||
masak | \o/ | 14:40 | |
pmichaud | masak: that's pretty much what I tried to do at npw (the talk hasn't morphed much since then) | ||
masak | pmichaud: love that picture of 'tormented pm' :) | 14:41 | |
14:42
iblechbot joined
|
|||
pmichaud | heh | 14:42 | |
yes, definitely need more pictures. | |||
Matt-W | I like the TimToady quote about torturing implementors | ||
14:44
icwiener_ joined
|
|||
masak | pmichaud: maybe the different tasks should have RPG-like stats next to them, so that people get a quick sense of what skillz are required. for example, both 'writing tests' and 'writing applications' require Perl 6 knowledge, but the former maybe a bit less. writing synopses require a bit of English and a great bit of Courage. | 14:44 | |
skids | And pictures of hobbits | 14:45 | |
pmichaud | ooooooh! I like RPG-like states. | ||
*stats | |||
alester | RPG | ||
RPG? | |||
pmichaud | "role playing game" | ||
alester | ah, right | ||
pmichaud | Strength, Dexterity, Intelligence, Wisdom, Charisma, etc | ||
alester | Some geek I am. | ||
yes, yes, I know. | |||
skids | .oO(not "rocket propelled grenade") |
14:46 | |
alester | I rolled a natural 18 in Awesomeness. | ||
pmichaud | oh, here I thought it was "Report Program Generator" | ||
14:46
nihiliad joined
|
|||
pmichaud | one of the predecessors to Perl :-) | 14:46 | |
pmichaud remembers programming in RPG in college | |||
skids | The rocket propelled grenade? | ||
pmichaud | en.wikipedia.org/wiki/RPG | 14:47 | |
14:49
stepnem left
|
|||
KyleHa | Stats: Tuits, Asbestos, Brane, Verbal Comprehensibility That last one needs some brevity. | 14:50 | |
pmichaud | "Eloquence"? | 14:51 | |
not quite right... | |||
masak | Clarity. | ||
14:52
PacoLinux joined
|
|||
jnthn | Don't forget "Insanity" :-) | 14:53 | |
Matt-W constructs a One Roll System character structure for Perl 6 hackers | |||
Certain things just instantly fit. Tuits are obviously modelled similarly to Godlike's Will points | 14:55 | ||
KyleHa | jnthn: Reminds me of the 'san' stat from Call of Cthulhu. | 14:56 | |
14:57
AzureStone left
|
|||
Matt-W | Godlike has a stat called 'Cool', there's a useful skill to go with it called Mental Stability. It's what governs if you go insane in the middle of a pitched battle | 14:58 | |
ooh , home time | |||
masak | Matt-W: when does the next cool feature in Form land? | 14:59 | |
15:00
icwiener left
|
|||
jnthn has finished various of his $other_tasks for today | 15:01 | ||
Quick break, then some Rakudo hacking :-) | 15:02 | ||
15:02
justatheory joined
|
|||
masak | \o/ | 15:02 | |
15:03
justatheory left
15:04
stepnem joined
|
|||
moritz_ | nice backlog :-) | 15:13 | |
masak | we like to keep busy. :) | 15:14 | |
jnthn | OK time for me to do something useful. | 15:15 | |
15:16
mberends left
15:18
PacoLinux left
15:20
donaldh left,
donaldh joined
|
|||
TimToady | rakudo: subset DNA of Str where { all(.comb) eq any <A C G T> }; my DNA $dna = "GATTACA"; say $dna; | 15:22 | |
p6eval | rakudo 0e8a86: OUTPUT«GATTACA» | ||
masak | rakudo: subset DNA of Str where { all(.comb>>.uc) eq any <A C G T> }; my DNA $dna = "gattaca"; say $dna; | ||
p6eval | rakudo 0e8a86: OUTPUT«gattaca» | 15:23 | |
masak | \o/ | ||
TimToady | need space after any | ||
masak | ok. | ||
why? | |||
TimToady | listop | ||
takadonet | more bio-informatics i see.... | ||
masak | TimToady: listops need space after them? | ||
TimToady | foo<bar> turns into foo()<bar> | ||
masak | oh! | 15:24 | |
that explains it. | |||
15:25
digitalise left,
pyrimidine joined
|
|||
TimToady | surely .uc.comb is more efficient | 15:26 | |
masak | oops, aye. | 15:27 | |
jnthn | Surely. | ||
masak | rakudo: subset DNA of Str where { all(.uc.comb) eq any <A C G T> }; my DNA $dna = "gattaca"; say $dna; | ||
p6eval | rakudo 0e8a86: OUTPUT«gattaca» | ||
jnthn | rakudo: subset DNA of Str where { all(.uc.comb) eq any <A C G T>}; my DNA $dna = "lolnotdna"; say $dna; | 15:28 | |
p6eval | rakudo 0e8a86: OUTPUT«Assignment type check failed; expected , but got Strin Main (/tmp/7SYiN7AlvS:2)» | ||
jnthn | (just checking :-)) | ||
masak | ELOLNOTDNA | ||
TimToady | course, where not /<-[ACGTactg]>/ might beat all those | ||
pyrimidine | Thought I saw bioinformatics going on | ||
masak | pyrimidine: it is you! | ||
pyrimidine | o/ | 15:29 | |
moritz_ | but it involves no junction, so it can't be any good :-) | ||
takadonet | ? | ||
masak | takadonet: this time, it was a joke. :) | ||
takadonet | hehe | ||
TimToady | ttaggg & | ||
jnthn | pmichaud: ping | 15:30 | |
masak | halp, TimToady is speaking in DNA bases! | ||
is my hunch right, and that actually means something as amino acids? | |||
masak checks | |||
pyrimidine | yes | ||
masak | TimToady++ | 15:31 | |
takadonet wishes that amino acids were only 4 characters, stupid sequencers introducing others | 15:32 | ||
pmichaud | jnthn: pong | 15:33 | |
jnthn | pmichaud: moment to talk about lexicals and scalars? | ||
s/^/Got a / | 15:34 | ||
pmichaud | sure | ||
jnthn | OK. | ||
For lexpads. I'm wondering if we could maybe prototype the concept from PIR first somehow. | |||
pmichaud | I have trouble seeing how that might work. | 15:35 | |
skids notes camelia is one l short of being caffienated. | |||
15:35
zamolxes left
|
|||
jnthn | Hmm, maybe not. | 15:35 | |
pyrimidine | takadonet: I see you're a bioinformat... err, computational biologist | ||
jnthn | pmichaud: How much effort do you think the Parrot change would be? | ||
skids | .oO(bioinformant?) |
15:36 | |
jnthn | For someone reasonably experienced in Parrot guts but didn't do the last lexicals refactor? | ||
pmichaud | The lexicals refactor itself is/was very straightforward. | ||
I can explain it very quickly. | |||
takadonet | pyrimidine: Somewhat.... just have a degree in CS. Been working in the field for almost 2 years now | ||
jnthn | OK. | ||
I sort of what to get the traits on variables stuff done right, that's all. | |||
pmichaud | What made lexicals such a pain to do was (1) understanding what needed to be done, and (2) working around all of the other Parrot crap that kept the straightforward implementation from working | 15:37 | |
jnthn | w/what/want/ | ||
takadonet | pyrimidine: Are you one? | ||
pyrimidine | yes | ||
github.com/cjfields/bioperl6/tree/master | |||
pmichaud | i.e., it wasn't the lexicals implementation itself that was hard, it was the Parrot GC | ||
15:37
frodwith left
|
|||
pyrimidine | (just getting started there, it's still in the works) | 15:37 | |
takadonet | pyrminidine: YOU! I e-mailed you about helping out on that project | 15:38 | |
pmichaud | so, I think the parrot change itself shouldn't be too difficult.... but here are the places where things would likely go wrong | ||
(1) imcc has to be updated to create a LexPad structure instead of a LexInfo | |||
jnthn | OK. Before we go further - allison essentially approves of this plan? | 15:39 | |
pmichaud | (2) ongoing issues with gc and context management | ||
pyrimidine | really? If you want I'll add you as collab | ||
pmichaud | (3) there is no #3 | ||
when I've briefly discussed it with allison she seemed agreeable to it. | |||
takadonet | That would be great. | ||
jnthn | OK. | ||
pmichaud | but we didn't get into details. I should probably make it into a more formal proposal and submit to parrot-dev and then corner allison for an opinion on it. | ||
jnthn | So, outline to me what you see being done. Particularly, I'm interested to know where we store the "initial" value when there's no register frame active. | 15:40 | |
That is, right now a lexpad stores register numbers. | |||
pmichaud | should we move to #parrot? | ||
pyrimidine | takadonet: Done | 15:41 | |
takadonet: I also have biomoose if you want in on that | |||
masak | rakudo: my $dna = "ttaagg"; sub translate($dna) { "FFLLSSSSYY!!CC!WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG".comb[map { :4($_) }, $dna.trans("tcag" => "0123").comb(/.../)] }; say translate($dna) | 15:43 | |
jnthn | pmichaud: OK, lets | ||
p6eval | rakudo 0e8a86: OUTPUT«LR» | ||
masak | that's what I got too. | ||
pyrimidine | masak: nice! | 15:44 | |
masak | I know! :) | ||
I should blog about it. | |||
"The Genetic Code one-liner in Perl 6" | |||
takadonet | pyriminidine: Thanks for adding me. I will just stay with bioperl6 only | 15:45 | |
moritz_ | for the unintiated, what does it do? | 15:46 | |
pyrimidine | takadonet: np. | ||
masak | moritz_: ok, so you know about DNA and amino acids? | ||
moritz_ | masak: roughly, yes | ||
masak | moritz_: there's a way the body converts from the former to the latter, called the "Genetic Code". | ||
pyrimidine | moritz_: en.wikipedia.org/wiki/Central_dogma...ar_biology | ||
masak | basically, it's a 64-entry hash table. | ||
each entry consists of 3 DNA bases. | 15:47 | ||
4 * 4 * 4 = 64 | |||
moritz_ | ok | ||
now it starts to make sense to me | |||
thanks masak++ | |||
masak | np | ||
takadonet | en.wikipedia.org/wiki/Genetic_code | ||
masak | one of the things about Nature that I find really fascinating is that the Genetic Code is nearly universal, but has small changes in some organisms -- and those changes might not be random, because there's great stability in such a hash table in the center of everything. the changes might be optimisations. | 15:50 | |
pyrimidine | masak: yes. there are also unusual amino acids not apparent in the coding; selenocysteine, pyrrolysine, etc. | ||
all of these have some function | 15:51 | ||
masak | ah, yes. | ||
post-processing. | |||
pyrimidine | in some cases yes, but selenocysteine has a specific tRNA IIRC | 15:52 | |
15:52
AzureStone joined
|
|||
pyrimidine | it complicates matters, but it's rarely used (requires a SECIS element) | 15:52 | |
15:52
justatheory joined
|
|||
pyrimidine are we in #bioperl? | 15:52 | ||
masak | :) | 15:53 | |
no, but Perl 6 people are omnivores, and proud of it. | 15:54 | ||
takadonet | well there are at least 3 Bioinformatician here... | ||
pyrimidine assimilate! assimilate! | |||
masak | pyrimidine: no need. by the end of this century, everything will be bioinformatics. :) | 15:57 | |
16:03
PacoLinux joined
16:06
dakkar left
|
|||
Snublefot_Work | *PoFF* | 16:08 | |
16:14
justatheory left,
justatheory joined
|
|||
masak | use.perl.org/~masak/journal/39238 # The Genetic Code one-liner in Perl 6 | 16:16 | |
16:16
StephenPollei joined
|
|||
Tene | masak: html escaping plz | 16:17 | |
< > | |||
16:17
tann joined
|
|||
masak | Tene: where? looks right to me. | 16:17 | |
Tene | subset DNA of Str where { all(.uc.comb) eq any }; | 16:18 | |
masak | oh! thanks! | ||
masak fixes immediately | |||
jnthn | masak: heh, I often get caught out by that one too | 16:19 | |
masak | jnthn: I'm pondering making my own offline client for making use.perl.org posts, so I won't have to author them in crippled HTML. | 16:20 | |
writing them in Perl 6 Pod would be kinda nice, for example. | |||
alester | masak: Why bother posting them on use.perl.org at all? | ||
16:21
cdarroch joined,
hercynium left
|
|||
masak | alester: because I like it there? :) | 16:21 | |
alester | Except for thebad HTML. :-) | ||
masak | and a bunch of other things, yes. | 16:22 | |
alester | Fair 'nuff. | ||
masak | in fact, I was planning to blog about that too -- how, unlike for many others, the advantages outweigh the pains on use.perl.org | 16:24 | |
pyrimidine | would be a nice aside from the many 'I am leaving use.perl for other pastures' posts of late | 16:26 | |
masak: Saw your previous post as well (Str and Buf). Now I get it as well! | 16:27 | ||
masak | pyrimidine: glad to hear that. :) | 16:28 | |
pyrimidine: ok, I'll see if I can put an "I'm staying post" together tonight. | |||
alester | masak: What are those advantages? | 16:29 | |
PerlJam | masak++ | ||
masak | alester: the domain name. | ||
alester | How do you find that to be an advantage? | ||
masak | I like the fact that I can blog from a subdomain of perl.org | 16:30 | |
alester | Do you find that helps? | ||
masak | I don't know about "helps", but I like that. | ||
pyrimidine thinking we need a blog.perl.org | 16:31 | ||
moritz_ | pyrimidine: feel free to set one up. | ||
masak wishes blogging software for Perl 6 were further along | |||
16:31
Psyche^ joined
|
|||
masak | alester: another advantage: I have all my posts so far there. and all the comments to those posts. | 16:33 | |
I guess exporting them is possible, but I'm not sure it'd be fun. | |||
alester: a third advantage: the lack of features actually makes me concentrate on the contents of the post. lots of things can be said about the Slash codebase, but it doesn't distract me from authoring the post. | 16:34 | ||
(it distracts me in the authoring process itself, but that's another issue) | 16:35 | ||
pyrimidine | moritz_: Everything would devolve into bioinformatics-related stuff, which would probably annoy everyone to no end | ||
moritz_: (not to mention the boss would get mad) | |||
16:35
Jedai joined
|
|||
alester | masak: I never write anything in an online form if it's more than a paragraph. | 16:35 | |
pyrimidine | ;) | ||
takadonet | pyrimidine: I would probably read it | 16:36 | |
masak | alester: sorry, I didn't understand that. | ||
takadonet | well maybe | ||
masak goes swimming | 16:37 | ||
pyrimidine | alester: I take that to mean you like to be concise? | ||
alester | I like to be concise, but that wasn't what I was getting at. | 16:38 | |
The web tool doesn't affect what or how I write, because I do it in vim, separate from the web form. | |||
masak | alester: oh, same here. but Emacs. | ||
I don't like to edit text for a long time in a small textarea. | 16:39 | ||
pyrimidine hopes masak doesn't get electrocuted chatting while swimming | |||
masak | pyrimidine: :) not quite there yet. | 16:40 | |
but thanks for your concern. | |||
& really | 16:42 | ||
16:42
masak left
16:43
Patterner left,
Psyche^ is now known as Patterner
16:55
edpratomo joined,
hercynium joined
17:03
tann left
17:09
abra joined
|
|||
pmichaud | (blogging software) -- currently I have my wiki engine so that it will output markup in use.perl.org-compatible HTML | 17:16 | |
so then I can write my posts using PmWiki markup (which I like) and let it convert into use.perl/drupal/movabletype/blogger/whatever | 17:17 | ||
17:17
jhorwitz joined
|
|||
moritz_ | or in other words: you use a compiler to write blog posts ;-) | 17:17 | |
pmichaud | sure. | ||
all programs are really just compilers of one form or another :-) | |||
moritz_ | a random generator is not, IMHO | 17:18 | |
17:18
abra left
|
|||
TimToady | when all you have is a compiler... | 17:19 | |
moritz_ | .. every tree looks abstract to you. | 17:20 | |
17:24
ruoso left
|
|||
mdxi | "Why is your compiler generating random opcodes?" asked the Master. "Because," said the student, "I did not want it to have any preconceptions of the underlying architecture." | 17:32 | |
17:32
pyrimidine left
17:34
amoc left,
mberends joined
17:41
pyrimidine joined
17:43
FurnaceBoy joined
17:50
amoc joined
17:52
pyrimidine_ joined
17:54
ruoso joined
|
|||
jnthn finally starts to get a grip, after hours of hunting, on why crony.t broke. | 17:54 | ||
pmichaud: About? | 17:56 | ||
pmichaud | here. | ||
jnthn | ok | ||
I'm looking at ACCEPTS on a proto-object. | |||
Basically it ends up punning a role. | |||
17:56
japhb left
|
|||
jnthn | I've not worked out quite what blows it but I did notice this: | 17:56 | |
topichow = topic.'HOW'() | 17:57 | ||
topicwhat = topic.'WHAT'() | |||
$I0 = isa topicwhat, parrotclass | |||
if $I0 goto end | |||
$I0 = does topic, parrotclass | |||
goto end | |||
Is it me, or is topichow completely unused here? | |||
pmichaud | I remember seeing that once before also | ||
what line is that? | 17:58 | ||
jnthn | 765 | ||
pmichaud | what file? | 17:59 | |
pugs_svn | r27443 | lwall++ | [smartmatch.t] fix bad scoping found by STD | ||
r27443 | lwall++ | (and shouldn't be using context vars when lexicals will do) | |||
pmichaud | it's obviously not used. I think it's left over from some previous versions of .ACCEPTS | 18:00 | |
jnthn | Even better, it appears that commenting that line out clears up the bug. | 18:01 | |
pmichaud | I can believe that. | ||
Feel free to remove it. | |||
(and bump PARROT_REVISION) | |||
jnthn | OK | ||
Yep | |||
KyleHa | So it's having a side effect? | ||
jnthn | aye | 18:02 | |
KyleHa | Should it have a side effect? | ||
pmichaud | that's a good question :-) | 18:03 | |
afk for a while (planning) | |||
jnthn | KyleHa: I fear not. | ||
rakudo: role Foo { }; Foo.HOW | 18:04 | ||
p6eval | rakudo 0e8a86: ( no output ) | ||
jnthn | rakudo: role Foo { say "ouch" }; say 1; Foo.HOW; say 2 | ||
p6eval | rakudo 0e8a86: OUTPUT«12» | ||
jnthn | rakudo: role Foo { say "ouch" }; say 1; Foo.HOW; say 2; Foo.new; say 3; | ||
p6eval | rakudo 0e8a86: OUTPUT«123» | ||
pmichaud | I like "ouchless" code. | 18:05 | |
jnthn | rakudo: role Foo { say "ouch" }; say 1; Foo[].HOW; say 2; Foo.new; say 3; | ||
p6eval | rakudo 0e8a86: OUTPUT«123» | ||
pmichaud | "Perl 6: Code that doesn't hurt. (Unless you're the compiler implementor.)" | ||
jnthn | sub prefix:<[//]>(@a) { | 18:06 | |
return (); | |||
} | |||
KyleHa: That looks wrong. | |||
KyleHa | What should it return if it receives an empty list? | ||
...or nothing in the list is defined? | 18:07 | ||
jnthn | undef I guess | ||
But it should probably return the first defined item. | |||
pmichaud | it should also probably have a slurpy param | ||
jnthn | That also. | ||
KyleHa | It does that as written. The only way to get to 'return ()' is if there's nothing defined in the list. | ||
pmichaud | possibly a slice slurpy param | ||
although I guess slurpy would be sufficient | 18:08 | ||
jnthn | oh wait, I@m confused | ||
18:09
pyrimidine left
|
|||
jnthn | How many patches were meant to be attached to that mail? | 18:09 | |
KyleHa | I don't understand "slurpy" and "slice slurpy". | ||
18:09
amoc left
|
|||
KyleHa | Well, I did two commits in my repo, so it may have come out as two patches. I just used git-patch-format, or whatever it says in the README. | 18:09 | |
pmichaud | KyleHa: the patch you submitted seems to only have the [||] implementation. | ||
and normally we like the patches to get squashed | |||
we probably need to fix the README | 18:10 | ||
KyleHa | You're right, it only has [||] in it. | ||
pmichaud | I think the more up-to-date guide is wiki.github.com/rakudo/rakudo/steps...te-a-patch | ||
KyleHa | Aha, that's helpful. | 18:11 | |
pmichaud | althugh I'm not sure about all of the "fork repo" and "push branch" stuff. | 18:13 | |
KyleHa | Like, ha ha, and stuff. | ||
I'm now less embarrassed about not reading the README before asking on channel. | 18:14 | ||
18:16
allbery_b left
18:20
Pismire joined
|
|||
jnthn | crony.t passes again \o/ | 18:23 | |
pmichaud | yay | ||
after you bump PARROT_REVISION, I'll send an updated list of gc-related failures to parrot-dev | 18:24 | ||
jnthn | pmichaud: Running full spectest now. | ||
Then will push. | |||
18:26
pmurias joined
|
|||
pmurias | hi | 18:26 | |
lambdabot | pmurias: You have 3 new messages. '/msg lambdabot @messages' to read them. | ||
18:32
tann joined
18:33
azawawi joined
|
|||
azawawi | hi | 18:33 | |
pmurias | azawawi: hi | 18:34 | |
azawawi | pmurias: what's new with mildew these days? | 18:37 | |
18:43
pmurias left,
pmurias joined
|
|||
pmurias | azawawi: atm i'm trying to speed up mildew by making it compile code to C | 18:44 | |
18:49
KyleHa left
18:52
pyrimidine_ is now known as pyrimidine
|
|||
pmurias | ruoso: is there anything in mildew which may start new thread? | 18:52 | |
* threads | |||
18:53
Front_slash left
|
|||
ruoso | pmurias, why do you ask? | 19:01 | |
19:01
mkindahl left
19:02
japhb joined
|
|||
ruoso | pmurias, there was a test that initialized different threads | 19:02 | |
19:03
pmurias_ joined
|
|||
pmurias_ | ruoso: i forgot to turn on reference counting and multi.t was segfaulting | 19:04 | |
(due to lack of memory) | |||
gdb was printing some messages about threads | |||
19:04
pmurias left
19:05
pmurias_ is now known as pmurias
19:08
Pismire2 joined
|
|||
Matt-W | @tell masak The next cool feature in Form will arrive some time after somebody writes it. | 19:10 | |
lambdabot | Consider it noted. | ||
19:12
pmurias left,
pmurias joined
19:13
azawawi left
|
|||
pmurias is running make test for a yeastish CORE | 19:16 | ||
jnthn | pmichaud: dinner now; pushed changes | 19:17 | |
(inc rev bump) | |||
bbiab | |||
pmichaud | jnthn++ | 19:19 | |
dalek | kudo: 1340dd4 | jnthn++ | src/ (3 files): A few s/new/root_new/ for the (minor) win. |
||
kudo: ec0a594 | jnthn++ | src/parrot/P6role.pir: Oops, last patch had an issue. |
|||
kudo: 68fd939 | jnthn++ | src/parrot/P6role.pir: Another new that should have been a root_new. |
|||
kudo: c70c241 | jnthn++ | (2 files): Bump PARROT_REVISION, unfudge crony.t. |
|||
19:20
donaldh left,
donaldh joined
|
|||
pmurias | ruoso: is it ok if i have the CORE be compiled by yeast once yeast passes all the tests? | 19:21 | |
19:23
Pismire left
|
|||
ruoso | pmurias, sure it can | 19:24 | |
19:24
hercynium left
|
|||
pugs_svn | r27444 | pmurias++ | [re-smop] copied over some more methods into YeastFrame | 19:26 | |
r27444 | pmurias++ | fixed the way yeast compiles goto | |||
r27445 | pmurias++ | [re-smop] added an old version of t/spec/S06-signature/positional.t i | |||
r27445 | pmurias++ | use as a (random and flawed) benchmark | |||
r27446 | pmurias++ | [re-smop] | 19:27 | ||
r27446 | pmurias++ | yeast passes all tests - use it to compile the CORE | |||
r27446 | pmurias++ | fix test count in t/benchmark.t | |||
19:29
finanalyst joined
|
|||
finanalyst | @seen pmichaud | 19:29 | |
lambdabot | pmichaud is in #perl6. I last heard pmichaud speak 10m 40s ago. | ||
ruoso | pmurias, is it noticeable if yeast makes mildew faster? | 19:30 | |
finanalyst | pmichaud: hello | ||
pmichaud | finanalyst: hello | ||
19:30
Pismire2 left
|
|||
finanalyst | pmichaud: i was using sub infix: to define a matrix operator and found I have to predefine it before using the operator. Is this always going to be the case? | 19:31 | |
pmichaud | likely yes. | 19:32 | |
jnthn | Single pass parsing would require that I guess. | 19:33 | |
pmichaud | although you might be able to get away with a stub declaration or proto or something. | ||
but something has to tell the parser "this is a new operator" before it encounters it. | |||
jnthn | proto you can probably get away with now. | ||
(stub is nyi) | 19:34 | ||
finanalyst | i used a stub with { ... } but i got a message "routine redefined" | ||
stub worked for me | |||
also i want the definition of the operator to be in the same file (not in a module), but not at the front of the program, so a stub is the preferred solution | 19:35 | ||
19:36
pmurias_ joined,
pmurias left,
pmurias_ is now known as pmurias,
KyleHa joined
|
|||
finanalyst | except the redefined routine message seems wrong | 19:36 | |
jnthn | Erm, that's why stubs don't work. :-) | 19:37 | |
pmurias | ruoso: not sure, could you check that? | 19:38 | |
pmichaud | I suppose it wouldn't be too difficult to detect when a sub contains only a stub. | ||
ruoso | pmurias, trying to.. | ||
pmichaud | and mark it as "redefinable" | ||
19:38
pmurias_ joined
|
|||
jnthn | pmichaud: Indeed, but also we most likely don't want to emit a PAST::Block for it at that point either. | 19:41 | |
pmichaud | sure we do. | ||
jnthn | erm? | ||
pmichaud | sub foo() { ... }; foo(); | ||
jnthn | oh, hmm | ||
pmichaud | that should give an error other than "foo not found" | ||
jnthn | perhaps, yeah. | 19:42 | |
finanalyst | or as now "routine foo is redefined" | ||
pmichaud | S03: The C<...> operator is the "yada, yada, yada" list operator, which | ||
among other things is used as the body in function prototypes. | |||
It complains bitterly (by calling C<fail>) if it is ever executed. | |||
jnthn | erh, ok | 19:43 | |
finanalyst | rakudo: sub foo () { ... }; my $x=1; sub foo () { say 'yeah' } | ||
p6eval | rakudo 0e8a86: OUTPUT«Redefinition of routine foo» | ||
jnthn | We're gonna have to be careful that we don't end up with it as a bogus multi candidate. | ||
pmichaud | well, it's still not a multi :-) | ||
jnthn | Not in this case, no | 19:44 | |
pmichaud | finanalyst: we agree with you that rakudo does the wrong thing right now with respect to ... | ||
finanalyst | rakudo: sub foo () { !!! }; my $x=1; foo() | ||
p6eval | rakudo 0e8a86: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near "!!! }; my "in Main (src/gen_setting.pm:3340)» | ||
jnthn | I meant more like how to handle multi foo() { ... } | ||
finanalyst | why would you want multi foo() { ... }? | ||
pmichaud | same reason you'd want sub foo() { ... } -- to stub something in for later. | 19:45 | |
the canonical example would be multi infix:<something>($a, $b) { ... } | |||
although one could potentially use 'proto' for that. | 19:46 | ||
finanalyst | but why 'multi' when simply 'foo' would be sufficient? | ||
pmichaud | it might not be sufficient | ||
if one wants to multi-dispatch on the operator | |||
(or on the sub) | |||
finanalyst | how would you accomplish a multi-dispatch on something that isnt redefined? | 19:47 | |
pmurias | ruoso: any results? | 19:48 | |
finanalyst | wouldnt sub foo() { ... } be sufficient for the compiler to know that a foo() exists, and then later multi foo() { # more code }? | ||
pmichaud | No. | ||
Declaring foo() as a "sub" means it can't be "multi" later. | |||
(in the same scope) | 19:49 | ||
finanalyst | ah | ||
19:49
pmurias_ left
|
|||
ruoso | pmurias, still getting a comparision value with the non-yest core | 19:49 | |
pmichaud | rakudo: sub foo() { say 'ok'; }; sub foo() { say 'huh'; } | ||
p6eval | rakudo 0e8a86: OUTPUT«sh: ./perl6: No such file or directory» | ||
pmichaud | oops. | ||
rakudo: sub foo() { say 'ok'; }; sub foo() { say 'huh'; } | |||
p6eval | rakudo 0e8a86: OUTPUT«sh: ./perl6: No such file or directory» | ||
TimToady | std: sub foo() { say 'ok'; }; sub foo() { say 'huh'; } | 19:50 | |
p6eval | std 27446: OUTPUT«##### PARSE FAILED #####Illegal redeclaration of package routine foo at /tmp/Qk6jH8UhpL line 1:------> sub foo() { say 'ok'; }; sub foo() { say 'huh'; } expecting new name to be definedFAILED 00:02 37m» | ||
TimToady | std: sub foo() { say 'ok'; }; my sub foo() { say 'huh'; } | ||
pmichaud | std: sub foo() { say 'ok'; }; multi foo() { say 'huh'; } | ||
p6eval | std 27446: ( no output ) | 19:51 | |
std 27446: OUTPUT«##### PARSE FAILED #####Illegal redeclaration of package routine foo at /tmp/iW7ZLzij9h line 1:------> sub foo() { say 'ok'; }; multi foo() { say 'huh'; } expecting new name to be definedFAILED 00:02 37m» | |||
pmichaud | rakudo: sub foo() { say 'ok'; }; sub foo() { say 'huh'; } | ||
p6eval | rakudo 0e8a86: OUTPUT«sh: ./perl6: No such file or directory» | ||
TimToady | std: sub foo() { say 'ok'; }; my sub foo() { say 'huh'; } | ||
p6eval | std 27446: OUTPUT«##### PARSE FAILED #####Illegal redeclaration of lexical routine foo at /tmp/WvV3wi5sIE line 1:------> sub foo() { say 'ok'; }; my sub foo() { say 'huh'; } expecting new name to be definedFAILED 00:02 37m» | ||
pmichaud | (p6eval -- perpetuating the myth that perl6 is vaporware) | ||
TimToady | note you can get a collision in either the package or the lexical scope | 19:52 | |
ruoso | pmurias, there's a small improvement | ||
pmurias, but I think the most expesive part now is the bootstrap of the CORE | |||
19:52
pyrimidine left
|
|||
TimToady | std: sub foo() { say 'ok'; }; { my sub foo() { say 'huh'; } } | 19:53 | |
p6eval | std 27446: OUTPUT«ok 00:02 37m» | ||
TimToady | std: sub foo() { say 'ok'; }; { sub foo() { say 'huh'; } } | ||
p6eval | std 27446: OUTPUT«##### PARSE FAILED #####Illegal redeclaration of package routine foo at /tmp/ken6ORz1Hz line 1:------> sub foo() { say 'ok'; }; { sub foo() { say 'huh'; } } expecting new name to be definedFAILED 00:02 37m» | ||
pmurias | ruoso: any solutions for that? | 19:55 | |
ruoso | pmurias, don't know... but a simple "1;" takes 9 seconds here... while with --empty-setting is immediate... | 19:56 | |
it surprises me that loading a yeast core is almost the same as loading a mold core | 19:57 | ||
since mold requires that every bytecode is read immediatly... | |||
while in yeast it simply points to the function | 19:58 | ||
pmurias, hmm... interesting... | |||
the yeast functions are not part of the shared interface | 19:59 | ||
pmichaud | jnthn: S03-operators/smartmatch.t gives me a non-gc related failure | ||
TimToady | I just revised it, so not surprising | ||
pmichaud | oh, I missed that. | ||
checking. | |||
ruoso | TimToady, after your last changes in STD regarding '::', am I wrong to understand that the final S11 won't be much far from the current version? | 20:00 | |
pmurias | ruoso: shared inteface = ? | ||
TimToady | ruoso: still working on that | ||
ruoso | pmurias, it means that it is being loaded into the program space | ||
20:01
azawawi joined
|
|||
ruoso | pmurias, probably because you're declaring it as static | 20:01 | |
azawawi | ahmadzawawi.blogspot.com/2009/07/wh...erl-6.html | ||
pmurias | ruoso: that's bad? | ||
jnthn | pmichaud: I noticed that, but had put it down to GC. | ||
pmichaud: 'cus I did once have a GC fail in that test. | |||
ruoso | pmurias, it might be related to the slow startup | 20:02 | |
pmichaud | it's due to TimToady++'s changes to the test file | 20:03 | |
I'll see if I can clean them up a bit | |||
pmurias | the slow startup might be related to multis being in the CORE | ||
and they are slow (try running t/multi.t) | |||
ruoso | pmurias, there's one other thing... you never reuse any idconst | ||
the generated C code have tons of SMOP__NATIVE__idconst_createn | 20:04 | ||
20:04
edpratomo left
|
|||
ruoso | and several of them are the same | 20:04 | |
pmurias, but during the CORE startup no multi is invoked | |||
they are simply created | |||
pmichaud | TimToady: I'm confused a bit by | 20:05 | |
ok(%hash1 ~~ any(%hash3), "intersecting keys"); | |||
ruoso | a hash in list context return the list of pairs? | ||
pmichaud | Would any(%hash3) be a junction of Pairs? | ||
TimToady | I didn't look at the semantics of the test to see if they made sense specwise | ||
pmichaud | so ~~ any(%hash3) would seem to be a smart match against a Pair | 20:06 | |
TimToady | I supposed it would | ||
probably wants a .keys in there | |||
pmichaud | oh, wait, it's | ||
Hash Pair test hash mapping $_{Xkey} ~~ Xval | |||
20:06
azawawi left
|
|||
TimToady | that's not what the comment says though... | 20:07 | |
pmichaud | okay, so smart matching a Hash against a Pair then. I suspect Rakudo only knows the filetest meaning of smart matching against a Pair | ||
but yes, that's not what the test description says | 20:08 | ||
TimToady | but anyway, my change was motivated primarily by the fact that someone slapped {...} around some my declarations and expected them to work outside | 20:09 | |
ruoso | pmurias, one thing that would improve a lot the performance would be to get all idconsts and initialize them once, reducing the number of registers used, by simply using them directly inside each yeast function | ||
TimToady | confusing the issue was that they were declared context | ||
pmichaud | right | ||
20:09
masak joined
|
|||
TimToady | but that couldn't have worked either, even if rakudo supported it | 20:09 | |
pmichaud | rakudo was skipping them because of the 'is context' | ||
correct. | |||
okay, we'll work on cleaning that up. | 20:10 | ||
later, in | |||
ok((%hash1 ~~ any(<foo bar>)), "any key exists (but where is it?)"); | |||
that looks completely wrong to me. | |||
TimToady | yes, it looks like the old reversible semantics, I think | 20:11 | |
a string on the right always does eq | |||
pmichaud | right. | 20:13 | |
okay, so a lot of cleanups to do there. | |||
Perhaps I'll just remove it from spectest regression until it can be properly corrected and fudged | |||
ruoso | pmurias, also, inner yeast frames are being created prematurely, it seems | ||
TimToady | it was almost entirely fudged before anyway | 20:14 | |
pmichaud | agreed | ||
pmurias | ruoso: created prematurely? | ||
ruoso | pmurias, the inner yeast frames could be created only when the code was called, which means inside the yeast function... they are currently being created as constants in the registers | 20:15 | |
ah... that are not the frames | |||
would it be too hard to consolidate the idconst initialization? | 20:17 | ||
pmurias, I think that would make it clearer on what we could do later | |||
pmurias | no that should be very hard | ||
ruoso: i'm wondering if running gprof would helpfull | |||
ruoso | pmurias, I'm not sure it would... but you could try... but there's one thing gprof will say that I'm already saying... SMOP__NATIVE__idconst__createn is being called too many times | 20:18 | |
masak | .oO( inner yeast frames?! ) |
20:20 | |
lambdabot | masak: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
masak | @massage | ||
lambdabot | Matt-W said 1h 9m 38s ago: The next cool feature in Form will arrive some time after somebody writes it. | ||
masak | Matt-W: :P | ||
ruoso | masak, yeast is the mold version of lost ;) | ||
masak is the masak version of lost | 20:21 | ||
ruoso | pmurias, in fact, the Yeast object is not really needed... you could create the frame directly and have the constants available in the C scope... | ||
and then simply use them inside the yeast function | 20:22 | ||
(hopefully some beer should come out of all that yeast) | |||
(or at least some bread) | |||
pmurias | or a tasty cake | ||
dalek | kudo: cf851ca | pmichaud++ | t/spectest.data: Remove S03-operators/smartmatch.t from spectest.data -- it has several spec errors. |
20:23 | |
20:23
meppl left
|
|||
moritz_ | pmichaud: could you elaborate on the errors please? | 20:24 | |
pmichaud | moritz_: many of the smart matches don't test what they claim to be testing | ||
because the spec has changed, likely. | |||
a quick-glance review | 20:26 | ||
ok(%hash1 ~~ any(%hash3), "intersecting keys"); | |||
pmurias | ruoso: the Yeast object is needed as somethings (like Code) expect a factory for making frames | ||
pmichaud | ok(%hash1 !~~ any(%hash4), "no intersecting keys"); | ||
pmurias | ruoso: but getting rid of constants from a Yeast is a good idea | 20:27 | |
pmichaud | ok((%hash5 ~~ @true), "value slice true"); | ||
ok((%hash5 ~~ @sort_of), "value slice partly true"); | |||
ok(!(%hash5 ~~ @false), "value slice false"); | |||
ok((%hash1 ~~ any(<foo bar>)), "any key exists (but where is it?)"); | |||
ok(!(%hash1 ~~ any(<gorch ding>)), "no listed key exists"); | |||
ok((%hash1 ~~ all(<foo blah>)), "all keys exist"); | 20:28 | ||
ok(!(%hash1 ~~ all(<foo edward>)), "not all keys exist"); | |||
...etc... | |||
moritz_ | ok, I'll take another look | ||
20:28
molaf_x joined,
jhorwitz left
|
|||
pmichaud | clearly out of the first batch more tests are wrong than correct. | 20:29 | |
moritz_ | should [||] and [//] short-circuit? | ||
pmichaud | I think the spec says they lose their short-circuitness as reduction ops | ||
TimToady | to the extent the list is lazy | 20:30 | |
ruoso | pmurias, I see, because you need a SMOP__Object and not just a function pointer... but yeah... the constants could be removed from that... | ||
pmichaud | TimToady++ # ah yes, laziness rules | ||
TimToady | but it can't be relied upon to suppress side effects, since lists are only mostly lazy | 20:31 | |
20:31
mberends left
|
|||
TimToady | unless we treat those reductions specially and enforce strict laziness | 20:31 | |
pmichaud | would something like [//] @array, foo() always result in foo() being called? | ||
even if @array is lazy ? | |||
TimToady | not predictable | 20:32 | |
pmichaud | okay. | ||
TimToady | the impl is allowed to batch things as it sees fit | ||
could even be controlling the batch size from /dev/urandom :) | 20:33 | ||
or /dev/catbox :) | |||
20:33
mikehh_ joined
|
|||
jnthn | "Why is my program fast only sometimes?" | 20:33 | |
pmichaud | "The cat is asleep." | ||
jnthn | "We batch randomly and sometimes get lucky." | ||
pmichaud | "The cat left its review of your code in the catbox." | 20:34 | |
TimToady | your program is pining for the fjords some of the time | ||
actually, that would explain a lot about parrot... | |||
why couldn't it have been Schroedinger's Parrot? | 20:35 | ||
pmichaud | new lightning talk: "Schroedinger's Parrot" | ||
TimToady | of course, then parrot would have been named cat instead... | 20:36 | |
KyleHa | Cat ate the parrot. | ||
pmichaud | "Schroedinger's Parrot" explains why Rakudo gives different results depending on the state of garbage collection. | ||
and GC of course gets us right back to the catbox analogy. | |||
TimToady | and people would be given "Useless use of parrot" awards | ||
pmichaud | "Useless use of parrot" # yet another terrific lightning talk title | 20:37 | |
TimToady | funny thing is, it makes sense to say "parrot /etc/passwd" | ||
sjohnson | does anyone here get to do perl fulltime at work, 100% job description, and get paid decently? | ||
TimToady | define "perl", "fulltime", "work", and "paid" | 20:38 | |
pmichaud | depends on what you mean by "perl fulltime". I've never seen any job where 100% of the work was code. | ||
TimToady | and 100% while you're at it | ||
sjohnson | writing in Perl 5 to do backend kind of stuff, for a regular 8 hour a day shift, and gets paid well enough to live comfortably | ||
pmichaud | where I worked, there was this phrase "...and other duties as assigned" | ||
sjohnson | right now i get 5% Perl and 95% PHP and i am in a very serious "bad place" in my life | 20:39 | |
TimToady | some days the cat pines for the fjords more than other days... | ||
sjohnson | because i can hardly will myself to work | ||
20:40
KyleHa1 joined
|
|||
pmichaud | anyway, about 50-75% of my week is Perl. | 20:40 | |
but the "paid decently" part is suspect. | 20:41 | ||
20:41
KyleHa left,
hercynium joined
|
|||
sjohnson | i get paid 18 Canadian an hour | 20:41 | |
pmichaud | (assuming one speaks primarily in terms of monetary payment) | ||
sjohnson | with no benefits | ||
so at least better than that | |||
RonOreck | thats better than what i make, i get $9.5 an hour | 20:43 | |
pmurias | does gprof measure time spent in libraries? | 20:45 | |
sjohnson | RonOreck: is it because you are young? i was offered many compuer jobs at 8 an hour | 20:46 | |
20:46
mikehh left,
mikehh_ is now known as mikehh,
Gothmog_ left
|
|||
masak | I once suggested that the $format param in .fmt have defaults corresponding to what .Str would output. is anyone wildly opposed to that idea? I'm willing to change both the spec and Rakudo to conform. :) | 20:47 | |
moritz_ | masak: please also change the tests (if they exist ;) | 20:48 | |
masak | oh, right. | ||
probably only need to add a few tests. | |||
RonOreck | sjohnson: partially, but its mostly that i live in the backwoods and computer jobs are scarce | ||
moritz_ | from the S03 smartmatch table: | 20:49 | |
jnthn | TimToady: oh hai | 20:50 | |
moritz_ | Any * block signature match block successfully binds to |$_ | ||
jnthn | TimToady: I'm wanting to get trait tests in shape. | ||
moritz_ | which block is that talking about | ||
jnthn | Like svn.pugscode.org/pugs/t/spec/S14-traits/basic.t | ||
moritz_ | ? | ||
jnthn | TimToady: I see a test like | ||
role testtrait1 { | |||
method exists-only-in-test-trait { | |||
42; | |||
} | |||
multi trait_auxiliary:<is>(testtrait1 $trait, $container) { | |||
masak | moritz_: whatever block? ;) | ||
jnthn | $container does testtrait1; | ||
} | |||
} | |||
So OK it should become trait_mod | 20:51 | ||
And also, $container comes first | |||
But also, would this not put the multi sub only in the testtrait1 package, as testtrait1::trait_auxiliary:<is> and not affect the "main" one? | |||
20:52
cls_bsd left,
payload joined
|
|||
moritz_ | jnthn: that was an open question at the time I wrote that test | 20:52 | |
jnthn | moritz_: It may still be an open one now ;-) | 20:53 | |
moritz_ | so it needs to go into a separate file, because multis are exported by default? | 20:54 | |
pugs_svn | r27447 | moritz++ | [t/spec] first stab at reorganizing smartmatch.t | 20:56 | |
r27447 | moritz++ | | |||
r27447 | moritz++ | I started to bring those in the same order as the spec lists them, and also | |||
r27447 | moritz++ | added one test there $obj ~~ .method return a False value | |||
jnthn | moritz_: That feels...odd. | 20:57 | |
That you'd have to do that | |||
But interesting point. | 20:58 | ||
moritz_ | well, you could also call BEGIN That::Package.IMPORT; or so | ||
20:58
Gothmog_ joined
|
|||
moritz_ | or however this is spelled today | 20:58 | |
21:00
eternaleye joined
21:04
Pismire joined
|
|||
ruoso | daniel.ruoso.com/categoria/perl/dice-game-perl-6 | 21:05 | |
masak | ruoso: nice post. | 21:06 | |
pugs_svn | r27448 | moritz++ | [t/spec] more smartmatch moving; tests for $sub ~~ .() | 21:08 | |
masak | ruoso: I read an earlier blog post title "How do we get out of this mess?" as "How did we get out of this mess?" and found it wonderfully backward, until I realized I had read it wrong. :P | 21:10 | |
ruoso | masak, heh | 21:11 | |
pmichaud | ruoso++ # excellent post, thanks | 21:13 | |
21:13
finanalyst left
|
|||
jnthn | Yes, nice post | 21:17 | |
masak | oh, and about .fmt: there's one other thing I'd like to fix. | 21:18 | |
ruoso | thanks ;) | ||
masak | right now the default separator between entries in %hash.fmt is "\n" | ||
however, when you do say %hash, the separator is '' | 21:19 | ||
I'd like to change either of those so the outputs become equal. | |||
21:20
japhb left
|
|||
masak | rakudo: my %hash = 1 => 2, 3 => 4; say %hash.fmt("%s\t%s"); say %hash | 21:20 | |
p6eval | rakudo cf851c: OUTPUT«1 23 41 23 4» | ||
pugs_svn | r27449 | moritz++ | [t/spec] hash slice smartmatch tests | ||
r27450 | moritz++ | [t/spec] "simple truth" smartmatch tests" | |||
masak | (note '23' vs '23') | ||
this is not a big thing, but it's one of those unexplainable incosistencies which we would be better off without, IMO. | 21:21 | ||
moritz_ | +1 | 21:22 | |
rakudo: say "01" ~~ 1 | |||
p6eval | rakudo cf851c: OUTPUT«1» | ||
moritz_ | rakudo: say "01" ==1 | ||
p6eval | rakudo cf851c: OUTPUT«1» | ||
masak | fwiw, I think .fmt has the nicer separator (since a "\n" makes the entries more separated than the key/value within them), but I could go either way. | 21:23 | |
moritz_ | it's nicer | ||
masak goes ahead, then | 21:24 | ||
21:24
Pismire left
|
|||
moritz_ | but traditionally a hash is just a list of pairs | 21:24 | |
so say %foo would interpolate the hashes in the list context | |||
in perl 5, at least | |||
masak | even then, there should be a ' ' between them | ||
moritz_ | rakudo: say <a b c> | ||
p6eval | rakudo cf851c: OUTPUT«abc» | ||
moritz_ | no. | ||
masak | rakudo: say a => 'b' | ||
p6eval | rakudo cf851c: OUTPUT«» | ||
masak | o_O | 21:25 | |
moritz_ | but I think it's fine to break that kind of backwards compat | ||
rakudo: say 'a' => 'b' | |||
p6eval | rakudo cf851c: OUTPUT«a b» | ||
moritz_ | masak: say() doesn't know what to do with named args | ||
masak | oh, of course. :/ | ||
there's a "\t" in pairs, so there should probably be one in hashes, too. | |||
but it looks visually wrong to have "\t" inside pairs and '' between them. | |||
a ' ' between would be consistent with arrays; that's something, I guess. | 21:26 | ||
ruoso decommute & | 21:27 | ||
21:27
ruoso left
21:28
allbery_b joined
|
|||
eternaleye | rakudo: my %hash = 1 => 2, 3 => 4; say ~%hash | 21:34 | |
phenny | eternaleye: 09:20Z <jnthn> tell eternaleye no, nobody showed me that...got a link? :-) | ||
p6eval | rakudo cf851c: OUTPUT«1 23 4» | ||
eternaleye | masak: ^^^^ You're forgetting that 'say' takes a list | ||
21:34
whoppix left
|
|||
masak | yes, so it seems. | 21:35 | |
eternaleye | jnthn: It's the first hiragana in each group. It has a nice cadence, which makes it easier to remember - Until a friend showed me, I kept mixing up where the 'ha' and 'ma' groups went | ||
masak | good, then I don't have to change the stringification of hashes. :) | ||
21:36
molaf_x left
|
|||
jnthn | eternaleye: Thanks...I'll stare at them a bit until I see it. :-) | 21:37 | |
pugs_svn | r27451 | moritz++ | [t/spec] numeric comparison smartmatch | ||
eternaleye | jnthn: happygold.com/japan/language/lesson3/ explains it (warning: uses the 'wide' variants of English letters) | ||
I'll see if I can find a less-eye-destroying example | 21:38 | ||
jnthn: Aha! babelhut.com/languages/japanese/a-m...ary-order/ | |||
Has a nice chart of the hiragana sounds too (though it doesn't have the symbols) | 21:39 | ||
21:40
mizioumt joined,
mizioumt left
|
|||
eternaleye | jnthn: I have a kvtml (flashcards) file with the hiragana, and another with the katakana if you want them | 21:40 | |
jnthn | I already grabbed an iPhone app that does the flashcards thing quite nicely, but thanks! :-) | 21:41 | |
Heh, that's a nice mnemonic. | |||
Though "Ramen won't nourish" is maybe a better follow on after the first sentence. ;-) | 21:42 | ||
eternaleye | Nice | ||
pugs_svn | r27452 | moritz++ | [S03] use real Perl 6 syntax where possible | 21:44 | |
masak | really, they won't. | 21:46 | |
21:46
justatheory left
|
|||
pugs_svn | r27453 | moritz++ | [t/spec] fixed syntax error | 21:46 | |
r27454 | moritz++ | [t/spec] smartmatch string comparison | |||
masak | TimToady: what's the status of viv, relative to gimme5? | 21:48 | |
moritz_ | man, that smartmatch table is looong | 21:49 | |
21:52
iblechbot left
21:53
justatheory joined,
japhb joined
|
|||
moritz_ | ruoso++ # very nice blog post indeed | 21:55 | |
21:55
dduncan joined
|
|||
dduncan | question ... when currying a Perl routine, does it make sense to curry reference parameters or just readonly parameters? | 21:56 | |
as a concept | |||
moritz_ | it makes sense, but it's evil action at a distance | 21:57 | |
masak | mwhaha. | ||
dduncan | can you think of a useage example where it would be a good idea? | 21:58 | |
jnthn | Obfuscation. | ||
dduncan | I'm thinking for example as a way of implementing state | 21:59 | |
pugs_svn | r27455 | moritz++ | [S03] uhm, I should read more carefully what I "correct" | ||
moritz_ | dduncan: for example a series of substr() calls that all modify the same string | ||
as a matter of convenience, why not? | |||
jnthn | .subst calls might be a better example. | ||
moritz_ | or that, yes | ||
jnthn | (or at least, I've more code that does a few of thsoe) | 22:00 | |
masak | rakudo: set-to-five($var is rw) { $var = 5 }; my $oh-noes-don't-change-me = 42; my &hehe = &set-to-five.assuming($oh-noes-don't-change-me); hehe; say $oh-noes-don't-change-me | ||
p6eval | rakudo cf851c: OUTPUT«Statement not terminated properly at line 2, near "($var is r"in Main (src/gen_setting.pm:3340)» | ||
dduncan | okay | ||
masak | rakudo: sub set-to-five($var is rw) { $var = 5 }; my $oh-noes-don't-change-me = 42; my &hehe = &set-to-five.assuming($oh-noes-don't-change-me); hehe; say $oh-noes-don't-change-me | ||
p6eval | rakudo cf851c: OUTPUT«5» | ||
jnthn | rakudo++ | 22:01 | |
moritz_ | masak++ # calling a variable $oh-noes-don't-change-me | ||
masak | it's a variable, but a very shy one. | ||
22:01
Limbic_Region joined
22:02
justatheory_ joined,
justatheory left
|
|||
masak | anyone else get "Missing test file: t/spec/S12-attributes/class2.t" when running the spectests? | 22:06 | |
moritz_ | rakudo: class A { method b { say "b" } }; A.new ~~ :b | 22:07 | |
p6eval | rakudo cf851c: OUTPUT«Method ':b' not found for invocant of class 'A'» | ||
moritz_ | rakudo: say "README" ~~ :e | ||
p6eval | rakudo cf851c: OUTPUT«1» | ||
pugs_svn | r27456 | masak++ | [S32/Str] added $format defaults to .fmt methods | 22:10 | |
r27457 | masak++ | [t/spec] allowed .fmt to be called with no arguments | 22:11 | ||
22:12
pmurias left
22:13
justatheory_ left
22:15
justatheory joined
|
|||
dalek | kudo: 99ad1eb | masak++ | src/ (4 files): added $format default to all .fmt variants |
22:16 | |
masak | the commit trifecta: spec + spectest + Rakudo. :) | ||
I don't think I've done that since I implemented .fmt ... | 22:17 | ||
22:20
|MoC| left
|
|||
moritz_ | rakudo: my %a = a => 2, b => 3; say any(%a).perl | 22:28 | |
p6eval | rakudo cf851c: OUTPUT«any("a" => 2, "b" => 3)» | ||
moritz_ | rakudo: my %a = a => 2, b => 3; say any(%a).eigenstates.perl | ||
p6eval | rakudo cf851c: OUTPUT«["a" => 2, "b" => 3]» | 22:29 | |
22:31
justatheory_ joined,
justatheory left
|
|||
masak | rakudo: my %a = a => 2, b => 3; say %a.fmt | 22:33 | |
p6eval | rakudo cf851c: OUTPUT«No applicable candidates found to dispatch to for 'fmt'in Main (/tmp/tYJIAxmuN1:2)» | ||
masak | hm. too early. | ||
22:35
justatheory joined,
justatheory_ left
|
|||
masak | jnthn++ # @pets>>.?lick($guest); # The dog will, the fish won't | 22:36 | |
22:36
nihiliad left
|
|||
moritz_ | rakudo: sub e($x) { eval $x }; { my $a; say e('$a') } | 22:37 | |
p6eval | rakudo cf851c: OUTPUT«» | ||
moritz_ | rakudo: sub e($x) { eval $x }; { my $a = 5; say e('$a') } | ||
p6eval | rakudo cf851c: OUTPUT«» | ||
moritz_ | should that print 5\n? | ||
masak | no? | 22:38 | |
there's no $a in the e sub. | 22:39 | ||
22:39
cls_bsd joined
|
|||
masak | it'd be another thing entirely if $a were dynamically scoped... | 22:39 | |
...but it isn't. it's lexical. | |||
jnthn | masak: Where was that from? :-) | ||
masak | jnthn: use.perl.org/~JonathanWorthington/journal/39072 | 22:40 | |
jnthn | oh, damm | ||
I don't even remember writing that example. | |||
:-) | |||
moritz_ remembers some weird rules about eval tied to some block scope... damn, too late in the night | |||
jnthn | moritz_: Rakudo is correct there, I'm sure. | 22:41 | |
Somebody has brought this up before. | |||
moritz_ | rakudo: sub e($x) { eval $x }; my $a = 5; say e('$a') | ||
jnthn | The lexicals are those at the point of the eval, not at the point you created the string to eval. | ||
p6eval | rakudo cf851c: OUTPUT«5» | ||
jnthn | If you want those kinds of semantics, pass a closure containing the eval. | ||
And invoke the closure. | 22:42 | ||
moritz_ | and is *this* one correct? | ||
I guess the 'my $a' takes effect before eval() runs | |||
jnthn | Right. | ||
And more importantly, the assignment to it. | |||
masak | rakudo: class Pet {}; class Dog is Pet { method lick($person) { say 'The dog licks ', $person, '!' } }; class Fish is Pet {}; my Pet @pets = Dog.new, Fish.new; my $guest = 'the surprised gentleman'; @pets>>.?lick($guest); | ||
p6eval | rakudo cf851c: OUTPUT«The dog licks the surprised gentleman!» | ||
masak | just had to try it. :P | 22:43 | |
jnthn akshually lols | |||
pugs_svn | r27458 | moritz++ | [t/spec] Any ~~ Pair | ||
r27459 | moritz++ | [t/spec] more sanity for smartmatch.t | 22:44 | ||
masak | jnthn: well, you said "Have fun" in your blog post, so... | ||
jnthn finally finsiehd a blog post...now to proof read and post it | |||
moritz_ | pmichaud: ok, smartmatch.t is in a *much* better shape now, although I didn't get around to review it all. I think it's up to you to decide if you include it again | ||
22:45
justatheory_ joined
|
|||
masak | jnthn: is it a grant blog post? | 22:45 | |
masak looks forward to another song lyric, see | 22:46 | ||
jnthn | yes | 22:49 | |
masak | \o/ | ||
22:50
skids left
22:53
alester left
22:54
KyleHa1 left
|
|||
jnthn | use.perl.org/~JonathanWorthington/journal/39239 | 22:56 | |
22:57
justatheory left
|
|||
masak | rakudo: bless {}, A | 22:59 | |
p6eval | rakudo 99ad1e: OUTPUT«Could not find non-existent sub A» | ||
masak | rakudo: bless {}, A::B | ||
p6eval | rakudo 99ad1e: OUTPUT«Null PMC access in invoke()in Main (/tmp/JlfbdUneZ6:2)» | ||
masak | rakudo: A::B | ||
p6eval | rakudo 99ad1e: OUTPUT«Null PMC access in invoke()in Main (/tmp/YhRSLqeEuz:2)» | ||
masak submits | |||
jnthn: appropriate lyric :) | |||
TimToady | did you just make .fmt a synonym for .Str? | 23:00 | |
masak | TimToady: no. :) but the default is the same as .Str | ||
moritz_ | jnthn++ # nice post | ||
masak | TimToady: it would be possible to pass $separator as a named to .fmt, right? so I maintain the $format default can have some use, besides emulating .Str | 23:02 | |
masak does a o_O at the mention of 1.0 | |||
there will be a 1.0 release of Rakudo? | |||
jnthn | Well presumably some day. | 23:03 | |
;-) | |||
masak | I thought the release would be 6.0.0 | ||
jnthn | My point was that I consider this the last time we'll have to significantly re-visit this area of the implementation. | ||
In the path to 6.0.0. | 23:04 | ||
masak | aye. | ||
that's nice. | |||
moritz_ | jnthn: so you don't think that calling positionals by name is going to change much? | ||
jnthn | moritz_: While I can appreicate from a Perl 6 user perspective that looks like a related topic, it's actually (apart from one C-level function in the multi-dispatcher) quite orthogonal. | 23:05 | |
moritz_: I guess I can explain it best as, "that's about signature binding". | |||
It's not really a factor in deciding which method to call. | 23:06 | ||
moritz_ | right. | ||
jnthn | So yes, that is an issue that certainly needs to be fixed because Rakudo is very wrong there. But that's a Diferent Problem. | ||
masak | jnthn: are there two words 'deference' in English, one with stress on the 1st syllable, and one with stress on the 2nd? | ||
jnthn | I don't *think* so. | 23:07 | |
masak | so you mean the 1st-syllable one in your post? | ||
because to me that word means 'humility' or some such. | |||
jnthn | gah, let me grab a dictionary | ||
I'm a native speaker and thus have no clue at all about English. I jsut speak it. :-) | 23:08 | ||
1. respectful submission or yielding to the judgment, opinion, will, etc., of another. | |||
masak | aye. | ||
jnthn | That fits. | ||
masak | ok, good. | ||
jnthn | We're choosing to defer/yield to the will of another method. | ||
23:09
ruoso joined
|
|||
jnthn | But yes, there is a definition of "Courteous respect" too. | 23:09 | |
masak | I would have thought that was called 'deferal' | ||
er, 'deferral'. | |||
TimToady | deferral is putting something off till later | ||
masak | or 'deferment'. | ||
ah, ok. | |||
like I'm doing with sleep right now. | |||
jnthn | ;-) | 23:10 | |
TimToady | a deferment is what you acquire when you don't have to do something till later | ||
23:10
nacho_ joined
|
|||
masak | nice to know there's still English left to learn. :) | 23:10 | |
moritz_ | TimToady: should $obj ~~ :nonexistingmethod die? | ||
ruoso | using "when * <= 50 {...} when..." in place of "if $_ <= 50 {...} elsif..." in rakudo takes more twice the amount of time to execute | 23:11 | |
jnthn | Anyway, I hope that the post clarifies why we did the refactor, and what I actually did. | ||
ruoso | s/more twice/more than twice/ | ||
jnthn | ruoso: Not so surprising. | 23:12 | |
masak | ruoso: well, there are exceptions and stuff involved. | ||
jnthn | ruoso: * <= 50 constructs a closure. | ||
Which we then invoke. | |||
$_ <= 50 just the call to infix:<< <= >> straight off. | |||
masak | jnthn: yes, it does. jnthn++ | ||
moritz_ | bed& | ||
jnthn | schlaft gut | ||
TimToady | moritz_: I suppose | 23:13 | |
jnthn | .oO( I hope that means what I think it means ) |
||
masak | now that we have language interop (Tene++), will we soon have Perl 6 closures in PGE regexes? | 23:14 | |
masak hopeful | |||
jnthn | pmichaud has been suggesting he's going to be digging into PGE stuff a lot more in the near future. | ||
Tene | I could do it, as long as you're really really careful if you ever try to use them in the perl 6 grammar itself. | 23:15 | |
masak | jnthn: oh, and I haven't actually tried to compile November, Druid, proto et al after your refactor, so that _might_ be why you haven't heard any complaints... :) | ||
jnthn | masak: Oh. | ||
masak: But I did it before the last release! | |||
Tene | masak: how much do you want that ASAP? | 23:16 | |
masak | jnthn: oh, ok. | ||
Tene: no hurry, actually. | |||
jnthn | Are you using Pittsburgh? | ||
masak | Tene: it's just something I've always wanted. | ||
jnthn | If so, you're using 'em. | ||
Tene | masak: would you have a use for them if i did it tonight or tomorrow? | ||
masak | jnthn: yes, all those projects use at least Pittsburgh. | ||
ruoso | TimToady, would the compiler be allowed to optimize such when constructs into if/elsif? or is there some extra expectation on the use of Whatever? | ||
masak | Druid uses bleeding, because it has no users. | 23:17 | |
Tene | I haven't actually gotten much of anything at all done since I've moved into my new place. I'm feeling kind of grumpy about that. | ||
masak | proto uses whatever people config it to use. | ||
ruoso: Whatever could have been augmented. | |||
s1n is finally back to the grind | 23:18 | ||
masak | or some of the operators with * as an argument could have. | ||
ruoso | hmmm... | ||
masak | Tene: moving takes a lot of mana. | ||
TimToady | ruoso: multi dispatch is based on a static candidate list known to the compiler, so if * <= 50 finds only one candidate, it can be inlined | 23:20 | |
23:20
donaldh left,
donaldh joined
|
|||
masak | time to actually go to bed. | 23:22 | |
o/ | |||
23:22
masak left
|
|||
ruoso | right... | 23:22 | |
ruoso feels curious on how such an optimization could be done in rakudo.... | |||
23:29
ihrd joined
23:30
DemoFreak left
23:34
dduncan left
23:40
frew_ joined
|