»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:13
LLamalessRider left,
LLamaRider left
00:22
kivutar left
00:38
FROGGS[mobile] left
00:49
fuad left
00:55
Mouq joined
|
|||
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:15 | |
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» | ||
timotimo | as you can see, the $_ is read-write-bound | ||
lue | yeah, didn't know that. | 01:20 | |
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? | ||
timotimo | i'd say the former. | 01:23 | |
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:24 | |
01:45
klapperl joined
01:46
hoverboard joined
01:48
klapperl_ left
01:53
raiph joined
01:55
colomon left
01:56
AW3i left
01:59
LLamaRider joined
02:02
thilp left,
thilp joined
02:13
hoverboard is now known as water
02:14
water is now known as hoverboard
02:15
bonsaikitten is now known as xiaomiao
02:17
Guest95000 is now known as masak,
masak is now known as Guest58630,
Guest58630 is now known as masak_
|
|||
masak_ | lue: for @a { $_++ } # I do that sometimes. | 02:24 | |
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 | |
02:26
xenoterracide joined,
xragnar_ joined,
xragnar left,
xragnar_ is now known as xragnar
|
|||
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 | |
lue: containers are kinda hard to explain, and don't give a very large benefit, IMO. | |||
02:28
Mouq left
|
|||
lue | ? I fail to see how containers are relevant here :/ | 02:29 | |
masak_ | hm, maybe you're right. | 02:32 | |
it's only the aliasing that's necessary here. | |||
02:34
FROGGS_ joined
|
|||
timotimo | right | 02:35 | |
masak_: can you give better examples of where containers help only to confuse? | 02:37 | ||
02:37
Sqirrel left
02:38
FROGGS left
|
|||
LLamaRider | r: say time; say now; | 02:40 | |
camelia | rakudo-parrot e50147: OUTPUT«1396147216Instant:1396147251.573820» | ||
..rakudo-moar e50147: OUTPUT«1396147217Instant:1396147252.880821» | |||
..rakudo-jvm e50147: OUTPUT«1396147217Instant:1396147252.477» | |||
timotimo | what's life like, being a llama rider? | ||
LLamaRider | r: say time(); say now(); | 02:41 | |
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routines: now used at line 1 time used at line 1» | ||
LLamaRider | life is mostly about figuring why things that look like subroutines aren't :D | ||
timotimo | those are terms rather than functions | ||
i don't know why they are that, though | |||
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 | ||
lue | (same as why you would write a term:sym<pi> instead of a sub pi) | ||
timotimo | hmm. | ||
and since it's not really a constant \now, it might as well be an in-between? | |||
LLamaRider | only that these guys aren't constants. I guess "term" isn't "constant", the word is different, but boy. is rand a term? | ||
timotimo | that's ... at least interesting | ||
r: say rand() | 02:43 | ||
lue | LLamaRider: yep | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnsupported use of rand(); in Perl 6 please use randat /tmp/tmpfile:1------> say rand⏏()» | ||
LLamaRider | oh boy | ||
timotimo | the error message could very well be improved for now and time. | ||
lue | timotimo: that would be more of "terms in general" fix methinks. | ||
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 | ||
exactly | |||
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. | ||
LLamaRider | the philosopher in me wonders - should all subroutines that return a term be terms? | ||
timotimo | subroutines that return a term? | 02:44 | |
BenGoldberg | sub foo { pi } ? | ||
timotimo | that evaluates the term, though, doesn't it? | ||
LLamaRider | well rand/time/now return a simple scalar value, but they're really subroutines, they are not simple lookups | ||
timotimo | rather than pass around the term itself | ||
lue | r: sub time() { say "is an illusion." }; say time; say time(); | ||
camelia | rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1396147487is an illusion.True» | ||
..rakudo-parrot e50147: OUTPUT«1396147485is an illusion.True» | |||
lue | BenGoldberg: no, erroring on any call with the same name as a term is a bad idea. | 02:45 | |
02:45
xenoterracide left
|
|||
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 | ||
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. | ||
lue | BenGoldberg: you left out the "if there's no such sub" in your first statement. :) | ||
BenGoldberg | Oops | ||
timotimo | should rakudo warn when defining a sub which has the name of an already existing term and/or vice-versa? | ||
lue | LLamaRider: time() and time are unrelated. | ||
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? | ||
or rather "should it be" | |||
timotimo | huh | ||
i can't build rakudo-m at the moment: failed to load library 'dynext/libperl6_ops_moar.so' | |||
lue | LLamaRider: no, terms have to be defined as such explicitly. | ||
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? | ||
LLamaRider | or "sub three { 3; }" | 02:49 | |
lue | constants are different from terms. | ||
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
raiph left
|
|||
BenGoldberg | ? | 02:49 | |
timotimo | well, that's probably very false | ||
BenGoldberg | r: say rand, rand, rand | ||
camelia | rakudo-jvm e50147: OUTPUT«0.60402633257723310.060556006474625890.15032935025902616» | ||
..rakudo-parrot e50147: OUTPUT«0.8173415047089920.6134314388419960.0679886903116724» | |||
..rakudo-moar e50147: OUTPUT«0.4228974770181330.4492959784344860.0833680612930519» | |||
timotimo | r: &rand does pure; say rand + rand - rand - rand; | 02:50 | |
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: pure used at line 1» | ||
lue | I could be wrong on constants though, but I'm sure that term and constant aren't synonyms. | ||
timotimo | yeah | ||
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. | ||
lue | r: say pi; sub term:sym<pi> { 3.14 }; say pi; | ||
camelia | rakudo-jvm e50147: OUTPUT«3.1415926535897933.14» | ||
..rakudo-parrot e50147, rakudo-moar e50147: OUTPUT«3.141592653589793.14» | |||
lue | r: say pi; sub pi { 3.14 }; say pi; say pi(); | 02:52 | |
camelia | rakudo-jvm e50147: OUTPUT«3.1415926535897933.1415926535897933.14» | ||
..rakudo-parrot e50147, rakudo-moar e50147: OUTPUT«3.141592653589793.141592653589793.14» | |||
timotimo | the jvm has an additional 3 in there? | ||
lue | apparently. | ||
LLamaRider | there's also something fishy with operating on terms | ||
example | |||
r: my $start = time; say time-$start; | |||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: time used at line 1» | 02:53 | |
LLamaRider | r: sub time {return time;}; my $start = time; say time()-$start; | ||
timotimo | r: say time - $start | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«0» | ||
rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '$start' is not declaredat /tmp/tmpfile:1------> say time - $start⏏<EOL> expecting any of: post…» | |||
timotimo | er, oops :) | ||
LLamaRider | r: my $start = time; say time - $start; | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«0» | ||
timotimo | parsefail with LTA error in that case | ||
LLamaRider | ack | ||
lue | std: my $start = time; say time-$start; | ||
LLamaRider | i see | ||
camelia | std e347792: OUTPUT«ok 00:01 125m» | ||
BenGoldberg | Yay spaces? | ||
timotimo | i was about to do that! | ||
well, we perl6ers like putting spaces around infixes anyway | 02:54 | ||
makes them harder to pass as prefixes or postfixes on accident | |||
lue | std: say rand-5; | ||
camelia | std e347792: OUTPUT«ok 00:01 123m» | ||
lue | r: say rand-5; | ||
camelia | rakudo-jvm e50147: OUTPUT«-4.195459989072294» | ||
..rakudo-parrot e50147: OUTPUT«-4.93575198543525» | |||
..rakudo-moar e50147: OUTPUT«-4.28222834892175» | |||
lue | r: say now-5; | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: now used at line 1» | ||
timotimo | huh. so only when a $ sign is involved perhaps? | ||
LLamaRider | consistency, there is none | 02:55 | |
timotimo | O_o | ||
lue | r: say pi-5; | ||
camelia | rakudo-parrot e50147, rakudo-moar e50147: OUTPUT«-1.85840734641021» | ||
..rakudo-jvm e50147: OUTPUT«-1.8584073464102069» | |||
lue | r: say e-5; | ||
camelia | rakudo-jvm e50147: OUTPUT«-2.2817181715409545» | ||
..rakudo-parrot e50147, rakudo-moar e50147: OUTPUT«-2.28171817154095» | |||
lue | only time and now hate the lack of spaces, it seems. | ||
LLamaRider | r: my $e = e; say $e-e; say e-$e; | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '$e-e' is not declaredat /tmp/tmpfile:1------> my $e = e; say $e-e⏏; say e-$e; expecting any of: …» | ||
LLamaRider | r: my $e = e; say e-$e; | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«0» | ||
LLamaRider | O_O | ||
LLamaRider tilts his head in wonder | 02:56 | ||
r: my $e = e; say time-$e; | |||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: time used at line 1» | ||
timotimo | well, $e-e is obviously refering to a variable named $e-e | ||
BenGoldberg | r: my $e-e = 42; say $e-e | 02:57 | |
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«42» | ||
LLamaRider | timotimo: yeah, sorry about that | ||
timotimo | :) | ||
lue | look at these QASTs from Actions.nqp: | 02:58 | |
make QAST::Op.new( :op('call'), :name('&rand'), :node($/) ); # for term rand, obviously | |||
make QAST::Op.new( :op('call'), :name('&term:<now>'), :node($/) ); | |||
make QAST::Op.new( :op('call'), :name('&term:<time>'), :node($/) ); | |||
LLamaRider | r: say rand(); | 02:59 | |
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnsupported use of rand(); in Perl 6 please use randat /tmp/tmpfile:1------> say rand⏏();» | ||
timotimo | r: say &rand() | ||
camelia | rakudo-moar e50147: OUTPUT«0.139327001256136» | ||
..rakudo-jvm e50147: OUTPUT«0.6465392721889555» | |||
..rakudo-parrot e50147: OUTPUT«0.90589457386838» | |||
LLamaRider | O_O more wow | ||
BenGoldberg | r: sub rand { "very random!" }; say rand; say rand(); | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnsupported use of rand(); in Perl 6 please use randat /tmp/tmpfile:1------> d { "very random!" }; say rand; say rand⏏();[0…» | ||
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!» | ||
LLamaRider | well... that doesn't seem right | ||
lue | r: say &term:<now> | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«sub term:<now>() { ... }» | ||
lue | r: say &term:<now>() | ||
camelia | rakudo-jvm e50147: OUTPUT«Instant:1396148490.773» | ||
..rakudo-moar e50147: OUTPUT«Instant:1396148491.264420» | |||
..rakudo-parrot e50147: OUTPUT«Instant:1396148489.290075» | |||
03:01
grondilu joined
|
|||
lue | r: say time-5; | 03:01 | |
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: time used at line 1» | ||
lue | r: say &term:<time>()-5; | ||
timotimo | r: sub term:<foobar> { "foo bar baz" }; say foobar; | ||
BenGoldberg | r: say &time()-5 | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1396148471» | ||
rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«foo bar baz» | |||
rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: &time used at line 1» | |||
LLamaRider | r: say &term:<now>("I am an undercover subroutine") | ||
camelia | rakudo-jvm e50147: OUTPUT«Wrong number of arguments passed; expected 0..0, but got 1 in block at /tmp/tmpfile:1» | ||
..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» | |||
..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» | |||
lue | r: say &term:<time>()-5; | ||
camelia | rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1396148492» | ||
..rakudo-parrot e50147: OUTPUT«1396148491» | |||
LLamaRider | yay for subroutine signatures (in terms :D) | ||
BenGoldberg | r: say &time()-5 | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: &time used at line 1» | ||
BenGoldberg | So the full name is needed, if one wants to use it with &...() | 03:02 | |
JimmyZ | r: say time -5 | ||
camelia | rakudo-moar e50147: OUTPUT«1396148559» | ||
..rakudo-jvm e50147: OUTPUT«1396148558» | |||
..rakudo-parrot e50147: OUTPUT«1396148557» | |||
lue | BenGoldberg: yes, because the name is term:<time>, not time :) | 03:03 | |
LLamaRider | lue: and term: essentially introduces some alias? | ||
for the &term:<time> subroutine? | |||
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 | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«42» | ||
BenGoldberg | r: sub term:<time> { 42 + $^a }; say time | 03:05 | |
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileCalling 'term:<time>' requires arguments Expected: :(Any $a)at /tmp/tmpfile:1------> sub term:<time> { 42 + $^a }; say ⏏[3…» | ||
LLamaRider | silently redefine core terms? why not! :D | ||
personally, I'd appreciate if you could only do that with monkey patching enabled | |||
lue | timotimo: term:<time> and term:<now> are defined in the core, and also checked for by the grammar, which may be conflict? | ||
BenGoldberg | P5 lets you. IIRC, *CORE::print = sub { .... } is perfectly ok | ||
lue | (as defining your own term:<thing> handles the term interpretation for you in normal P6 code) | 03:06 | |
thus causing the now-5 weirdness, perhaps? | |||
LLamaRider | BenGoldberg: sure, but you need to grab that glob. "use warnings" at least warns you when subroutines get redefined | ||
lue | print isn't a term in Perl 6, it's a sub. :) | 03:07 | |
03:08
eternaleye joined
|
|||
BenGoldberg | Another difference: in P5, if you use a subroutine, and then define it with a prototype, you get a warning. | 03:10 | |
Redefining term:<anything> to take arguments is probably a bad thing | 03:11 | ||
LLamaRider | r: BEGIN { print("start "); }; sub print (Str $a) {say $a~" "~$a;}; print("end"); | 03:12 | |
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 | ||
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:14 | |
(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 | ||
kind of a stretch of an analogy, but it makes the intuition sensible somehow | 03:17 | ||
lue | .oO(variables are just expression abbreviations) |
03:19 | |
LLamaRider | so are pronouns :) | ||
BenGoldberg hmms... | 03:20 | ||
adjectives would be things like 'my Int $foo'? | |||
. 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 | ||
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.) | ||
don't forget our :adverbs of course :) | |||
LLamaRider | some filtering subroutines (e.g. grep-based ones) can be seen as adjectives | ||
BenGoldberg is too sleepy to think about using natural language grammatical terms to describe perl features | |||
LLamaRider | "positive numbers" can be written as [email@hidden.address] > 0)' in pseudocode (my P6 isn't fluent) | ||
BenGoldberg | @nums.grep { $_ > 0 } | 03:23 | |
I think | |||
lue | r: my @numbers = 1, 2, -5, -1.3; say @numbers.grep({$_ > 0}) | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1 2» | ||
LLamaRider | nice | ||
lue | r: my @numbers = 1, 2, -5, -1.3; say @numbers.grep: {$_ > 0} | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«1 2» | ||
BenGoldberg | r: my @nums := ^Inf; my @pos := @nums.grep { $_ > 0 }; say @pos[^5] | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnexpected block in infix position (two terms in a row, or previous statement missing semicolon?)at /tmp/tmpfile:1------> my @nums := ^I…» | 03:25 | |
BenGoldberg | r: my @nums := ^Inf; my @odd := @nums.grep: { $_ %% 2 }; say @odd[^5] | ||
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«0 2 4 6 8» | ||
LLamaRider | Well that's odd :D | 03:26 | |
lue | BenGoldberg: % or !%% get you odd numbers :) | ||
JimmyZ | r: say (1..10).grep:*%2 | 03:29 | |
camelia | rakudo-parrot e50147, rakudo-jvm e50147, rakudo-moar e50147: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> say (1..10).grep⏏:*%2 expecting any of: method arguments …» | ||
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» | ||
JimmyZ | std: say (1..10).grep:*%2 | 03:32 | |
camelia | std e347792: OUTPUT«===SORRY!===Confused at /tmp/9GlcU0E68K line 1:------> say (1..10).grep:⏏*%2 expecting any of: coloncircumfix signatureParse failedFAILED 00:01 126m» | ||
03:32
thou joined
|
|||
JimmyZ | std: say (1..10).grep: *%2 | 03:32 | |
camelia | std e347792: OUTPUT«ok 00:01 125m» | ||
03:39
logie joined
03:42
arnsholtAtHome left
03:44
arnsholtAtHome joined
03:46
LLamaRider left
03:49
xenoterracide joined
|
|||
lue | [Coke]: Is it just me, or does perl6-roast-data not report the checkout of the compiler tested? | 03:57 | |
03:59
ssutch left,
ssutch joined
04:02
xenoterracide left
04:04
ssutch left
04:08
xenoterracide joined
|
|||
lue | I get failed to load library 'dynext/libperl6_ops_moar.so' trying to compile latest rakudo :( | 04:11 | |
(trying to compile src/gen/m-BOOTSTRAP.nqp) | 04:12 | ||
04:25
logie left
|
|||
JimmyZ | lue: needs s/MVMP6opaque_real_data/MVM_p6opaque_real_data/ in perl6_ops.c maybe | 04:29 | |
lue | That got me past the bootstrap and to the CORE part :) | 04:33 | |
dalek | kudo/nom: a699826 | lue++ | src/vm/moar/ops/perl6_ops.c: Change MVMP6opaque_real_data to MVM_p6opaque_real_data Allows r-m's bootstrap to compile. JimmyZ++ for finding the bug. |
04:36 | |
04:43
masak_ is now known as masak
|
|||
lue | I don't get why these are supposedly errors: github.com/perl6/roast/blob/master....t#L74-L77 | 04:51 | |
grondilu | r-m compilation failed after last commit | 04:53 | |
lue | It also happens to contradict github.com/perl6/roast/blob/master...mber.t#L63 | ||
(I agree with L63, by the way) | 04:54 | ||
grondilu: have you tried latest nqp and moar? | |||
grondilu | I did reconfigure, but maybe I should update manually. (not the first time that would have happened) | ||
lue | I didn't update NQP_REVISION or MOAR_REVISION, not quite sure how to go about that :/ | 04:55 | |
04:57
Khisanth left,
Khisanth joined
|
|||
grondilu update nqp and moarvm manually | 05:00 | ||
*updateS | |||
05:02
hoverboard left
|
|||
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:02 | |
Ah, as I suspected, I (still?) have 2014.03 as a lightweight tag. | 05:05 | ||
JimmyZ | lua: git describe --tags | ||
lue | Ah. Is 2014.03 still not annotated for MoarVM ? | 05:06 | |
05:09
BenGoldberg left
05:11
lizmat left
05:12
lizmat joined
|
|||
dalek | p: b9f25b1 | lue++ | tools/build/MOAR_REVISION: Update MOAR_REVISION for function name change. |
05:13 | |
kudo/nom: b126071 | lue++ | tools/build/NQP_REVISION: Update NQP_REVISION for function name change in MoarVM. |
05:16 | ||
lue | hopefully I didn't mess up anything with those REVISION changes :) | 05:17 | |
05:18
treehug88 left
05:22
xenoterracide left
05:37
SamuraiJack joined
|
|||
JimmyZ | My friend said TimToady is in beijing now | 05:46 | |
06:04
kaare_ joined
06:22
Sqirrel joined
07:08
darutoko joined
|
|||
FROGGS_ | morning | 07:27 | |
nwc10 | welcome to DST | ||
JimmyZ: irclog.perlgeek.de/perl6/2014-03-28#i_8506680 | 07:29 | ||
07:29
zby_home_ joined,
zby_home_ left
|
|||
JimmyZ | oh | 07:29 | |
lizmat | morning #perl6! | ||
nwc10 | JimmyZ: strictly, that's "timtoady said 2 days ago that timtoady was in Bejing then" | 07:30 | |
lizmat | seems we have a failure in t/spec/S17-concurrency/lock.t, reliably when run inside the test-suite | 07:31 | |
and only about once in 10 times when run separately | |||
nwc10 | JimmyZ: masak is somewhere else in China: irclog.perlgeek.de/perl6/2014-03-28#i_8508126 | 07:32 | |
lizmat | I did this change to the etst file: | ||
- is @log.join(','), 'ale,porter,stout', 'Conditon variable worked'; | |||
+ diag "Saw {@log}" if ! | |||
+ is @log.join(','), 'ale,porter,stout', 'Condition variable worked'; | |||
JimmyZ | Was there a Perl Conference in beijing? | ||
lizmat | and now get: | ||
not ok 7 - Condition variable worked | |||
# got: 'ale,porter' | |||
# expected: 'ale,porter,stout' | |||
# Saw ale porter stout | |||
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() ? | ||
afk& | 08:29 | ||
08:29
lizmat left
08:31
thou left
08:39
SamuraiJack left
08:41
ssutch joined
08:47
kurahaupo joined
08:54
woolfy left
|
|||
FROGGS_ | cosimo: I made a PR for Digest::MD5, so we will be able to ship that on a jvm-star | 09:05 | |
09:15
kurahaupo left,
ponbiki left
09:16
kurahaupo joined
09:18
ponbiki joined,
ponbiki is now known as Guest56776
09:20
denis_boyun joined
09:33
denis_boyun__ joined,
denis_boyun left
09:34
p6explorer joined
|
|||
FROGGS_ | damn, that Digest::MD5 does not work on parrot, at least not when precomped | 09:42 | |
09:47
dmol joined
|
|||
moritz | gaaah, more failing tests in m-spectest | 09:55 | |
4 S17 test files fail | 09:56 | ||
no, 5 | |||
dalek | ast: 39cafaf | moritz++ | S32-str/sprintf.t: do not use # in test description it is a comment character in TAP, so TODO messages after that are ignored by the harness |
09:58 | |
09:58
Alina-malina joined
10:01
Alina-malina left
10:02
Alina-malina joined
10:07
Alina-malina left
|
|||
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:07 | |
10:08
Alina-malina joined
|
|||
moritz | jnthn: perlpunks.de/paste/show/5337ed57.674b.1f0 | 10:09 | |
(that's on rakudo/nqp/moar on nom/master/master) | 10:10 | ||
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 :) | ||
jnthn | bbi10 | 10:14 | |
10:17
p6explorer left
10:19
pecastro_ is now known as pecastro,
ssutch left
10:22
denis_boyun joined
10:23
denis_boyun__ left
10:26
p6explorer joined
|
|||
p6explorer | rakudo: say "testing" | 10:27 | |
camelia | rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«testing» | ||
10:29
p6explorer left,
kaare_ left,
kaare_ joined
10:30
p6explorer joined
10:31
kaare_ left
10:32
kaare_ joined
10:33
p6explorer left
10:36
colomon joined
10:37
pecastro left
10:38
kaare_ left,
pecastro joined
10:42
SamuraiJack joined
10:49
hummeleB1 joined
10:50
spider-mario joined
|
|||
JimmyZ | www.csdn.net/article/2014-03-19/281...-interview | 10:52 | |
10:52
kivutar joined
|
|||
Rounin | 你找到了比Perl難讀的事啊!不錯。 | 11:04 | |
Time to whip out the old dictionary | 11:05 | ||
Wait, I used the 了 incorrectly, didn't I | |||
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." :) | ||
simula67 would love to sneak this into work | 11:10 | ||
Rounin | :D | ||
jnthn would love to sneak more people into working on this ;) | |||
Rounin | I just realized you could write Perl 6 entirely in Chinese | ||
I guess that's the next step after Latin and Klingon! | 11:11 | ||
The Analects of Computius | |||
11:12
molaf joined
|
|||
Rounin | This site looks like it could be good Chinese practice | 11:19 | |
11:20
ssutch joined
|
|||
colomon | lue: (very late answer) I believe I've used <-> exactly once in the last four years of p6 programming. :) | 11:21 | |
11:25
ssutch left
|
|||
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:31 | |
11:32
hummeleB1 left
|
|||
FROGGS_ | jnthn: this is up-to-date btw: gist.github.com/FROGGS/0ea5537eb675588baaa2 | 11:32 | |
though, I need to figure out why Digest::MD5 stops working when being precompiled | |||
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«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared name: Z used at line 1» | ||
FROGGS_ | r: sub prefix:<¬>(\x) { (+^ x) % 2**32 }; constant FOO = -> \X, \Y { ¬X +& Y } | ||
camelia | ( no output ) | ||
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«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared name: FGHI used at line 1» | ||
FROGGS_ | r: sub prefix:<¬>(\x) { (+^ x) % 2**32 }; constant FOO = -> \X, \Y { ¬X +& Y }; FOO[0](1, 1) | ||
camelia | ( no output ) | ||
FROGGS_ | this says "Could not find sub &prefix:<¬>" | ||
11:42
kivutar left
|
|||
FROGGS_ | okay, chainging constant FOO to my \FOO helps | 11:43 | |
11:46
colomon left,
colomon joined
11:50
kaare_ joined
11:54
kaare_ left
11:56
colomon left,
AW3i joined
|
|||
vendethiel | r: if 5 { .say } | 11:58 | |
camelia | rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«Nil» | ||
vendethiel | r: if 5 -> $_ { .say } | ||
camelia | rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«5» | ||
vendethiel | cool. | ||
12:00
kaare_ joined
12:12
a3gis joined
|
|||
FROGGS_ | r: if "" || "hi" && 5 -> $_ { .say } | 12:13 | |
camelia | rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«5» | ||
FROGGS_ | r: if "" || "hi" && 0 && 5 -> $_ { .say } | ||
camelia | ( no output ) | ||
FROGGS_ | ahh, hmm, yeah :o) | ||
vendethiel | r: if "" || "hi" andthen 0 andthen 5 -> $_ { .say } | 12:14 | |
camelia | rakudo-parrot b12607, rakudo-jvm b12607, rakudo-moar b12607: OUTPUT«5» | ||
12:20
xinming_ left
12:21
ssutch joined
12:26
ssutch left,
xinming_ joined
12:36
xinming_ left
12:37
xinming_ joined
12:45
vendethiel left
12:47
ssutch joined
12:49
colomon joined
12:52
ssutch left,
Alula left
12:55
Alula joined
12:59
vendethiel joined
13:07
FROGGS_ is now known as FROGGS
13:10
ascent_ joined
13:11
a3gis left
13:35
kaare__ joined
13:39
kaare_ left
13:44
treehug88 joined
13:48
ssutch joined
13:53
ssutch left
13:54
zakharyas joined
13:55
treehug88 left,
guru joined
13:56
guru is now known as ajr_,
a3gis joined
14:10
thou joined
14:14
xenoterracide joined
|
|||
Rounin | By the time I finish reading this interview, Perl 6 will be in production | 14:20 | |
Thanks for giving a man something to do on a Sunday, JimmyZ :D | |||
14:21
dmol left
14:22
salv0 joined
|
|||
FROGGS | *g* | 14:24 | |
JimmyZ | Rounin: 不客气 | 14:34 | |
vendethiel backlogged, only to find it's not in english -- damn ! | 14:37 | ||
JimmyZ | use google translator :P | 14:39 | |
14:40
denis_boyun left,
lichtkind joined
14:41
thou left
14:42
spider-mario left
14:49
ssutch joined
14:53
ssutch left
14:54
rindolf joined
15:00
kaare__ is now known as kaare_
15:17
a3gis left
15:23
kurahaupo left
|
|||
dalek | p: 057593a | (Tobias Leich)++ | tools/build/gen-jvm-properties.pl: add $Cfg{perllibs}, because $Cfg{libs} contains boilerplate |
15:23 | |
lichtkind | my p6ops talks was sucess, several people came to me and said they want to try out p6 | 15:24 | |
dalek | kudo/nom: d381df4 | (Tobias Leich)++ | tools/build/NQP_REVISION: bump nqp rev to get nativecall@jvm fix |
15:25 | |
FROGGS | lichtkind++ | ||
:o) | |||
15:26
hoverboard joined
|
|||
lichtkind | hai tobias :) | 15:30 | |
FROGGS | hi | 15:31 | |
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:33 | |
vendethiel | JimmyZ: google translate is bad :) | 15:35 | |
15:37
lizmat joined
|
|||
lichtkind | hi lizzy _) | 15:37 | |
lizmat | hello #perl6, from Cluj Romania | 15:38 | |
lichtkind | is there a perl workshop | ||
? | |||
lizmat | tomorrow, the Cluj.pm workshop | ||
FROGGS | hi lizmat | 15:39 | |
lizmat | cluj.pm/pages/events.html | 15:40 | |
15:49
lizmat left
15:50
ssutch joined
15:53
raiph joined
15:54
lizmat joined,
ssutch left,
ajr_ left
15:55
guru joined
|
|||
jnthn | o/ lizmat, lichtkind | 15:55 | |
15:55
guru is now known as Guest23707
|
|||
lizmat | hi jnthn! | 15:55 | |
15:56
Guest23707 is now known as ajr_
|
|||
arnsholtAtHome | Anyone else have trouble on JVM with t/spec/S17-concurrency/supply.t? | 15:56 | |
dalek | volaj: f7422ef | (Tobias Leich)++ | t/CompileTestLib.pm: use perllibs, because libs contains boilerplate On my ubunto box nativecall.libs contains -lgdbm which is not needed, and is not found by the linker for some reason. $ perl -MConfig -E 'say $Config{libs}' -lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt $ perl -MConfig -E 'say $Config{perllibs}' -ldl -lm -lpthread -lc -lcrypt |
||
volaj: b211b80 | jonathan++ | t/CompileTestLib.pm: Merge pull request #35 from FROGGS/patch-3 use perllibs, because libs contains boilerplate |
|||
jnthn | arnsholtAtHome: What kind of trouble are you having? | 15:57 | |
FROGGS .oO( I'd say he is looking for trouble! ) | |||
jnthn | arnsholtAtHome: Test 14 fails for me on Moar | ||
arnsholtAtHome | Hangs, apparently | ||
dalek | p/jastcompiler: 5044b3e | (Arne Skjærholt)++ | src/vm/jvm/stage0/ (10 files): Update bootstrap compiler to have direct JAST compilation. |
||
p/jastcompiler: 4bce8b5 | (Arne Skjærholt)++ | src/vm/jvm/ (3 files): Remove old JAST compilation functionality. |
|||
arnsholtAtHome | No output after test 11 when I run the file directly | 15:58 | |
Both on master and jastcompiler | |||
jnthn | Hm | ||
ok 12 - # SKIP hangs | |||
here | |||
lizmat | not ok 14 - merging taps works# TODO merging apparently does *not* work | ||
jnthn | Are you running fudged version? | ||
lizmat | I todoed it yesterday for moar | ||
jnthn | lizmat: yeah, my t/spec was beind. | ||
*behind | 15:59 | ||
lizmat | maybe there's a deeper problem with merging taps | ||
also, would be nice if sleep sort would be working on moar tomorrow :-) | 16:00 | ||
timotimo | jnthn: what's your intuition on the relative performance of <-> and -> for for loops? | 16:02 | |
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 | ||
16:03
kaare__ joined
|
|||
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,
lizmat left,
kaare_ left
16:09
lizmat_ is now known as lizmat,
iolympian joined
16:10
woolfy joined
|
|||
woolfy | Cluj! | 16:10 | |
moritz | bless you! | 16:11 | |
FROGGS | *g* | 16:12 | |
woolfy | :-) | 16:13 | |
cluj.pm/pages/events.html | |||
Liz will talk about Perl 6! | 16:14 | ||
(well, yeah, about what else, maybe world peace, we do need that too) | |||
16:20
dwarring left,
hoverboard left
16:24
lizmat left
16:33
lizmat joined
|
|||
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» | ||
lizmat | jnthn: that's the sleep sort problem golfed down | ||
moritz | looks like a fun event | ||
jnthn | I'm dubious about that thread ID. :) | ||
lizmat: Just working on a few other bits at the moment, but will look at it this evening. | 16:35 | ||
moritz | m: say log(139787364566784, 2) | 16:36 | |
camelia | rakudo-moar b12607: OUTPUT«46.9902272892746» | ||
moritz | m: say 139787364566784.fmt('%b') | ||
camelia | rakudo-moar b12607: OUTPUT«11111110010001011001000001101011000011100000000» | ||
moritz | m: Promise.allof: start( {1} ) | ||
camelia | rakudo-moar b12607: OUTPUT«(signal ABRT)» | ||
moritz | golfed even further :-) | 16:37 | |
timotimo | m: Promise.allof() | ||
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» | ||
moritz | m: Promise.allof: start( {} ) | ||
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» | ||
timotimo | this fails, too! | ||
lizmat | that's odd: it never bombed for me with just a single promise | ||
moritz | m: Promise.allof: start( {;} ) | ||
timotimo | {;}? | ||
camelia | rakudo-moar b12607: OUTPUT«(signal ABRT)» | ||
timotimo | you made *one* promise, rakudo! | ||
moritz | f*cking keep it! | 16:38 | |
timotimo | hey now | ||
watch the language, mister | |||
there might be pupa around | |||
... pupae? | |||
lizmat | jnthn: fwiw, I've also seen a small stacktrace: | 16:40 | |
Cannot find method 'Mu' | |||
in block at src/gen/m-CORE.setting:17660 | |||
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
16:48
rurban1 joined
16:50
punter joined,
ssutch joined
|
|||
punter | perl6: say 3; | 16:51 | |
camelia | rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df, niecza v24-109-g48a8de3: OUTPUT«3» | ||
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 …» | ||
..rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile'3' is not a valid numberat /tmp/tmpfile:1------> say 3⏏<EOL>» | |||
FROGGS | interesting... | 16:53 | |
.u 3 | |||
16:53
ajr_ left
|
|||
yoleaux | U+FF13 FULLWIDTH DIGIT THREE [Nd] (3) | 16:53 | |
16:55
guru joined,
ssutch left,
guru is now known as Guest3693
|
|||
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 …» | ||
..rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile'3' is not a valid numberat /tmp/tmpfile:1------> say 3⏏.Num» | |||
cognominal | ouch | 16:56 | |
lizmat | perl6: say 3.WHAT | ||
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 …» | ||
..rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile'3' is not a valid numberat /tmp/tmpfile:1------> say 3⏏.WHAT» | |||
FROGGS | p6: say 𝟛 | 16:57 | |
camelia | rakudo-parrot d381df, rakudo-moar d381df: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile'𝟛' is not a valid numberat /tmp/tmpfile:1------> say 𝟛⏏<EOL>» | ||
..rakudo-jvm d381df: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> say ⏏𝟛 expecting any of: argument list prefix or term prefix or meta-prefix …» | |||
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/tmpfile line 1:------> say⏏ 𝟛Confused at /tmp/tmpfile line 1…» | |||
FROGGS | not that I would need that :o) | 16:58 | |
17:00
Guest3693 left
17:01
ajr joined,
ajr is now known as Guest72356,
Guest72356 is now known as ajr_
|
|||
timotimo | which function gives us the "value" of a unicode character? | 17:03 | |
17:03
SamuraiJack left,
SamuraiJack_ joined
|
|||
lizmat | not sure there is one atm | 17:03 | |
FROGGS | m: say GLOBAL::.grep(/uni/) | ||
camelia | rakudo-moar d381df: OUTPUT«» | ||
jnthn | Hm...unival? | 17:06 | |
timotimo | m: say GLOBAL::.keys.grep(/uni/) | ||
camelia | rakudo-moar d381df: OUTPUT«» | ||
FROGGS | jnthn: no | ||
timotimo | i think unival is it, yeah | ||
no? | |||
FROGGS | m: say unival("3") | ||
camelia | rakudo-moar d381df: OUTPUT«3» | ||
FROGGS | m: say unival("3") | ||
camelia | rakudo-moar d381df: OUTPUT«3» | ||
FROGGS | m: say unival("A") | ||
camelia | rakudo-moar d381df: OUTPUT«NaN» | ||
lizmat | perl6: say 3.unival | ||
camelia | rakudo-parrot d381df, rakudo-jvm d381df, rakudo-moar d381df: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile'3' is not a valid numberat /tmp/tmpfile:1------> say 3⏏.unival» | ||
..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 …» | |||
FROGGS | timotimo: ahh, you actually meant that :o) | 17:07 | |
17:09
telex left
|
|||
timotimo | yup, that's the one i'm refering to | 17:10 | |
17:10
hoverboard joined
|
|||
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 | |
17:10
telex joined
|
|||
lizmat | that last one should have worked, btw, according to S15:490 | 17:10 | |
synopsebot | Link: perlcabal.org/syn/S15.html#line_490 | ||
lizmat | timotimo: why wouldn't that be possible? | 17:11 | |
FROGGS | it should work, yes, but when a single 3 explodes, calling a method on it won't help | 17:14 | |
17:15
xinming__ joined
17:16
zakharyas left
17:19
ajr_ left,
xinming_ left
17:23
SamuraiJack_ left
|
|||
timotimo | lizmat: but but but ... unquoted? | 17:25 | |
d'oh, that link 404s | |||
lizmat | odd, the link seems correct (compare e.g. with S16 | 17:27 | |
perl6: say '3'.unival | 17:28 | ||
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 | |
..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» | |||
lizmat | that would seem like LHF then | ||
timotimo | not .&unival? | 17:32 | |
17:37
bjz left,
bjz joined
17:40
Psyche^_ joined
17:42
virtualsue joined
17:45
Psyche^ left
17:51
ssutch joined
|
|||
lizmat | timotimo: not according to spec | 17:52 | |
17:54
guru joined,
guru is now known as Guest7922,
Guest7922 is now known as ajr_
17:56
ssutch left,
woolfy left
|
|||
dalek | kudo/nom: ee7dbc1 | (Elizabeth Mattijsen)++ | src/core/Str.pm: Implement univals() and Str.unival(s) According to S15:490 and following, without the Unicodey role though. |
17:57 | |
synopsebot | Link: perlcabal.org/syn/S15.html#line_490 | ||
17:58
punter left
|
|||
lizmat | afk while sampling the local bere& | 17:58 | |
18:05
a3gis joined
|
|||
timotimo | OK | 18:12 | |
univals and unival? | |||
moritz | m: say univals(2).perl | 18:18 | |
camelia | rakudo-moar d381df: OUTPUT«===SORRY!=== Error while compiling /tmp/u8hTiiNEGiUndeclared routine: univals used at line 1. Did you mean 'unival'?» | ||
moritz | m: say unival(2).perl | ||
camelia | rakudo-moar d381df: OUTPUT«NaN» | ||
moritz | m: say unival('2'.ord).perl | 18:19 | |
camelia | rakudo-moar d381df: OUTPUT«2» | ||
18:20
dmol joined
|
|||
timotimo | m: say 2.ord | 18:22 | |
camelia | rakudo-moar d381df: OUTPUT«50» | ||
timotimo | Could not download module metadata: Failed to connect: permission denied | 18:24 | |
o_O | |||
18:30
punter joined
|
|||
timotimo | feather seems down or something? | 18:33 | |
well, at least whatever was listening on port 3000 | |||
FROGGS | ewww | 18:34 | |
timotimo | at least that let me fix something else that was not very good :) | ||
a very old PATH setting for perl6 | |||
FROGGS | that it the thing that delivers projects.json :/ | 18:35 | |
timotimo | yes, it is. | ||
18:35
colomon left
|
|||
timotimo | is it the same as this? modules.perl6.org/proto.json | 18:35 | |
18:36
molaf left,
colomon joined
18:37
darutoko left
|
|||
FROGGS | timotimo: looks like, yes | 18:38 | |
18:39
grondilu left
|
|||
FROGGS | hmmm, I'd guess that "badge_panda_nos11" is not in the projects.json | 18:39 | |
timotimo | evidently not, though | ||
FROGGS | so the structure seems to differ | ||
timotimo | it explodes when i try to give it to that | ||
Cannot call 'postcircumfix:<{ }>'; none of these signatures match: | |||
in the ecosystem's "add-project" method | |||
FROGGS | yeah | 18:40 | |
r: say "\c[MATHEMATICAL ITALIC SMALL N]" | |||
camelia | rakudo-jvm ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnrecognized character name MATHEMATICAL ITALIC SMALL Nat /tmp/tmpfile:1------> say "\c[MATHEMATICAL ITALIC SMALL N⏏]"» | 18:41 | |
..rakudo-parrot ee7dbc, rakudo-moar ee7dbc: OUTPUT«𝑛» | |||
timotimo | panda refuses to do anything if it doesn't have the projects file | 18:42 | |
18:43
hoverboard left
|
|||
FROGGS | timotimo: do you need one from yesterday? | 18:45 | |
gist.githubusercontent.com/FROGGS/...jects.json | |||
timotimo | it's fine, i'm using ufo now | ||
FROGGS | mkay | ||
:o) | |||
timotimo | hey listen | ||
something's odd with ADT | 18:46 | ||
FROGGS | which backend? | ||
timotimo | moarvm | ||
FROGGS | mkay | ||
timotimo | hold on | ||
FROGGS holds on | |||
18:46
SamuraiJack_ joined
|
|||
timotimo | r: my \Foo = Metamodel::ClassHOW.new_type("Hello"); | 18:46 | |
camelia | ( no output ) | ||
..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» | |||
..rakudo-jvm ee7dbc: OUTPUT«Wrong number of arguments passed; expected 1..1, but got 2 in block at /tmp/tmpfile:1» | |||
timotimo | huh? :( | 18:47 | |
AFK for a bit now. | |||
18:47
punter left
|
|||
FROGGS | .u ≴ | 18:48 | |
18:48
rurban1 left
|
|||
yoleaux | U+2274 NEITHER LESS-THAN NOR EQUIVALENT TO [Sm] (≴) | 18:48 | |
FROGGS | r: say "\c[NEITHER LESS-THAN NOR EQUIVALENT TO]" | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«≴» | ||
lue | I was eyeing [Coke]'s test data last night, when I noticed these tests are skipped: github.com/perl6/roast/blob/master....t#L74-L77 my question is, why are those supposed to be errors? | 18:51 | |
(and why does it contradict github.com/perl6/roast/blob/master...ber.t#L63) | 18:52 | ||
18:52
ssutch joined
18:53
kurahaupo left,
hoverboard joined
18:56
ssutch left
|
|||
moritz | lue: I'm pretty sure \0 is correct | 18:59 | |
lue: so just remove those tests | |||
FROGGS | .u 🃟 | ||
18:59
kivutar joined
|
|||
yoleaux | U+1F0DF PLAYING CARD WHITE JOKER [So] (🃟) | 18:59 | |
FROGGS | r: say "\c[PLAYING CARD WHITE JOKER]" | ||
camelia | rakudo-jvm ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnrecognized character name PLAYING CARD WHITE JOKERat /tmp/tmpfile:1------> say "\c[PLAYING CARD WHITE JOKER⏏]"» | ||
..rakudo-parrot ee7dbc, rakudo-moar ee7dbc: OUTPUT«🃟» | |||
moritz | std: "\0" | 19:00 | |
camelia | std e347792: OUTPUT«ok 00:01 121m» | ||
19:00
lizmat left
|
|||
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:03 | |
19:04
dwarring joined
|
|||
moritz | std: "\01" | 19:04 | |
camelia | std e347792: OUTPUT«ok 00:01 121m» | ||
19:05
thou joined
|
|||
moritz | lue: since std doesn't warn or error, I'm pretty sure implementations shouldn't | 19:05 | |
lue | nod | ||
moritz | (unless you can quote a piece of spec that contradicts it) | 19:06 | |
oh wait | |||
The old C<\123> form is now illegal, as is the C<\0123> form. | 19:07 | ||
Only C<\0> remains, and then only if the next character is not in | |||
the range C<'0'..'7'>. Octal characters must use C<\o> notation. | |||
Note also that backreferences are no longer represented by C<\1> | |||
and the like--see S05. | |||
so the test in line 63 is actually wrong | 19:08 | ||
lue thinks the spec is wrong, but oh well | |||
moritz | let's wait what TimToady++ has to say | 19:09 | |
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 :) | ||
dwarring | ie surrogates and range > 0x10ffff | ||
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 | ||
*checks | |||
timotimo | moritz: you know about feather's panda project list server thingie? | ||
FROGGS | star: my MIME::Base64 $mime .= new(MIME::Base64::Perl); say $mime.decode('DDADJnQiowM=').decode('UTF-16') | 19:14 | |
camelia | star 2013-09: OUTPUT«===SORRY!===Type 'MIME::Base64' is not declaredat /tmp/WDdVsa8L1l:1------> my MIME::Base64⏏ $mime .= new(MIME::Base64::Perl); say $Malformed myat /tmp/WDdVsa8L1l:1------> my MIME::⏏Base64 …» | ||
FROGGS | star: use MIME::Base64; my MIME::Base64 $mime .= new(MIME::Base64::Perl); say $mime.decode('DDADJnQiowM=').decode('UTF-16') | ||
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…» | ||
moritz | timotimo: not much; I know that it runs at tadzik's user account | ||
timotimo: what about it? | 19:15 | ||
dwarring: I don't really know; just that it caused too much spectest fallout the last time | 19:16 | ||
19:16
kaare__ is now known as kaare_
|
|||
dwarring | I'll let it sit for now | 19:16 | |
timotimo | aha! so tadzik is at fault! :P | ||
the problem with it is that it doesn't seem to be up at the moment :) | |||
19:21
SamuraiJack_ left
19:22
SamuraiJack_ joined
19:27
SamuraiJack_ left
|
|||
jnthn | timotimo: The type name for new_type is passed as the :name named paremeter | 19:27 | |
moritz | timotimo: please check again | 19:34 | |
timotimo: I've restarted the server | |||
19:36
zby_home joined
|
|||
moritz | FROGGS: re github.com/FROGGS/perl6-lwp-simple...bc64c3eaad why the anchor in the URL? | 19:40 | |
19:41
lichtkind_ joined
|
|||
FROGGS | moritz: just to not have the domain in it | 19:41 | |
not only* | |||
19:44
lichtkind left
|
|||
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? | ||
moritz | s/\?// | 19:46 | |
cognominal: github.com/coke/rakudo-star-daily/ | |||
cognominal | I mean the site that displays the results | ||
vendethiel | seems like it got slower ? from rakudo-star-daily report | 19:47 | |
Actually, some stuff got slower, some other stuff got faster. | |||
(maybe it's previously skipped tests that made it slower, actually ...) | |||
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. | ||
moritz | vendethiel: the stuff runs on the same VM as camelia, and more importantly, the rakudo rebuilds for camelia | 19:49 | |
vendethiel: which alone can cause lots of timing jitter | |||
vendethiel | I'll remember not to take it too seriously then :) thanks for the clarification | ||
jnthn | It's also nice'd, I think. | ||
Rounin | Finally... Now I know what Larry Wall was planning to do in China ¦| | 19:50 | |
Apparently he likes Chinese characters, too | 19:51 | ||
19:53
ssutch joined
|
|||
FROGGS | ¦) | 19:54 | |
19:57
ssutch left
19:59
denis_boyun joined
|
|||
timotimo | time for some lightweight monitoring to be installed for perl6 related services | 20:00 | |
kanla.zekjur.net/ | 20:01 | ||
20:02
LLamaRider joined
20:05
rindolf left
|
|||
timotimo | if someone points me at many interesting services that could be monitored, i could very well set that up | 20:07 | |
20:08
lichtkind_ is now known as lichtkind
|
|||
timotimo | hmm | 20:13 | |
not very helpful of Perl6::CommandLine::UI to be putting "..." way before the thing that's supposed to be shown to the user :P | |||
jnthn | timotimo: Context? | 20:14 | |
20:15
iolympian left
|
|||
timotimo | parsing a grammar | 20:15 | |
timotimo investigates | |||
jnthn | It's meant to show those if you're parsing a long string, and show the part around where you are. | 20:16 | |
The whole thing's written in Perl 6 so should be fairly accessible to improve :) | |||
Not seen it do anything weird there, though... | |||
20:20
a3gis left
|
|||
timotimo | it's not showing the piece of the grammar that's currently matching against the text :) | 20:20 | |
but it does turn one of the dots yellow | |||
20:20
a3gis joined
|
|||
jnthn | if it turns it yellow...that's probably where it is, no? :) | 20:21 | |
timotimo | yeah, well ... | 20:24 | |
20:24
benabik joined
|
|||
timotimo | | rule definition { | 20:24 | |
| $<constructor>=<.ident> [ $<typedecl>=<.ident><parameters> $<a... | |||
| } | |||
here the last . in the second line and the } are marked yellow | |||
20:25
a3gis left
|
|||
timotimo | that's not terribly helpful :P | 20:25 | |
ah of course | 20:26 | ||
@!lines is initialised to have abbreviated lines | |||
not really willing to mess with that right now :| | |||
jnthn | ah...yeah | 20:28 | |
write shorter lines! :P | |||
timotimo | :) | 20:30 | |
could certainly do that | |||
20:31
a3gis joined
20:32
kaare_ left
20:33
raiph left,
benabik left
|
|||
timotimo | i think i just made the debugger throw an exception due to an improper use of some substr | 20:42 | |
jnthn | Congrats :P | 20:47 | |
timotimo | but now i have proper code that i could just have | ||
like, could just use and no longer care about the debugger | |||
dalek | ast: 192b52c | (Arne Skjærholt)++ | S17-concurrency/supply.t: Refudge hanging concurrency test on Rakudo/JVM. |
20:48 | |
20:49
hoverboard left
|
|||
dalek | nqp: 7e6d19f | (Arne Skjærholt)++ | src/vm/jvm/QAST/Compiler.nqp: | 20:49 | |
nqp: Make sure all handler indices are ints. | |||
nqp: | |||
nqp: Prior to this, some indices would be nums; one because the construct "$a+$b" | |||
nqp: returns a num, even if both variables are ints (fixed by using logical or | |||
arnsholtAtHome | And I murdered dalek. Whoops | ||
Anyways, just merged jastcompiler into master | |||
jnthn | \o/ | ||
FROGGS | \o/ | ||
timotimo | yaaaay | ||
jnthn | arnsholt++ | 20:50 | |
20:50
dalek joined,
ChanServ sets mode: +v dalek
|
|||
FROGGS | arnsholt++ | 20:50 | |
jnthn | That's a very nice improvement. | ||
timotimo | arnsholt++ | ||
jnthn | April's release should be a very nice one at this rate. | ||
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 :) ? | ||
arnsholtAtHome | Yup | 20:52 | |
vendethiel | arnsholt++ | ||
FROGGS | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:55: error: cannot find symbol | 20:53 | |
import org.perl6.nqp.jast2bc.JASTCompiler; | |||
I do something rong? | |||
20:53
ssutch joined
|
|||
FROGGS | ahh, got it | 20:53 | |
my fault | 20:54 | ||
20:54
ajr_ left
|
|||
[Coke] | lue; you're right - no one asked for it! ;) | 20:55 | |
20:56
LLamaRider left,
benabik joined
20:58
ssutch left
21:02
colomon left
21:03
colomon joined
|
|||
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:09 | |
21:15
Rotwang joined
21:23
Vlavv joined
21:29
BenGoldberg joined
|
|||
timotimo | guess what | 21:37 | |
i couldn't open that image file because i linked against SDL_image rather than SDL2_image | |||
jnthn | 2 bad... | ||
21:39
lichtkind left,
LLamaRider joined
21:49
zby_home left
21:50
denis_boyun left
21:51
a3gis left
21:54
ssutch joined
|
|||
dalek | ecs: 4e6f85f | lue++ | S26-documentation.pod: [S26] Stop interpreation of =config in formatting code in code blocks. This allows the formatting code to work properly. |
21:56 | |
[Coke] | gist.github.com/coke/9880574 ^^ wierdness with sets and MAIN | 21:58 | |
if I make that not a MAIN, and call it as a sub directly, the resulting set is (-)'d correctly. | |||
21:59
ssutch left
|
|||
[Coke] | (but as MAIN, the (-) doesn't seem to be done.) | 21:59 | |
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» | ||
LLamaRider | 1) why does this work? 2) why is it a no-op? | 22:02 | |
I was trying to find the briefest way to ask for a numeric comparison in sort | |||
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
Alina-malina left
|
|||
LLamaRider | this at least works, but I just have the feeling there might be a way around using @_ that i am missing | 22:03 | |
22:04
Alina-malina joined
|
|||
[Coke] | r: <15 4 9123 2 31>.sort({*<*}).say | 22:05 | |
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnable to parse quote-words subscript; couldn't find right angle quoteat /tmp/tmpfile:1------> <15 4 9123 2 31>.sort({*<*}).say⏏…» | ||
timotimo | LLamaRider: look at this: | 22:07 | |
r: say <=>.perl | |||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«"="» | ||
timotimo | r: say <= = =>.perl | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«("=", "=", "=")» | ||
LLamaRider | O_O | 22:08 | |
but it sometimes treats it as an operator | |||
lue | r: <15 4 9123 2 31>.sort(* <=> *).say; | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«2 4 15 31 9123» | ||
BenGoldberg | r: say <===>.perl | 22:09 | |
timotimo | r: <15 4 9123 2 31>.sort(&[<=>]).say | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«"==="» | ||
rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«2 4 15 31 9123» | |||
lue | LLamaRider: it only works as an operator when you use it like one :) | ||
timotimo | yeah, only in infix position, not in term position :) | ||
BenGoldberg | r: say &[<=>].perl | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«sub+{<anon>} infix:<<=>>(Any, Any $?) { ... }» | ||
lue | r: <15 4 9123 2 31>.sort({cmp}).say; | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: cmp used at line 1» | 22:10 | |
LLamaRider | ah, & is the magic I was hoping for | ||
timotimo | well, &[...] really | ||
BenGoldberg | r: &+.say | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnsupported use of &+ variableat /tmp/tmpfile:1------> &⏏+.say expecting any of: infix noun» | ||
BenGoldberg | You cannot omit the [] | ||
22:12
treehug88 joined
|
|||
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 | |
22:12
treehug88 left
|
|||
LLamaRider | r: <some words here>.sort(&[<=>]).say | 22:12 | |
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 | |
..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 …» | |||
..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-…» | |||
LLamaRider | oh, i can't cheat | ||
jnthn | LLamaRider: use leg for strings | ||
LLamaRider: or cmp for magic | |||
LLamaRider | r: leg.perl | 22:14 | |
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: leg used at line 1. Did you mean 'log'?» | ||
BenGoldberg | r: say <some words here>.sort { +* <=> +* } | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnexpected block in infix position (two terms in a row, or previous statement missing semicolon?)at /tmp/tmpfile:1------> say <some word…» | ||
BenGoldberg | r: say <some words here>.sort: { +* <=> +* } | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«some words here» | ||
22:22
treehug88 joined
|
|||
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» | ||
timotimo | yay for getting typed "null" values for free | ||
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:24 | |
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 | ||
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 | kudo-debugger: ef18b17 | timo++ | README.markdown: this repo is now only for the frontend |
||
kudo-debugger: 30c8475 | jonathan++ | README.markdown: Merge pull request #18 from timo/patch-2 this repo is now only for the frontend |
|||
jnthn | LLamaRider: for more on that see handle->body.mutex | 22:27 | |
uh | |||
22:27
treehug88 left
|
|||
jnthn | jnthn.net/papers/2012-gpw-meta-programming.pdf | 22:27 | |
that one :) | |||
LLamaRider | programs writing programs? Acme::Skynet is called for :D | 22:28 | |
simula67 | well there is definitely a bug in moar if you supply double crlf as input-delimiter for a socket.get pastebin.com/KtEd5P7t | 22:29 | |
LLamaRider | jnthn++ thanks for the link to the talk! | ||
jnthn | simula67: Oh, I know that area of the code... | ||
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
Alina-malina left
|
|||
jnthn | simula67: It's on my todo list, but it turns out we had no spectests that care... | 22:30 | |
22:31
Alina-malina joined
|
|||
simula67 | i can write one tomorrow | 22:32 | |
22:32
punter joined
|
|||
simula67 | i ran into some wierdish behavior last time i tried :( | 22:32 | |
vendethiel | "has @!tasks handles :tasks<elems>;" that's renaming ? | 22:36 | |
punter | It would be nice if the how-to-get-rakudo contained a .deb of the most recent Rakudo, made for Ubuntu | 22:37 | |
the .deb link there links to packages.debian.org, which is (a) for debian, and (b) not the most recent version | |||
(talking about the rakudo) | 22:38 | ||
22:39
colomon left
22:40
colomon joined
|
|||
LLamaRider | r: "something".split("").map(*.wordcase).join("").say | 22:40 | |
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«SOMETHING» | 22:41 | |
LLamaRider | r: Str.^methods.grep(/case/).say; | 22:42 | |
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«samecase wordcase» | ||
LLamaRider | r: "something".samecase("AaAaAa").say | 22:45 | |
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«SoMeThing» | ||
LLamaRider | rather curious method :) | ||
I see how it generalizes uc, lc, ucfirst and lcfirst from P5 | 22:46 | ||
thumbs up | |||
though it might be slower in terms of runtime | |||
timotimo | r: say Str.^methods.grep /same/ | 22:47 | |
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> say Str.^methods.grep /same/⏏<EOL> expecting any of: argument…» | ||
timotimo | r: say Str.^methods.grep: /same/ | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«samecase samespace» | ||
jnthn | It's a power tool for when you need it :) | ||
vendethiel: The colonpair is doing renaming, yeah. | 22:48 | ||
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» | ||
..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» | |||
..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» | |||
vendethiel | :D | ||
timotimo | i think we should let the conditional compilation thingie create empty line fillers for the pieces that got removed | 22:54 | |
so that the line numbers match up | |||
22:55
ssutch joined
22:57
dmol left
|
|||
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» | ||
LLamaRider | it's a bit more difficult than uc($foo) | ||
23:00
ssutch left
|
|||
LLamaRider | oh wait, uc is a valid method | 23:00 | |
r: "some string".uc.say; Str.^methods.say;" | |||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnable to parse expression in double quotes; couldn't find final '"' at /tmp/tmpfile:1------> "some string".uc.say; Str.^methods.say;"[…» | ||
LLamaRider | r: "some string".uc.say; Str.^methods.say; | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«SOME STRINGBUILD 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
|
|||
jnthn | lizmat: I've got local patches taht fix sleep sort | 23:01 | |
And probably a bunch of other things. | |||
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 | ||
why? | 23:03 | ||
timotimo | try .methods(:all) | ||
methods will by default hide inherited methods or stuff | 23:04 | ||
LLamaRider | r: Str.^methods(:all).grep(/uc/).say | ||
camelia | rakudo-parrot ee7dbc, rakudo-moar ee7dbc: OUTPUT«succ uc ucfirst reduce duckmap» | ||
..rakudo-jvm ee7dbc: OUTPUT«succ ucfirst uc duckmap reduce» | |||
LLamaRider | timotimo++ it all makes sense now. Thanks | ||
and good night to all | |||
jnthn | It's not inherited, it's Mu/Any/Cool that are hidden. | ||
'night, LLamaRider | |||
timotimo | ah, thanks | ||
LLamaRider | jnthn++ ah then it's even trickier, I'll definitely write that down | 23:05 | |
23:06
logie_ joined
|
|||
LLamaRider | so all Cool things can be messed with in terms of upper/lower case :) interesting | 23:06 | |
jnthn | Cool = convenient OO loopbacks | 23:07 | |
Actually I'm surprised uc is *implemented* in Cool | |||
It should be implemented in Str and Cool should just coerce and delegate. | |||
Otherwise we pay the price of a coercion when it's unrequired. | |||
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:09 | |
jnthn | We'll perform better if it can go there. | 23:10 | |
23:11
LLamaRider left
23:13
virtualsue left
|
|||
dalek | kudo/nom: 0035fad | jnthn++ | src/Perl6/Actions.nqp: Fix blorst closure-o. This in turn fixes try { ... } usage in multiple threads, and maybe other similar bugs. |
23:14 | |
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«310» | ||
jnthn | lizmat: nom/master/master should give you a working sleep sort on r-m | ||
23:17
logie_ left
|
|||
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» | ||
lizmat | jnthn: just back from bere tasting, will try, thanks! | 23:18 | |
jnthn | lizmat: I see bere is good for your typing... :P | 23:19 | |
Oh wait, is that Romainian for beer? :) | |||
lizmat | that's what I thought :-) | ||
lue | (that is, limit, uh, limits the number of splits) | ||
vendethiel | r: say '| ' ~ ' ' x 5; | 23:21 | |
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«| » | ||
23:22
woolfy joined
|
|||
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; | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileA is not composable, so B cannot compose itat /tmp/tmpfile:1------> » | ||
lizmat | jnthn: alas, t/spec/S17-concurrency/promise.t now seems to hang on the sleep sort | ||
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; | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '$meth' is not declaredat /tmp/tmpfile:1------> my $m := callsame; say "hello !"; $meth⏏; } }; B.new.foo; …» | ||
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; | ||
jnthn | lizmat: Did you get HEAD of Moar too? | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«hello ! im a turtlehello !» | ||
vendethiel | oooh. | ||
lizmat | ah, eh no | ||
jnthn | lizmat: perl6-m -e "await (1..10).pick(*).map({ start { sleep $_; say $_ } })" # works nice for me. | ||
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» | ||
vendethiel | perl6++ | ||
jnthn | lizmat: semtryacquire accidentally had semantics more like semacquire which are...different ;) | ||
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; | ||
camelia | rakudo-parrot ee7dbc, rakudo-jvm ee7dbc, rakudo-moar ee7dbc: OUTPUT«hello ! im a turtlehello !» | 23:25 | |
vendethiel | perl6++ # sane | ||
jnthn | lizmat: yeah, that test was prolly vuln to that bug, and it does pass here now | 23:26 | |
lizmat | ok, I'm not seeing it straight anymore... too tired... will look again after some sound sleep | 23:28 | |
in any case, thanks jnthn! | |||
jnthn | lizmat: Sleep well! | ||
lizmat | you too! :-) | 23:29 | |
jnthn | Thanks! See you tomorrow! | ||
'night, #perl6 | 23:31 | ||
timotimo | gnite! | ||
23:32
kivutar left
23:42
punter left
23:45
AW3i left
23:46
dayangkun joined
23:51
Rotwang left
23:56
ssutch joined
|
|||
masak | morning, #perl6 :) | 23:56 | |
23:57
colomon left
|
|||
cxreg | wondering when jnthn++ next blog post will be | 23:58 |