»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:07
n0tjack left
00:28
llfourn joined
00:30
rurban left,
Eddward left
00:31
n0tjack joined,
avalenn joined
00:33
llfourn left
00:44
Eddward joined
00:48
n0tjack left
00:52
Hor|zon joined
00:57
Hor|zon left
00:58
mr_ron joined
01:01
n0tjack joined
01:05
n0tjack left
01:10
thou joined
01:14
thou left
01:16
llfourn joined
01:24
n0tjack joined
01:27
Alina-malina left,
Alina-malina joined,
bjz joined
01:29
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:35
n0tjack left
01:38
tokuhirom joined
01:42
tokuhirom left
01:46
^elyse^ left
01:53
Hor|zon joined
01:57
Hor|zon left
|
|||
TimToady | m: EVAL 'use nqp; say nqp::getpid() == qx/perl -E "say getppid;"/', :context(CORE::) | 02:00 | |
camelia | rakudo-moar 8f4e90: OUTPUT«True» | ||
TimToady | .tell pmurias see irclog.perlgeek.de/perl6/2015-10-11#i_11355209 for how to test getpid | 02:01 | |
yoleaux | TimToady: I'll pass your message to pmurias. | ||
02:17
BenGoldberg left
02:18
BenGoldberg joined,
BenGoldberg left
02:19
BenGoldberg joined
02:21
scruss joined
02:22
quester joined,
noganex joined
02:23
scruss left
02:28
eliasr left
02:31
vendethiel joined,
llfourn left
02:33
olinkl left
|
|||
ugexe | is there a better way to tell if an io::socket's handle will be closed? | 02:42 | |
my $sock = IO::Socket::INET.new(:host<google.com>, :port(80)); $sock.close; try { $sock.read(0); CATCH { when /"Socket not available"/ { say "socket must be closed" }; }; }; | |||
02:44
Aww joined
02:54
Hor|zon joined
02:55
skids joined
02:58
Hor|zon left
03:00
SmokeMachine_ joined
03:01
adu joined
03:06
kipd joined
03:07
thou joined
|
|||
labster | m: my Int:😦 $x = 3 | 03:11 | |
camelia | rakudo-moar 8f4e90: OUTPUT«5===SORRY!5===Type 'Int' is not declared. Did you mean 'int'?at /tmp/eeQ0jaVQm4:1------> 3my Int7⏏5:😦 $x = 3Malformed myat /tmp/eeQ0jaVQm4:1------> 3my Int7⏏5:😦 $x = 3» | 03:12 | |
labster | 😦 | ||
03:12
vendethiel left
|
|||
dalek | Iish: 6fc40c2 | (Fayland Lam)++ | .travis.yml: add travis |
03:17 | |
Iish: 50c2e7b | (Fayland Lam)++ | /: run travis |
|||
Iish: f30ca32 | (Zoffix Znet)++ | .travis.yml: Merge pull request #23 from fayland/travis Add travis |
|||
Zoffix wonders if they're the only one with a broken character for the wrench icon for "🔧 Add Travis" on modules.perl6.org/ | 03:19 | ||
03:19
Erendis42 joined
|
|||
Zoffix | Worked fine on my $work Linux and Windows boxes. | 03:19 | |
pink_mist | looks fine for me | 03:20 | |
03:21
nikola_ joined
|
|||
nikola_ | hi perl6! I have a question. why the first sub is so slow? sub infix:<A> ($a, $b) { $a + $b }; say 1 A 2; # 1.33s sub add($a, $b) { $a + $b }; say add 1, 2; # 0.26s; 1.33s vs 0.26s? | 03:24 | |
labster | ooh, looks like it's time to add travis to my modules. | 03:26 | |
Zoffix | labster, sure :) | ||
labster, also, I believe I sent a PR to you today to fix something | 03:27 | ||
(forget what... ) | |||
labster | nikola_: not enough optimization on perl 6? | ||
skids | m: sub infix:<A> ($a, $b) { $a + $b }; my $n = now; say 1 A 2, now - $n; sub add($a, $b) { $a + $b }; $n = now; say add(1, 2), now - $n; # the sub itself is not slow, the parsing is. | 03:28 | |
camelia | rakudo-moar 8f4e90: OUTPUT«30.001973530.0006907» | ||
labster | Zoffix: not sure what... github.com/pulls?utf8=%E2%9C%93&am...%3Alabster | 03:29 | |
03:30
Eddward left
|
|||
nikola_ | thanks labster, skid. but why? | 03:30 | |
Zoffix | Never mind then :) Maybe the name just looks familiar to me :) | ||
skids | When you do a sub infix you alter the grammar slighty. | 03:31 | |
labster | Zoffix: I need to be more active around here, this is just like week six of the annual worst six weeks at $dayjob. | 03:32 | |
nikola_ | another question, what is the benefit of sigilless variable? | 03:33 | |
Zoffix | Ah: now I got it straight: IO::Path::More's support->{source} highlighted the bug with https handling :) | 03:36 | |
That's how I know your name :) | |||
So there were no PRs to you, but a bug fix to module handling system | |||
skids | nikola_: They are actually single-assignment (not just sigilless), and they allow you to write code that does not care about the contract on the sigil or containerization. Really they are a finesse thing not for normal use. | 03:37 | |
labster | The benefit of sigilless style is if that is more convenient for you to write in. Say you have a mathematical text you're copying, it might be best to declare your variables at the top sigilless, and just copy everything below. | ||
skids | m: my \a = 1; a := 3; # hopefully your math text is in SSA form | 03:39 | |
camelia | rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2LEG_foWFJCannot use bind operator with this left-hand sideat /tmp/2LEG_foWFJ:1------> 3my \a = 1; a := 37⏏5; # hopefully your math text is in SSA f» | ||
BenGoldberg | .u 😦 | 03:42 | |
yoleaux | U+1F626 FROWNING FACE WITH OPEN MOUTH [So] (😦) | ||
nikola_ | Hi skids, labster, can you give me an example that \a is better than $a? | ||
03:43
aborazmeh left
|
|||
labster | Say you like writing C or python, and think that Perl's noun markers look like line noise. Then use sigilless variables, and you no longer have to talk about how ugly Perl is. What a time-saver! :P | 03:44 | |
03:45
Eddward joined
|
|||
skids | labster: I don't think they are actually useful for that, since they do more than just remove the sigil. | 03:45 | |
nikola_ | labster, i like write var has sigil | 03:46 | |
skids | I've seen them used to make operator middlemen more efficient, let me see if I am too sleepy to make a less obscure example. | ||
labster | It's true that it doesn't constrain the container, which actually makes me wonder if you can bind a Scalar container to a sigilless variable, and then fill it with something? Would it then act scalary for most purposes? | 03:48 | |
skids | Yes, you can. | 03:49 | |
m: my \a = 1; my $b = 1; my \c = $b; a.VAR.WHAT.say; $b.VAR.WHAT.say; c.VAR.WHAT.say | 03:50 | ||
camelia | rakudo-moar 8f4e90: OUTPUT«(Int)(Scalar)(Scalar)» | ||
skids | (note declarative assigment for sigelless is just binding) | ||
03:55
Hor|zon joined
|
|||
nikola_ | skids, what is the diffrence betwen Int , Scalar? I meaning , benefit | 03:55 | |
can you give me an example? | 03:56 | ||
skids | An Int is a value type. A Scalar is just a container. | 03:57 | |
03:58
n0tjack joined
03:59
Hor|zon left
|
|||
nikola_ | skids, thanks. please give me code. show that Int is better than Scalar. | 04:00 | |
skids | Well, I wouldn't say that Int is "better" just a different thing. | ||
m: my Int $a = 3; $a.VAR.WHAT.say; $a = 4; $a.say; | 04:01 | ||
camelia | rakudo-moar 8f4e90: OUTPUT«(Scalar)4» | ||
skids | m: my Int $a := 3; $a.VAR.WHAT.say; $a = 4; $a.say; | ||
camelia | rakudo-moar 8f4e90: OUTPUT«(Int)Cannot assign to an immutable value in block <unit> at /tmp/iqjDF93Zmi:1» | ||
skids | The second one fails for the same reason that saying "3 = 4" would fail. | 04:02 | |
04:03
n0tjack left
|
|||
labster | m: my Int $a := 5; $a.VAR.WHAT.say; $a = 2 + 2; $a.say | 04:03 | |
camelia | rakudo-moar 8f4e90: OUTPUT«(Int)Cannot assign to an immutable value in block <unit> at /tmp/byH2FsgRek:1» | ||
labster | not Big Brother complaint. | ||
04:05
olinkl joined
|
|||
nikola_ | skids, labstetr , what? what is is the example? I want you give me an example that sigilless is better than has sigil.please.. | 04:07 | |
skids | Most times, it is not better. | 04:08 | |
Most of the uses I see are just for efficiency. | |||
Or very internal purposes. | 04:09 | ||
nikola_ | skids, which? it is better? give me code please. | ||
for efficiency. | |||
skids, I found it appear in rakudo source code. but I dont't know why? | 04:12 | ||
04:12
coetry joined
|
|||
skids | Here is an example not for efficiency: it can be used to preserve single-argument-rule behavior: | 04:12 | |
m: sub a ($a) { map { .say }, $a; }; my $a = (1,2,3); a($a) | 04:13 | ||
camelia | rakudo-moar 8f4e90: OUTPUT«(1 2 3)» | ||
nikola_ | where? | ||
skids | m: sub a ($a) { map { .say }, $a; }; my $a := (1,2,3); a($a) | ||
camelia | rakudo-moar 8f4e90: OUTPUT«(1 2 3)» | ||
skids | m: sub a (\a) { map { .say }, a; }; my $a := (1,2,3); a($a) | ||
camelia | rakudo-moar 8f4e90: OUTPUT«123» | ||
skids | m: sub a (\a) { map { .say }, a; }; my $a = (1,2,3); a($a) | ||
camelia | rakudo-moar 8f4e90: OUTPUT«(1 2 3)» | ||
04:13
eliasr joined
|
|||
skids | so when you use a \a parameter, you are passing a more true copy to .say | 04:14 | |
when you use a $a parameter, you are creating a Scalar to contain the argument, and lose the information as to whether it was a Scalar in the first place. | 04:15 | ||
nikola_ | skids, I still not understand what is the benefit? can you show me? please... | 04:18 | |
skids, i mean, sigilles 5s, scalar sigil 20s, something like this ? | 04:20 | ||
skids | I don't know what the actual workload difference works out to be, you'd have to ask a more experienced developer. | 04:21 | |
Basically every time you pass something through a sigilled variable it will make a Scalar container if there is not one already, so you can avoid that overhead. | 04:22 | ||
nikola_ | hi kids, thanks. Can you write a tutorial for this? this confused me. please. thanks/ | 04:25 | |
sorry, kids => skids | 04:27 | ||
skids | nikola_: have you read doc.perl6.org/language/containers yet? | 04:28 | |
04:28
nikola_ left
|
|||
labster | maybe I should read that too. Though I've read most of the synopses, so I probably have a handle on a lot of that. | 04:31 | |
04:31
blackcat_ joined
|
|||
labster | OK, weird question. Say you have a reference to a sub, &foo. Is there a way you can add a multi sub to the reference without declaring another sub? Like add &bar as a multi sub to &foo? | 04:34 | |
skids | labster: through the MOP or through a high leve construct? | 04:35 | |
labster | probably through the MOP, because this is kinda like ... how did mst put it ... turning a whole house to screw in the lightbulb? | 04:37 | |
04:38
adu left
|
|||
labster | Basically I've been thinking about that anonymous multi subs thing from a couple months back on the email list. And maybe seeing if I can turn it into a blog. | 04:38 | |
skids | Well, there is "wrap" but is has restrictions vis-a-vis compile time, naturally, for those same reasons. | 04:39 | |
04:39
woodruff- is now known as woodruffw
04:52
adu joined
04:56
Hor|zon joined
|
|||
skids | m: proto c ($) { * }; multi c (Int $) { "Int".say }; sub foo (Str $) { "Str".say }; &c.add_dispatchee(&foo); c("a"); # apparently that is ony part of the magical incantation | 05:00 | |
camelia | rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YR4GGPMNp2Calling c(str) will never work with any of these multi signatures: (Int)at /tmp/YR4GGPMNp2:1------> 3{ "Str".say }; &c.add_dispatchee(&foo); 7⏏5c("a"); # apparently that is ony par…» | ||
05:00
Hor|zon left
|
|||
BenGoldberg | m: my \$a = 5; | 05:00 | |
camelia | rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kkXu3IMdOpMalformed myat /tmp/kkXu3IMdOp:1------> 3my7⏏5 \$a = 5;» | ||
BenGoldberg | m: my \$a := 5; | ||
camelia | rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0VIflsT2V5Malformed myat /tmp/0VIflsT2V5:1------> 3my7⏏5 \$a := 5;» | ||
skids | The rest is only visible when viewed direct sunlight at midnight. | 05:01 | |
05:05
llfourn joined
|
|||
labster | skids: thank goodness for time zones. | 05:13 | |
05:17
oahong joined
05:23
tokuhirom joined
05:27
tokuhirom left
05:33
BenGoldberg left
05:37
tokuhirom joined
|
|||
moznion | m: say sub{}.isa(Callable) | 05:39 | |
camelia | rakudo-moar 8f4e90: OUTPUT«False» | ||
moznion | Is this behavior correct? | 05:40 | |
05:41
tokuhirom left
|
|||
ShimmerFairy | m: say sub{}.does(Callable) | 05:42 | |
camelia | rakudo-moar 8f4e90: OUTPUT«True» | ||
ShimmerFairy | moznion: since Callable is a role, not a class, it's not something the Sub class 'is', it's something the Sub class 'does'. | 05:43 | |
moznion | Ah I see, thank you! | ||
05:44
blackcat_ left
05:45
blackcat_ joined
05:57
Hor|zon joined
06:02
Hor|zon left
06:09
raiph joined
06:18
Eddward left
06:20
bjz left
06:23
thou left
06:24
rurban joined
06:27
coetry left
|
|||
dalek | Iish: aec5982 | moritz++ | .travis.yml: Tell travis to supply a sqlite3 DB |
06:31 | |
06:58
Hor|zon joined
|
|||
skids | m: my $a = 2; my Int @c = 1, 2; @c[2] := $a; $a = "hi"; @c.perl.say; # BIND-POS needs to check that the container is typed | 06:59 | |
camelia | rakudo-moar 8f4e90: OUTPUT«Array[Int].new(1, 2, "hi")» | ||
07:03
Hor|zon left
|
|||
dalek | c: 17681ed | skids++ | doc/Language/traps.pod: Remove a PAE for a WAT that the GLR eliminated |
07:04 | |
c: 1453b37 | skids++ | doc/Language/traps.pod: Add caveats for common problems with typed positional params |
|||
skids | 3x TLA FTW LOL | 07:08 | |
moritz | such WAT | 07:10 | |
07:11
bjz joined
07:16
bjz left
07:17
adu left
|
|||
chenryn | where is the document of react? | 07:17 | |
skids | It may not have been very well docced yet. The original proposal is gist.github.com/jnthn/a56fd4a22e7c43080078 | 07:19 | |
07:21
CurtisOvidPoe joined
|
|||
CurtisOvidPoe | p6: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a })); }; await(|@p); | 07:22 | |
yoleaux | 10 Oct 2015 11:46Z <jnthn> CurtisOvidPoe: Native types are working (aside from some issues around sized/unsinged in certain contexts - but "int" is fine). But you generally need to use them consistently, and for now write in the "C" dialect of Perl 6. :) Your `for` example there is doomed to cause a lot of GC because $_ isn't native, so we box 40000 native ints into Ints for it. | ||
10 Oct 2015 12:14Z <ab6tract> CurtisOvidPoe: what jnthn++ didn't mention is that the performance of 'while' loops with native ints is crazy fast. much faster than perl 5 in this case. now, obviously nested while loops that only increment native integers are completely contrived and useless, I took it as a serious implication of the kinds of speedups we may be able to achieve under the hood, once the dust has fully settled on the implementation | |||
and performanc | |||
camelia | rakudo-moar 8f4e90: OUTPUT«123» | ||
CurtisOvidPoe | p6: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a });); }; await(|@p); | ||
camelia | ( no output ) | ||
07:22
llfourn left
|
|||
CurtisOvidPoe | Looks like a parsing bug? | 07:22 | |
(Note those are almost identical, but there's a semicolon after the "then(...)" | 07:23 | ||
07:28
szabgab joined
|
|||
szabgab | p6: my @a = ('a', 'b'); my @b; @b.push: @a, @a; say @b.perl; my @c; @c.append: @a, @a; say @c.perl; | 07:29 | |
camelia | rakudo-moar 8f4e90: OUTPUT«[["a", "b"], ["a", "b"]][["a", "b"], ["a", "b"]]» | ||
szabgab | push and append doing the same here, when multiple arrays are supplied | ||
is that the corrct behavior? | 07:30 | ||
p6: my @a = ('a', 'b'); my @b; @b.push: @a; say @b.perl; my @c; @c.append: @a; say @c.perl; | |||
camelia | rakudo-moar 8f4e90: OUTPUT«[["a", "b"],]["a", "b"]» | ||
szabgab | When supplying only a single array then the behavior is as TimToady said earlier | 07:32 | |
07:32
firstdayonthejob joined,
bjz joined
|
|||
skids | m: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a })); }; @p.map({$_.WHAT.say}); await(@p[2]); | 07:33 | |
camelia | rakudo-moar 8f4e90: OUTPUT«(Promise)(Promise)(Promise)12» | ||
07:33
CIAvash joined
|
|||
skids | m: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a });) }; @p.map({$_.WHAT.say}); await(@p[2]); | 07:34 | |
camelia | rakudo-moar 8f4e90: OUTPUT«(List)(List)(List)(List)(List)(List)» | ||
skids | m: my @p; say(4;) | 07:36 | |
camelia | rakudo-moar 8f4e90: OUTPUT«(4)()» | ||
07:37
darutoko joined,
llfourn joined
|
|||
skids | I don't actually know what ';' does in a param list (other than for 3d array stuff) | 07:38 | |
erm, argument list | |||
07:38
tokuhirom joined
07:42
tokuhirom left
07:44
szabgab left
07:49
bjz left
07:50
CurtisOvidPoe left
07:52
skids left
07:56
thou joined
07:59
Hor|zon joined
08:00
thou left
08:03
Hor|zon left
08:06
xfix joined
08:08
bjz joined
08:12
azawawi joined
|
|||
azawawi | hi | 08:12 | |
finally finished it... github.com/azawawi/perl6-parse-sel...rammar.pm6 :) | 08:13 | ||
also wrote tests for it github.com/azawawi/perl6-parse-sel...e/master/t :) | |||
grammars rock | |||
08:15
azawawi left
08:21
quester left,
telex left
08:22
telex joined
08:28
n0tjack joined
08:36
kipd left,
eliasr left,
SmokeMachine_ left,
olinkl left
|
|||
grondilu_ adds a .travis.yml in one of his modules as this seems to be a new trend, but he wonders why this is not in META.info | 08:36 | ||
08:40
grondilu_ is now known as grondilu,
grondilu left,
grondilu joined
|
|||
ShimmerFairy | Why should it be? Travis has nothing to do with how distributions work. | 08:41 | |
08:42
SmokeMachine_ joined
|
|||
llfourn | m: EnumMap.new | 08:45 | |
camelia | rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OU9blWMPoRUndeclared name: EnumMap used at line 1» | ||
llfourn | what happened ot EnumMap? :) | ||
ShimmerFairy | I believe it was renamed to Map | 08:46 | |
llfourn | ShimmerFairy: yerp. Thanks. | 08:47 | |
08:47
weihan joined
08:50
eliasr joined
09:00
Hor|zon joined
09:03
llfourn left
09:04
Hor|zon left
09:06
vendethiel joined
09:08
kipd joined
09:10
llfourn joined
|
|||
nine | .tell CurtisOvidPoe in case you missed it: the semicolon actually has a meaning in an argument list. It's for multi dimensional lists: perl6 -e 'sub foo(**@args) { say @args.perl; }; foo(1,2;2,3);' # [(1, 2), (2, 3)] | 09:19 | |
yoleaux | nine: I'll pass your message to CurtisOvidPoe. | ||
09:23
olinkl joined
09:24
RabidGravy joined
09:25
CIAvash left
09:29
Psyche^ joined
|
|||
dalek | kudo/nom: 5c77383 | skids++ | src/core/Failure.pm: Restore default Failure message clobbered by pasto |
09:33 | |
kudo/nom: be66ad4 | lizmat++ | src/core/Failure.pm: Merge pull request #547 from skids/patch-1 Restore default Failure message clobbered by pasto |
|||
09:33
Psyche^_ left
09:38
void1 joined
|
|||
dalek | c/MARTIMM-patch-2: 129608b | (Marcel Timmerman)++ | doc/Type/DateTime.pod: Default value for now() perhaps a typing mistake The default value for the timezone *$TZ should perhaps be $*TZ in method now() on line 81 |
09:40 | |
FROGGS | m: class Foo:D {}; say Foo.new | ||
camelia | rakudo-moar 8f4e90: OUTPUT«Foo.new» | ||
09:40
][Sno][ left
09:44
thou joined
|
|||
[Tux] | test 50000 37.993 37.880 | 09:46 | |
test-t 50000 39.481 39.369 | |||
09:47
RFIDtag joined
09:48
thou left
|
|||
dalek | osystem: 1e0f0fc | cygx++ | META.list: Remove bitrotten module |
09:48 | |
FROGGS | m: sub a(--> Int:D) { Int }; | 09:49 | |
camelia | ( no output ) | ||
FROGGS | m: sub a(--> Int:D) returns Int:D { Int }; | ||
camelia | rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/htxuZcXdQGRedeclaration of return type for a (previous return type was Int:D)at /tmp/htxuZcXdQG:1» | ||
FROGGS | m: sub a() returns Int:D { Int }; | ||
camelia | ( no output ) | ||
FROGGS | m: sub a() returns Int:D { Int }; say &a.returns | ||
camelia | rakudo-moar 8f4e90: OUTPUT«(Int:D)» | ||
FROGGS | m: sub a() returns Int:U { 42 }; say &a.returns | 09:52 | |
camelia | rakudo-moar 8f4e90: OUTPUT«(Int:U)» | ||
FROGGS | m: sub a() returns Int:U { 42 }; say &a.returns; a | ||
camelia | rakudo-moar 8f4e90: OUTPUT«(Int:U)Type check failed for return value; expected Int:U but got Int in sub a at /tmp/LRo5pcMZof:1 in block <unit> at /tmp/LRo5pcMZof:1» | ||
FROGGS | ahh | 09:53 | |
m: sub a() returns Int:D { Int }; say &a.returns; a | |||
camelia | rakudo-moar 8f4e90: OUTPUT«(Int:D)Type check failed for return value; expected Int:D but got Int in sub a at /tmp/SnKt55D7zj:1 in block <unit> at /tmp/SnKt55D7zj:1» | ||
09:53
RFIDtag left
|
|||
psch | m: proto c(|) {*}; sub c1(Int $) { 5 }; BEGIN &c.add_dispatchee(&c1); say c(1) | 09:55 | |
camelia | rakudo-moar be66ad: OUTPUT«5» | ||
psch | .tell skids add_dispatchee works when called at BEGIN time | ||
yoleaux | psch: I'll pass your message to skids. | ||
psch | .tell labster irclog.perlgeek.de/perl6/2015-10-11#i_11355913 | 09:56 | |
yoleaux | psch: I'll pass your message to labster. | ||
psch | probably something about caches being finalized or so..? | ||
10:01
Hor|zon joined,
rindolf joined
10:03
hohoho_ joined
10:05
Hor|zon left
10:12
rurban left
10:15
n0tjack left
10:16
n0tjack joined
10:20
spider-mario joined
|
|||
dalek | ast: 9ab29a9 | lizmat++ | S06-parameters/smiley.t: Be more specific about expected error |
10:21 | |
grondilu | m: my $insert-me = False; my @a = $insert-me ?? $insert-me !! Nil; say @a.elems | 10:22 | |
camelia | rakudo-moar be66ad: OUTPUT«1» | ||
grondilu | ^what should I put here instead of Nil? | ||
m: my $insert-me = False; my @a = $insert-me ?? $insert-me !! (); say @a.elems | |||
camelia | rakudo-moar be66ad: OUTPUT«0» | ||
lizmat | perhaps an empty Slip ? | 10:23 | |
|() | |||
grondilu thought he had tried that with no success | |||
grondilu tries again | |||
lizmat | m: my @a = 42 ?? slip !! 87; dd @a | 10:24 | |
camelia | rakudo-moar be66ad: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HpbmYAQg1MYour !! was gobbled by the expression in the middle; please parenthesizeat /tmp/HpbmYAQg1M:1------> 3my @a = 42 ?? slip !!7⏏5 87; dd @a expecting any of: infix …» | ||
lizmat | m: my @a = 42 ?? slip() !! 87; dd @a | ||
camelia | rakudo-moar be66ad: OUTPUT«Array @a = []» | ||
grondilu | m: my $insert-me = False; say join ':', ($insert-me ?? $insert-me !! |()), 1 xx 3 | ||
camelia | rakudo-moar be66ad: OUTPUT«1:1:1» | ||
lizmat | m: my @a = False ?? 87 !! slip; dd @a | 10:25 | |
camelia | rakudo-moar be66ad: OUTPUT«Array @a = []» | ||
grondilu | can't reproduce it here. The error must be something else | ||
lizmat | FROGGS: don't we have smiley return tests already in t/spec/S06-parameters/smiley.t ? | 10:26 | |
Erendis42 | my @e; @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]] say @e.perl; | 10:27 | |
m: my @e; @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]] say @e.perl; | |||
camelia | rakudo-moar be66ad: OUTPUT«5===SORRY!5=== Error while compiling /tmp/P6huygGktPVariable '@a' is not declaredat /tmp/P6huygGktP:1------> 3my @e; @e.append: 7⏏5@a, @x; # [["foo", "bar"], ["abc", "def"» | ||
Erendis42 | oops | ||
m: my @a = ('foo', 'bar'); say @a.perl; # ["foo", "bar"] my @b; @b.push: @a; say @b.perl; # [["foo", "bar"],] my @c; @c.append: @a; say @c.perl; # ["foo", "bar"] @b.push: @a; say @b.perl; # [["foo", "bar"], ["foo", "bar"]] @c.append: @a; say @c.perl; # ["foo", "bar", "foo", "bar"] my @x = ('abc', 'def'); my @d; @d.push: @a, @x; say @d.perl; # [["foo", "bar"], ["abc", "def"]] my @e; @e.append: @a, | 10:28 | ||
camelia | rakudo-moar be66ad: OUTPUT«["foo", "bar"]» | ||
Erendis42 | m: my @a = ('foo', 'bar');my @b;@b.push: @a;my @c;@c.append: @a;@b.push: @a;@c.append: @a;my @x = ('abc', 'def');my @d;@d.push: @a, @x;my @e;@e.append: @a, @x;say @e.perl; | 10:32 | |
camelia | rakudo-moar be66ad: OUTPUT«[["foo", "bar"], ["abc", "def"]]» | ||
Erendis42 | yay | ||
10:39
tokuhirom joined
10:44
tokuhirom left
|
|||
lizmat | m: for (^10).grep({$_}) -> $a, $b { say $a, $b } # this should work, shouldn't it ? | 10:46 | |
camelia | rakudo-moar be66ad: OUTPUT«12345678Too few positionals passed; expected 2 arguments but got 1 in block <unit> at /tmp/gQ2qIje0PH:1» | ||
grondilu created a RC for an annoying task he would like other people to solve for him :P : rosettacode.org/wiki/Display_a_line...ombination | 10:48 | ||
psch | lizmat: i don't think so? ^10 .grep({$_}) is 9 elements | ||
lizmat | ah.... good point! | ||
psch++ # sanity check | 10:49 | ||
10:52
n0tjack left
|
|||
lizmat | .tell jnthn Iterator.push-exactly has a $no-sink catch, is that needed in all custom iterator methods that do $target.push ?? | 11:01 | |
yoleaux | lizmat: I'll pass your message to jnthn. | ||
11:02
Hor|zon joined
|
|||
grondilu is slightly annoyed that 'Scalar' is a thing in Perl 6. Would have wanted to make a subset with this name. | 11:02 | ||
11:03
n0tjack joined
|
|||
psch | m: my subset Scalar of Int where 1..10; say 11 ~~ Scalar #? | 11:04 | |
camelia | rakudo-moar be66ad: OUTPUT«False» | ||
grondilu | is that risk-free? | 11:05 | |
psch | grondilu: well, it's lexical, and Scalar isn't really user-facing as a class afaik | 11:06 | |
grondilu | ok | ||
11:07
Hor|zon left,
n0tjack left
11:09
hohoho_ left
|
|||
jferrero | m: my @x = (1.2, 2.4); my @y; say @x «+« @y; | 11:10 | |
camelia | rakudo-moar be66ad: OUTPUT«[]» | ||
jferrero | m: my @x = (1.2, 2.4); my @y; say @x »+» @y; | ||
camelia | rakudo-moar be66ad: OUTPUT«[]» | ||
jferrero | m: my @x = (1.2, 2.4); my @y; say @x »+« @y; | 11:12 | |
camelia | rakudo-moar be66ad: OUTPUT«Lists on either side of non-dwimmy hyperop of infix:<+> are not of the same lengthleft: 2 elements, right: 0 elements in block <unit> at /tmp/dD68W2i6W6:1» | ||
jferrero | m: my @x = (1.2, 2.4); my @y; say @x «+» @y; | 11:14 | |
camelia | rakudo-moar be66ad: OUTPUT«[]» | ||
11:20
^elyse^ joined
11:22
leont joined
|
|||
nine | .tell jnthn I rejected rt.perl.org/SelfService/Display.html?id=125199 because I think it was just an error in the test script. Am I right? | 11:24 | |
yoleaux | nine: I'll pass your message to jnthn. | ||
dalek | kudo/nom: 9b86933 | lizmat++ | src/core/Any-iterable-methods.pm: Add push-exactly methods to grep Should make some greps in some contexts faster |
||
nine | Turns out, even scary sounding tickets like "IO::Socket::INET behaving badly with Channels" can be quite simple to diagnose and close. | 11:25 | |
lizmat++ # speeding us up :) | |||
lizmat | m: my @a = ^Inf | ||
camelia | ( no output ) | ||
lizmat | m: my @a = ^Inf.grep({$_}) | 11:26 | |
camelia | ( no output ) | ||
lizmat | I was just thinking that if an iteratior depends on another iterator | ||
and that other iterator is lazy, then a "push-all" in the iterator should just die | 11:27 | ||
"cannot iterate complete lazy list" or something | |||
nine | lizmat: .lines is also lazy but doesn't have to be infinite | 11:28 | |
While we treat lazy things as if they were infinite (as they potentially are), they don't have to be. | |||
lizmat | actually .lines is not | ||
m: lines.is-lazy.sat | 11:29 | ||
camelia | rakudo-moar be66ad: OUTPUT«Method 'sat' not found for invocant of class 'Bool' in block <unit> at /tmp/qSDJ_3LcJt:1» | ||
lizmat | m: lines.is-lazy.say | ||
camelia | rakudo-moar be66ad: OUTPUT«False» | ||
masak | good afternoon, #perl6 | ||
lizmat | masak o/ | ||
nine | So I need another example :/ | ||
lizmat | but yeah, I got your point :-) | ||
nine | Too bad, because people tend to understand the .lines example. Especially when I mention the difference between some_words.txt and /dev/zero ;) | 11:30 | |
11:32
thou joined
11:34
edehont joined
11:36
thou left
|
|||
nine | m: role A { has $.a; submethod BUILD(:$!a) {}}; class B does A {}; B.new | 11:37 | |
camelia | ( no output ) | ||
nine | m: role A { has $.a; submethod BUILD(:$!a) {}}; class B does A {}; B.new(:a(1)).a.say | ||
camelia | rakudo-moar be66ad: OUTPUT«1» | ||
nine | m: role A { has $.a; submethod BUILD(:$!a, @a? is copy) {}}; class B does A {}; B.new | 11:38 | |
camelia | rakudo-moar be66ad: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6wPMJUMCdBCannot put optional positional parameter @a after variadic parametersat /tmp/6wPMJUMCdB:1------> 3s $.a; submethod BUILD(:$!a, @a? is copy7⏏5) {}}; class B does A {}; B.new expect…» | ||
nine | m: role A { has $.a; submethod BUILD(@a? is copy, :$!a) {}}; class B does A {}; B.new | ||
camelia | ( no output ) | ||
nine | Why is rt.perl.org/Public/Bug/Display.html?id=123407 still open? The given example seems to work now and it says "Test added." | 11:39 | |
lizmat: as the original reporter, do you think we can close this ^^^? | 11:40 | ||
lizmat | looks like :-) | 11:41 | |
11:42
n0tjack joined
|
|||
jferrero | m: my @x = (1.2, 2.4); my @y; my @z = @x »+» @y;say @z.perl; | 11:44 | |
camelia | rakudo-moar be66ad: OUTPUT«[]» | ||
nine | m: my @x = (1, 2); my @y; my @z = @x »+» @y;say @z.perl; | 11:46 | |
camelia | rakudo-moar be66ad: OUTPUT«[]» | ||
11:51
edehont left
|
|||
dalek | kudo/nom: 877d493 | lizmat++ | src/core/Any-iterable-methods.pm: push-exactly for unique/repeated/squish |
11:51 | |
11:51
edehont joined,
edehont left
|
|||
dalek | c: 6753fed | (Gabor Szabo)++ | .travis.yml: add travis configuration file |
11:55 | |
11:55
szabgab joined
|
|||
szabgab | hello there | 11:56 | |
lizmat | szabgab o/ | ||
Zoffix | \o | 11:57 | |
szabgab | I have added .travis.yml to the perl6/doc repository, but I don't have the rights on Travis-CI to enable it, could someone please do it? | ||
dalek | Iish: 1673b09 | (Fayland Lam)++ | .travis.yml: add mysql test database |
12:00 | |
Iish: 0ae7757 | (Fayland Lam)++ | .travis.yml: correct mysql set |
|||
Iish: bc32ed4 | (Fayland Lam)++ | .travis.yml: and postgres |
|||
Iish: b15c94f | (Fayland Lam)++ | .travis.yml: Merge remote-tracking branch 'origin/master' into travis |
|||
Iish: 7166771 | (Zoffix Znet)++ | .travis.yml: Merge pull request #24 from fayland/travis useful travis tests |
|||
12:00
edehont joined
|
|||
dalek | osystem: adf5165 | (Gabor Szabo)++ | META.list: add Perl6::Maven to the ecosystem |
12:00 | |
12:01
cognominal joined
|
|||
psch | j: my class native_callsite is repr("NativeCall") { }; role Foo { has native_callsite $.f } | 12:02 | |
camelia | ( no output ) | ||
psch | that's a golf for the "only works if we ignore SC" bug | ||
as in, that bit breaks when i revert nqp commit 52e409ec | |||
12:03
Hor|zon joined
|
|||
szabgab | same with the perl6/Pod-To-HTML repository | 12:03 | |
psch | apparently because for some reason we try to bindattr on a CORE Attribute while treating it as a BOOTSTRAPATTR | ||
.tell FROGGS irclog.perlgeek.de/perl6/2015-10-11#i_11356193 | 12:04 | ||
yoleaux | psch: I'll pass your message to FROGGS. | ||
dalek | kudo/nom: 7003c7a | lizmat++ | src/core/Rakudo/Internals.pm: Give MapIterator its own fast sink-all |
12:06 | |
12:07
Hor|zon left
12:12
zakharyas joined
|
|||
dalek | kudo/nom: 2d2fe30 | lizmat++ | src/core/Baggy.pm: Baggy keys/values/pairs/kv get push-exactly |
12:17 | |
12:18
woolfy joined,
woolfy left
|
|||
jferrero | m: my @x = (1.2, 2.4); my @y; my @z = @x »*» @y;say @z.perl; | 12:20 | |
camelia | rakudo-moar 9b8693: OUTPUT«[]» | ||
12:21
hohoho_ joined,
void1 left
|
|||
psch | ah | 12:22 | |
it's even simpler, actually... | |||
dalek | Heuristic branch merge: pushed 43 commits to rakudo/curli by lizmat | ||
psch | any attribute in a role brings that bug out | ||
lizmat | psch: fwiw, there are still some oddities wrt roles and composition into classes (or other roles) | 12:23 | |
yesterday I spent some hours finding out you cannot have a lexical class in a role | |||
jferrero | m: my @x = (1.2, 2.4); my @y = (1); my @z = @x »*» @y;say @z.perl; | 12:25 | |
camelia | rakudo-moar 7003c7: OUTPUT«[1.2, 2.4]» | ||
lizmat | cycling& | ||
12:25
Erendis42 left
12:33
vendethiel left
12:34
weihan left,
weihan joined
|
|||
leont | Can I regenerate the rakudo Makefile without having to rebuild all of Rakudo? | 12:35 | |
Why do I ask stupid questions 10 seconds before figuring it out? | 12:36 | ||
--no-clean could be documented though | 12:37 | ||
12:38
weihan left
|
|||
szabgab | leont: would it make more sense to ask the question *after* you figured it out? | 12:38 | |
12:38
weihan joined
12:41
tokuhirom joined
|
|||
dalek | line-Python: 2f035bd | (Gabor Szabo)++ | .travis.yml: add travis configuration file |
12:42 | |
line-Python: d2b79b7 | niner++ | .travis.yml: Merge pull request #6 from szabgab/travis add travis configuration file |
|||
jferrero | m: my @x = (1.2, 2.4); my @y = (''); my @z = @x »+» @y;say @z.perl; | ||
camelia | rakudo-moar 7003c7: OUTPUT«[1.2, 2.4]» | ||
dalek | c: 2bd17fc | (Akim Demaille)++ | doc/Language/regexes.pod: Typo |
12:43 | |
c: 346b30f | niner++ | doc/Language/regexes.pod: Merge pull request #153 from akimd/patch-2 Typo |
|||
c: 9b54e90 | (Akim Demaille)++ | doc/Language/regexes.pod: Typo |
|||
c: 59c873d | niner++ | /: Merge pull request #152 from akimd/patch-1 Typo |
|||
FROGGS | hmmm | 12:44 | |
yoleaux | 12:04Z <psch> FROGGS: irclog.perlgeek.de/perl6/2015-10-11#i_11356193 | ||
12:45
tokuhirom left,
kid51 joined
|
|||
FROGGS | psch: what if we have to care about .delegates like in here in another place? github.com/perl6/nqp/commit/0c26f6...21cccdab89 | 12:46 | |
12:48
szabgab left
|
|||
psch | FROGGS: i don't see the connection - the golfest i figured out is "role Foo { has $.f }" | 12:49 | |
12:49
some_body joined
|
|||
psch | FROGGS: aiu, delegates only matter for mixins, no? | 12:50 | |
some_body | is there going to be a CPAN for perl6? or are CPAN modules going to be indexed as v6 modules? | ||
pink_mist | I think the details of that are still being worked on, some_body | ||
FROGGS | psch: well, that role is punned into a class at the time you use it, right? | 12:51 | |
12:51
diana_olhovik joined
|
|||
some_body | ah, i see | 12:51 | |
psch | FROGGS: right, but i don't have to use it for compilation to die | ||
FROGGS | ahh | ||
hmmm | |||
psch | the code it dies at is BOOTSTRAP.nqp:129 | 12:52 | |
which is .add_method(Attribute, 'new', ... ) | |||
the first bindattr_s call in there, to be precise | |||
dalek | ast: 5bd83c5 | FROGGS++ | S06-parameters/smiley.t: add rt tiket info to test |
||
pink_mist | some_body: as far as I understand it, the backend CPAN mirrors will have a "Perl6" directory for each author where perl5's cpan simply won't look, and the Perl6 modules will only be in there | ||
psch | FROGGS: fwiu, the Attribute in $attr in that line is a CORE Attribute, while the literal Attribute seems to refer to the BOOTSTRAP Attribute | 12:53 | |
which would mean that the staticcode closes over the BOOTSTRAP context and Attribute isn't repossessed..? | |||
although i have absolutely no idea how to fix that, or even how to verify that's what happens... :) | 12:55 | ||
FROGGS | as jnthn pointed out a few days ago the stuff in BOOTSTRAP is not composed, so the classes in core extend and compose it | ||
some_body | pink_mist: that makes sense, that way p6 tooling could piggyback on top of CPAN as it exists already | 12:56 | |
pink_mist | indeed =) | ||
12:57
_4d47 joined
|
|||
FROGGS | psch: irclog.perlgeek.de/perl6/2015-10-06#i_11328418 | 12:58 | |
psch | FROGGS: gist.github.com/peschwa/6a9cd3518343e0f55079 is what makes me think we have a BOOTSTRAP Attribute in the static code | ||
FROGGS | psch: maybe we can create another test case with stubbed classes outside of the setting? | 12:59 | |
llfourn | is it possible to tell when your routine is being called in sink context? | 13:01 | |
FROGGS | llfourn: you can return an object that has a sink method | 13:02 | |
13:02
diana_olhovik left
|
|||
llfourn | FROGGS: ah. I guess that works. Cheers. | 13:03 | |
13:04
Hor|zon joined
|
|||
psch | FROGGS: i can't quite imagine what that would look like, tbh | 13:04 | |
dalek | k-simple: 3067a02 | (Zoffix Znet)++ | README.md: Mention that modules requires GTK3 lib |
13:07 | |
13:07
some_body left
|
|||
psch | FROGGS: the naive approach gives me "The following packages were stubbed but not defined:" | 13:07 | |
masak has hit the "everybody wants the colon" phase of 007 language design | 13:08 | ||
13:08
ChoHag joined
|
|||
FROGGS | m: class Foo { ... }; Foo.^add_method('bar', method () { 42 }); class Foo { }; say Foo.new.bar | 13:08 | |
camelia | rakudo-moar 2d2fe3: OUTPUT«42» | ||
13:09
Hor|zon left
|
|||
FROGGS | psch: what does that do for you locally? | 13:09 | |
though, we need to fiddle with attributes I guess | |||
psch | oh, i tried spreading stuff over two files... | ||
FROGGS | you cant | ||
psch | yeah :) | ||
replacing add_method with add_attribute throws the same exception as NativeCall compilation | 13:11 | ||
m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<foo>)); class Foo { }; say Foo.new.bar # like this | |||
camelia | rakudo-moar 2d2fe3: OUTPUT«Required named parameter 'type' not passed in block <unit> at /tmp/s6AfUQ0L1t:1» | ||
nine | FROGGS: in your example add_method will run after the class Foo { };, won't it? | 13:12 | |
psch | i mean, it also throws the type complaint | ||
but: Internal error while creating backtrace: org.perl6.nqp.sixmodel.reprs.P6OpaqueBaseInstance$NoSuchAttrException | |||
FROGGS | nine: yes, I think so | 13:13 | |
psch | m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<foo>, :type(Any), :package(Foo) ) ); class Foo { }; say Foo.new.bar # uh..? | 13:14 | |
camelia | rakudo-moar 2d2fe3: OUTPUT«Too many positionals passed; expected 3 arguments but got 4 in any add_attribute at gen/moar/m-Metamodel.nqp:333 in block <unit> at /tmp/wC9rt7sLoR:1» | ||
psch | m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<bar>, :type(Any), :package(Foo) ) ); class Foo { }; say Foo.new.bar # duh.. | ||
camelia | rakudo-moar 2d2fe3: OUTPUT«Too many positionals passed; expected 3 arguments but got 4 in any add_attribute at gen/moar/m-Metamodel.nqp:333 in block <unit> at /tmp/1VSym9Cm3x:1» | ||
psch | still vOv | ||
FROGGS | m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.bar | ||
camelia | rakudo-moar 2d2fe3: OUTPUT«Too many positionals passed; expected 3 arguments but got 4 in any add_attribute at gen/moar/m-Metamodel.nqp:333 in block <unit> at /tmp/JQT9cOm7MJ:1» | ||
FROGGS | m: class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.bar | 13:17 | |
camelia | rakudo-moar 2d2fe3: OUTPUT«Method 'bar' not found for invocant of class 'Foo' in block <unit> at /tmp/J11gujhA7R:1» | ||
FROGGS | m: class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.foo | ||
camelia | rakudo-moar 2d2fe3: OUTPUT«Method 'foo' not found for invocant of class 'Foo' in block <unit> at /tmp/nRmtZ83T5z:1» | ||
FROGGS | j: class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.foo | ||
camelia | rakudo-jvm 2d2fe3: OUTPUT«Method 'foo' not found for invocant of class 'Foo' in block <unit> at /tmp/amvB4jf0XJ:1» | 13:18 | |
psch | yeah, that's with the patch | ||
Zoffix | Is class Foo { }; supposed to be there twice? | ||
psch | locally: org.perl6.nqp.sixmodel.reprs.P6OpaqueBaseInstance$NoSuchAttrException: No such attribute '$!name' for this object | ||
Zoffix: it's not; the first is explicitly stubbed | |||
m: class Foo { ... } | |||
camelia | rakudo-moar 2d2fe3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PVBw2HSkkmThe following packages were stubbed but not defined: Fooat /tmp/PVBw2HSkkm:1------> 3class Foo { ... }7⏏5<EOL> expecting any of: postfix statement end» | ||
FROGGS | rebuilding perl6-j... | 13:19 | |
psch | FROGGS: no | ||
FROGGS | no? | ||
psch | FROGGS: i have "This reverts commit 52e409ec22755de7d9dd6309e10996a88f4ec872." commited locally | ||
FROGGS | me is locally rebuilding | ||
yes, I reverted that one too | |||
psch | FROGGS: that id is the "ignore sc when looking for attributes" | ||
ah, alright :) | |||
just wanted to make sure that's the case | 13:20 | ||
"no", might've been a bit terse for that intent... :) | |||
-, | |||
FROGGS | hehe, np | ||
13:20
thou joined
|
|||
FROGGS | was just surprised to get an answer to a non-question :o) | 13:20 | |
13:22
xenu joined
13:24
llfourn left
13:25
thou left
|
|||
psch | FROGGS: you might want to extend RuntimeException and throw that subclass instead of RTE in P6OpaqueBaseInstance.java:24 | 13:28 | |
'cause that's easier to catch because we use RTEs for lots of things... | |||
that's only useful if you intent to jdb anything at all, though... :) | 13:29 | ||
FROGGS | well, I usually dont... | 13:33 | |
but please add it, seems like you know how to do that :o) | |||
psch | i had pondered if we want these kinds of subtypes in general | ||
there's quite a few cases where it could make debugging easier | |||
FROGGS | $ perl6-j -e 'class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new' | 13:34 | |
Foo.new | |||
hmmm | |||
you got something else there? | |||
psch | no..? | ||
my nqp is master + revert 52e409 | |||
13:34
zakharyas left
|
|||
FROGGS | ohh, the revert did not do the right thing | 13:35 | |
psch | yeah it conflicts | ||
because i added null checks later | |||
13:36
pmurias joined,
kjs_ joined
|
|||
FROGGS | aye | 13:36 | |
I reverted manually now | |||
k, takes a while until I try things again | 13:40 | ||
and I am afk for an hour or two | |||
13:42
llfourn joined
13:45
ngie joined
13:54
spider-mario left
13:57
spider-mario joined
13:58
ambs_ is now known as ambs
14:04
rindolf left
14:05
Hor|zon joined,
cognominal left,
hohoho_ left
|
|||
dalek | kudo/nom: 9c1afaf | (Stefan Seifert)++ | src/ (2 files): Helpful error message for use vstring; for v < v4 or > v6 Patch by (Konrad Borowski)++ |
14:07 | |
nine | FROGGS: how do you become the owner of a ticket in RT? | 14:09 | |
14:09
Hor|zon left
14:10
liztormato joined
14:11
^elyse^ left
14:12
FROGGS_ joined
14:13
khw joined
|
|||
timotimo | .o( is skids a kid or a squid? ) | 14:14 | |
14:15
FROGGS left,
_4d47 left
14:16
muraiki joined
14:19
lichtkind joined
|
|||
timotimo | @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]] | 14:19 | |
^- we want the single-argument semantics there, yes? | |||
nine | timotimo: I seem to remember that the answer is yes | 14:20 | |
liztormato | Yeah | ||
14:21
FROGGS[mobile] joined
14:22
ngie left
|
|||
FROGGS[mobile] | nine: there is an action called "übernehmen" | 14:22 | |
pink_mist | single-argument semantics? I would have expected ["foo", "bar", "abc", "def"] | 14:23 | |
(I think?) | |||
14:23
kjs_ left
|
|||
nine | FROGGS[mobile]: there isn't even a menu bar, much less the Take action | 14:23 | |
masak | pink_mist: notice that there's two arguments. | 14:24 | |
14:24
rindolf joined
|
|||
pink_mist | masak: well sure, but isn't that what push is supposed to do? | 14:24 | |
masak | (which means the single-arg rule *doesn't* apply, which means you don't get any flattening of those arrays) | ||
pink_mist: no, push always pushes a single item onto the array. | 14:25 | ||
nine | FROGGS[mobile]: niner.name/rt.perl.org.png | ||
pink_mist | oh, even if you have push @e, @a, @x;? | ||
that's illegal? | |||
TimToady | well, push can also push multiple, but that's not its main reason for existing | ||
it uses ** rather than + semantics | 14:26 | ||
nine | m: my @a; my @b = 1, 2; my @c = 2, 3; @a.push: @b, $c; say @a; | ||
camelia | rakudo-moar 9c1afa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/B3qdswRDI7Variable '$c' is not declared. Did you mean '@c'?at /tmp/B3qdswRDI7:1------> 3y @b = 1, 2; my @c = 2, 3; @a.push: @b, 7⏏5$c; say @a;» | ||
nine | m: my @a; my @b = 1, 2; my @c = 2, 3; @a.push: @b, @c; say @a; | ||
camelia | rakudo-moar 9c1afa: OUTPUT«[[1 2] [2 3]]» | ||
FROGGS[mobile] | nine: I dont think I've ever seen "SelfService" in the url | ||
TimToady | push is "never flatten" | ||
pink_mist | and append is "sometimes flatten"? :/ | 14:27 | |
TimToady | append only flattens a single arg | ||
14:27
^elyse^ joined
|
|||
pink_mist | right, sometimes flatten | 14:27 | |
nine | FROGGS[mobile]: no matter what I do, I always get redirected to this SelfService thingy where I can't do shit | ||
TimToady | if you want p5-style flattening in p6, you generally have to use an explicit "flat" now | ||
masak | pink_mist: you make it seem inconsistent -- whereas in fact, it's quite consistent. | 14:28 | |
TimToady | or use slip | ||
pink_mist | masak: it certainly seems inconsistent to me, yes | ||
14:29
BenGoldberg joined
|
|||
pink_mist | masak: but that may be because I come from perl5 | 14:29 | |
TimToady | neither push nor append do * semantics, which is what p5 does | ||
we have flat for that now | |||
zostay | m: class A { class B { } }; A.^name.say; A::B.^name.say; | 14:30 | |
camelia | rakudo-moar 9c1afa: OUTPUT«AB» | ||
nine | pink_mist: short story is that p5 always flattens and that sucks. So you try to reduce flattening and arrive at an inconsistent weird mix. Then you invent the single-arg rule that gets you out of that mess with most of the benefits still intact. | ||
14:30
coetry joined
|
|||
dalek | osystem: 03bd049 | (Fayland Lam)++ | META.list: add Lingua::Unihan |
14:31 | |
osystem: 8ec5c88 | (Zoffix Znet)++ | META.list: Merge pull request #70 from fayland/lingua-unihan add Lingua::Unihan |
|||
timotimo | rosettacode.org/wiki/Huffman_coding#Perl_6 - .classify({$_}).map({[+.value / $de, .key]}); has a really weird way to spell .Bag in it | ||
14:31
cognominal joined
14:32
coetry left
|
|||
TimToady | mighta been written before we had Bag | 14:33 | |
or before we were thinking in terms of Bags | |||
14:35
ngie joined
|
|||
literal | W 4 | 14:37 | |
moritz | m: say Int:D.perl | 14:38 | |
camelia | rakudo-moar 9c1afa: OUTPUT«Int:D» | ||
moritz | m: say 4 ~~ Int:D | ||
camelia | rakudo-moar 9c1afa: OUTPUT«True» | ||
moritz | m: say 4 ~~ Int:U | ||
camelia | rakudo-moar 9c1afa: OUTPUT«False» | ||
moritz | FROGGS[mobile]++ | ||
FROGGS[mobile] | :D | ||
moritz | m: my Int:D $x = Int; | 14:39 | |
camelia | rakudo-moar 9c1afa: OUTPUT«Type check failed in assignment to $x; expected Int:D but got Int in block <unit> at /tmp/NPrPOEqZ0r:1» | ||
nine | FROGGS[mobile]: if you have access to user management, _please_ change my RT user to something useful | ||
FROGGS[mobile] | nine: I cant, but [Coke]++ can | 14:40 | |
nine | [Coke]: Can you _please_ fix my RT user (nine@detonation.org). All I get is niner.name/rt.perl.org.png and it's so frustrating to work with. | 14:41 | |
masak | [Coke]++ # managing le RT | 14:42 | |
14:42
tokuhirom joined
|
|||
nine | FROGGS[mobile]: in RT #122971 you said that you've a fix in the works. That was 2014-10-13. Any news on that? | 14:43 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=122971 | ||
14:44
llfourn left
|
|||
moritz | m: use variable :D; my Int $x = Int; | 14:44 | |
camelia | rakudo-moar 9c1afa: OUTPUT«===SORRY!===Could not find variable in any of: file#/home/camelia/.perl6/2015.09-337-g9c1afaf/lib inst#/home/camelia/.perl6/2015.09-337-g9c1afaf file#/home/camelia/rakudo-inst-2/share/perl6/lib file#/home/camelia/rakudo-inst-2/share/perl…» | ||
moritz | m: use variables :D; my Int $x = Int; | ||
camelia | rakudo-moar 9c1afa: OUTPUT«Type check failed in assignment to $x; expected Int:D but got Int in block <unit> at /tmp/BaZngeSZMa:1» | ||
14:47
tokuhirom left
|
|||
liztormato | m: use variables :D; my $a = Int | 14:48 | |
camelia | rakudo-moar 9c1afa: OUTPUT«Type check failed in assignment to $a; expected Any:D but got Int in block <unit> at /tmp/YuZEl0dajd:1» | ||
14:49
edehont left
14:51
mr_ron left
14:57
liztormato left
|
|||
moritz | m: say 5 * (1..^3) | 14:59 | |
camelia | rakudo-moar 9c1afa: OUTPUT«5..^15» | ||
moritz writes a bit of ChangeLog | 15:00 | ||
15:03
vendethiel joined
|
|||
moritz | m: say &infix:<+>.file | 15:04 | |
camelia | rakudo-moar 9c1afa: OUTPUT«gen/moar/m-CORE.setting» | ||
moritz | m: say &infix:<+>.line | ||
camelia | rakudo-moar 9c1afa: OUTPUT«6788» | ||
TimToady looks forward to the day we can make those point to the original file | 15:05 | ||
15:06
Hor|zon joined,
diana_olhovik_ joined
|
|||
dalek | kudo/nom: cb680b2 | moritz++ | docs/ChangeLog: Fill out ChangeLog for 2015.10 a bit quite impressive what got done already. Please add your favorite new features / fixes. Also add an item (Enum gone) that was already part of 2015.09 |
15:06 | |
TimToady | when are we releasing the First Beta? | 15:07 | |
moritz | TimToady: dunno; maybe today? :-) | 15:08 | |
TimToady: what does the First Beta entail? | |||
15:08
thou joined
|
|||
TimToady | mostly tricking people into starting to use it :) | 15:09 | |
moritz | :-) | ||
I meant more for the one doing the release | |||
is it a Rakudo release? | 15:10 | ||
or an R* release? | |||
or a release of roast? | |||
TimToady | roast is already officially in beta state :) | ||
15:10
Hor|zon left
|
|||
TimToady | there's really no difference, other than it's after my birthday :) | 15:11 | |
moritz | TimToady: you have an admirable way of not actually answering questions :-) | ||
TimToady | maybe if we can say "Beta 1" in the release notes somewhere | 15:12 | |
and it'd be nice if our betas had rakudo *, but that's more work of course | |||
15:13
thou left,
n0tjack left
|
|||
TimToady | but really, I don't have strong opinions other than having something stable by Christmas (well, except when I do) | 15:14 | |
15:15
ZoffixW joined
|
|||
FROGGS[mobile] | nine: that's what is sleeping in MoarVM/sepsis... needs discussion with jnthn | 15:16 | |
muraiki | hah, "type smilies". I like that. :D | ||
dalek | osystem: 6e96ebb | moznion++ | META.list: Add Backtrace::AsHTML |
15:17 | |
osystem: e49ca1b | RabidGravy++ | META.list: Merge pull request #71 from moznion/backtrace-ashtml Add Backtrace::AsHTML |
|||
15:17
^elyse^ left
15:18
rurban joined
15:20
thou joined
|
|||
dalek | c: 52a3976 | moritz++ | doc/Type/Code.pod: Document Code.{line,file} |
15:21 | |
timotimo | ah, slowest backlog day ever for me | ||
15:21
n0tjack joined
|
|||
timotimo | i just posted the rosettacode example "huffman coding" because someone on twitter remembered it as a very hard-to-read/understand/explain piece of code, and i agreed | 15:21 | |
15:23
rurban left
15:24
diana_olhovik_ left
|
|||
jferrero | m: my @x = 1.2, 2.4; my @y; my @z = @x »+» @y; say @z.perl; | 15:24 | |
camelia | rakudo-moar cb680b: OUTPUT«[]» | ||
dalek | c: 3a46a12 | moritz++ | doc/Type/List.pod: List.pod: Fix .push examples to use .append instead |
15:27 | |
15:27
n0tjack left
|
|||
timotimo | m: my @x = 1.2, 2.4; my @y = 99; my @z = @x »+» @y; say @z.perl; | 15:27 | |
camelia | rakudo-moar cb680b: OUTPUT«[100.2, 101.4]» | ||
moritz | m: my @a = 1, 2; my @b = <c d>; my @c = <e f>; @a.push: @b; say @a.perl | ||
camelia | rakudo-moar cb680b: OUTPUT«[1, 2, ["c", "d"]]» | ||
moritz | m: my @a = 1, 2; my @b = <c d>; my @c = <e f>; @a.push: @b, @c; say @a.perl | ||
camelia | rakudo-moar cb680b: OUTPUT«[1, 2, ["c", "d"], ["e", "f"]]» | ||
timotimo | i've never considered the edge case of an empty list on the pointy end of a hyperop | 15:28 | |
jferrero | Oops! | 15:29 | |
m: my @x = 1.2, 2.4; my @z; for ^4 { @z = @z «+« @y } say @z.perl; | 15:30 | ||
camelia | rakudo-moar cb680b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cpxb3tXVFzVariable '@y' is not declaredat /tmp/cpxb3tXVFz:1------> 3= 1.2, 2.4; my @z; for ^4 { @z = @z «+« 7⏏5@y } say @z.perl;» | ||
TimToady | if we take reductions as the prototype, it should probably return the other end unchanged | ||
jferrero | m: my @x = 1.2, 2.4; my @z; for ^4 { @z = @z «+« @x } say @z.perl; | ||
camelia | rakudo-moar cb680b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kac0lEsfAhStrange text after block (missing semicolon or comma?)at /tmp/kac0lEsfAh:1------> 032, 2.4; my @z; for ^4 { @z = @z «+« @x }7⏏5 say @z.perl;» | ||
TimToady | m: say [+] 42 | 15:31 | |
camelia | rakudo-moar cb680b: OUTPUT«42» | ||
timotimo | so just apply &infix:<+>($_) onto the list on the LHS? | ||
and error out if there's no one-arg meaning for the op? | |||
TimToady | m: say &infix:<+>("foo") | ||
camelia | rakudo-moar cb680b: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '7⏏5foo' (indicated by 7⏏) in block <unit> at /tmp/hJ4Xnka_VT:1Actually thrown at: in block <unit> at /tmp/hJ4Xnka_VT:1» | ||
timotimo | we may want to point out that even though "Enum" is gone, enums still exist in the changelog | 15:33 | |
also, the "basic arithmetic operations" change got pasted into the middle of the array.push/array.append change | 15:34 | ||
jferrero | m: my @x = 1.2, 2.4; my @z = 0, 0; for ^4 { @z «+=« @x }; say @z.perl; | ||
camelia | rakudo-moar cb680b: OUTPUT«[4.8, 9.6]» | ||
15:34
rurban joined
15:35
rurban left
|
|||
muraiki | yeah, more detail on what "Enum type is gone" means would be helpful :) | 15:35 | |
timotimo | is "fc" on the JVM backend already better than just stubbed? | ||
nine | Enum is now Pair ;) | ||
cognominal | m: say [+] | 15:36 | |
camelia | rakudo-moar cb680b: OUTPUT«0» | ||
timotimo | m: enum Foobar <a b c>; say Foobar.WHAT; say a.WHAT; | ||
camelia | rakudo-moar cb680b: OUTPUT«(Foobar)(Foobar)» | ||
timotimo | you lied! :) | ||
dalek | href="https://modules.perl6.org:">modules.perl6.org: e7adfda | (Zoffix Znet)++ | web/ (2 files): Improve styles Make intro paragraphs more visible and better-organized. Mirror intro paras styling on the footer |
15:37 | |
15:37
tokuhirom joined,
^elyse^ joined
|
|||
FROGGS[mobile] | TimToady: do you know of any properties a roast release should have? | 15:39 | |
cognominal | m: my @a; @a[0] := @a; say @a.perl; say EVAL(@a.perl).perl | ||
camelia | rakudo-moar cb680b: OUTPUT«(my \Array_140686612322256 = [Array_140686612322256,])[Mu]» | ||
TimToady | tags? | ||
this whole "releasing a test suite" thing is kinda bogus till we have a second implementation of Perl 6 :) | 15:40 | ||
FROGGS[mobile] | I mean, we already can fudge roast for --ver=v6 instead of supplying a compiler name.. | 15:41 | |
dalek | c: 40beaa4 | moritz++ | doc/Type/Array.pod: Document Array.{append,prepend} also try to clarify the behavior of .push a bit more |
||
15:41
tokuhirom left
|
|||
cognominal | m: (my \a = []).perl | 15:41 | |
camelia | ( no output ) | ||
cognominal | m: say (my \a = []).perl | 15:42 | |
camelia | rakudo-moar cb680b: OUTPUT«[]» | ||
cognominal | m: say (my \a = [a]).perl | ||
camelia | rakudo-moar cb680b: OUTPUT«[Mu]» | ||
FROGGS[mobile] | this way we would know how much rakudo complies to Perl 6 | ||
but yeah, there would be no user yet for that spec release | |||
moritz | TimToady: so would the monthly compiler release be OK, with an added note "this is Beta 1"? | 15:43 | |
TimToady: or do want to do a separate release? | |||
TimToady | just normal monthly | ||
15:43
rindolf left
|
|||
FROGGS[mobile] | but we should do it anyway, add a readme and a release announcement, and give it a proper name/version | 15:43 | |
moritz: +1 to normal monthly | 15:44 | ||
15:44
pmurias left
|
|||
FROGGS[mobile] | let's continue to do what we know works for us | 15:44 | |
moritz | .tell [Coke] as the next release manager, please mark the 2015.10 release as the first Perl 6 Beta release in the announcement | 15:45 | |
yoleaux | moritz: I'll pass your message to [Coke]. | ||
moritz | does that make the version b1? | ||
if so, we should support "use v6.b.1" or something | |||
15:45
rindolf joined
|
|||
moritz | or v6.b1 | 15:45 | |
FROGGS[mobile] | TimToady: can you decide on the Perl 6 version name/scheme? | 15:46 | |
15:46
weihan left
|
|||
TimToady | Letters are fine by me, except we should support it in v. notation somehow | 15:46 | |
FROGGS[mobile] | m: say v6bollox cmp v6charming | 15:48 | |
camelia | rakudo-moar cb680b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HuY5xURJCgUndeclared routines: cmp used at line 1 v6bollox used at line 1 v6charming used at line 1» | ||
FROGGS[mobile] | m: say v6bollox <=> v6charming | ||
camelia | rakudo-moar cb680b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GOq3RoQBJBTwo terms in a rowat /tmp/GOq3RoQBJB:1------> 3say v6bollox <=>7⏏5 v6charming expecting any of: infix infix stopper postfix statement end…» | ||
FROGGS[mobile] | hmpf | ||
15:49
thou left
15:51
domidumont joined
|
|||
TimToady | lunch & | 15:53 | |
15:55
muraiki left
|
|||
nine | m: say (class {}) === (class {}) | 15:56 | |
camelia | rakudo-moar cb680b: OUTPUT«False» | ||
nine | Ah, I fixed that yesterday already :) | ||
15:57
domidumont left
|
|||
ugexe | m: Buf.new()[].say; Buf.new()[0].say; Buf.new()[0..0].say | 15:57 | |
camelia | rakudo-moar cb680b: OUTPUT«Buf:0x<>0()» | ||
15:57
muraiki joined,
domidumont joined
|
|||
_itz_ | panda list --installed and --verbose doesn't work anymore | 15:57 | |
16:00
hohoho_ joined
|
|||
dalek | kudo/nom: d4aea32 | timotimo++ | docs/ChangeLog: bring arary.push/array.append lines back together |
16:02 | |
ZoffixW | Um. How do I specify my module's version in the code? Perl 5's $VERSION = 1.001001; I see this, but there are only comparison of version numbers: docs.perl6.org/type/Version | ||
ugexe | unit module Foo:version<4.20> ? | 16:03 | |
ZoffixW | Ah. Thanks. ugexe++ | 16:04 | |
16:04
hohoho_ left
16:06
muraiki left
16:07
Hor|zon joined
|
|||
timotimo | i'm a tiny bit weirded out by curtispoe always writing "we can optimize heavily on" gradual typing | 16:07 | |
16:08
blackcat_ left
16:11
edehont joined
16:12
Hor|zon left
|
|||
FROGGS_ | m: v6.b # TimToady: what if version literals would need parens to call methods? I mean, how often do you all method on version objects anyway... | 16:13 | |
camelia | rakudo-moar cb680b: OUTPUT«Method 'b' not found for invocant of class 'Version' in block <unit> at /tmp/sApeJtqrU4:1» | ||
16:13
FROGGS_ is now known as FROGGS
|
|||
ugexe | ive used version.ACCEPTS... not that its ideal | 16:14 | |
dalek | ast: ce9d2a5 | (Stefan Seifert)++ | S06-advanced/stub.t: Fix and fudge S06-advanced/stub.t Now that we can redeclar stubbed subs, we can run these tests. |
||
kudo/nom: d28c37d | (Stefan Seifert)++ | / (2 files): Allow for redeclaration of stubbed subs Fixes RT #122613: perl6 -e "sub a{...}; sub a{42};" |
16:15 | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=122613 | ||
ugexe | ah literal sorry | ||
ZoffixW | What "fudge" | 16:16 | |
ZoffixW points to the commit message above | |||
*What's fudge? | |||
nine | ZoffixW: it means mark spec tests as todo or skip for a certain implementation (rakudo usually) | ||
ZoffixW: most of the file passes, but one feature is not yet implemented. | 16:17 | ||
ZoffixW | Ah. Thanks | ||
16:19
Jaglor joined,
][Sno][ joined
|
|||
dalek | ast: 84115c6 | (Stefan Seifert)++ | S12-class/anonymous.t: Test for RT #114716 (class {}) is now !=== (class {}) |
16:21 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=114716 | ||
16:21
cognominal left
|
|||
moritz | in t/spec/S13-overloading/typecasting-long.t | 16:22 | |
#?rakudo todo 'RT #112642 A() unwanted magic for :(A:U) with an overloaded .()' throws-like 'class XXX { method CALL-ME(XXX:U: $x) { } }; XXX();', Exception, 'RT #112642 ($:) -> (:U, $) arity check'; | |||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=112642 | ||
16:22
mr_ron joined
|
|||
moritz | I'm blind; why should this throw an exception? | 16:22 | |
the code declare $x to the be invocant, undefined | 16:23 | ||
mr_ron | The latest question on perlmonks.org, perlmonks.org/?node_id=1144391 , is about someone being unable to run rakudo * on Windows 10. The answers so far don't look encouraging. I am a perlmonk and I run rakudo * on Windows 7. Anyone have an idea about an encouraging answer for the person? | 16:25 | |
moritz | or should it die at declaration time, because it somehow overrides coercion syntax? | ||
mr_ron | The error on Windows 10 seems to be: "This version of MoarVM is not compatible with this version of Windows". | 16:26 | |
_itz_ | I have built and run Rakudo * fine on Windows 10 | ||
I wonder if its a 64 bit v 32 bit issue | |||
mr_ron | _itz_ you built it or installed it for one of the .msi files | 16:27 | |
ZoffixW | Yeah, that's usually the message for it | ||
mr_ron | s/for/from/ | ||
_itz_ | I built my own .msi file for the last release | ||
ZoffixW | The last release on rakudo.org/downloads/star/ is from June. Ancient. | 16:28 | |
*.msi release | |||
mr_ron | _itz_ your .msi includes Task::Star? | 16:29 | |
_itz_ | yes | ||
one sec and I can put up an unofficial one for download | |||
mr_ron | Thanks - may be worth a try ... | 16:30 | |
I'll try installing it myself by the way - just as a check... | 16:31 | ||
_itz_ | that would be useful | 16:32 | |
ZoffixW 'd like a copy too | 16:34 | ||
timotimo | moritz: i think if it declared the invocant to be $x, it'd have to be XXX:U $x: | 16:36 | |
instead of XXX:U: $x | |||
ZoffixW: FROGGS is going to build the newest .msi | |||
ZoffixW | \o/ | ||
FROGGS[mobile] | ahh dang, I forgot again | 16:37 | |
16:37
FireFly joined
|
|||
FROGGS[mobile] | -.- | 16:37 | |
ZoffixW | :) | ||
timotimo | hehe | ||
FROGGS[mobile] | if I *dont* forget again there well be an msi in about three hours | 16:38 | |
timotimo | three hours! | ||
i'm looking forward to it :) | |||
16:39
tokuhirom joined
|
|||
mr_ron | FROGGS: sounds great! | 16:39 | |
16:39
Effilry joined
|
|||
mr_ron | Any reason for concern about compatibility with Windows 10? | 16:39 | |
16:41
Effilry left,
Effilry joined
16:42
FireFly left,
Effilry is now known as FireFly
16:43
tokuhirom left
|
|||
_itz_ | pl6anet.org/drop/rakudo-star-2015.09.STM.x64.msi | 16:44 | |
that an unofficial (hence STM) 64 bit build done on windows 10 (but with VS2010) | 16:45 | ||
timotimo | "STM"? | 16:50 | |
_itz_ | my initials | 16:51 | |
hence stmuk | |||
mr_ron | working on installing it ... | 16:52 | |
16:53
skids joined
|
|||
timotimo | oooh | 16:56 | |
of course | |||
_itz_ | actually it compiled OK on VS2015 but I saw weird warnings and I developed a dislike for VS2015 based on its bloaty and generally crappy ("login to your IDE") nature | 17:03 | |
ZoffixW | Is there a way to improve this (both the way the attribute is declared and the error message)?: | 17:04 | |
m: class Foo { has Int $.indent where { $_ == 2 or $_ == 4 or $_ == 8 } = 4; }; say Foo.new( :indent(78) ).indent | |||
camelia | rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!indent; expected <anon> but got Int in block <unit> at /tmp/s87p7Jvw3k:1» | ||
timotimo | sure | 17:05 | |
ZoffixW | How? :) | ||
timotimo | m: subset ValidIndent of Int where any(2, 4, 8); class Foo { has ValidIndent $.indent = 4 }; say Foo.new(:indent(99)) | ||
camelia | rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!indent; expected ValidIndent but got Int in block <unit> at /tmp/tiPf0WPjXQ:1» | ||
ZoffixW | timotimo++ | ||
timotimo | :) | ||
moritz | timotimo: heh, I was about to write the same, but with TabStop instead of ValidIdent :-) | ||
timotimo | that'd be fine, too | 17:06 | |
you know that some people indent with 3 spaces? | |||
moritz | let's roast 'em | ||
ZoffixW | It's for a web service that only allows 2, 4, and 8. I have no control over it | ||
ZoffixW also wonders who in the world idents with 8 spaces | |||
moritz | ZoffixW: people who migrated straight from hard tabs, presumably | 17:07 | |
btyler | spacebar QA testers | ||
ZoffixW | btyler++ | ||
17:08
Hor|zon joined,
Jaglor left
|
|||
_itz_ | programmers paid by the character? | 17:09 | |
ZoffixW | heh | ||
17:10
thou joined
|
|||
mr_ron | _itz_: I think I have your rakudo * running -thx. Will probably wait a few hours for official release to announce on perlmonks ... | 17:10 | |
17:13
Hor|zon left
17:15
thou left
|
|||
moritz | can anybody proficient in travis explain DBIish's .travis.yaml to me? | 17:16 | |
for example, why doesn't it have to list mysql and postgres as services? | |||
github.com/perl6/DBIish/blob/master/.travis.yml | 17:17 | ||
dalek | Iish: bb3fea5 | moritz++ | .travis.yml: Remove an outdated TODO comment |
||
17:17
rurban joined
|
|||
ugexe | legacy infrastructure might act different from whats documented. add 'sudo: false' | 17:22 | |
dalek | kudo/nom: 02d3166 | lizmat++ | src/core/ (2 files): Return only when iteration end reached Not every time we've reached sufficient number of elements to push |
17:24 | |
TimToady | FROGGS[mobile]: don't need parens | ||
m: say v6.0\.gist | |||
camelia | rakudo-moar d28c37: OUTPUT«v6.0» | ||
ZoffixW | Am I doing something wrong? How come this fails: | 17:25 | |
m: class Foo { subset Token of Str where m:P5/^[[:xdigit:]]{40}$/; has Token $.token; }; say Foo.new( :token('4c6567f85f0980f30987b69b78767647c2165a26') ).token | |||
camelia | rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!token; expected Token but got Str in block <unit> at /tmp/jtx2hSxV7S:1» | ||
lizmat | another thing I realized when cycling, is that we probably want to make "bool-only" a required method for the Iterator interface | ||
TimToady | do you mean ** 40 there? | 17:26 | |
oh wait, P5 | |||
ugexe | ah it looks like a copy of mysql and postgres are started by default according to docs.travis-ci.com/user/database-setup/ | ||
timotimo | lizmat: i don't really understand your latest commit; is that about correctness or performance? | ||
lizmat | performance | ||
falling off a sub is cheaper than doing a return | 17:27 | ||
timotimo | oh! | ||
yes, indeed | |||
TimToady | ZoffixW: looks like a bug to me | ||
timotimo | very much so | ||
lizmat | so instead of doing a return for every time we got sufficient elements | ||
timotimo | you just fall out of the loop | ||
gotcha | |||
lizmat | we're only returning when the iteration is finished | ||
FROGGS | m: say v6.0.gist | 17:28 | |
camelia | rakudo-moar d28c37: OUTPUT«v6.0» | ||
FROGGS | m: say v6.0.alpha | ||
camelia | rakudo-moar d28c37: OUTPUT«Method 'alpha' not found for invocant of class 'Version' in block <unit> at /tmp/BIJ9tZu8iz:1» | ||
TimToady | pity we can't read their mind there :) | ||
FROGGS | TimToady: but how can I use letters as part of the version there? | 17:29 | |
TimToady | I'm willing to break method calls on versions, I think, since workaround is just a \ | ||
FROGGS | m: say Version.new('v6.0.alpha') # that should do | ||
camelia | rakudo-moar d28c37: OUTPUT«vv.6.0.alpha» | ||
FROGGS | ups | ||
TimToady | vv? | 17:30 | |
lizmat | m: m: say Version.new('6.0.alpha') | ||
camelia | rakudo-moar d28c37: OUTPUT«v6.0.alpha» | ||
FROGGS | TimToady: yeah, that is what I think I proposed... treat alphas as version parts | ||
TimToady | yes, you proposed that, which is why I pointed out you don't need parens | ||
lizmat | now that we have infix . , that would be easy , no | ||
TimToady | thattttoo | 17:31 | |
lizmat | m: say v6.0.alpha . gist | ||
camelia | rakudo-moar d28c37: OUTPUT«Method 'alpha' not found for invocant of class 'Version' in block <unit> at /tmp/1_3X8Xe1s2:1» | ||
FROGGS | though parens might also be nice there | ||
ZoffixW | TimToady, seems like POSIX classes are not supported: | ||
m: say [ '4c' ~~ m:P5/[[:xdigit:]]/, '4c' ~~ m:P5/[[:print:]]/ ].perl | |||
camelia | rakudo-moar d28c37: OUTPUT«[Bool::False, Bool::False]» | ||
FROGGS | I mean, allow both... backslash or parens | ||
BenGoldberg | m: say Version.new('6.0.alpha').gist | ||
camelia | rakudo-moar d28c37: OUTPUT«v6.0.alpha» | ||
TimToady | there are plenty of workarounds if we guess the other way | 17:32 | |
the workaround going the other way is...arduous | |||
17:33
sufrostico joined,
sufrostico left,
sufrostico joined
17:39
llfourn joined
|
|||
TimToady | FROGGS: by which I mean, I've decided we should guess "more version" | 17:40 | |
17:41
itz_stmuk joined
|
|||
FROGGS | *nod* | 17:42 | |
timotimo | FROGGS: you're working on the msi right now? | 17:43 | |
17:43
llfourn left
|
|||
timotimo | a bunch of the travis badges on the modules page are wrong | 17:44 | |
FROGGS | I do | ||
timotimo | DBIish says "build error", a few "build error" link to a "this repository isn't active on travis-ci yet" (probably a switch you have to flip in the repo config on github?) | ||
sergot: your perl6-encode repo for example is like this :) | 17:45 | ||
17:46
Ven joined
17:49
eliasr left
|
|||
ZoffixW | timotimo, what should those badges say? | 17:50 | |
17:50
n0tjack joined
|
|||
ZoffixW | I guess "build unknown"... | 17:50 | |
dalek | kudo/nom: ec5186a | ugexe++ | src/core/List.pm: Fix rotor for some Positionals Assure $!reified is set for method .rotor Fixes Buf/Blob.new().rotor(1) error "This type does not support elems" |
17:52 | |
kudo/nom: c749677 | niner++ | src/core/List.pm: Merge pull request #548 from ugexe/patch-2 Fix rotor for some Positionals |
|||
17:54
Ven left
17:55
Ven joined
17:58
kjs_ joined
18:00
n0tjack left
18:01
BenGoldberg left
18:02
Ven left
|
|||
dalek | ar: 12d32ac | FROGGS++ | .gitmodules: fix git urls for submodules |
18:05 | |
kudo/nom: 5f9f4c0 | lizmat++ | src/core/Any-iterable-methods.pm: Make for @a.grep(...) about 2x faster By removing the explicit return-rw |
18:06 | ||
18:08
n0tjack joined
18:09
Hor|zon joined,
sufrostico left
18:11
Ven joined
18:13
Hor|zon left
18:16
n0tjack left
|
|||
timotimo | wow, 2x? that's pretty good! | 18:16 | |
TimToady | is return-rw slow because it's rw, or because it's return? | 18:17 | |
timotimo | it's probably a little extra on top of "it's return" | ||
18:21
sufrostico joined
|
|||
lizmat | it's return, really, it is control-flow thingy | 18:21 | |
:-) | |||
xenu | are there any plans for cpan client for perl 6? as i can see, there is some work done in pause and metacpan code for perl6 | 18:26 | |
but what about client? | |||
lizmat | xenu: first we need to solve the installation / precomp of modules properly | 18:27 | |
*then* we can really think about cpan like clients | |||
well, imho :-) | |||
zostay | m: constant CRLF = "\x0a\x0d"; "GET * HTTP/1.1\r\n" ~~ /\S+ " " \S+ " " \S+ {CRLF}/ andthen say "success"; | 18:28 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«success» | ||
zostay | is that the best way to include a constsnt in a regex? does that optimize? | ||
lizmat | yes and not sure | 18:29 | |
zostay | thx | ||
skids | {} is a sequence point and will prevent backtracking, but I'm not sure if that's a bad thing in context. | 18:30 | |
yoleaux | 09:55Z <psch> skids: add_dispatchee works when called at BEGIN time | ||
timotimo | um | ||
{} will not prevent backtracking | |||
vendethiel | it'll end LTM for that rule, though, I guess | 18:31 | |
well, not with a constant. | |||
TimToady | you want <{CRLF}> though | 18:32 | |
{CRLF} would do no matching | 18:33 | ||
18:33
n0tjack joined
|
|||
lizmat | ah, duh... :-( | 18:33 | |
zostay | aha, that would explain the other error i just made not breaking things: CRLF should not be \x0a\x0d, it should be \x0d\x0a | 18:34 | |
FROGGS | m: constant $CRLF = "\x0d\x0a"; "GET * HTTP/1.1\r\n" ~~ /\S+ " " \S+ " " \S+ $CRLF/ andthen say "success"; | 18:35 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«success» | ||
FROGGS | zostay: one purpose of sigils is that they let you interpolate things | 18:36 | |
skids | Oh right LTM. But not sure about the constant thing -- I mean {} is a "constant" and is used to do just that. | ||
zostay | i forget i can do that, thx FROGGS | ||
FROGGS | and I believe that my example will be as fast as a literal, because the string has a compile time value | ||
timotimo | no, { } on its own is already a LTM-terminating thing | ||
TimToady | note also that \n is supposed to match CRLF already | ||
m: say "\x0d\x0a" ~~ /^ \n $/ | 18:37 | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«「 | ||
TimToady | m: say so "\x0d\x0a" ~~ /^ \n $/ | ||
FROGGS | and so it does | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«True» | ||
18:38
n0tjack left
|
|||
skids | Yeah but HTTP has strict newline requirements. | 18:38 | |
zostay | m: Buf.new(0x0d, 0x0a) x 2 # :'( | 18:40 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«WARNINGS:Useless use of "x" in expression ".new(0x0d, 0x0a) x 2" in sink context (line 1)Cannot use a Buf as a string, but you called the Stringy method on it in block <unit> at /tmp/6JBu2iGVdf:1» | ||
18:40
zakharyas joined,
tokuhirom joined
|
|||
timotimo | m: say Buf.new(0x0d, 0x0a) x 2 | 18:41 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«Cannot use a Buf as a string, but you called the Stringy method on it in block <unit> at /tmp/BP4pgFeZn2:1» | ||
timotimo | m: say Buf.new(0x0d, 0x0a) xx 2 | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«(Buf:0x<0d 0a> Buf:0x<0d 0a>)» | ||
18:41
kjs_ left
|
|||
zostay | m: say [~] Buf.new(0x0d, 0x0a) xx 2; | 18:42 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«Buf:0x<0d 0a 0d 0a>» | ||
lizmat just finds out Bag.kv is borked and there are no spectests for it :-( | 18:43 | ||
timotimo | ah, ~ works on bufs, too | ||
FROGGS | ewww | ||
lizmat | m: my $b = ^10 .Bag; for $b.kv -> \k, \v { say k,v } | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«Too many positionals passed; expected 2 arguments but got 4 in block <unit> at /tmp/l5C7XD8Oia:1» | ||
lizmat is on it | |||
18:44
tokuhirom left
|
|||
ZoffixW rages | 18:48 | ||
Can't find what possible values of "state" travis API can return... | |||
And I'm knee deep in github.com/travis-ci/travis-api | 18:49 | ||
"state" for /builds that is | |||
Ven | m: my token c { 'a' }; say 'a' ~~ /<.a>/ | 18:50 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«Method 'a' not found for invocant of class 'Cursor' in block <unit> at /tmp/9sOOkrJdPl:1» | ||
Ven | m: my token c { 'a' }; say 'a' ~~ /$<rename>=<.a>/ | 18:51 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«Method 'a' not found for invocant of class 'Cursor' in block <unit> at /tmp/vd6BjY5omW:1» | ||
Ven | that's what s05 recommends doing, though :( | ||
moritz | did you mean to call <.c> ? | 18:52 | |
m: m: my token c { 'a' }; say 'a' ~~ /$<rename=a>/ | |||
camelia | rakudo-moar 5f9f4c: OUTPUT«Nil» | ||
moritz | m: m: my token c { 'a' }; say 'a' ~~ /$<rename=c>/ | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«Nil» | ||
moritz | m: m: my token c { 'a' }; say 'a' ~~ /$<rename>=<.c>/ | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«Method 'c' not found for invocant of class 'Cursor' in block <unit> at /tmp/8NuHDEv2GB:1» | ||
vendethiel | ^ that's the issue | 18:53 | |
moritz | m: m: my token c { 'a' }; say 'a' ~~ /$<rename>=<&c>/ | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«「a」 rename => 「a」» | ||
moritz | it works when done right :-) | ||
vendethiel | s05 says to use "<.c>", though? | ||
moritz | maybe S05 is a bit outdated | ||
vendethiel | or I've been confused for some time, because I remember that working.. | ||
moritz | iirc . explicitly stands for a method call | ||
18:54
Alina-malina left
|
|||
FROGGS | m: my token c { 'a' }; say 'a' ~~ /<a> | 18:55 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«5===SORRY!5===Regex not terminated.at /tmp/rXr4thxTcR:1------> 3my token c { 'a' }; say 'a' ~~ /<a>7⏏5<EOL>Unable to parse regex; couldn't find final '/'at /tmp/rXr4thxTcR:1------> 3my token c { 'a' }; say 'a' ~~ /<a>7⏏5<EO…» | ||
FROGGS | m: my token c { 'a' }; say 'a' ~~ /<a>/ | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«Method 'a' not found for invocant of class 'Cursor' in block <unit> at /tmp/s2T13M26Zv:1» | ||
FROGGS | m: my token c { 'a' }; say 'a' ~~ /<c>/ | 18:56 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«「a」 c => 「a」» | ||
leont | I'm passing «none($*SPEC.updir, $*SPEC.curdir, < .svn CVS .git >)» to the :test argument of IO::Path.dir, and I'm still getting '..' in my results, this is a bug right? | ||
First guess, it's matching the full name and not the basename… | |||
FROGGS | IIRC <c> will check for a &c, and fall back to Cursor.c | ||
vendethiel | I wanted not to capture c explicitly | 18:57 | |
like, $<name>=<smth>+ | |||
FROGGS | m: m: my token c { 'a' }; say 'a' ~~ /<rename=c>/ | 18:58 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«「a」 c => 「a」 rename => 「a」» | ||
FROGGS | m: my token c { 'a' }; say 'a' ~~ /<rename=&c>/ | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«「a」 rename => 「a」» | ||
18:59
thou joined
|
|||
dalek | ast: 12cf33f | skids++ | S02-literals/heredocs.t: Test for RT #120895 |
18:59 | |
ast: ded1b69 | skids++ | / (96 files): Merge branch 'master' of github.com:perl6/roast |
|||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=120895 | ||
ast: 97a1050 | skids++ | S (11 files): Merge branch 'master' of github.com:perl6/roast |
|||
ast: c13bad1 | skids++ | S (4 files): Merge branch 'master' of github.com:perl6/roast |
|||
ast: 6e3f725 | skids++ | / (17 files): Merge branch 'master' of github.com:perl6/roast |
|||
ast: 449af8c | skids++ | S0 (2 files): Merge branch 'master' of github.com:perl6/roast |
|||
ast: 7f9a23f | skids++ | S (34 files): Merge branch 'master' of github.com:perl6/roast |
|||
ast: 552fa60 | skids++ | S (2 files): More Heredoc/indent tabbification tests |
|||
skids | dammit wth. | ||
FROGGS | O.o | ||
skids | I pushed from a branch and it pushed my master | ||
How do I undo that. | 19:00 | ||
FROGGS | I dunno... go back to bed and hide under the pillow? | ||
19:00
n0tjack joined
|
|||
skids | Is that supposed to happen, I mean, I'm in a branch and explicitly "push origin master" | 19:01 | |
And it does master -> master | |||
FROGGS | if you push to master, and merged master into your branch often, yes | 19:02 | |
what I usually do: create a branch, work in it for a while, then: git pull --rebase origin master && git checkout master && git pull && git merge mybranch | 19:03 | ||
19:03
thou left
|
|||
Ven | m: my token c { 'a' }; say 'a' ~~ /$<foo=c>/; say 'a' ~~ /$<foo>=<c>/; | 19:03 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«Nil「a」 c => 「a」 foo => 「a」» | ||
FROGGS | though you only do that right before merging | ||
Ven | why does that first one not match | ||
skids | But when i creaated the branch, I did a "git branch <commit>" using the commit ID of master HEAD -- should that not have created a new branch without my merges? | ||
FROGGS | because at the time you rebased you branch onto latest master, you cannot push your branch upstream | 19:04 | |
Ven: remove the dollor | |||
dollar* | |||
that syntax has no meaning currently I believe... better we complained about it | 19:05 | ||
Ven | m: my token c { 'a' }; say 'a' ~~ /<foo=c>/; say 'a' ~~ /<foo>=<c>/; | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter = (must be quoted to match literally)at /tmp/2JGiBVzIKk:1------> 3 say 'a' ~~ /<foo=c>/; say 'a' ~~ /<foo>7⏏5=<c>/;Unable to parse regex; couldn't find final '/'at /tmp/2JGiBVzIKk:1…» | ||
FROGGS | no, only the first | ||
skids | Anyway It even committed stuff from the master that wasn't supposed to be committed yet. | ||
And not the thing I actuay wanted to commit. | |||
FROGGS | <foo=c> is valid, as is $<foo>=<c> | 19:06 | |
dalek | kudo/nom: d16d88e | TimToady++ | src/Perl6/Grammar.nqp: allow alphabetic version components |
||
19:06
sufrosti1o joined
|
|||
dalek | kudo/nom: b05dda3 | lizmat++ | src/core/Baggy.pm: Unbreak Baggy.kv And also handle the weird case: for $b.kv -> \a, \b, \c { } |
19:06 | |
FROGGS | skids: then you perhaps wanted to cherry-pick stuff from your branch? | ||
TimToady++ | |||
:o) | |||
19:06
Alina-malina joined
|
|||
skids | I suppose the only way to clean that up is to push reverts? | 19:07 | |
19:08
n0tjack left
|
|||
lizmat | CurtisOvidPoe++ # www.quora.com/Perl-programming-lan...oe?share=1 | 19:08 | |
masak | m: say "foobar" ~~ / foo :: baz / | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E7CGDGW9mF:: not yet implementedat /tmp/E7CGDGW9mF:1------> 3say "foobar" ~~ / foo ::7⏏5 baz /» | ||
skids | I don't want to make a further disaster by trying to fix it though. | ||
masak | is :: pre-Christmas? is there any workaround? | ||
oh, I guess surround the rest of the regex with [... || <.panic>] | 19:09 | ||
19:10
Hor|zon joined
|
|||
FROGGS | m: say $*SPEC.updir | 19:11 | |
camelia | rakudo-moar 5f9f4c: OUTPUT«..» | ||
FROGGS | m: say $*SPEC.curupdir | ||
camelia | rakudo-moar 5f9f4c: OUTPUT«none(., ..)» | ||
masak .oO( what's updir? ) :P | 19:12 | ||
skids is very confused. The "merge" commits list the diffs for everything merged, even though they were already in the repo. If I revert them, does that undo all of everyone else's changes? | |||
FROGGS | leont: hmmm, that works on my box: say dir(:test(none $*SPEC.updir, $*SPEC.curdir, < .svn CVS .git >)) | 19:14 | |
19:15
Hor|zon left
|
|||
FROGGS | skids: just dont touch it :o) | 19:15 | |
skids | Ok, but I committed some tests that rely on PR#543 which is not in yet. Maybe just reverting those from a fresh clone would be safe? | 19:16 | |
(and maybe I should figure out if git has a "dry run" option for future use) | 19:17 | ||
labster | good morning, * | 19:18 | |
yoleaux | 09:56Z <psch> labster: irclog.perlgeek.de/perl6/2015-10-11#i_11355913 | ||
19:18
sufrosti2o joined
|
|||
ZoffixW | \o | 19:18 | |
19:18
sufrosti3o joined,
sufrosti3o left
|
|||
skids | .oO(Oh yes it does. Note to self. Do a --dry-run) |
19:18 | |
leont | FROGGS: seems that putting the junction in a variable was what broke is :-s | 19:19 | |
19:19
n0tjack joined
|
|||
FROGGS | leont: that still works: my $test = none $*SPEC.updir, $*SPEC.curdir, < .svn CVS .git >; say dir(:$test) | 19:20 | |
grondilu sometimes wonder if we could not have foo@ mean @foo.reverse | |||
FROGGS | ewww | ||
ZoffixW | That's too magical | ||
FROGGS | grondilu: should be oof@ anyway :P | ||
moritz | grondilu: you'd have to spell it... what FROGGS said | 19:21 | |
flussence | that'd make one-pass parsing a headache too | ||
19:21
sufrosti3o joined
|
|||
FROGGS | that should make for a fund slang | 19:21 | |
fun* | |||
skids | It would probably make for interesting email address related bugs. | ||
FROGGS | skids: why? | 19:22 | |
[]oof@ would interpolate, not oof@ | |||
hehe, I like that idea | |||
hi labster | 19:23 | ||
19:23
n0tjack left,
shlomif joined
|
|||
labster | hi FROGGS | 19:23 | |
19:24
Ven left
|
|||
FROGGS | @all: Microsoft Windows® MSI packages are now available for Rakudo Star 2015.09: rakudo.org/downloads/star/ | 19:24 | |
TimToady | m: say v6b cmp v6birthday | ||
camelia | rakudo-moar b05dda: OUTPUT«Less» | ||
TimToady | m: say v6b cmp v6Birthday | ||
camelia | rakudo-moar b05dda: OUTPUT«More» | ||
TimToady | dunno what to do wrt case folding there... | 19:25 | |
m: use v6B; # it works! | |||
camelia | ( no output ) | ||
masak | +1 on oof@ slang ;) | ||
TimToady | m: use v6C; # it doesn't work! | ||
camelia | ( no output ) | ||
masak | doesn't harm one-pass parsing, AFAICS | ||
19:26
Ven joined
|
|||
flussence | reason I said that is because it reminds me of p5's end-heavy regex modifiers... | 19:26 | |
19:26
sufrosti4o joined
19:27
sufrosti4o left,
sufrosti3o left
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 23965ac | (Zoffix Znet)++ | web/ (8 files): Upgrade to Travis API v2 Fix incorrect status icons. Support all 6 icons instead of just 3 |
19:27 | |
FROGGS | m: say v6a < v6aa | ||
camelia | rakudo-moar b05dda: OUTPUT«Cannot call Real(Version: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/edLoz8ewrk:1» | ||
labster | [0]adogaplanacanalpagoda@ | ||
FROGGS | m: say v6a lt v6aa | 19:28 | |
camelia | rakudo-moar b05dda: OUTPUT«True» | ||
19:28
sufrosti2o left,
sufrosti1o left
|
|||
FROGGS | so, what's the version Perl 6 is going to start with? | 19:28 | |
TimToady | m: say v6a before v6aa | ||
camelia | rakudo-moar b05dda: OUTPUT«True» | ||
TimToady | m: say $*PERL.version | ||
camelia | rakudo-moar b05dda: OUTPUT«v6.Birthday» | ||
TimToady | m: say v6B before $*PERL.version | 19:29 | |
camelia | rakudo-moar b05dda: OUTPUT«True» | ||
19:29
domidumont left
|
|||
FROGGS | Birthday kinda fits anyway | 19:29 | |
TimToady | m: say v6b before $*PERL.version | ||
camelia | rakudo-moar b05dda: OUTPUT«False» | ||
TimToady | that's the case folding issue | ||
FROGGS | though, after 26 cycles or so it will get interesting | ||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 787b23b | (Zoffix Znet)++ | web/lib/P6Project/Info.pm: Get rid of discouraged JSON.pm |
||
TimToady | m: say v6a before v6.0 | 19:30 | |
camelia | rakudo-moar b05dda: OUTPUT«True» | ||
TimToady | so we can use up the alphabet on roast versions before we ever get to 6.0 :) | ||
FROGGS | :P | ||
19:31
edehont left
|
|||
FROGGS | I guess that could work | 19:33 | |
TimToady | but if we call it v6.Christmas, they have to say v6C rather than v6c, unless we case fold | 19:34 | |
FROGGS | m: say v6AcmonBlue, v6BehrsHairstreak, v6ColumbianSkipper, v6DreamyDuskyWing | 19:35 | |
camelia | rakudo-moar b05dda: OUTPUT«v6.AcmonBluev6.BehrsHairstreakv6.ColumbianSkipperv6.DreamyDuskyWing» | ||
FROGGS | (butterfly names fwiw) | ||
masak | m: say sort(v6AcmonBlue, v6DreamyDuskyWing, v6BehrsHairstreak, v6ColumbianSkipper) | 19:36 | |
camelia | rakudo-moar b05dda: OUTPUT«(v6.AcmonBlue v6.BehrsHairstreak v6.ColumbianSkipper v6.DreamyDuskyWing)» | ||
masak | \o/ | ||
FROGGS | but yeah, I imagine someone wants to put something short like 'use v6c' at the top of a program | 19:37 | |
19:37
Kcop joined
|
|||
FROGGS | or 'use v6C' for that matter | 19:37 | |
dalek | ast: db83a45 | skids++ | S04-exceptions/fail.t: Test default message in Failure.new without $! set. |
||
skids | Ok that's in, and I just need to work on reverts. (shoulda done "push origin temp:master" in the first place, apperently) | 19:39 | |
FROGGS | wait... we can $*PERL.version report 'v6Birthday' and let the user use v6B... | ||
though, is that sane? | |||
TimToady | I think it's pretty sane | ||
dalek | osystem: f799081 | (Andy Weidenbaum)++ | META.list: add Config::TOML |
||
osystem: 1a62b3e | (Zoffix Znet)++ | META.list: Merge pull request #72 from atweiden/config-toml add Config::TOML |
|||
TimToady | as long as you don't expect cmp to return Same | ||
moritz would prefer that | |||
FROGGS | yeah... | ||
moritz | that cmp returned Same | ||
so rather make the version v6b, and have another field for Birthday | 19:40 | ||
.codename | |||
FROGGS | +1 | ||
sanity restored | |||
moritz | the other solution felt like a "you think this is cute today" :-) | 19:41 | |
dalek | href="https://modules.perl6.org:">modules.perl6.org: 1e061e3 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm: Make trailing / optional |
||
19:41
TEttinger joined
|
|||
FROGGS | and this would allow to use lowercase chars now without "magic" | 19:41 | |
Kcop | my $string = "abc da sd ) lsdfklgj"; in perl5 if I need everything NOT including ) i would do something /^([^\)]+).*/ QUESTION: how do I do not ) for grammar tokens? | ||
[^\)] doesn't work | 19:42 | ||
FROGGS | m: say "abc da sd ) lsdfklgj" ~~ /<-[)]>/ | ||
camelia | rakudo-moar b05dda: OUTPUT«「a」» | ||
FROGGS | m: say "abc da sd ) lsdfklgj" ~~ /<-[)]>+/ | ||
camelia | rakudo-moar b05dda: OUTPUT«「abc da sd 」» | ||
FROGGS | Kcop: ^^ | ||
Kcop | omg, thnx | ||
FROGGS | <-[...]> is the same as [^...] | 19:43 | |
Kcop | got it | ||
FROGGS | though you an do more, like: | ||
Kcop | thnx a lot | ||
FROGGS | <+\w-\d-[xyz]> | ||
19:43
thundergnat joined
|
|||
Kcop | <-[..]> works like a charm! | 19:44 | |
thundergnat | Howdy all you sixy people! | 19:45 | |
ZoffixW | \o | ||
Nice nickname! | |||
FROGGS | o/ | ||
dalek | ast: b472446 | skids++ | S (2 files): Revert "More Heredoc/indent tabbification tests" This reverts commit 552fa608b13c4bdf4a53f119e48bff6b3fd0ba57. Was committed too early by mistake |
||
skids | And I just leave the merge commits as a wall of shame entry for my lack of git-foo, I guess. | 19:46 | |
thundergnat | Anyone about that runs Rakudo under windows? I want to test some perl6 terminal handling code under windows but don't have access to a windows computer I can install on right now. | 19:47 | |
ugexe | ZoffixW: are you doing work on the modules page? i notice at the bottom the s12 badge shows the crossed out icon instead of the valid icon | ||
the icon key/descriptions | |||
xenu | >Stage parse : NMAKE : fatal error U1077: 'C:\rakudo\bin\moar.EXE' : return code '0xc0000409' | 19:48 | |
hmm? is rakudo buildable with msvc? | |||
FROGGS | xenu: yes, it is | ||
19:48
szabgab joined
|
|||
FROGGS | xenu: I just did that with visual studio 2012 | 19:48 | |
thundergnat | 2048 in perl 6. Works ok on Linux. Need to test Windows. github.com/thundergnat/2048/blob/master/2048.p6 | ||
xenu | FROGGS: does it have any dependencies besides perl5 and stock msvc? | 19:49 | |
szabgab | moritz: ping | ||
moritz | szabgab: pong | ||
FROGGS | xenu: you need the windows sdk | ||
xenu: or you use starberryperl+gcc+gmake | 19:50 | ||
moritz | thundergnat: I get "Method 'f' not found for invocant of class 'Seq'" | ||
szabgab | if I am not mistaken you have full rights to the github.com/perl6 | ||
moritz | szabgab: you are not mistaken | ||
xenu | hmm, isn't visual studio community edition coming with windows sdk? | ||
FROGGS | xenu: no idea :S | ||
moritz | thundergnat: with perl6-m 2015.09-338-gcb680b2 | ||
szabgab | could you enable Travis-CI for the doc and Pod::To::HTML repos? | ||
FROGGS | xenu: what VS version is that? | 19:51 | |
xenu | 2015 | ||
szabgab | I've added the .travis.yml to both of them but Travis-CI itself need to be enabled | ||
FROGGS | xenu: ahh, this causes trouble I fear | ||
moritz | szabgab: sure | ||
thundergnat | moritz: phooey! thanks | ||
xenu | FROGGS: so it is known problem? | ||
FROGGS | xenu: older versions do work though | ||
xenu | FROGGS: if so, then i'll just use gcc | ||
FROGGS | xenu: yes, other ppl have reported it | ||
xenu: maybe it is something we can change, but I don't know details | 19:52 | ||
moritz | szabgab: do you have any idea why travis-ci.org/moritz/Math-RungeKutta says "no buids for this repository"? | ||
I've added a .travis.yml some hours ago, and enabled builds for it | |||
pink_mist | speaking of msvc, this was a very interesting blog post by the msvc team blogs.msdn.com/b/vcblog/archive/201...piler.aspx | ||
moritz | szabgab: done | ||
FROGGS | moritz: travis got no build requests for it yet | 19:53 | |
szabgab | have you pushed anything *after* enabling on Travis-CI ? | ||
moritz | no | ||
do I need to? :( | |||
szabgab | that's why | ||
FROGGS | moritz: go to the settings in github for that repo, and click the test buttong for that service | ||
button* | |||
ZoffixW | Oh boy. I made a booboo | ||
ugexe++ # for making me notice it :P | 19:54 | ||
szabgab | btw there is now this page: modules.perl6.org/recent.html the most recently changed repo at the top | 19:55 | |
19:55
raiph left
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: a5b3d28 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm: Undo last commit We need trailing / or the regex gives us wrong repo name. |
19:56 | |
moritz | szabgab: what does "changed" mean? changed meta data? or simply new commits? | ||
szabgab | new commits | ||
FROGGS | moritz: read what I wrote | ||
or... you commit :o) | 19:57 | ||
dalek | href="https://modules.perl6.org:">modules.perl6.org: f7a2c62 | (Zoffix Znet)++ | web/index.tmpl: Improve explanation of panda S11 icons |
||
szabgab | whatever "last_updated" means in GitHub :) | ||
moritz | FROGGS: it doesn't hurt to review the docs once in a while :-) | ||
ZoffixW | ugexe, ^ fixed: i.imgur.com/OT6lEyd.png | 19:58 | |
19:59
darutoko left
|
|||
ZoffixW | szabgab, it's weird some of them don't have a last_updated (look at the bottom of modules.perl6.org/recent.html). There's a ton of "Use of uninitialized value in string comparison (cmp) at lib/P6Project.pm line 119." too | 20:00 | |
ugexe | cool. looks good. ZoffixW++ | 20:01 | |
szabgab | ZoffixW: strange | ||
xenu | FROGGS: the only thing i've found was github.com/MoarVM/MoarVM/issues/221 but it's fixed so maybe it's just me? | ||
dalek | href="https://modules.perl6.org:">modules.perl6.org: c1bbf0a | (Zoffix Znet)++ | web/lib/P6Project.pm: Avoid uninitialized warnings |
||
szabgab | ZoffixW: there seem to be 5 such modules at the bottom of modules.perl6.org/recent.html | 20:02 | |
ZoffixW | yeah | ||
szabgab | but I guess they generate a lot of warnings as they are being compared with the 380 other modules | ||
FROGGS | xenu: and you got way past that point... | ||
ZoffixW nods | |||
I fixed the warnings in the commit above though | 20:03 | ||
20:03
Kcop left,
telex left
20:04
Ven left,
telex joined
|
|||
szabgab | ZoffixW: you will still get warnings on line 107 for the regex though | 20:04 | |
20:05
dbenton joined
|
|||
szabgab | maybe they should be set to "" on line 107 | 20:05 | |
anyway, I have to go now | 20:06 | ||
20:06
cygx joined
|
|||
cygx | o/ | 20:06 | |
szabgab | I hope tomorrow all the modules will have Travis enabled :) | ||
night & | |||
dalek | href="https://modules.perl6.org:">modules.perl6.org: ccbb463 | (Zoffix Znet)++ | web/lib/P6Project.pm: Fix more warnings |
||
ZoffixW | night | ||
20:06
szabgab left
|
|||
cygx | xenu: I'm using Strawberry perl, and I have to put `export MVM_SPESH_DISABLE = 1` at the top of my Makefile to make the setting compile | 20:07 | |
lizmat | ZoffixW: gnight! | ||
it was szabgab wishing gnight :) | 20:08 | ||
20:08
Xor_ joined
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 898e1bc | (Zoffix Znet)++ | web/lib/P6Project/Info.pm: Give {support}->{source} lower precedence People seem to use {support}->{source} as an HTTP URL to view the repo and we have issues with people being loose on what they look like |
20:10 | |
20:11
Hor|zon joined
|
|||
itz_stmuk | xenu: VS2015 comes with the windows SDK. The instructions refer to VS2010 where you have to install VS2010 SP1 and SDK 7.1 (for 64 bit support) | 20:14 | |
20:15
Hor|zon left,
hohoho_ joined
|
|||
itz_stmuk | I also suspect perl 5.22 (32bit) is needed since I saw config issues with Activestate 5.20 and 64 bit builds | 20:16 | |
20:16
CurtisOvidPoe joined
|
|||
CurtisOvidPoe | Can anyone give me an example of an “int” native type which run significantly faster than an “Int” type? | 20:17 | |
yoleaux | 09:19Z <nine> CurtisOvidPoe: in case you missed it: the semicolon actually has a meaning in an argument list. It's for multi dimensional lists: perl6 -e 'sub foo(**@args) { say @args.perl; }; foo(1,2;2,3);' # [(1, 2), (2, 3)] | ||
CurtisOvidPoe | O | 20:19 | |
moritz | CurtisOvidPoe: perl6-m -e 'my int $i = 2; for ^200 { $i *= $i }; say $i' | ||
runs *much* faster with int than with Int | |||
doesn't produce the same result, though :/ | |||
CurtisOvidPoe | I’ve been using “my Int $i = 0; $i++ while $i < 10000000” and changing “Int” to “int” and it’s still slower to use a native type. | ||
20:20
hohoho_ left
|
|||
CurtisOvidPoe | moritz: that’s an uncompelling example in my upcoming OSCON talk :) | 20:20 | |
If it’s not ready for prime-time, I’ll skip it. | 20:21 | ||
TimToady | use += instead of *= :) | ||
20:22
Ven joined
|
|||
moritz | CurtisOvidPoe: time perl6-m -e 'my int $i = 2; for ^20000 { $i += $i % 6 }; say $i' | 20:23 | |
20:23
n0tjack joined,
pmurias joined
|
|||
moritz | CurtisOvidPoe: takes 500ms where with int and 700 with Int | 20:23 | |
maybe not quite the speedup you are looking for | |||
but mostly int is about saving memory, not speed | 20:24 | ||
lizmat | CurtisOvidPoe: could you try with "$i = $i + 1" ?? | ||
CurtisOvidPoe | moritz: 0.237s vs. 0.281s. Again, not quite compelling. I think I should skip this. | ||
pmurias | TimToady: thanks for the testing getpid hint, I was able to create a test based on that | ||
yoleaux | 02:01Z <TimToady> pmurias: see irclog.perlgeek.de/perl6/2015-10-11#i_11355209 for how to test getpid | ||
avar | More generally the Perl 6 toolchain is too immature for most optimizations to be all that impressive. | ||
The semantics are there to enable optimizations, but they mostly haven't been taken advantage of | |||
20:25
TEttinger left
|
|||
CurtisOvidPoe | avar: I think I’ll have to go with that. My talk is in a couple of weeks and I’ll need to focus on strong features. I’m hoping to have a mostly non-Perl audience. | 20:26 | |
lizmat | $ 6 'my int $i = 0; $i = $i + 1 while $i < 1000000; say $i' | ||
1000000 | |||
real0m0.138s | |||
my Int $i = 0; $i = $i + 1 while $i < 1000000; say $i' | |||
1000000 | |||
real0m1.602s | |||
TimToady | you probably want something crypto with % | ||
lizmat | CurtisOvidPoe: that's a factor of 40 | 20:27 | |
20:27
n0tjack left
|
|||
avar | On my server that's ~100ms with perl5: time perl -wE 'my $i = 0; $i = $i + 1 while $i < 1000000; say $i' | 20:28 | |
CurtisOvidPoe | lizmat: when I switch “i = i + 1” to “i++”, “int” is slower than “Int” | ||
TimToady | % 6 doesn't mean much, but % 2**56 or so is gonna be a lot slower in Int than in int | ||
avar | Which doesn't do machine-type optimizations, which is what Int v.s. int implies | ||
lizmat | CurtisOvidPoe: that's because $i++ has not gotten attention in the optimization dept. | ||
CurtisOvidPoe | OK, too many pitfalls there. I’ll stay away from that. | ||
FROGGS | CurtisOvidPoe: it might be possible that we box the int to and Int to do the increment | ||
avar | So if you're looking to show off that Perl 6 has impressive optimizations it's not all that impressive :) | 20:29 | |
lizmat | FROGGS: bs :-) | ||
well, actually, that was jnthn's reaction when I said that | |||
CurtisOvidPoe | I’ll be focusing mainly on developer performance and not software performance. | ||
avar | Probably a good idea not to mention int v.s. Int at all then :) | 20:30 | |
lizmat | irclog.perlgeek.de/perl6/2015-10-09#i_11347723 # FROGGS | ||
lichtkind | unshift doesnt glatten either? | ||
CurtisOvidPoe | Oh, and as I suspect most people here might know, Perl 6 is getting more and more questions. For example: www.quora.com/Perl-programming-lan...-in-Perl6/ | ||
lizmat | FROGGS: "It's that we can't inline the native ++ yet" | ||
CurtisOvidPoe | So, no Perl++. Gotcha. :) | 20:31 | |
FROGGS | :P | ||
lichtkind | i mean flatten | ||
FROGGS | CurtisOvidPoe: yeah, we've seen that question the other day (and your answer) :o) | 20:32 | |
lichtkind | oh and another good news i will write for german open source mag also a perl 6 piece | ||
propably mroe than one | |||
CurtisOvidPoe | FROGGS, that’s a new question and my answer is a rehash, actually. | ||
lichtkind | CurtisOvidPoe++ | ||
FROGGS | ahh true... the original question had a different title | 20:33 | |
CurtisOvidPoe | Yeah, the original question was flamebait: www.quora.com/Perl-programming-lan...ybody-care | 20:34 | |
FROGGS | aye | ||
lizmat | we also lost the for ^1000 -> native int while optimization during the GLR | ||
CurtisOvidPoe | p6 say 1/(.1 + .2 - .3) | ||
p6: say 1/(.1 + .2 - .3) | 20:35 | ||
camelia | rakudo-moar b05dda: OUTPUT«Attempt to divide 10 by zero using div in block <unit> at /tmp/tmpfile:1Actually thrown at: in block <unit> at /tmp/tmpfile:1» | ||
CurtisOvidPoe | Has anyone noticed that bug? | ||
20:35
zakharyas left
|
|||
lizmat | m: say 42/(.1 + .2 - .3) | 20:35 | |
camelia | rakudo-moar b05dda: OUTPUT«Attempt to divide 420 by zero using div in block <unit> at /tmp/NHa8J2lDlI:1Actually thrown at: in block <unit> at /tmp/NHa8J2lDlI:1» | ||
20:35
cognominal joined
|
|||
lizmat | m: say 42/(.01 + .02 - .03) | 20:35 | |
camelia | rakudo-moar b05dda: OUTPUT«Attempt to divide 4200 by zero using div in block <unit> at /tmp/CoJb3okrwt:1Actually thrown at: in block <unit> at /tmp/CoJb3okrwt:1» | ||
CurtisOvidPoe | That is not hte answer :) | ||
s/hte/the/ | |||
lichtkind | p6: my @a = 1; my @b = (2,3); push @a, @b | 20:36 | |
camelia | ( no output ) | ||
nine | .tell ZoffixW the Linux kernel sources use 8 spaces indentation | ||
yoleaux | nine: I'll pass your message to ZoffixW. | ||
lichtkind | p6: my @a = 1; my @b = (2,3); say push @a, @b | ||
camelia | rakudo-moar b05dda: OUTPUT«[1 [2 3]]» | ||
lizmat | you mean the value mentioned in the error message is wrong ? | ||
CurtisOvidPoe | lizmat: yes. | ||
lichtkind | p6: my @a = 1; my @b = (2,3); say unshift @a, @b | ||
camelia | rakudo-moar b05dda: OUTPUT«[[2 3] 1]» | ||
20:36
Ven left
|
|||
lichtkind | will there be a prepend? | 20:36 | |
lizmat | m: say 42/(1 + 2 - 3) # do you see the pattern ? | ||
camelia | rakudo-moar b05dda: OUTPUT«Attempt to divide 42 by zero using div in block <unit> at /tmp/MXVahOY7NB:1Actually thrown at: in block <unit> at /tmp/MXVahOY7NB:1» | ||
20:37
n0tjack joined
|
|||
lizmat | at one point, it was considered a good idea to show the value with which we get a divide by zero error | 20:37 | |
but by the time the error message gets it, it was already normalized | 20:38 | ||
FROGGS | m: sub x() returns Array of Int { my @x of Int = 1,2,3 }; x | ||
camelia | rakudo-moar b05dda: OUTPUT«Type check failed for return value; expected Array[Int] but got $[1, 2, 3] in sub x at /tmp/DM9rqZl0bf:1 in block <unit> at /tmp/DM9rqZl0bf:1» | ||
FROGGS | p6: my @a = 1; my @b = (2,3); say @a.prepend: @b | 20:39 | |
camelia | rakudo-moar b05dda: OUTPUT«[2 3 1]» | ||
FROGGS | p6: my @a = 1; my @b = (2,3); say prepend @a, @b | ||
camelia | rakudo-moar b05dda: OUTPUT«[2 3 1]» | ||
20:39
xfix left
20:40
Ven joined
20:41
n0tjack left
20:42
tokuhirom joined
|
|||
CurtisOvidPoe | By the way, does anyone recognize this error? It fails on my iMac, but works on my Macbook gist.github.com/Ovid/8d3085d466110d78aeda | 20:42 | |
btyler | and before anyone follows the same trail I did -- it is _not_ because there's a PROVE_COMMAND in the env that runs prove without '-e perl6' | 20:43 | |
20:45
n0tjack joined
20:46
tokuhirom left
|
|||
leont has a basic functioning harness in perl6 for rakudo's make test :-) | 20:46 | ||
FROGGS | leont: when are we going to integrate it? | ||
20:47
thou joined
|
|||
dalek | blets: 8a9b1e5 | (Herbert Breunung)++ | docs/appendix-a-index.txt: update array methods; append, prepend added |
20:48 | |
20:48
Ven left
|
|||
FROGGS | CurtisOvidPoe / btyler: my guess is that libuv does something funny with command line arguments on your box | 20:49 | |
so that the -MFile::Find is read by prove, not perl6 | |||
or the prove versions differ | 20:50 | ||
20:50
n0tjack left,
Ven joined
20:51
BenGoldberg joined,
thou left
|
|||
leont | FROGGS: it's definitely not integrateable yet, but close enough that I'm confident | 20:51 | |
FROGGS | leont: then just ping one of us at the right time | 20:52 | |
leont | Still some minor issues with my code (await should work on anything with a done method, right?), some tests outputting invalid TAP (# characters should be escaped), and me not having implemented the jvm specific bits of the harness script | ||
Well, and a few other features for that matter, such as --archive | 20:53 | ||
20:53
n0tjack joined
20:55
Ven left
|
|||
FROGGS | leont: await needs a Promise or Channel, nothing else | 20:55 | |
m: class Foo { method done { say "done" } }; await Foo.new # will that recurse endlessly? | 20:56 | ||
camelia | ( no output ) | ||
FROGGS | m: class Foo { method done { say "done" } }; say await Foo.new | ||
ahh, this will :o) | |||
camelia | rakudo-moar b05dda: OUTPUT«(timeout)» | ||
CurtisOvidPoe | In ‘sub build_panda”, line 486, we have this: “run which('perl6', $version) . " rebootstrap.pl”;” | ||
And that returns '/Users/curtispoe/.rakudobrew/bin/../moar-nom/install/bin/perl6 rebootstrap.pl' | |||
FROGGS is glad that he understood the source | |||
dalek | c: d122e4d | (Ben Noordhuis)++ | doc/Type/IO/ (6 files): Fix broken links in IO documentation. |
||
c: 96c828f | (Ben Noordhuis)++ | doc/Type/IO/Spec.pod: Fix grammar in IO::Spec documentation. |
|||
c: 1a92c41 | (Ben Noordhuis)++ | doc/Type/Routine.pod: Fix typo in Routine documentation. |
|||
c: 3a4fc35 | RabidGravy++ | doc/Type/ (7 files): Merge pull request #154 from bnoordhuis/io-docs-fixups Fix broken links in IO documentation. |
|||
CurtisOvidPoe | does that look reasonable? | ||
FROGGS | CurtisOvidPoe: yes | 20:57 | |
CurtisOvidPoe | Bugger. Nothing *looks* wrong. | 20:58 | |
FROGGS | bnoordhuis++ | 20:59 | |
CurtisOvidPoe | FROGGS: you wrote something about libuv possibly being in error? | ||
FROGGS | CurtisOvidPoe: can you compare the prove versions on both boxes? | ||
21:00
edehont joined
|
|||
FROGGS | CurtisOvidPoe: that was just a guess | 21:00 | |
ZoffixW | nine, that's probably due to Linus saying you're screwed if you need more than 3 levels of indents, so they never have many of them :P | ||
yoleaux | 20:36Z <nine> ZoffixW: the Linux kernel sources use 8 spaces indentation | ||
CurtisOvidPoe | Give me the exact command to type, please :) | ||
21:00
cygx left
|
|||
b2gills | m: #`( is there a bug report for this?: ) say Real.^roles; say Int.^roles(:transitive) | 21:00 | |
camelia | rakudo-moar b05dda: OUTPUT«Method 'roles' not found for invocant of class 'Perl6::Metamodel::ParametricRoleGroupHOW' in block <unit> at /tmp/mcNv3cpxTM:1» | ||
FROGGS | CurtisOvidPoe: $ prove --version | ||
TAP::Harness v3.26 and Perl v5.18.2 | |||
though if you have 5.20, you cant have an old version anyway... | 21:01 | ||
21:01
sufrostico left
21:02
sufrostico joined
|
|||
CurtisOvidPoe | The working box is Tap::Harness v3.35 and perl v5.22.0 | 21:02 | |
The broken box: TAP::Harness v3.30 and Perl v5.20.2 | |||
(And I feel really stupid for not realizing you meant Perl 5 prove and not something else, since I wrote the current “prove” command) | 21:03 | ||
FROGGS | *g* | 21:04 | |
21:04
n0tjack left,
rindolf left
|
|||
FROGGS | the changelog does not reveal much... but if you don't have any prove environment vars set, the the only way forward is to dump the args of the subcall here: lib/Panda/Tester.pm:24 | 21:04 | |
21:05
Xor_ left
|
|||
FROGGS | like: note ($prove-command, '-e', "$*EXECUTABLE $libs -Ilib", '-r', 't/').perl | 21:05 | |
21:07
shlomif left
|
|||
dalek | kudo/nom: b85ea62 | FROGGS++ | src/core/asyncops.pm: add await candidate that catches non-awaitables |
21:11 | |
FROGGS | my firsts async contribution, lol | ||
21:12
Hor|zon joined,
Xor_ joined
|
|||
lizmat | FROGGS++ :-) | 21:13 | |
leont | FLOGGS++ | ||
FROGGS | *g* | 21:14 | |
and now by bed is awaiting me... | |||
gnight | |||
21:15
n0tjack joined
|
|||
lizmat | gnight FROGGS | 21:16 | |
m: use nqp; my $p = a => 42; dd nqp::getattr($p,Pair,q/$!value/) # huh ?? | |||
camelia | rakudo-moar b05dda: OUTPUT«P6opaque: no such attribute '$!value' in block <unit> at /tmp/9f9d_tMxEH:1» | ||
FROGGS .oO( decont ) | |||
m: use nqp; my $p = a => 42; dd nqp::getattr(nqp::decont($p),Pair,q/$!value/) # lizmat | 21:17 | ||
camelia | rakudo-moar b05dda: OUTPUT«42» | ||
21:17
Hor|zon left
|
|||
FROGGS | & | 21:17 | |
lizmat | :-) | ||
xenu | FROGGS: i love that kind of bugs, i've tried to fix that crash of moarvm, so i've fixed potentially dangerous warnings | 21:18 | |
that didn't help a bit | |||
then i've compiled it with symbols and without optimizations | |||
suddendly started working | |||
great | 21:19 | ||
21:20
n0tjack left
21:21
FROGGS[mobile] left
|
|||
xenu | uh, you're asleep :) | 21:21 | |
21:24
sufrostico left
21:26
kjs_ joined
21:27
Peter_R left,
bjz left
|
|||
lizmat | m: my $b = BagHash.new( "a" xx 100); dd $b; $b<a> = -1; dd $b # this feels wrong, should either throw or remove | 21:28 | |
camelia | rakudo-moar b05dda: OUTPUT«BagHash $b = ("a"=>100).BagHashBagHash $b = ("a"=>100).BagHash» | ||
21:29
ZoffixW left
21:30
diana_olhovik_ joined
21:34
kjs_ left
|
|||
BenGoldberg | m: my $b = BagHash.new; $b<a>--; dd $b; | 21:40 | |
camelia | rakudo-moar b05dda: OUTPUT«BagHash $b = ().BagHash» | ||
BenGoldberg | m: my $b = BagHash.new; $b<a> = 100; dd $b; | ||
camelia | rakudo-moar b05dda: OUTPUT«BagHash $b = ("a"=>100).BagHash» | ||
BenGoldberg | m: my $b = BagHash.new; $b<a> = 100; $b<a> = -1; dd $b; | ||
camelia | rakudo-moar b05dda: OUTPUT«BagHash $b = ("a"=>100).BagHash» | ||
lizmat | yeah, I think the last one is wrong | 21:41 | |
21:41
llfourn joined
21:42
n0tjack joined
21:46
llfourn left
21:47
n0tjack left
21:49
bjz joined
21:51
n0tjack joined
21:54
Eddward joined
|
|||
Eddward | Is there a way to get the repl to use libreadline? | 21:54 | |
timotimo | nine: can i interest you in making a desugar for the forloop op at the very top of Actions.nqp so that the optimizer can easily do the for-to-while optimization again? | 21:56 | |
Zoffix: is there any way to make the drop shadow of the heaer of the modules list include camelia, too? | 21:57 | ||
maybe it'd be better to get rid of the shadow altogether | 21:58 | ||
Zoffix: also, there seems to be a build-errored.png that 404s | 21:59 | ||
22:00
n0tjack left,
bjz left
22:01
hohoho_ joined
22:06
hohoho_ left
22:07
RabidGravy left
22:08
sQuEE joined
|
|||
dalek | kudo/nom: 6432ddf | lizmat++ | src/core/ (6 files): Speed up Bag/BagHash/Mix/MixHash - object creation: 15-20% ("a" xx 50000 vs ^50000) - key access / mutation: 2x as fast |
22:10 | |
lizmat | and with that, I wish #perl6 a good night! | 22:11 | |
lichtkind | good night | 22:12 | |
22:13
Hor|zon joined
|
|||
masak | 'night, lizmat | 22:15 | |
'night, #perl6 | |||
Xor_ | Is there a list of ALL reserved words for Perl6 avaiblable somewhere? Need it for text highlighting. Have found just this one: www.perlfoundation.org/perl6/index....dex_tablet | 22:16 | |
22:17
^elyse^ left,
Hor|zon left,
edehont left
22:19
lichtkind left
|
|||
timotimo | hm, reserved words | 22:20 | |
what kind of syntax highlighter are you building? | |||
22:21
edehont joined,
diana_olhovik_ left
22:22
edehont left,
edehont joined,
edehont left
|
|||
Xor_ | I'm using EditPlus editor for Windows, it has an inbult keyword highlighter | 22:23 | |
22:23
n0tjack joined
|
|||
Xor_ | my, our, next etc. | 22:23 | |
22:23
edehont joined
|
|||
timotimo | oh, huh | 22:24 | |
i suppose you can extract a list from an existing highlighter | |||
Xor_ | know any good one? | 22:25 | |
pink_mist | sounds like a useful list to provide somewhere in the docs too I'd say | ||
22:26
edehont left
|
|||
Xor_ | agree | 22:27 | |
22:27
kjs_ joined
22:30
pmurias left
22:32
n0tjack left
22:33
spider-mario left
22:35
thou joined
22:37
vendethiel left
22:39
thou left
22:43
tokuhirom joined,
n0tjack joined
22:47
tokuhirom left
22:48
n0tjack left
22:50
bbarker`` joined
22:54
bbarker` left
22:58
KCL_ joined
23:09
kjs_ left
23:14
Hor|zon joined
23:17
firstdayonthejob left
23:18
Hor|zon left
23:19
DarthGandalf joined
23:33
ZoffixW joined
|
|||
ZoffixW | What does this mean? | 23:33 | |
m: my $z = 'gist.github.com/7564296fc686c92d5811'; $z ~~ s{'http' s? '://gist.github' <-[/]>+ '/'}{}; say $z | |||
camelia | rakudo-moar 6432dd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sJRQJPYWE3Unsupported use of brackets around replacement; in Perl 6 please use assignment syntaxat /tmp/sJRQJPYWE3:1------> 3{'http' s? '://gist.github' <-[/]>+ '/'}7⏏5{}; say $z» | ||
ZoffixW | I'm trying to end up with "7564296fc686c92d5811" | 23:34 | |
Oh. I guess P6 doesn't support "any character" for replacement. This does the trick though: | 23:35 | ||
m: my $z = 'gist.github.com/7564296fc686c92d5811'; $z ~~ s/'http' s? '://gist.github' <-[/]>+ '/'//; say $z | |||
camelia | rakudo-moar 6432dd: OUTPUT«7564296fc686c92d5811» | ||
ZoffixW | Hm, no love | 23:38 | |
skids | m: my $a = "foo"; $a ~~ s{o} = "d"; $a.say; # that's what "please use assignment syntax" means | ||
camelia | rakudo-moar 6432dd: OUTPUT«fdo» | ||
ZoffixW | Thanks. | 23:40 | |
I'm still having issues though. Here. I get this error, and in my own code I get Parameter '$self' expected a writable container, but got Str value | 23:41 | ||
m: class Foo { method bar ($what) { $what ~~ s{'http' s? '://gist.github' <-[/]>+ '/'} = ''; say $what }; Foo.new.bar('https://gist.github.c...92d5811'); | |||
camelia | rakudo-moar 6432dd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LesQqtMAroMissing blockat /tmp/LesQqtMAro:1------> 3/gist.github.com/7564296fc686c92d5811');7⏏5<EOL>» | ||
skids | m: "foo" ~~ s{o} = "d"; # Is trying to modify the constant string "foo" | 23:42 | |
camelia | rakudo-moar 6432dd: OUTPUT«Parameter '$self' expected a writable container, but got Str value in block <unit> at /tmp/Z8ct84sWZI:1» | ||
leont | I currently have this code: «try { require Term::ANSIColor }; return GLOBAL::Terminal::ANSIColor::EXPORT::DEFAULT::<&colored> // sub (Str $text, Str $) { $text };» Is there any way to optionally load a sub that isn't that ugly? | 23:43 | |
ZoffixW | Ah | ||
skids++ | |||
skids | m: say ("foo" ~~ S{o} = "d";) # capital S does an "is copy"ish thing | 23:44 | |
camelia | rakudo-moar 6432dd: OUTPUT«False» | ||
skids | Or oh, I guess not. | ||
m: say ("foo" ~~ S{o} = "d"); $/.say; | 23:45 | ||
camelia | rakudo-moar 6432dd: OUTPUT«Falsefdo» | ||
23:47
hohoho_ joined
23:51
hohoho_ left
|
|||
b2gills | Eddward: I use rlwrap | 23:55 | |
Eddward | b2gills: Thanks | 23:59 |