Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-03-30

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:49 fuad left #perl6
00:55 Mouq joined #perl6
01:15 lue timotimo: getting rid of the rw in cases where it's not used sounds like a good optimization, if it really affects performance. :) [though I've never used (or even really heard of) <-> , much less that a for loop has an implicit <-> $_ instead of -> $_]
01:19 timotimo r: my @a = <foo bar baz>; for @a { $_ .= uc }; say @a;
01:19 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«FOO BAR BAZ␤»
01:19 timotimo as you can see, the $_ is read-write-bound
01:20 lue yeah, didn't know that.
01:21 timotimo this is useful! :)
01:21 lue So I think what I'm wondering is, should <-> $_ be the default and optimized down to -> $_ when possible and necessary, or is <-> $_ (and/or <-> itself) uncommon enough that we can warrant making -> $_ default?
01:23 timotimo i'd say the former.
01:24 lue I for one never ran into a situation where I needed something like <->, but that's just me :) [I've probably done something in place of <-> at least once though...]
01:45 klapperl joined #perl6
01:46 hoverboard joined #perl6
01:53 raiph joined #perl6
01:59 LLamaRider joined #perl6
02:02 thilp joined #perl6
02:24 masak_ lue: for @a { $_++ } # I do that sometimes.
02:26 lue Didn't say it was useless, just that I've never personally needed it, so I tend towards "who needs implicit <-> anyway" :) [as a side note, I'll probably find bunches of places where <-> $_ is helpful now :P]
02:26 xenoterracide joined #perl6
02:26 xragnar_ joined #perl6
02:27 masak_ lue: on the design level, I've grown increasingly wearly of anything container-y over the years I've been involved with Perl 6.
02:27 masak_ lue: containers are kinda hard to explain, and don't give a very large benefit, IMO.
02:29 lue ? I fail to see how containers are relevant here :/
02:32 masak_ hm, maybe you're right.
02:32 masak_ it's only the aliasing that's necessary here.
02:34 FROGGS_ joined #perl6
02:35 timotimo right
02:37 timotimo masak_: can you give better examples of where containers help only to confuse?
02:40 LLamaRider r: say time; say now;
02:40 camelia rakudo-parrot e50147: OUTPUT«1396147216␤Instant:1396147251.573820␤»
02:40 camelia ..rakudo-moar e50147: OUTPUT«1396147217␤Instant:1396147252.880821␤»
02:40 camelia ..rakudo-jvm e50147: OUTPUT«1396147217␤Instant:1396147252.477␤»
02:40 timotimo what's life like, being a llama rider?
02:41 LLamaRider r: say time(); say now();
02:41 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routines:â�¤    now used at line 1â�¤    time used at line 1â�¤â�¤Â»
02:41 LLamaRider life is mostly about figuring why things that look like subroutines aren't :D
02:41 timotimo those are terms rather than functions
02:41 timotimo i don't know why they are that, though
02:42 lue my guess is because they represent a thing, rather than an amount of code.
02:42 LLamaRider in P5 foo and foo() used to be interchangable, so that's kind of a gotcha for me
02:42 lue (same as why you would write a term:sym<pi> instead of a sub pi)
02:42 timotimo hmm.
02:42 timotimo and since it's not really a constant \now, it might as well be an in-between?
02:42 LLamaRider only that these guys aren't constants. I guess "term" isn't "constant", the word is different, but boy. is rand a term?
02:42 timotimo that's ... at least interesting
02:43 timotimo r: say rand()
02:43 lue LLamaRider: yep
02:43 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unsupported use of rand(); in Perl 6 please use rand�at /tmp/tmpfile:1�------> [32msay rand[33m�[31m()[0m�»
02:43 LLamaRider oh boy
02:43 timotimo the error message could very well be improved for now and time.
02:43 lue timotimo: that would be more of "terms in general" fix methinks.
02:43 timotimo in general, we could try to re-parse the sub that wasn't found as a term and see if that gets us any fruther
02:43 timotimo exactly
02:43 BenGoldberg Perhaps if someone attempts to use *any* subroutine, for which there's a term of the same name, should get that kind of error message.
02:43 LLamaRider the philosopher in me wonders - should all subroutines that return a term be terms?
02:44 timotimo subroutines that return a term?
02:44 BenGoldberg sub foo { pi } ?
02:44 timotimo that evaluates the term, though, doesn't it?
02:44 LLamaRider well rand/time/now return a simple scalar value, but they're really subroutines, they are not simple lookups
02:44 timotimo rather than pass around the term itself
02:44 lue r: sub time() { say "is an illusion." }; say time; say time();
02:44 camelia rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1396147487␤is an illusion.␤True␤»
02:44 camelia ..rakudo-parrot e50147: OUTPUT«1396147485␤is an illusion.␤True␤»
02:45 lue BenGoldberg: no, erroring on any call with the same name as a term is a bad idea.
02:46 BenGoldberg I'm only saying to mention that a term exists with that name, *if* there's no such sub.
02:46 timotimo that's what i was proposing
02:46 LLamaRider having a function "time()" defined while the official use is "time" sounds like a bad idea to me. Definite source of hard to trace bugs.
02:46 lue BenGoldberg: you left out the "if there's no such sub" in your first statement. :)
02:46 BenGoldberg Oops
02:46 timotimo should rakudo warn when defining a sub which has the name of an already existing term and/or vice-versa?
02:46 lue LLamaRider: time() and time are unrelated.
02:47 BenGoldberg I meant to say that, and thought I did, but apparently my fingers forgot to type that bit ;)
02:47 LLamaRider ok, say you have a Perl5 subroutine which takes no arguments and always returns a single scalar value. Is that *always* a P6 term?
02:47 LLamaRider or rather "should it be"
02:47 timotimo huh
02:47 timotimo i can't build rakudo-m at the moment: failed to load library 'dynext/libperl6_ops_moar.so'
02:47 lue LLamaRider: no, terms have to be defined as such explicitly.
02:48 LLamaRider that i understand. I am trying to establish where do you draw the line between a subroutine and a term
02:48 BenGoldberg Or, putting it another way, suppose one wants to translate P5 code to P6, and has: use constant FOO => 3; # Should this become a term or a sub?
02:49 LLamaRider or "sub three { 3; }"
02:49 lue constants are different from terms.
02:49 timotimo i suppose the difference is that the optimizer would be allowed to replace multiple usages of a term with one local variable? :P
02:49 BenGoldberg ?
02:49 timotimo well, that's probably very false
02:49 BenGoldberg r: say rand, rand, rand
02:49 camelia rakudo-jvm e50147: OUTPUT«0.60402633257723310.060556​006474625890.15032935025902616␤»
02:49 camelia ..rakudo-parrot e50147: OUTPUT«0.8173415047089920.61343​14388419960.0679886903116724␤»
02:49 camelia ..rakudo-moar e50147: OUTPUT«0.4228974770181330.44929​59784344860.0833680612930519␤»
02:50 timotimo r: &rand does pure; say rand + rand - rand - rand;
02:50 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    pure used at line 1â�¤â�¤Â»
02:50 lue I could be wrong on constants though, but I'm sure that term and constant aren't synonyms.
02:50 timotimo yeah
02:51 timotimo i was only partially serious
02:51 BenGoldberg The optimizer can replace the use of a constant, with the value of that constant.  But the opposite is true of terms.
02:51 lue r: say pi; sub term:sym<pi> { 3.14 }; say pi;
02:51 camelia rakudo-jvm e50147: OUTPUT«3.141592653589793␤3.14␤»
02:51 camelia ..rakudo-parrot e50147, rakudo-moar e50147: OUTPUT«3.14159265358979␤3.14␤»
02:52 lue r: say pi; sub pi { 3.14 }; say pi; say pi();
02:52 camelia rakudo-jvm e50147: OUTPUT«3.141592653589793␤3.141592653589793␤3.14␤»
02:52 camelia ..rakudo-parrot e50147, rakudo-moar e50147: OUTPUT«3.14159265358979␤3.14159265358979␤3.14␤»
02:52 timotimo the jvm has an additional 3 in there?
02:52 lue apparently.
02:52 LLamaRider there's also something fishy with operating on terms
02:52 LLamaRider example
02:52 LLamaRider r: my $start = time; say time-$start;
02:53 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    time used at line 1â�¤â�¤Â»
02:53 LLamaRider r: sub time {return time;}; my $start = time; say time()-$start;
02:53 timotimo r: say time - $start
02:53 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«0␤»
02:53 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '$start' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32msay time - $start[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        post…»
02:53 timotimo er, oops :)
02:53 LLamaRider r: my $start = time; say time - $start;
02:53 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«0␤»
02:53 timotimo parsefail with LTA error in that case
02:53 LLamaRider ack
02:53 lue std: my $start = time; say time-$start;
02:53 LLamaRider i see
02:53 camelia std e347792: OUTPUT«ok 00:01 125m␤»
02:53 BenGoldberg Yay spaces?
02:53 timotimo i was about to do that!
02:54 timotimo well, we perl6ers like putting spaces around infixes anyway
02:54 timotimo makes them harder to pass as prefixes or postfixes on accident
02:54 lue std: say rand-5;
02:54 camelia std e347792: OUTPUT«ok 00:01 123m␤»
02:54 lue r: say rand-5;
02:54 camelia rakudo-jvm e50147: OUTPUT«-4.195459989072294␤»
02:54 camelia ..rakudo-parrot e50147: OUTPUT«-4.93575198543525␤»
02:54 camelia ..rakudo-moar e50147: OUTPUT«-4.28222834892175␤»
02:54 lue r: say now-5;
02:54 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    now used at line 1â�¤â�¤Â»
02:54 timotimo huh. so only when a $ sign is involved perhaps?
02:55 LLamaRider consistency, there is none
02:55 timotimo O_o
02:55 lue r: say pi-5;
02:55 camelia rakudo-parrot e50147, rakudo-moar e50147: OUTPUT«-1.85840734641021␤»
02:55 camelia ..rakudo-jvm e50147: OUTPUT«-1.8584073464102069␤»
02:55 lue r: say e-5;
02:55 camelia rakudo-jvm e50147: OUTPUT«-2.2817181715409545␤»
02:55 camelia ..rakudo-parrot e50147, rakudo-moar e50147: OUTPUT«-2.28171817154095␤»
02:55 lue only time and now hate the lack of spaces, it seems.
02:55 LLamaRider r: my $e = e; say $e-e; say e-$e;
02:55 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '$e-e' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32mmy $e = e; say $e-e[33mâ��[31m; say e-$e;[0mâ�¤    expecting any of:â�¤      â€¦Â»
02:55 LLamaRider r: my $e = e; say e-$e;
02:55 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«0␤»
02:55 LLamaRider O_O
02:56 * LLamaRider tilts his head in wonder
02:56 LLamaRider r: my $e = e; say time-$e;
02:56 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    time used at line 1â�¤â�¤Â»
02:56 timotimo well, $e-e is obviously refering to a variable named $e-e
02:57 BenGoldberg r: my $e-e = 42; say $e-e
02:57 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«42␤»
02:57 LLamaRider timotimo: yeah, sorry about that
02:57 timotimo :)
02:58 lue look at these QASTs from Actions.nqp:
02:58 lue make QAST::Op.new( :op('call'), :name('&rand'), :node($/) ); # for term rand, obviously
02:58 lue make QAST::Op.new( :op('call'), :name('&term:<now>'), :node($/) );
02:58 lue make QAST::Op.new( :op('call'), :name('&term:<time>'), :node($/) );
02:59 LLamaRider r: say rand();
02:59 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unsupported use of rand(); in Perl 6 please use rand�at /tmp/tmpfile:1�------> [32msay rand[33m�[31m();[0m�»
02:59 timotimo r: say &rand()
02:59 camelia rakudo-moar e50147: OUTPUT«0.139327001256136␤»
02:59 camelia ..rakudo-jvm e50147: OUTPUT«0.6465392721889555␤»
02:59 camelia ..rakudo-parrot e50147: OUTPUT«0.90589457386838␤»
02:59 LLamaRider O_O more wow
02:59 BenGoldberg r: sub rand { "very random!" }; say rand; say rand();
02:59 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unsupported use of rand(); in Perl 6 please use rand�at /tmp/tmpfile:1�------> [32md { "very random!" }; say rand; say rand[33m�[31m();[0…»
03:00 BenGoldberg r: sub rand { "very random!" }; say rand; say &rand();
03:00 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«very random!␤very random!␤»
03:00 LLamaRider well... that doesn't seem right
03:00 lue r: say &term:<now>
03:00 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«sub term:<now>() { ... }␤»
03:00 lue r: say &term:<now>()
03:00 camelia rakudo-jvm e50147: OUTPUT«Instant:1396148490.773␤»
03:00 camelia ..rakudo-moar e50147: OUTPUT«Instant:1396148491.264420␤»
03:00 camelia ..rakudo-parrot e50147: OUTPUT«Instant:1396148489.290075␤»
03:01 grondilu joined #perl6
03:01 lue r: say time-5;
03:01 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    time used at line 1â�¤â�¤Â»
03:01 lue r: say &term:<time>()-5;
03:01 timotimo r: sub term:<foobar> { "foo bar baz" }; say foobar;
03:01 BenGoldberg r: say &time()-5
03:01 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1396148471␤»
03:01 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«foo bar baz␤»
03:01 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    &time used at line 1â�¤â�¤Â»
03:01 LLamaRider r: say &term:<now>("I am an undercover subroutine")
03:01 camelia rakudo-jvm e50147: OUTPUT«Wrong number of arguments passed; expected 0..0, but got 1␤  in block  at /tmp/tmpfile:1␤␤»
03:01 camelia ..rakudo-moar e50147: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub term:<now> at src/gen/m-CORE.setting:14629␤  in block  at /tmp/tmpfile:1␤␤»
03:01 camelia ..rakudo-parrot e50147: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub term:<now> at gen/parrot/CORE.setting:14830␤  in block  at /tmp/tmpfile:1␤␤»
03:01 lue r: say &term:<time>()-5;
03:01 camelia rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1396148492␤»
03:01 camelia ..rakudo-parrot e50147: OUTPUT«1396148491␤»
03:01 LLamaRider yay for subroutine signatures (in terms :D)
03:01 BenGoldberg r: say &time()-5
03:01 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    &time used at line 1â�¤â�¤Â»
03:02 BenGoldberg So the full name is needed, if one wants to use it with &...()
03:02 JimmyZ r: say time -5
03:02 camelia rakudo-moar e50147: OUTPUT«1396148559␤»
03:02 camelia ..rakudo-jvm e50147: OUTPUT«1396148558␤»
03:02 camelia ..rakudo-parrot e50147: OUTPUT«1396148557␤»
03:03 lue BenGoldberg: yes, because the name is term:<time>, not time :)
03:03 LLamaRider lue: and term: essentially introduces some alias?
03:03 LLamaRider for the &term:<time> subroutine?
03:04 lue well, Actions.pm interprets the occurrence of the term 'time' as a call to &term:<time>, so... huh, lemme look for something.
03:04 BenGoldberg r: sub term:<time> { 42 }; say time
03:04 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«42␤»
03:05 BenGoldberg r: sub term:<time> { 42 + $^a }; say time
03:05 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Calling 'term:<time>' requires argumentsâ�¤    Expected: :(Any $a)â�¤at /tmp/tmpfile:1â�¤------> [32msub term:<time> { 42 + $^a }; say [33mâ��[3…»
03:05 LLamaRider silently redefine core terms? why not! :D
03:05 LLamaRider personally, I'd appreciate if you could only do that with monkey patching enabled
03:05 lue timotimo: term:<time> and term:<now> are defined in the core, and also checked for by the grammar, which may be conflict?
03:05 BenGoldberg P5 lets you.  IIRC, *CORE::print = sub { .... } is perfectly ok
03:06 lue (as defining your own term:<thing> handles the term interpretation for you in normal P6 code)
03:06 lue thus causing the  now-5  weirdness, perhaps?
03:06 LLamaRider BenGoldberg: sure, but you need to grab that glob. "use warnings" at least warns you when subroutines get redefined
03:07 lue print isn't a term in Perl 6, it's a sub. :)
03:08 eternaleye joined #perl6
03:10 BenGoldberg Another difference: in P5, if you use a subroutine, and then define it with a prototype, you get a warning.
03:11 BenGoldberg Redefining term:<anything> to take arguments is probably a bad thing
03:12 LLamaRider r: BEGIN { print("start "); }; sub print (Str $a) {say $a~" "~$a;}; print("end");
03:13 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«start end end␤»
03:13 LLamaRider silently succeeding is somehow a step back from "use warnings" in P5
03:14 lue BenGoldberg: agreed. Terms are meant for things that are thought of as specific kinds of values (like the current time, or any random number) than as an amount of code to be executed.
03:16 lue (another way to put it is that terms are nouns, and functions are verbs)
03:16 LLamaRider you could say they are "common nouns" and constants are "proper nouns" and variables are pronouns then
03:17 LLamaRider kind of a stretch of an analogy, but it makes the intuition sensible somehow
03:19 lue .oO(variables are just expression abbreviations)
03:19 LLamaRider so are pronouns :)
03:20 * BenGoldberg hmms...
03:20 BenGoldberg adjectives would be things like 'my Int $foo'?
03:21 BenGoldberg . o O (That doesn't sound right, since that's only done when $foo is declared)
03:21 lue that's possible, traits count too though :) class Foo is Bar, for instance
03:22 LLamaRider stretchy analogies really
03:22 lue (Working on a Larry Wall language long enough teaches you that programming languages and natural languages aren't so different after all.)
03:22 lue don't forget our :adverbs of course :)
03:22 LLamaRider some filtering subroutines (e.g. grep-based ones) can be seen as adjectives
03:22 * BenGoldberg is too sleepy to think about using natural language grammatical terms to describe perl features
03:22 LLamaRider "positive numbers" can be written as '@numbers.grep($_ > 0)'  in pseudocode (my P6 isn't fluent)
03:23 BenGoldberg @nums.grep { $_ > 0 }
03:23 BenGoldberg I think
03:23 lue r: my @numbers = 1, 2, -5, -1.3; say @numbers.grep({$_ > 0})
03:23 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1 2␤»
03:23 LLamaRider nice
03:23 lue r: my @numbers = 1, 2, -5, -1.3; say @numbers.grep: {$_ > 0}
03:23 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1 2␤»
03:23 BenGoldberg r: my @nums := ^Inf; my @pos := @nums.grep { $_ > 0 }; say @pos[^5]
03:25 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)�at /tmp/tmpfile:1�------> [32mmy @nums := ^I…»
03:25 BenGoldberg r: my @nums := ^Inf; my @odd := @nums.grep: { $_ %% 2 }; say @odd[^5]
03:25 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«0 2 4 6 8␤»
03:26 LLamaRider Well that's odd :D
03:26 lue BenGoldberg: % or !%% get you odd numbers :)
03:29 JimmyZ r: say (1..10).grep:*%2
03:29 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msay (1..10).grep[33mâ��[31m:*%2[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤  â€¦Â»
03:30 lue r: say (1..10).grep: *%2
03:30 camelia rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1 3 5 7 9␤»
03:32 JimmyZ std: say (1..10).grep:*%2
03:32 camelia std e347792: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confused at /tmp/9GlcU0E68K line 1:â�¤------> [32msay (1..10).grep:[33mâ��[31m*%2[0mâ�¤    expecting any of:â�¤  coloncircumfixâ�¤ signatureâ�¤Parse failedâ�¤FAILED 00:01 126mâ�¤Â»
03:32 thou joined #perl6
03:32 JimmyZ std: say (1..10).grep: *%2
03:32 camelia std e347792: OUTPUT«ok 00:01 125m␤»
03:39 logie joined #perl6
03:44 arnsholtAtHome joined #perl6
03:49 xenoterracide joined #perl6
03:57 lue [Coke]: Is it just me, or does perl6-roast-data not report the checkout of the compiler tested?
03:59 ssutch joined #perl6
04:08 xenoterracide joined #perl6
04:11 lue I get  failed to load library 'dynext/libperl6_ops_moar.so'  trying to compile latest rakudo :(
04:12 lue (trying to compile src/gen/m-BOOTSTRAP.nqp)
04:29 JimmyZ lue: needs s/MVMP6opaque_real_data/MVM_p6opaque_real_data/ in perl6_ops.c maybe
04:33 lue That got me past the bootstrap and to the CORE part :)
04:36 dalek rakudo/nom: a699826 | lue++ | src/vm/moar/ops/perl6_ops.c:
04:36 dalek rakudo/nom: Change MVMP6opaque_real_data to MVM_p6opaque_real_data
04:36 dalek rakudo/nom:
04:36 dalek rakudo/nom: Allows r-m's bootstrap to compile. JimmyZ++ for finding the bug.
04:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a69982633b
04:51 lue I don't get why these are supposedly errors: https://github.com/perl6/roast/blob/mast​er/S02-literals/char-by-number.t#L74-L77
04:53 grondilu r-m compilation failed after last commit
04:53 lue It also happens to contradict https://github.com/perl6/roast/blob/ma​ster/S02-literals/char-by-number.t#L63
04:54 lue (I agree with L63, by the way)
04:54 lue grondilu: have you tried latest nqp and moar?
04:54 grondilu I did reconfigure, but maybe I should update manually.  (not the first time that would have happened)
04:55 lue I didn't update NQP_REVISION or MOAR_REVISION, not quite sure how to go about that :/
04:57 Khisanth joined #perl6
05:00 * grondilu update nqp and moarvm manually
05:00 grondilu *updateS
05:02 lue uhh, if I update MOAR_REVISION, it would jump from 2014.03-51-g78f9ab0 to 2014.02-192-g0b08db7, which I would hope is wrong.
05:05 lue Ah, as I suspected, I (still?) have 2014.03 as a lightweight tag.
05:05 JimmyZ lua: git describe --tags
05:06 lue Ah. Is 2014.03 still not annotated for MoarVM ?
05:12 lizmat joined #perl6
05:13 dalek nqp: b9f25b1 | lue++ | tools/build/MOAR_REVISION:
05:13 dalek nqp: Update MOAR_REVISION for function name change.
05:13 dalek nqp: review: https://github.com/perl6/nqp/commit/b9f25b146b
05:16 dalek rakudo/nom: b126071 | lue++ | tools/build/NQP_REVISION:
05:16 dalek rakudo/nom: Update NQP_REVISION for function name change in MoarVM.
05:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b126071d0a
05:17 lue hopefully I didn't mess up anything with those REVISION changes :)
05:37 SamuraiJack joined #perl6
05:46 JimmyZ My friend said TimToady is in beijing now
06:04 kaare_ joined #perl6
06:22 Sqirrel joined #perl6
07:08 darutoko joined #perl6
07:27 FROGGS_ morning
07:27 nwc10 welcome to DST
07:29 nwc10 JimmyZ: http://irclog.perlgeek.de/​perl6/2014-03-28#i_8506680
07:29 zby_home_ joined #perl6
07:29 JimmyZ oh
07:29 lizmat morning #perl6!
07:30 nwc10 JimmyZ: strictly, that's "timtoady said 2 days ago that timtoady was in Bejing then"
07:31 lizmat seems we have a failure in t/spec/S17-concurrency/lock.t, reliably when run inside the test-suite
07:31 lizmat and only about once in 10 times when run separately
07:32 nwc10 JimmyZ: masak is somewhere else in China: http://irclog.perlgeek.de/​perl6/2014-03-28#i_8508126
07:32 lizmat I did this change to the etst file:
07:32 lizmat -    is @log.join(','), 'ale,porter,stout', 'Conditon variable worked';
07:32 lizmat +    diag "Saw {@log}" if !
07:32 lizmat +      is @log.join(','), 'ale,porter,stout', 'Condition variable worked';
07:32 JimmyZ Was there a Perl Conference in beijing?
07:32 lizmat and now get:
07:32 lizmat not ok 7 - Condition variable worked
07:32 lizmat #      got: 'ale,porter'
07:32 lizmat # expected: 'ale,porter,stout'
07:32 lizmat # Saw ale porter stout
07:33 nwc10 JimmyZ: I don't know
07:33 lizmat jnthn: which leads me to suggest that the first thread is still running *after* the join() ?
08:29 lizmat afk&
08:41 ssutch joined #perl6
08:47 kurahaupo joined #perl6
08:54 woolfy left #perl6
09:05 FROGGS_ cosimo: I made a PR for Digest::MD5, so we will be able to ship that on a jvm-star
09:16 kurahaupo joined #perl6
09:18 ponbiki joined #perl6
09:20 denis_boyun joined #perl6
09:33 denis_boyun__ joined #perl6
09:34 p6explorer joined #perl6
09:42 FROGGS_ damn, that Digest::MD5 does not work on parrot, at least not when precomped
09:47 dmol joined #perl6
09:55 moritz gaaah, more failing tests in m-spectest
09:56 moritz 4 S17 test files fail
09:56 moritz no, 5
09:57 dalek roast: 39cafaf | moritz++ | S32-str/sprintf.t:
09:57 dalek roast: do not use # in test description
09:57 dalek roast:
09:57 dalek roast: it is a comment character in TAP, so TODO messages after that are ignored by the harness
09:57 dalek roast: review: https://github.com/perl6/roast/commit/39cafaff79
09:58 Alina-malina joined #perl6
10:02 Alina-malina joined #perl6
10:07 jnthn moritz: What fails do you see? lizmat added some more of the S17 tests after fudging yesterday; it's possible you're seeing some of the remaining instabilities in the Moar S17 support.
10:08 Alina-malina joined #perl6
10:09 moritz jnthn: http://perlpunks.de/paste/show/5337ed57.674b.1f0
10:10 moritz (that's on rakudo/nqp/moar on nom/master/master)
10:11 jnthn moritz: Oh, it looks like it's passing most of the tests and then exploding at exit.
10:11 vendethiel 2014 looks like a cool year for Perl 6 :)
10:14 jnthn bbi10
10:16 p6explorer left #perl6
10:22 denis_boyun joined #perl6
10:26 p6explorer joined #perl6
10:27 p6explorer rakudo: say "testing"
10:27 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«testing␤»
10:29 p6explorer left #perl6
10:29 kaare_ joined #perl6
10:30 p6explorer joined #perl6
10:32 kaare_ joined #perl6
10:36 colomon joined #perl6
10:38 pecastro joined #perl6
10:42 SamuraiJack joined #perl6
10:49 hummeleB1 joined #perl6
10:50 spider-mario joined #perl6
10:52 JimmyZ http://www.csdn.net/article/2014-03-19/28​18848-CSDN-OSTC-2014-Larry-Wall-interview
10:52 kivutar joined #perl6
11:04 Rounin 你找到了比Perl難讀的事啊!不錯。
11:05 Rounin Time to whip out the old dictionary
11:05 Rounin Wait, I used the 了 incorrectly, didn't I
11:06 Rounin Better use two dictionaries
11:06 simula67 Money quote  : "We intend to publish in a year or [two?] a product-level version of Perl 6." :)
11:10 * simula67 would love to sneak this into work
11:10 Rounin :D
11:10 * jnthn would love to sneak more people into working on this ;)
11:10 Rounin I just realized you could write Perl 6 entirely in Chinese
11:11 Rounin I guess that's the next step after Latin and Klingon!
11:11 Rounin The Analects of Computius
11:12 molaf joined #perl6
11:19 Rounin This site looks like it could be good Chinese practice
11:20 ssutch joined #perl6
11:21 colomon lue: (very late answer) I believe I've used <-> exactly once in the last four years of p6 programming.  :)
11:31 FROGGS_ jnthn: at least I got four or five ppl being more interesting in p6 and two of them actually installed perl6-m during gpw :o)
11:32 hummeleB1 left #perl6
11:32 FROGGS_ jnthn: this is up-to-date btw: https://gist.github.com/FR​OGGS/0ea5537eb675588baaa2
11:32 FROGGS_ though, I need to figure out why Digest::MD5 stops working when being precompiled
11:39 FROGGS_ r: sub prefix:<¬>(\x) { (+^ x) % 2**32 }; constant FOO = -> \X, \Y { ¬X +& Z }
11:39 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared name:â�¤    Z used at line 1â�¤â�¤Â»
11:39 FROGGS_ r: sub prefix:<¬>(\x) { (+^ x) % 2**32 }; constant FOO = -> \X, \Y { ¬X +& Y }
11:39 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: ( no output )
11:40 FROGGS_ r: sub prefix:<¬>(\x) { (+^ x) % 2**32 }; constant FOO = -> \X, \Y { ¬X +& Y }; FGHI[0](1, 1)
11:40 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared name:â�¤    FGHI used at line 1â�¤â�¤Â»
11:40 FROGGS_ r: sub prefix:<¬>(\x) { (+^ x) % 2**32 }; constant FOO = -> \X, \Y { ¬X +& Y }; FOO[0](1, 1)
11:40 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: ( no output )
11:40 FROGGS_ this says "Could not find sub &prefix:<¬>"
11:43 FROGGS_ okay, chainging constant FOO to my \FOO helps
11:46 colomon joined #perl6
11:50 kaare_ joined #perl6
11:56 AW3i joined #perl6
11:58 vendethiel r: if 5 { .say }
11:58 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«Nil␤»
11:58 vendethiel r: if 5 -> $_ { .say }
11:58 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«5␤»
11:58 vendethiel cool.
12:00 kaare_ joined #perl6
12:12 a3gis joined #perl6
12:13 FROGGS_ r: if "" || "hi" && 5 -> $_ { .say }
12:13 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«5␤»
12:13 FROGGS_ r: if "" || "hi" && 0 && 5 -> $_ { .say }
12:13 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: ( no output )
12:13 FROGGS_ ahh, hmm, yeah :o)
12:14 vendethiel r: if "" || "hi" andthen 0 andthen 5 -> $_ { .say }
12:14 camelia rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«5␤»
12:21 ssutch joined #perl6
12:26 xinming_ joined #perl6
12:37 xinming_ joined #perl6
12:47 ssutch joined #perl6
12:49 colomon joined #perl6
12:55 Alula joined #perl6
12:59 vendethiel joined #perl6
13:10 ascent_ joined #perl6
13:35 kaare__ joined #perl6
13:44 treehug88 joined #perl6
13:48 ssutch joined #perl6
13:54 zakharyas joined #perl6
13:55 guru joined #perl6
13:56 a3gis joined #perl6
14:10 thou joined #perl6
14:14 xenoterracide joined #perl6
14:20 Rounin By the time I finish reading this interview, Perl 6 will be in production
14:20 Rounin Thanks for giving a man something to do on a Sunday, JimmyZ :D
14:22 salv0 joined #perl6
14:24 FROGGS *g*
14:34 JimmyZ Rounin: 不客气
14:37 * vendethiel backlogged, only to find it's not in english -- damn !
14:39 JimmyZ use google translator :P
14:40 lichtkind joined #perl6
14:49 ssutch joined #perl6
14:54 rindolf joined #perl6
15:23 dalek nqp: 057593a | (Tobias Leich)++ | tools/build/gen-jvm-properties.pl:
15:23 dalek nqp: add $Cfg{perllibs}, because $Cfg{libs} contains boilerplate
15:23 dalek nqp: review: https://github.com/perl6/nqp/commit/057593a80d
15:24 lichtkind my p6ops talks was sucess, several people came to me and said they want to try out p6
15:25 dalek rakudo/nom: d381df4 | (Tobias Leich)++ | tools/build/NQP_REVISION:
15:25 dalek rakudo/nom: bump nqp rev to get nativecall@jvm fix
15:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d381df439c
15:25 FROGGS lichtkind++
15:25 FROGGS :o)
15:26 hoverboard joined #perl6
15:30 lichtkind hai tobias :)
15:31 FROGGS hi
15:32 lichtkind you always talk to so many people at once that you almost never do a proper goodby
15:32 FROGGS well, yeah, that is the problem of a workshop of that size
15:35 vendethiel JimmyZ: google translate is bad :)
15:37 lizmat joined #perl6
15:37 lichtkind hi lizzy _)
15:38 lizmat hello #perl6, from Cluj Romania
15:38 lichtkind is there a perl workshop
15:38 lichtkind ?
15:38 lizmat tomorrow, the Cluj.pm workshop
15:39 FROGGS hi lizmat
15:40 lizmat http://cluj.pm/pages/events.html
15:50 ssutch joined #perl6
15:53 raiph joined #perl6
15:54 lizmat joined #perl6
15:55 guru joined #perl6
15:55 jnthn o/ lizmat, lichtkind
15:55 lizmat hi jnthn!
15:56 arnsholtAtHome Anyone else have trouble on JVM with t/spec/S17-concurrency/supply.t?
15:56 dalek zavolaj: f7422ef | (Tobias Leich)++ | t/CompileTestLib.pm:
15:56 dalek zavolaj: use perllibs, because libs contains boilerplate
15:56 dalek zavolaj:
15:56 dalek zavolaj: On my ubunto box nativecall.libs contains -lgdbm which is not needed, and is not found by the linker for some reason.
15:56 dalek zavolaj: $ perl -MConfig -E 'say $Config{libs}'
15:56 dalek zavolaj: -lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
15:56 dalek zavolaj: $ perl -MConfig -E 'say $Config{perllibs}'
15:56 dalek zavolaj: -ldl -lm -lpthread -lc -lcrypt
15:56 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/f7422efef8
15:56 dalek zavolaj: b211b80 | jonathan++ | t/CompileTestLib.pm:
15:56 dalek zavolaj: Merge pull request #35 from FROGGS/patch-3
15:56 dalek zavolaj:
15:56 dalek zavolaj: use perllibs, because libs contains boilerplate
15:56 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/b211b80940
15:57 jnthn arnsholtAtHome: What kind of trouble are you having?
15:57 * FROGGS .oO( I'd say he is looking for trouble! )
15:57 jnthn arnsholtAtHome: Test 14 fails for me on Moar
15:57 arnsholtAtHome Hangs, apparently
15:57 dalek nqp/jastcompiler: 5044b3e | (Arne Skjærholt)++ | src/vm/jvm/stage0/ (10 files):
15:57 dalek nqp/jastcompiler: Update bootstrap compiler to have direct JAST compilation.
15:57 dalek nqp/jastcompiler: review: https://github.com/perl6/nqp/commit/5044b3ef69
15:57 dalek nqp/jastcompiler: 4bce8b5 | (Arne Skjærholt)++ | src/vm/jvm/ (3 files):
15:57 dalek nqp/jastcompiler: Remove old JAST compilation functionality.
15:57 dalek nqp/jastcompiler: review: https://github.com/perl6/nqp/commit/4bce8b5195
15:58 arnsholtAtHome No output after test 11 when I run the file directly
15:58 arnsholtAtHome Both on master and jastcompiler
15:58 jnthn Hm
15:58 jnthn ok 12 - # SKIP hangs
15:58 jnthn here
15:58 lizmat not ok 14 - merging taps works# TODO merging apparently does *not* work
15:58 jnthn Are you running fudged version?
15:58 lizmat I todoed it yesterday for moar
15:58 jnthn lizmat: yeah, my t/spec was beind.
15:59 jnthn *behind
15:59 lizmat maybe there's a deeper problem with merging taps
16:00 lizmat also, would be nice if sleep sort would be working on moar tomorrow  :-)
16:02 timotimo jnthn: what's your intuition on the relative performance of <-> and -> for for loops?
16:03 timotimo at first i thought -> ought to be faster, but now i think that <-> could just "re-use" the existing thing and -> might have to create a new thing
16:03 kaare__ joined #perl6
16:05 jnthn timotimo: Yeah, there's probably not much in it, and in the long run it's probably all open to analysis/optimization anyway.
16:05 timotimo fair enough
16:07 lizmat_ joined #perl6
16:09 iolympian joined #perl6
16:10 woolfy joined #perl6
16:10 woolfy Cluj!
16:11 moritz bless you!
16:12 FROGGS *g*
16:12 woolfy :-)
16:13 woolfy http://cluj.pm/pages/events.html
16:14 woolfy Liz will talk about Perl 6!
16:14 woolfy (well, yeah, about what else, maybe world peace, we do need that too)
16:33 lizmat joined #perl6
16:33 lizmat m: Promise.allof: start( {1} ), start( {2} );
16:34 camelia rakudo-moar b12607: OUTPUT«(signal ABRT)Unhandled exception in code scheduled on thread 139787364566784␤»
16:34 lizmat jnthn: that's the sleep sort problem golfed down
16:34 moritz looks like a fun event
16:34 jnthn I'm dubious about that thread ID. :)
16:35 jnthn lizmat: Just working on a few other bits at the moment, but will look at it this evening.
16:36 moritz m: say log(139787364566784, 2)
16:36 camelia rakudo-moar b12607: OUTPUT«46.9902272892746␤»
16:36 moritz m: say 139787364566784.fmt('%b')
16:36 camelia rakudo-moar b12607: OUTPUT«111111100100010110010​00001101011000011100000000␤»
16:36 moritz m: Promise.allof: start( {1} )
16:36 camelia rakudo-moar b12607: OUTPUT«(signal ABRT)»
16:37 moritz golfed even further :-)
16:37 timotimo m: Promise.allof()
16:37 camelia rakudo-moar b12607: OUTPUT«Can only use allof to combine other Promise objects␤  in method allof at src/gen/m-CORE.setting:17918␤  in block  at /tmp/x_eU1ET4l8:1␤␤»
16:37 moritz m: Promise.allof: start( {} )
16:37 camelia rakudo-moar b12607: OUTPUT«Type check failed in binding &code; expected 'Callable' but got 'Hash'␤  in sub start at src/gen/m-CORE.setting:17948␤  in block  at /tmp/LVTruef6QL:1␤␤»
16:37 timotimo this fails, too!
16:37 lizmat that's odd: it never bombed for me with just a single promise
16:37 moritz m: Promise.allof: start( {;} )
16:37 timotimo {;}?
16:37 camelia rakudo-moar b12607: OUTPUT«(signal ABRT)»
16:37 timotimo you made *one* promise, rakudo!
16:38 moritz f*cking keep it!
16:38 timotimo hey now
16:38 timotimo watch the language, mister
16:38 timotimo there might be pupa around
16:38 timotimo ... pupae?
16:40 lizmat jnthn: fwiw, I've also seen a small stacktrace:
16:40 lizmat Cannot find method 'Mu'
16:40 lizmat in block  at src/gen/m-CORE.setting:17660
16:41 * moritz makes a mental note to clean the public IRC logs of this swearing when $first-daughter starts to learn English (and reading)
16:41 timotimo will english or reading be first? :)
16:45 kurahaupo joined #perl6
16:48 rurban1 joined #perl6
16:50 punter joined #perl6
16:50 ssutch joined #perl6
16:51 punter perl6: say 3;
16:51 camelia rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df, niecza v24-109-g48a8de3: OUTPUT«3␤»
16:52 FROGGS perl6: say 3
16:52 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Digit <3> too large for radix 10␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 147 (from_base @ 24) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 …»
16:52 camelia ..rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�'3' is not a valid number�at /tmp/tmpfile:1�------> [32msay 3[33m�[31m<EOL>[0m�»
16:53 FROGGS interesting...
16:53 FROGGS .u 3
16:53 yoleaux U+FF13 FULLWIDTH DIGIT THREE [Nd] (3)
16:55 guru joined #perl6
16:55 lizmat perl6: say 3.Num
16:55 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Digit <3> too large for radix 10␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 147 (from_base @ 24) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 …»
16:55 camelia ..rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�'3' is not a valid number�at /tmp/tmpfile:1�------> [32msay 3[33m�[31m.Num[0m�»
16:56 cognominal ouch
16:56 lizmat perl6: say 3.WHAT
16:56 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Digit <3> too large for radix 10␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 147 (from_base @ 24) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 …»
16:56 camelia ..rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�'3' is not a valid number�at /tmp/tmpfile:1�------> [32msay 3[33m�[31m.WHAT[0m�»
16:57 FROGGS p6: say 𝟛
16:57 camelia rakudo-parrot d381df, rakudo-moar d381df: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�'�' is not a valid number�at /tmp/tmpfile:1�------> [32msay �[33m�[31m<EOL>[0m�»
16:57 camelia ..rakudo-jvm d381df: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msay [33mâ��[31mð�Ÿ›[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤  â€¦Â»
16:57 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/tmpfile line 1:â�¤------> [32msay[33mâ��[31m ð�Ÿ›[0mâ�¤â�¤Confused at /tmp/tmpfile line 1…»
16:58 FROGGS not that I would need that :o)
17:01 ajr joined #perl6
17:03 timotimo which function gives us the "value" of a unicode character?
17:03 SamuraiJack_ joined #perl6
17:03 lizmat not sure there is one atm
17:03 FROGGS m: say GLOBAL::.grep(/uni/)
17:03 camelia rakudo-moar d381df: OUTPUT«␤»
17:06 jnthn Hm...unival?
17:06 timotimo m: say GLOBAL::.keys.grep(/uni/)
17:06 camelia rakudo-moar d381df: OUTPUT«␤»
17:06 FROGGS jnthn: no
17:06 timotimo i think unival is it, yeah
17:06 timotimo no?
17:06 FROGGS m: say unival("3")
17:06 camelia rakudo-moar d381df: OUTPUT«3␤»
17:06 FROGGS m: say unival("3")
17:06 camelia rakudo-moar d381df: OUTPUT«3␤»
17:06 FROGGS m: say unival("A")
17:06 camelia rakudo-moar d381df: OUTPUT«NaN␤»
17:06 lizmat perl6: say 3.unival
17:06 camelia rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�'3' is not a valid number�at /tmp/tmpfile:1�------> [32msay 3[33m�[31m.unival[0m�»
17:06 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Digit <3> too large for radix 10␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 147 (from_base @ 24) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 …»
17:07 FROGGS timotimo: ahh, you actually meant that :o)
17:10 timotimo yup, that's the one i'm refering to
17:10 hoverboard joined #perl6
17:10 timotimo lizmat: you can't use the fullwidth 3 in any of these contexts, you're always getting a parse error at compile time :)
17:10 telex joined #perl6
17:10 lizmat that last one should have worked, btw, according to S15:490
17:10 synopsebot Link: http://perlcabal.org/syn/S15.html#line_490
17:11 lizmat timotimo: why wouldn't that be possible?
17:14 FROGGS it should work, yes, but when a single 3 explodes, calling a method on it won't help
17:15 xinming__ joined #perl6
17:25 timotimo lizmat: but but but ... unquoted?
17:25 timotimo d'oh, that link 404s
17:27 lizmat odd, the link seems correct (compare e.g. with S16
17:28 lizmat perl6: say '3'.unival
17:29 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method unival in type Str␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤…»
17:29 camelia ..rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«No such method 'unival' for invocant of type 'Str'␤  in block  at /tmp/tmpfile:1␤␤»
17:29 lizmat that would seem like LHF then
17:32 timotimo not .&unival?
17:37 bjz joined #perl6
17:40 Psyche^_ joined #perl6
17:42 virtualsue joined #perl6
17:51 ssutch joined #perl6
17:52 lizmat timotimo: not according to spec
17:54 guru joined #perl6
17:56 woolfy left #perl6
17:57 dalek rakudo/nom: ee7dbc1 | (Elizabeth Mattijsen)++ | src/core/Str.pm:
17:57 dalek rakudo/nom: Implement univals() and Str.unival(s)
17:57 dalek rakudo/nom:
17:57 dalek rakudo/nom: According to S15:490 and following, without the Unicodey role though.
17:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee7dbc124f
17:57 synopsebot Link: http://perlcabal.org/syn/S15.html#line_490
17:58 lizmat afk while sampling the local bere&
18:05 a3gis joined #perl6
18:12 timotimo OK
18:12 timotimo univals and unival?
18:18 moritz m: say univals(2).perl
18:18 camelia rakudo-moar d381df: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/u8hTiiNEGiâ�¤Undeclared routine:â�¤    univals used at line 1. Did you mean 'unival'?â�¤â�¤Â»
18:18 moritz m: say unival(2).perl
18:18 camelia rakudo-moar d381df: OUTPUT«NaN␤»
18:19 moritz m: say unival('2'.ord).perl
18:19 camelia rakudo-moar d381df: OUTPUT«2␤»
18:20 dmol joined #perl6
18:22 timotimo m: say 2.ord
18:22 camelia rakudo-moar d381df: OUTPUT«50␤»
18:24 timotimo Could not download module metadata: Failed to connect: permission denied
18:24 timotimo o_O
18:30 punter joined #perl6
18:33 timotimo feather seems down or something?
18:33 timotimo well, at least whatever was listening on port 3000
18:34 FROGGS ewww
18:34 timotimo at least that let me fix something else that was not very good :)
18:34 timotimo a very old PATH setting for perl6
18:35 FROGGS that it the thing that delivers projects.json :/
18:35 timotimo yes, it is.
18:35 timotimo is it the same as this? http://modules.perl6.org/proto.json
18:36 colomon joined #perl6
18:38 FROGGS timotimo: looks like, yes
18:39 FROGGS hmmm, I'd guess that "badge_panda_nos11" is not in the projects.json
18:39 timotimo evidently not, though
18:39 FROGGS so the structure seems to differ
18:39 timotimo it explodes when i try to give it to that
18:39 timotimo Cannot call 'postcircumfix:<{ }>'; none of these signatures match:
18:39 timotimo in the ecosystem's "add-project" method
18:40 FROGGS yeah
18:40 FROGGS r: say "\c[MATHEMATICAL ITALIC SMALL N]"
18:41 camelia rakudo-jvm ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unrecognized character name MATHEMATICAL ITALIC SMALL N�at /tmp/tmpfile:1�------> [32msay "\c[MATHEMATICAL ITALIC SMALL N[33m�[31m]"[0m�»
18:41 camelia ..rakudo-parrot ee7dbc, rakudo-moar ee7dbc: OUTPUT«𝑛␤»
18:42 timotimo panda refuses to do anything if it doesn't have the projects file
18:45 FROGGS timotimo: do you need one from yesterday?
18:45 FROGGS https://gist.githubusercontent.com/FROGGS​/32d80452cfbfe49f16ab/raw/5d5b0aaa62e61ae​283e14c16ce7a5b4003cf420e/projects.json
18:45 timotimo it's fine, i'm using ufo now
18:45 FROGGS mkay
18:45 FROGGS :o)
18:45 timotimo hey listen
18:46 timotimo something's odd with ADT
18:46 FROGGS which backend?
18:46 timotimo moarvm
18:46 FROGGS mkay
18:46 timotimo hold on
18:46 * FROGGS holds on
18:46 SamuraiJack_ joined #perl6
18:46 timotimo r: my \Foo = Metamodel::ClassHOW.new_type("Hello");
18:46 camelia rakudo-parrot ee7dbc: ( no output )
18:46 camelia ..rakudo-moar ee7dbc: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in any new_type at src/gen/m-Metamodel.nqp:2416␤  in block  at /tmp/tmpfile:1␤␤»
18:46 camelia ..rakudo-jvm ee7dbc: OUTPUT«Wrong number of arguments passed; expected 1..1, but got 2␤  in block  at /tmp/tmpfile:1␤␤»
18:47 timotimo huh? :(
18:47 timotimo AFK for a bit now.
18:48 FROGGS .u ≴
18:48 yoleaux U+2274 NEITHER LESS-THAN NOR EQUIVALENT TO [Sm] (≴)
18:48 FROGGS r: say "\c[NEITHER LESS-THAN NOR EQUIVALENT TO]"
18:48 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«≴␤»
18:51 lue I was eyeing [Coke]'s test data last night, when I noticed these tests are skipped: https://github.com/perl6/roast/blob/mast​er/S02-literals/char-by-number.t#L74-L77  my question is, why are those supposed to be errors?
18:52 lue (and why does it contradict https://github.com/perl6/roast/blob/ma​ster/S02-literals/char-by-number.t#L63)
18:52 ssutch joined #perl6
18:53 hoverboard joined #perl6
18:59 moritz lue: I'm pretty sure \0 is correct
18:59 moritz lue: so just remove those tests
18:59 FROGGS .u 🃟
18:59 kivutar joined #perl6
18:59 yoleaux U+1F0DF PLAYING CARD WHITE JOKER [So] (🃟)
18:59 FROGGS r: say "\c[PLAYING CARD WHITE JOKER]"
18:59 camelia rakudo-jvm ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unrecognized character name PLAYING CARD WHITE JOKER�at /tmp/tmpfile:1�------> [32msay "\c[PLAYING CARD WHITE JOKER[33m�[31m]"[0m�»
18:59 camelia ..rakudo-parrot ee7dbc, rakudo-moar ee7dbc: OUTPUT«🃟␤»
19:00 moritz std: "\0"
19:00 camelia std e347792: OUTPUT«ok 00:01 121m␤»
19:03 lue moritz: the test makes sure that you can't try to use an octal value leading-zero style. I'm assuming then that "\010" would always be "\x[0]10", no warning ?
19:04 dwarring joined #perl6
19:04 moritz std: "\01"
19:04 camelia std e347792: OUTPUT«ok 00:01 121m␤»
19:05 thou joined #perl6
19:05 moritz lue: since std doesn't warn or error, I'm pretty sure implementations shouldn't
19:05 lue nod
19:06 moritz (unless you can quote a piece of spec that contradicts it)
19:06 moritz oh wait
19:07 moritz The old C<\123> form is now illegal, as is the C<\0123> form.
19:07 moritz Only C<\0> remains, and then only if the next character is not in
19:07 moritz the range C<'0'..'7'>.  Octal characters must use C<\o> notation.
19:07 moritz Note also that backreferences are no longer represented by C<\1>
19:07 moritz and the like--see S05.
19:08 moritz so the test in line 63 is actually wrong
19:08 * lue thinks the spec is wrong, but oh well
19:09 moritz let's wait what TimToady++ has to say
19:11 dwarring mortiz, lue: leave codepoint validation off in chr() for the moment?
19:11 lue moritz: agreed. I can see good reasons for both arguments :)
19:11 dwarring ie surrogates and range > 0x10ffff
19:12 moritz I can see why \<digits> without any (at least implied) unit would be wrong
19:12 lue isolated surrogates and > 10_ffff are good check, imo
19:12 lue *checks
19:12 timotimo moritz: you know about feather's panda project list server thingie?
19:14 FROGGS star: my MIME::Base64 $mime .= new(MIME::Base64::Perl); say $mime.decode('DDADJnQiowM=').decode('UTF-16')
19:14 camelia star 2013-09: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'MIME::Base64' is not declared�at /tmp/WDdVsa8L1l:1�------> [32mmy MIME::Base64[33m�[31m $mime .= new(MIME::Base64::Perl); say $[0m�Malformed my�at /tmp/WDdVsa8L1l:1�------> [32mmy MIME::[33m�[31mBase64 …»
19:14 FROGGS star: use MIME::Base64; my MIME::Base64 $mime .= new(MIME::Base64::Perl); say $mime.decode('DDADJnQiowM=').decode('UTF-16')
19:14 camelia star 2013-09: OUTPUT«Could not find symbol '&Perl'␤  in method <anon> at src/gen/CORE.setting:12026␤  in any  at src/gen/Metamodel.nqp:2671␤  in any find_method_fallback at src/gen/Metamodel.nqp:2659␤  in any find_method at src/gen/Metamodel.nqp:946␤  in block  at /tmp/jzk…»
19:14 moritz timotimo: not much; I know that it runs at tadzik's user account
19:15 moritz timotimo: what about it?
19:16 moritz dwarring: I don't really know; just that it caused too much spectest fallout the last time
19:16 dwarring I'll let it sit for now
19:16 timotimo aha! so tadzik is at fault! :P
19:16 timotimo the problem with it is that it doesn't seem to be up at the moment :)
19:22 SamuraiJack_ joined #perl6
19:27 jnthn timotimo: The type name for new_type is passed as the :name named paremeter
19:34 moritz timotimo: please check again
19:34 moritz timotimo: I've restarted the server
19:36 zby_home joined #perl6
19:40 moritz FROGGS: re https://github.com/FROGGS/perl6-lwp-simple/co​mmit/49cc497bb72849767a730c923bacfabc64c3eaad why the anchor in the URL?
19:41 lichtkind_ joined #perl6
19:41 FROGGS moritz: just to not have the domain in it
19:41 FROGGS not only*
19:45 moritz FROGGS: does that work? I mean, does LWP::Simple strip the anchor before sending it over the wire??
19:45 cognominal what is the url of the site with rakudo * roasts?
19:46 moritz s/\?//
19:46 moritz cognominal: https://github.com/coke/rakudo-star-daily/
19:46 cognominal I mean the site that displays the results
19:47 vendethiel seems like it got slower ? from rakudo-star-daily report
19:47 vendethiel Actually, some stuff got slower, some other stuff got faster.
19:47 vendethiel (maybe it's previously skipped tests that made it slower, actually ...)
19:48 FROGGS moritz: it passes the tests but I'm not sure it actually strips the anchor
19:48 jnthn I think it's probably noise.
19:49 moritz vendethiel: the stuff runs on the same VM as camelia, and more importantly, the rakudo rebuilds for camelia
19:49 moritz vendethiel: which alone can cause lots of timing jitter
19:49 vendethiel I'll remember not to take it too seriously then :) thanks for the clarification
19:49 jnthn It's also nice'd, I think.
19:50 Rounin Finally... Now I know what Larry Wall was planning to do in China ¦|
19:51 Rounin Apparently he likes Chinese characters, too
19:53 ssutch joined #perl6
19:54 FROGGS ¦)
19:59 denis_boyun joined #perl6
20:00 timotimo time for some lightweight monitoring to be installed for perl6 related services
20:00 timotimo http://kanla.zekjur.net/
20:02 LLamaRider joined #perl6
20:07 timotimo if someone points me at many interesting services that could be monitored, i could very well set that up
20:13 timotimo hmm
20:13 timotimo not very helpful of Perl6::CommandLine::UI to be putting "..." way before the thing that's supposed to be shown to the user :P
20:14 jnthn timotimo: Context?
20:15 iolympian left #perl6
20:15 timotimo parsing a grammar
20:15 * timotimo investigates
20:16 jnthn It's meant to show those if you're parsing a long string, and show the part around where you are.
20:16 jnthn The whole thing's written in Perl 6 so should be fairly accessible to improve :)
20:16 jnthn Not seen it do anything weird there, though...
20:20 timotimo it's not showing the piece of the grammar that's currently matching against the text :)
20:20 timotimo but it does turn one of the dots yellow
20:20 a3gis joined #perl6
20:21 jnthn if it turns it yellow...that's probably where it is, no? :)
20:24 timotimo yeah, well ...
20:24 benabik joined #perl6
20:24 timotimo |         rule definition {
20:24 timotimo |             $<constructor>=<.ident> [ $<typedecl>=<.ident><parameters> $<a...
20:24 timotimo |         }
20:24 timotimo here the last . in the second line and the } are marked yellow
20:25 timotimo that's not terribly helpful :P
20:26 timotimo ah of course
20:26 timotimo @!lines is initialised to have abbreviated lines
20:26 timotimo not really willing to mess with that right now :|
20:28 jnthn ah...yeah
20:28 jnthn write shorter lines! :P
20:30 timotimo :)
20:30 timotimo could certainly do that
20:31 a3gis joined #perl6
20:42 timotimo i think i just made the debugger throw an exception due to an improper use of some substr
20:47 jnthn Congrats :P
20:47 timotimo but now i have proper code that i could just have
20:47 timotimo like, could just use and no longer care about the debugger
20:48 dalek roast: 192b52c | (Arne Skjærholt)++ | S17-concurrency/supply.t:
20:48 dalek roast: Refudge hanging concurrency test on Rakudo/JVM.
20:48 dalek roast: review: https://github.com/perl6/roast/commit/192b52c198
20:49 dalek nqp: 7e6d19f | (Arne Skjærholt)++ | src/vm/jvm/QAST/Compiler.nqp:
20:49 dalek nqp: Make sure all handler indices are ints.
20:49 dalek nqp:
20:49 dalek nqp: Prior to this, some indices would be nums; one because the construct "$a+$b"
20:49 dalek nqp: returns a num, even if both variables are ints (fixed by using logical or
20:49 arnsholtAtHome And I murdered dalek. Whoops
20:49 arnsholtAtHome Anyways, just merged jastcompiler into master
20:49 jnthn \o/
20:49 FROGGS \o/
20:49 timotimo yaaaay
20:50 jnthn arnsholt++
20:50 dalek joined #perl6
20:50 FROGGS arnsholt++
20:50 jnthn That's a very nice improvement.
20:50 timotimo arnsholt++
20:50 jnthn April's release should be a very nice one at this rate.
20:51 FROGGS btw, r-p* would be clean if two or three PR's get applied
20:51 vendethiel so that means no ast re-parsing :) ?
20:52 arnsholtAtHome Yup
20:52 vendethiel arnsholt++
20:53 FROGGS src/vm/jvm/runtime/org/perl​6/nqp/runtime/Ops.java:55: error: cannot find symbol
20:53 FROGGS import org.perl6.nqp.jast2bc.JASTCompiler;
20:53 FROGGS I do something rong?
20:53 ssutch joined #perl6
20:53 FROGGS ahh, got it
20:54 FROGGS my fault
20:55 [Coke] lue; you're right - no one asked for it! ;)
20:56 benabik joined #perl6
21:03 colomon joined #perl6
21:09 lue [Coke]: I just figured I should start using your test data, at least enough so that I don't have to run the spectest twice per fix; knowing what checkout of the compiler you used would be helpful, but not critical.
21:15 Rotwang joined #perl6
21:22 Vlavv joined #perl6
21:29 BenGoldberg joined #perl6
21:37 timotimo guess what
21:37 timotimo i couldn't open that image file because i linked against SDL_image rather than SDL2_image
21:37 jnthn 2 bad...
21:39 LLamaRider joined #perl6
21:54 ssutch joined #perl6
21:56 dalek specs: 4e6f85f | lue++ | S26-documentation.pod:
21:56 dalek specs: [S26] Stop interpreation of =config in formatting code in code blocks.
21:56 dalek specs:
21:56 dalek specs: This allows the formatting code to work properly.
21:56 dalek specs: review: https://github.com/perl6/specs/commit/4e6f85f7dc
21:58 [Coke] https://gist.github.com/coke/9880574 ^^ wierdness with sets and MAIN
21:58 [Coke] if I make that not a MAIN, and call it as a sub directly, the resulting set is (-)'d correctly.
21:59 [Coke] (but as MAIN, the (-) doesn't seem to be done.)
22:01 LLamaRider r: <15 4 9123 2 31>.sort({<=>}).say;
22:01 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«15 4 9123 2 31␤»
22:02 LLamaRider 1) why does this work? 2) why is it a no-op?
22:02 LLamaRider I was trying to find the briefest way to ask for a numeric comparison in sort
22:03 LLamaRider r: <15 4 9123 2 31>.sort({[<=>] @_}).say;
22:03 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«2 4 15 31 9123␤»
22:03 LLamaRider this at least works, but I just have the feeling there might be a way around using @_ that i am missing
22:04 Alina-malina joined #perl6
22:05 [Coke] r: <15 4 9123 2 31>.sort({*<*}).say
22:05 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse quote-words subscript; couldn't find right angle quote�at /tmp/tmpfile:1�------> [32m<15 4 9123 2 31>.sort({*<*}).say[33m�…»
22:07 timotimo LLamaRider: look at this:
22:07 timotimo r: say <=>.perl
22:07 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«"="␤»
22:07 timotimo r: say <= = =>.perl
22:07 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«("=", "=", "=")␤»
22:08 LLamaRider O_O
22:08 LLamaRider but it sometimes treats it as an operator
22:08 lue r: <15 4 9123 2 31>.sort(* <=> *).say;
22:08 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«2 4 15 31 9123␤»
22:09 BenGoldberg r: say <===>.perl
22:09 timotimo r: <15 4 9123 2 31>.sort(&[<=>]).say
22:09 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«"==="␤»
22:09 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«2 4 15 31 9123␤»
22:09 lue LLamaRider: it only works as an operator when you use it like one :)
22:09 timotimo yeah, only in infix position, not in term position :)
22:09 BenGoldberg r: say &[<=>].perl
22:09 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«sub+{<anon>} infix:<<=>>(Any, Any $?) { ... }␤»
22:09 lue r: <15 4 9123 2 31>.sort({cmp}).say;
22:10 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    cmp used at line 1â�¤â�¤Â»
22:10 LLamaRider ah, & is the magic I was hoping for
22:10 timotimo well, &[...] really
22:10 BenGoldberg r: &+.say
22:10 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Unsupported use of &+ variableâ�¤at /tmp/tmpfile:1â�¤------> [32m&[33mâ��[31m+.say[0mâ�¤    expecting any of:â�¤        infix nounâ�¤Â»
22:10 BenGoldberg You cannot omit the []
22:12 treehug88 joined #perl6
22:12 LLamaRider right. I already half-figured out I'd need [] to apply to the implicit slurpy argument list (or whatever the right way of calling it is)
22:12 LLamaRider r: <some words here>.sort(&[<=>]).say
22:13 camelia rakudo-parrot ee7dbc: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in method Real at gen/parrot/CORE.setting:1032␤  in method Real at gen/parrot/CORE.setti…»
22:13 camelia ..rakudo-jvm ee7dbc: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in any  at gen/jvm/BOOTSTRAP.nqp:1202␤  in method Real at gen/jvm/CORE.setting:1029␤  in method Real at gen/jvm/CORE.setting:3607␤  in …»
22:13 camelia ..rakudo-moar ee7dbc: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in method Real at src/gen/m-CORE.setting:1029␤  in method Real at src/gen/m-CORE.setting:3607␤  in method Real at src/gen/m-CORE.setting:1029␤  in sub infix:<<=>> at src/gen/m-…»
22:13 LLamaRider oh, i can't cheat
22:13 jnthn LLamaRider: use leg for strings
22:13 jnthn LLamaRider: or cmp for magic
22:14 LLamaRider r: leg.perl
22:14 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    leg used at line 1. Did you mean 'log'?â�¤â�¤Â»
22:14 BenGoldberg r: say <some words here>.sort { +* <=> +* }
22:14 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)�at /tmp/tmpfile:1�------> [32msay <some word…»
22:14 BenGoldberg r: say <some words here>.sort: { +* <=> +* }
22:14 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«some words here␤»
22:22 treehug88 joined #perl6
22:23 timotimo r: enum Foobar <One Two Three>; my Foobar $a; say $a.perl;
22:23 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«Foobar␤»
22:23 timotimo yay for getting typed "null" values for free
22:24 LLamaRider Is Perl6 introspection, such as .^methods new as a programming language feature, or was it borrowed from somewhere conceptually? The languages I know don't have anything similar, so I'm unsure.
22:25 jnthn LLamaRider: Many langauges have such capabilities so far as introspection goes. In Java and C# they call it reflection, for example.
22:25 LLamaRider oh wow, even Java has it. Thanks, will read up on that
22:26 jnthn LLamaRider: Perl 6 goes a bit further than many languages in that it has a MOP, meaning you can not only look at types, but construct them using the same set of fetures. This isn't a new idea either; Smalltalk and CLOS and Perl 5's Moose all inspired what we have in Perl 6 today.
22:26 dalek rakudo-debugger: ef18b17 | timo++ | README.markdown:
22:26 dalek rakudo-debugger: this repo is now only for the frontend
22:26 dalek rakudo-debugger: review: https://github.com/jnthn/raku​do-debugger/commit/ef18b17c7e
22:26 dalek rakudo-debugger: 30c8475 | jonathan++ | README.markdown:
22:26 dalek rakudo-debugger: Merge pull request #18 from timo/patch-2
22:26 dalek rakudo-debugger:
22:26 dalek rakudo-debugger: this repo is now only for the frontend
22:26 dalek rakudo-debugger: review: https://github.com/jnthn/raku​do-debugger/commit/30c847500f
22:27 jnthn LLamaRider: for more on that see handle->body.mutex
22:27 jnthn uh
22:27 jnthn http://jnthn.net/papers/201​2-gpw-meta-programming.pdf
22:27 jnthn that one :)
22:28 LLamaRider programs writing programs? Acme::Skynet is called for :D
22:29 simula67 well there is definitely a bug in moar if you supply double crlf as input-delimiter for a socket.get http://pastebin.com/KtEd5P7t
22:29 LLamaRider jnthn++ thanks for the link to the talk!
22:29 jnthn simula67: Oh, I know that area of the code...
22:30 LLamaRider I've promised to give a Perl6 talk to a bunch of excited undergraduate students in mid-May, so I am trying to find the sexiest topics to mention
22:30 jnthn simula67: It's not really impressed with multi-char delims at the moment...
22:30 jnthn simula67: It's on my todo list, but it turns out we had no spectests that care...
22:31 Alina-malina joined #perl6
22:32 simula67 i can write one tomorrow
22:32 punter joined #perl6
22:32 simula67 i ran into some wierdish behavior last time i tried :(
22:36 vendethiel "has @!tasks handles :tasks<elems>;" that's renaming ?
22:37 punter It would be nice if the how-to-get-rakudo contained a .deb of the most recent Rakudo, made for Ubuntu
22:37 punter the .deb link there links to packages.debian.org, which is (a) for debian, and (b) not the most recent version
22:38 punter (talking about the rakudo)
22:40 colomon joined #perl6
22:40 LLamaRider r: "something".split("").map(*.wordcase).join("").say
22:40 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«SOMETHING␤»
22:42 LLamaRider r: Str.^methods.grep(/case/).say;
22:42 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«samecase wordcase␤»
22:45 LLamaRider r: "something".samecase("AaAaAa").say
22:45 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«SoMeThing␤»
22:45 LLamaRider rather curious method :)
22:46 LLamaRider I see how it generalizes uc, lc, ucfirst and lcfirst from P5
22:46 LLamaRider thumbs up
22:46 LLamaRider though it might be slower in terms of runtime
22:47 timotimo r: say Str.^methods.grep /same/
22:47 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msay Str.^methods.grep /same/[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        argument…»
22:47 timotimo r: say Str.^methods.grep: /same/
22:47 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«samecase samespace␤»
22:47 jnthn It's a power tool for when you need it :)
22:48 jnthn vendethiel: The colonpair is doing renaming, yeah.
22:53 vendethiel r: "a".samecase
22:53 camelia rakudo-jvm ee7dbc: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method samecase at gen/jvm/CORE.setting:6333␤  in block  at /tmp/tmpfile:1␤␤»
22:53 camelia ..rakudo-parrot ee7dbc: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method samecase at gen/parrot/CORE.setting:6333␤  in block  at /tmp/tmpfile:1␤␤»
22:53 camelia ..rakudo-moar ee7dbc: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method samecase at src/gen/m-CORE.setting:6329␤  in block  at /tmp/tmpfile:1␤␤»
22:53 vendethiel :D
22:54 timotimo i think we should let the conditional compilation thingie create empty line fillers for the pieces that got removed
22:54 timotimo so that the line numbers match up
22:55 ssutch joined #perl6
22:59 LLamaRider r: my $foo = "some string"; $foo.samecase("A" x $foo.chars).say
22:59 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«SOME STRING␤»
22:59 LLamaRider it's a bit more difficult than uc($foo)
23:00 LLamaRider oh wait, uc is a valid method
23:00 LLamaRider r: "some string".uc.say; Str.^methods.say;"
23:00 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in double quotes; couldn't find final '"' �at /tmp/tmpfile:1�------> [32m"some string".uc.say; Str.^methods.say;"[…»
23:00 LLamaRider r: "some string".uc.say; Str.^methods.say;
23:00 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«SOME STRING␤BUILD Int Num chomp chop substr pred succ match ords lines samecase samespace trim-leading trim-trailing trim words encode wordcase trans indent codes path unival univals WHICH Bool Str Stringy DUMP AC…»
23:00 lizmat joined #perl6
23:01 jnthn lizmat: I've got local patches taht fix sleep sort
23:01 jnthn And probably a bunch of other things.
23:02 jnthn But need to spectest.
23:02 LLamaRider Last annoying question for the night from me. Str.^methods doesn't tell me about .uc, but "something".uc indeed works
23:03 LLamaRider why?
23:03 timotimo try .methods(:all)
23:03 timotimo methods will by default hide inherited methods or stuff
23:04 LLamaRider r: Str.^methods(:all).grep(/uc/).say
23:04 camelia rakudo-parrot ee7dbc, rakudo-moar ee7dbc: OUTPUT«succ uc ucfirst reduce duckmap␤»
23:04 camelia ..rakudo-jvm ee7dbc: OUTPUT«succ ucfirst uc duckmap reduce␤»
23:04 LLamaRider timotimo++ it all makes sense now. Thanks
23:04 LLamaRider and good night to all
23:04 jnthn It's not inherited, it's Mu/Any/Cool that are hidden.
23:04 jnthn 'night, LLamaRider
23:04 timotimo ah, thanks
23:05 LLamaRider jnthn++ ah then it's even trickier, I'll definitely write that down
23:06 logie_ joined #perl6
23:06 LLamaRider so all Cool things can be messed with in terms of upper/lower case :) interesting
23:07 jnthn Cool = convenient OO loopbacks
23:07 jnthn Actually I'm surprised uc is *implemented* in Cool
23:07 jnthn It should be implemented in Str and Cool should just coerce and delegate.
23:07 jnthn Otherwise we pay the price of a coercion when it's unrequired.
23:09 LLamaRider On first glance, it makes sense that the stringy implementation of uc resides in Str. But I have no idea if there are other Str-like classes in P6
23:10 jnthn We'll perform better if it can go there.
23:14 dalek rakudo/nom: 0035fad | jnthn++ | src/Perl6/Actions.nqp:
23:14 dalek rakudo/nom: Fix blorst closure-o.
23:14 dalek rakudo/nom:
23:14 dalek rakudo/nom: This in turn fixes try { ... } usage in multiple threads, and maybe
23:14 dalek rakudo/nom: other similar bugs.
23:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0035fad73e
23:16 vendethiel r: for ({a => 1, b => 2}, {a => 5, b => 5}) -> (:$a, :$b) { say $a + $b }
23:16 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«3␤10␤»
23:16 jnthn lizmat: nom/master/master should give you a working sleep sort on r-m
23:17 lue r: say "a;b;c".split(";", :limit(1)).perl; # should limit do what I think it should do?
23:17 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«("a", "b", "c").list␤»
23:18 lizmat jnthn: just back from bere tasting, will try, thanks!
23:19 jnthn lizmat: I see bere is good for your typing... :P
23:19 jnthn Oh wait, is that Romainian for beer? :)
23:19 lizmat that's what I thought  :-)
23:19 lue (that is, limit, uh, limits the number of splits)
23:21 vendethiel r: say '| ' ~ ' ' x 5;
23:21 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«|      ␤»
23:21 woolfy joined #perl6
23:22 lue Oh, I'm silly. It's not a named parameter :P
23:22 vendethiel r: class A { method foo { say "hello ! im a turtle" } }; class B does A { method foo { my $m := callsame; say "hello !"; $meth; } }; B.new.foo;
23:22 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�A is not composable, so B cannot compose it�at /tmp/tmpfile:1�------> �»
23:22 lizmat jnthn: alas, t/spec/S17-concurrency/promise.t now seems to hang on the sleep sort
23:22 vendethiel r: class A { method foo { say "hello ! im a turtle" } }; class B is  A { method foo { my $m := callsame; say "hello !"; $meth; } }; B.new.foo;
23:22 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '$meth' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32m my $m := callsame; say "hello !"; $meth[33mâ��[31m; } }; B.new.foo;[0mâ�¤  â€¦Â»
23:22 vendethiel r: class A { method foo { say "hello ! im a turtle" } }; class B is  A { method foo { my $m := callsame; say "hello !"; $m; } }; B.new.foo;
23:22 jnthn lizmat: Did you get HEAD of Moar too?
23:22 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«hello ! im a turtle␤hello !␤»
23:22 vendethiel oooh.
23:22 lizmat ah, eh no
23:22 jnthn lizmat: perl6-m -e "await (1..10).pick(*).map({ start { sleep $_; say $_ } })" # works nice for me.
23:23 lue r: say "a;b;c".split(";", 1); # somehow I didn't expect limit to mean this, though
23:23 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«a;b;c␤»
23:23 vendethiel perl6++
23:23 jnthn lizmat: semtryacquire accidentally had semantics more like semacquire which are...different ;)
23:24 lizmat ack  :-)
23:24 vendethiel r: class A { method foo { say "hello ! im a turtle" } }; class B is  A { method foo { my $m := callsame; say "hello !"; $m; $m; } }; B.new.foo;
23:25 camelia rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«hello ! im a turtle␤hello !␤»
23:25 vendethiel perl6++ # sane
23:26 jnthn lizmat: yeah, that test was prolly vuln to that bug, and it does pass here now
23:28 lizmat ok, I'm not seeing it straight anymore... too tired... will look again after some sound sleep
23:28 lizmat in any case, thanks jnthn!
23:28 jnthn lizmat: Sleep well!
23:29 lizmat you too!  :-)
23:29 jnthn Thanks! See you tomorrow!
23:31 jnthn 'night, #perl6
23:31 timotimo gnite!
23:46 dayangkun joined #perl6
23:56 ssutch joined #perl6
23:56 masak morning, #perl6 :)
23:58 cxreg wondering when jnthn++ next blog post will be

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo