| Time |
S |
Nick |
Message |
| 00:02 |
|
sirrobert |
r: class A {has $.a = 1}; my %cfg = {a => 2}; my $a = A.new(%cfg); say $a.a; |
| 00:02 |
|
p6eval |
rakudo 038a3c: OUTPUT«Default constructor only takes named arguments in method new at src/gen/CORE.setting:609 in block at /tmp/aObT_XotEW:1» |
| 00:02 |
|
sirrobert |
how do you expand a hash to use this way? |
| 00:02 |
|
diakopter |
r: class A {has $.a = 1}; my %cfg = {a => 2}; my $a = A.new(|%cfg); say $a.a; |
| 00:03 |
|
p6eval |
rakudo 038a3c: OUTPUT«2» |
| 00:03 |
|
sirrobert |
ahhh |
| 00:03 |
|
sirrobert |
I think I saw that before somewhere |
| 00:03 |
|
sirrobert |
what is the | ... operator? |
| 00:03 |
|
diakopter |
"flattening" |
| 00:03 |
|
sirrobert |
makes sense =) |
| 00:03 |
|
sirrobert |
thanks |
| 00:09 |
|
supernovus |
Well, I'm out for now, sirrobert, if you like WWW::App, take a look at WWW::App::Easy -- https://github.com/supernovus/perl6-www-app-easy --- it's still a work in progress, but it'll be ready soon. |
| 00:19 |
|
sirrobert |
will do |
| 00:19 |
|
sirrobert |
thanks =) |
| 00:19 |
|
sirrobert |
I'm out too, all. |
| 00:39 |
|
|
benabik_ joined #perl6 |
| 00:40 |
|
dalek |
std: ff6eac2 | larry++ | Actions.pm: |
| 00:40 |
|
dalek |
std: better(?) warning suppression |
| 00:40 |
|
dalek |
std: review: https://github.com/perl6/std/commit/ff6eac2279 |
| 00:40 |
|
dalek |
std: df68299 | larry++ | STD.pm6: |
| 00:40 |
|
dalek |
std: 2nd whack at speccish sigspace parsing |
| 00:40 |
|
dalek |
std: review: https://github.com/perl6/std/commit/df682992bd |
| 00:40 |
|
dalek |
std: 820200c | larry++ | STD.pm6: |
| 00:40 |
|
dalek |
std: repeat requires while or until |
| 00:40 |
|
dalek |
std: review: https://github.com/perl6/std/commit/820200c05f |
| 00:40 |
|
dalek |
std: 840c157 | larry++ | CORE.setting: |
| 00:40 |
|
dalek |
std: fix casemap fossils |
| 00:40 |
|
dalek |
std: review: https://github.com/perl6/std/commit/840c157aa4 |
| 00:40 |
|
|
clkao joined #perl6 |
| 00:40 |
|
TimToady |
evalbot rebuild std |
| 00:40 |
|
p6eval |
OK (started asynchronously) |
| 00:55 |
|
diakopter |
... as if it could report it started synchronously |
| 00:56 |
|
dalek |
std: adada5f | larry++ | STD.pm6: |
| 00:56 |
|
dalek |
std: modernize ** to +% |
| 00:56 |
|
dalek |
std: review: https://github.com/perl6/std/commit/adada5f23f |
| 01:00 |
|
TimToady |
I've taken to just writing it "foo +% bar" everywhere instead of "foo+ % bar", since the space is harmless under token, and what you usually want under rule anyway |
| 01:00 |
|
TimToady |
seems to be healthier psychologically to keep the +% together most of the time |
| 01:00 |
|
TimToady |
std: repeat { ... }; |
| 01:00 |
|
p6eval |
std f43a358: OUTPUT«===[0mSORRY!===[0m�Undeclared routine:� 'repeat' used at line 1�Check failed�FAILED 00:00 41m�» |
| 01:02 |
|
* TimToady |
suspects std isn't really rebuilding |
| 01:02 |
|
benabik |
f43a358 is from jul 30 |
| 01:18 |
|
sorear |
I also doubt that rebuild works |
| 01:18 |
|
sorear |
for various painful reasons p6eval's rebuilder no longer runs on the same machine as p6eval and dalek |
| 01:45 |
|
diakopter |
std: repeat { } while do do { }; |
| 01:45 |
|
p6eval |
std f43a358: OUTPUT«ok 00:00 41m» |
| 01:45 |
|
* TimToady |
needs to manage a 'make reboot' for the ** to +% transtion |
| 01:48 |
|
TimToady |
and a 'make reboot' isn't actually successful currently... |
| 01:56 |
|
|
supernovus joined #perl6 |
| 01:58 |
|
dalek |
ecosystem: b080b79 | (Timothy Totten)++ | META.list: |
| 01:58 |
|
dalek |
ecosystem: Added WWW::App::Easy, an MVC framework for Perl 6 Web Applications. |
| 01:58 |
|
dalek |
ecosystem: review: https://github.com/perl6/ecosy[…]commit/b080b79608 |
| 02:04 |
|
diakopter |
n: say -0 |
| 02:05 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«0» |
| 02:06 |
|
Timbus |
oh wow. supernovus, this module is pretty great |
| 02:06 |
|
|
Chillance joined #perl6 |
| 02:08 |
|
dalek |
ecosystem: f689bf9 | (Timothy Totten)++ | META.list: |
| 02:08 |
|
dalek |
ecosystem: Removed Esquel, it is currently very broken, rewrite planned for later. |
| 02:08 |
|
dalek |
ecosystem: review: https://github.com/perl6/ecosy[…]commit/f689bf9d64 |
| 02:08 |
|
Timbus |
im assuming content-type is text/html by default and you dont hactually have to set it per handler |
| 02:11 |
|
diakopter |
n: say *&1&&**&1**1&**&&1&* |
| 02:11 |
|
supernovus |
Timbus: Glad you like it. Actually, the current WWW::App (the library WWW::App::Easy is based upon) doesn't set a default Content-Type header if none was found. I'll add that to the TODO list. |
| 02:11 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«{ ... }» |
| 02:12 |
|
diakopter |
TimToady: what would &&**& mean above |
| 02:12 |
|
Timbus |
oh, well yeah it definitely should |
| 02:13 |
|
TimToady |
** is HyperWhatever |
| 02:14 |
|
sorear |
n: ** |
| 02:14 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any at /tmp/pfKJUi9mXx line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3930 (module-CORE @ 564… |
| 02:14 |
|
sorear |
n: {**} |
| 02:14 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any at /tmp/hV_tZIkAIG line 1 (mainline @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3930 (module-CORE @ 564… |
| 02:14 |
|
sorear |
n: -> { ** } |
| 02:14 |
|
p6eval |
niecza v19-15-g051783d: ( no output ) |
| 02:14 |
|
sorear |
whatever it is, it only dies at runtime |
| 02:17 |
|
diakopter |
n: say (*&1&&**&1*****1&**&&1&*)({},{}) |
| 02:17 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«all({}, 1)» |
| 02:18 |
|
diakopter |
n: say (*&1&&**&1*****1&**&&1&*)({2},{3}) |
| 02:18 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any at /tmp/g4UDJ3GsSD line 1 (ANON @ 3)  at /tmp/g4UDJ3GsSD line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/C… |
| 02:18 |
|
diakopter |
n: say (*&1&&**&1*****1&**&&1&*)({2},{}) |
| 02:18 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any at /tmp/1S5DK0H61P line 1 (ANON @ 3)  at /tmp/1S5DK0H61P line 1 (mainline @ 8)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/C… |
| 02:19 |
|
diakopter |
n: say (*&1&&**&1*****1&**&&1&*)({},{3}) |
| 02:19 |
|
benabik |
Has someone been using GA to generate P6? |
| 02:19 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«all({}, 1)» |
| 02:19 |
|
diakopter |
n: say (*&1&&**&1*****1&**&&1&*)({}) |
| 02:19 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: No value for parameter 'anon_2' in 'ANON' at /tmp/axPOJjuD1F line 0 (ANON @ 1)  at /tmp/axPOJjuD1F line 1 (mainline @ 8)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting lin… |
| 02:19 |
|
diakopter |
n: say (*&1&&**&1*****1&**&&1&*)() |
| 02:19 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: No value for parameter 'anon_0' in 'ANON' at /tmp/90ic21pylj line 0 (ANON @ 1)  at /tmp/90ic21pylj line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting lin… |
| 02:19 |
|
diakopter |
sorear: it counts from anon_0 to anon_2 ? |
| 02:20 |
|
sorear |
those are gensyms |
| 02:20 |
|
sorear |
they increment in the order structures are parsedr |
| 02:21 |
|
sorear |
n (* + *); (* + *)() |
| 02:21 |
|
sorear |
n: (* + *); (* + *)() |
| 02:21 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: No value for parameter 'anon_3' in 'ANON' at /tmp/4iSfBtSTyU line 0 (ANON @ 1)  at /tmp/4iSfBtSTyU line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting lin… |
| 02:21 |
|
sorear |
and they don't reset except with new files |
| 02:21 |
|
diakopter |
oh |
| 02:21 |
|
diakopter |
why would it take {} but not {3} |
| 02:21 |
|
diakopter |
for the first argument |
| 02:22 |
|
sorear |
in that last sample I think anon_2 is the * + * closure; niecza does not support truly anonymous closures |
| 02:22 |
|
sorear |
{} is a Hash, {3} is a Block |
| 02:22 |
|
diakopter |
why would it take a Hash but not a Block |
| 02:26 |
|
supernovus |
Timbus: Okay, if no Content-Type or Location header is found prior to sending the PSGI response, it adds a Content-Type of text/html. |
| 02:27 |
|
Timbus |
rad |
| 02:28 |
|
diakopter |
n: do { } & while 1 { } # <blink> |
| 02:28 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: Unable to resolve method from in type P6+{term:sym<∅>},{infix:sym<∈>},{infix:sym<(elem)>},{infix:sym<∉>},{infix:sym<∋>},{infix:sym<(cont)>},{infix:sym<∌>},{infix:sym<∪>},{infix:sym<(|)>},{infix:sym<∩>},{infix:sym<(&)>},{infix:sym<(-)>}… |
| 02:28 |
|
Timbus |
now make it automatically pick if the url has .txt or .json at the end and you have yourself a feature |
| 02:29 |
|
supernovus |
Well, that's a bit much for WWW::App itself, but for WWW::App::Easy, I'll make some magic dispatch rules that can easily be included in a web app to do just that. |
| 02:31 |
|
supernovus |
Anyway, enough for tonight. Hope someone finds the library useful. I need to expand the documentation, as currently you need to read the WWW::App documentation in addition to the WWW::App::Easy to figure out all of the different features. |
| 02:32 |
|
diakopter |
n: do { } , while 1 |
| 02:32 |
|
diakopter |
std: do { } , while 1 |
| 02:32 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«(timeout)» |
| 02:32 |
|
p6eval |
std f43a358: OUTPUT«ok 00:00 43m» |
| 02:33 |
|
diakopter |
TimToady: what does the above comma do? |
| 02:34 |
|
diakopter |
(or anyone, of course) |
| 02:34 |
|
TimToady |
treats do{} as a list of 1 element |
| 02:38 |
|
|
Psyche^ joined #perl6 |
| 02:43 |
|
diakopter |
n: say <-> { } >0 |
| 02:43 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: Cannot use value like Block as a number at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 295 (Any.Numeric @ 6)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/bGx7tNqS1k line 1 (mainline @ 3) … |
| 02:43 |
|
diakopter |
n: say <-> { }>0 |
| 02:43 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«{ ... }» |
| 02:43 |
|
diakopter |
@.@ |
| 02:43 |
|
diakopter |
what would that mean? |
| 02:45 |
|
diakopter |
(why would it not like the space in the first example but accept the 2nd example?) |
| 02:49 |
|
|
orafu joined #perl6 |
| 02:52 |
|
TimToady |
it has something to do with the endargs memo, so it determines whether say's args end there |
| 02:54 |
|
diakopter |
:S |
| 02:55 |
|
diakopter |
well, it parsed the first one, just interpreted the > as greater than I think. |
| 02:56 |
|
* diakopter |
tries less hard to understand |
| 02:59 |
|
diakopter |
n: say { }<->{ }<->{ } |
| 02:59 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Any()» |
| 03:00 |
|
diakopter |
o_O |
| 03:00 |
|
diakopter |
why wouldn't it be a boolean |
| 03:00 |
|
diakopter |
(how else could it parse?) |
| 03:02 |
|
diakopter |
oh :) |
| 03:02 |
|
|
fgomez joined #perl6 |
| 03:03 |
|
|
sivoais joined #perl6 |
| 03:09 |
|
benabik |
What is <->? |
| 03:10 |
|
diakopter |
rn: say { '-' => 4 }<-> |
| 03:10 |
|
p6eval |
rakudo 038a3c, niecza v19-15-g051783d: OUTPUT«4» |
| 03:10 |
|
benabik |
Ah. either a list or a subscript. right. |
| 03:15 |
|
|
benabik joined #perl6 |
| 03:16 |
|
|
localhost joined #perl6 |
| 03:50 |
|
|
benabik joined #perl6 |
| 03:52 |
|
|
gongyiliao joined #perl6 |
| 04:03 |
|
dalek |
std: e20e129 | larry++ | STD.pm6: |
| 04:03 |
|
dalek |
std: fix endargs wrt whitespace, diakopter++ |
| 04:03 |
|
dalek |
std: review: https://github.com/perl6/std/commit/e20e12932d |
| 04:12 |
|
|
crab2313 joined #perl6 |
| 04:18 |
|
|
fgomez joined #perl6 |
| 04:37 |
|
|
huf joined #perl6 |
| 04:40 |
|
|
alvis joined #perl6 |
| 04:49 |
|
|
Entonian joined #perl6 |
| 05:09 |
|
|
Telgalizer joined #perl6 |
| 05:37 |
|
|
birdwindupbird joined #perl6 |
| 05:44 |
|
|
adu joined #perl6 |
| 05:50 |
|
|
kaleem joined #perl6 |
| 06:07 |
|
moritz |
\o |
| 06:08 |
|
adu |
o/ |
| 06:08 |
|
sorear |
o/ |
| 06:14 |
|
|
wtw joined #perl6 |
| 06:24 |
|
tadzik |
'/ |
| 06:26 |
|
|
DarthGandalf joined #perl6 |
| 06:28 |
|
|
zhutingting joined #perl6 |
| 06:36 |
|
diakopter |
moritz: I was considering replying to the "kill the spokesbug with fire" thread with something like this: |
| 06:38 |
|
* TimToady |
thinks replying with silence is one of the good options :) |
| 06:39 |
|
sorear |
replying with silence only works if we can enforce it |
| 06:41 |
|
moritz |
"Camelia is fire-proof. Killing it is fire is just as effective a killing a fish with water" |
| 06:42 |
|
moritz |
TimToady: well, if somebody offers to contribute a different design, it's not nice to let him do all the work, and not merge it in the end. Which is why I broke my silence after a mockup was made |
| 06:45 |
|
diakopter |
"...makes language with 10 years of development look less mature than..." - Perl 6 does not want to contrive an image of maturity. Instead, it intends to be cutesy and whimsical for the foreseeable future, and let a reputation of maturity grow organically in the long term. <Please correct me if/where my understanding is wrong> |
| 06:45 |
|
cosimo |
all this discussion makes me want to create a new design for perl6.org |
| 06:46 |
|
cosimo |
:-) |
| 06:46 |
|
diakopter |
I too am not a fan of the current design, and I'm not afraid to admit it because I don't believe that only those willing/able to help out should offer critiques. |
| 06:47 |
|
diakopter |
that said, I am not able to design a better one because I suck at design. |
| 06:47 |
|
cosimo |
me too, but would be nice to try anyway |
| 06:50 |
|
diakopter |
the multicolored spokesbug would make for a nice splash of color on a page with far less color contrasts/busyness than the current one |
| 06:51 |
|
diakopter |
making the color palette of the site the same as the logo makes the logo not stand out, and is way overkill |
| 06:54 |
|
diakopter |
(especially because the logo has so many colors) |
| 06:57 |
|
diakopter |
I recommend a palette for the rest of the page with some grays and perhaps one of the logo's colors, less neon and even more pastel than the current divs on the site |
| 07:01 |
|
diakopter |
dark pastel. |
| 07:03 |
|
|
GlitchMr joined #perl6 |
| 07:07 |
|
|
brrt joined #perl6 |
| 07:15 |
|
|
Saravanan joined #perl6 |
| 07:15 |
|
Saravanan |
Hi Everybody |
| 07:16 |
|
Saravanan |
i want to be a perl6 contributor |
| 07:16 |
|
Saravanan |
can anyone guide me how to start |
| 07:16 |
|
diakopter |
Saravanan: welcome! do you know how you would like to contribute? |
| 07:17 |
|
TimToady |
what are your interests? |
| 07:17 |
|
diakopter |
(implementation, tests, documentation, evangelism, or others I'm sure I'm forgetting) |
| 07:17 |
|
Saravanan |
i dono |
| 07:17 |
|
Saravanan |
i am blank |
| 07:18 |
|
Saravanan |
@diakopter .. can u please guide |
| 07:18 |
|
Saravanan |
where to start |
| 07:18 |
|
moritz |
Saravanan: do you know any programming languages already? if yes, which? |
| 07:18 |
|
Saravanan |
perl |
| 07:18 |
|
moritz |
Saravanan: then maybe pick your favorite Perl 5 module, and implement it in Perl 6 |
| 07:19 |
|
|
SamuraiJack joined #perl6 |
| 07:19 |
|
TimToady |
don't start with DBI :) |
| 07:19 |
|
moritz |
right :-) |
| 07:19 |
|
moritz |
there's a (very loose) port of that already, called DBIish |
| 07:19 |
|
sorear |
Saravanan: how long have you been using p5? programming in general? |
| 07:20 |
|
moritz |
http://modules.perl6.org/ has the existing Perl 6 modules |
| 07:23 |
|
diakopter |
Saravanan: let's start by helping you obtain a working Perl 6 install |
| 07:23 |
|
Saravanan |
4 years |
| 07:24 |
|
Saravanan |
ok.. |
| 07:24 |
|
diakopter |
Saravanan: do you use Linux? Windows? Mac? |
| 07:25 |
|
Saravanan |
fedora and mac |
| 07:25 |
|
Saravanan |
but i prefer fedora |
| 07:26 |
|
diakopter |
well, there are several implementations. Let's start with rakudo. Do you have experience building softare from source? |
| 07:26 |
|
Saravanan |
no.. |
| 07:27 |
|
diakopter |
okay; we can help you with that |
| 07:27 |
|
Saravanan |
this is my first time |
| 07:28 |
|
diakopter |
you might need a few things installed in your fedora. in a terminal type sudo yum groupinstall "Development Tools" |
| 07:29 |
|
brrt |
for the record, and not to be annoying, i do believe fedora comes with rakudo star |
| 07:29 |
|
GlitchMr |
Fedora? |
| 07:30 |
|
GlitchMr |
I think they have Rakudo Star 2011.07 |
| 07:30 |
|
GlitchMr |
yum install rakudo-star |
| 07:30 |
|
Saravanan |
ok.. |
| 07:30 |
|
GlitchMr |
If you want newer release, I guess you would have to compile |
| 07:30 |
|
TimToady |
that's pretty old though |
| 07:30 |
|
tadzik |
yeah |
| 07:35 |
|
|
imarcusthis joined #perl6 |
| 07:37 |
|
diakopter |
Saravanan: did you decide whether you want the year-old version of rakudo or the most recent? Install git, gcc, and make to build the latest |
| 07:37 |
|
Saravanan |
ok.. |
| 07:37 |
|
Saravanan |
which will be better |
| 07:37 |
|
Saravanan |
old |
| 07:37 |
|
Saravanan |
or new |
| 07:38 |
|
diakopter |
let's try building the new one |
| 07:38 |
|
diakopter |
there have been many changes |
| 07:38 |
|
Saravanan |
ok.. |
| 07:38 |
|
Saravanan |
i will back after lunch |
| 07:45 |
|
jnthn |
mornin' |
| 07:45 |
|
tadzik |
hello jnthn |
| 07:45 |
|
diakopter |
ahoy |
| 07:46 |
|
|
fhelmberger joined #perl6 |
| 07:46 |
|
sorear |
yo jnthn |
| 07:59 |
|
|
zhutingting joined #perl6 |
| 07:59 |
|
arnsholt |
o/ |
| 08:01 |
|
|
fhelmberger joined #perl6 |
| 08:04 |
|
adu |
Saravanan: or you can do what I do |
| 08:07 |
|
GlitchMr |
std: do { } for 1; |
| 08:08 |
|
p6eval |
std f43a358: OUTPUT«===[0mSORRY!===[0m�Unsupported use of do...for; in Perl 6 please use repeat...for at /tmp/ocDd4DEbqD line 1:�------> do { } for 1�;�Parse failed�FAILED 00:01 41m�» |
| 08:08 |
|
GlitchMr |
std: repeat { } for 1; |
| 08:08 |
|
p6eval |
std f43a358: OUTPUT«===[0mSORRY!===[0m�Undeclared routine:� 'repeat' used at line 1�Check failed�FAILED 00:00 41m�» |
| 08:19 |
|
TimToady |
the first message is bogus, and the second one is fixed (but not recompiled for the evalbot) |
| 08:20 |
|
* jnthn |
will pull that second one into Rakudo later today, if he's not beaten to it |
| 08:21 |
|
moritz |
. ..--.ö..ö-8,, ,m.,m ,mlm mm |
| 08:22 |
|
sorear |
guten Morgen Ronja |
| 08:23 |
|
moritz |
danke :-) |
| 08:29 |
|
|
awoodland joined #perl6 |
| 08:44 |
|
* jnthn |
-> meeting |
| 08:46 |
|
* moritz |
-> 6h commute to $vacation |
| 09:00 |
|
* sorear |
-> sleep |
| 09:00 |
|
masak |
guten ugt morning, #perl6 |
| 09:00 |
|
hoelzro |
morgen |
| 09:00 |
|
tadzik |
masak! \o/ |
| 09:13 |
|
Saravanan |
@diakopter as of now i will use mac |
| 09:13 |
|
Saravanan |
my fedora box is troubling |
| 09:14 |
|
Saravanan |
how to install rakudo in mac |
| 09:15 |
|
hoelzro |
Saravanan: I used to do with homebrew, but the latest formula doesn't work for me |
| 09:16 |
|
Saravanan |
oh.. |
| 09:26 |
|
brrt |
parrot works on a mac, that i know for sure |
| 09:26 |
|
|
mucker joined #perl6 |
| 09:26 |
|
brrt |
Saravanan: whats troubling? |
| 09:27 |
|
Saravanan |
that's hardware problem |
| 09:27 |
|
brrt |
oh, then irc can't help you much :-) |
| 09:27 |
|
Saravanan |
:-) |
| 09:27 |
|
brrt |
you can certainly install parrot and rakudo on a mac, although i would not now know how |
| 09:27 |
|
Saravanan |
ok.. |
| 09:28 |
|
Saravanan |
i will try to add vmware in mac |
| 09:28 |
|
Saravanan |
or virtualbox |
| 09:28 |
|
|
bbkr joined #perl6 |
| 09:29 |
|
brrt |
thats not necessary |
| 09:32 |
|
bonsaikitten |
prefix portage would be my lazy guess |
| 09:33 |
|
|
daxim joined #perl6 |
| 09:48 |
|
masak |
Saravanan: welcome. |
| 09:48 |
|
masak |
sorry to hear you're having trouble building Rakudo. |
| 09:48 |
|
masak |
we'll try to help. |
| 09:49 |
|
Saravanan |
ok. |
| 09:54 |
|
masak |
also, let us know if you need any more Perl 6 resources: documentation, tutorials, tips... |
| 09:54 |
|
masak |
there's plenty at perl6.org, but sometimes it's still easier to ask here ;) |
| 09:59 |
|
Saravanan |
:-) |
| 10:14 |
|
daxim |
can someone correct the spelling on <http://rakudo.org/how-to-get-rakudo/>? s/OpenSuSE/openSUSE/ |
| 10:16 |
|
Saravanan |
Successfully installed rakudo :-) |
| 10:17 |
|
Saravanan |
diakopter: i had installed rakudo |
| 10:17 |
|
Saravanan |
next step? |
| 10:21 |
|
masak |
next step: awesomeness. |
| 10:21 |
|
masak |
r: say "OH HAI $_" for 1..5 |
| 10:21 |
|
p6eval |
rakudo 038a3c: OUTPUT«OH HAI 1OH HAI 2OH HAI 3OH HAI 4OH HAI 5» |
| 10:28 |
|
Saravanan |
its working |
| 10:28 |
|
Saravanan |
:-) |
| 10:28 |
|
Saravanan |
great |
| 10:30 |
|
masak |
\o/ |
| 10:31 |
|
masak |
Saravanan: pro tip: the fastest way to Perl 6 mastery is to be curious and ask a lot of questions about things you're learning. we won't bite, and we're very helpful and responsive. |
| 10:31 |
|
Saravanan |
ok.. |
| 10:31 |
|
Saravanan |
how to install modules in perl6 |
| 10:31 |
|
Saravanan |
is that same as perl5? |
| 10:31 |
|
daxim |
similar |
| 10:31 |
|
Saravanan |
ok.. |
| 10:32 |
|
Saravanan |
in perl6 OO is inbuild? |
| 10:32 |
|
daxim |
yes! |
| 10:32 |
|
Saravanan |
i mean pure OO |
| 10:32 |
|
daxim |
it's unpure OO, perl6 is like perl5 a multi-paradigm language |
| 10:33 |
|
Saravanan |
ok.. |
| 10:33 |
|
huf |
what's a pure oo? |
| 10:33 |
|
Saravanan |
as in java or c++ |
| 10:33 |
|
daxim |
when you cannot do procedural programming |
| 10:34 |
|
Saravanan |
hmm |
| 10:34 |
|
tadzik |
so not like C++ |
| 10:34 |
|
huf |
hm. both java and c++ let you do procedural programming :) |
| 10:34 |
|
huf |
yeah |
| 10:35 |
|
Saravanan |
so diff btw perl5 and perl6 |
| 10:35 |
|
huf |
perl6's builtin OO is like perl5+Moose except so much more |
| 10:35 |
|
huf |
i guess... |
| 10:35 |
|
daxim |
too many to name here, there's a list in the online documentation somewhere |
| 10:35 |
|
tadzik |
Saravanan: you may like the "Perl 5 to 6" series of articles |
| 10:35 |
|
tadzik |
it's linked on perl6.org/documentation I believe |
| 10:36 |
|
Saravanan |
s |
| 10:38 |
|
daxim |
I just updated the page <http://en.opensuse.org/Rakudo> (uuurgh, mediawiki), do you see the newest version with a table at the bottom or the previous one with section headings? |
| 10:39 |
|
flussence |
looks out of date here |
| 10:39 |
|
tadzik |
no table here |
| 10:39 |
|
daxim |
then I really have to wait for someone to release |
| 10:40 |
|
Saravanan |
ok |
| 10:42 |
|
masak |
Saravanan: Perl 6's OO is "pure" in the sense that even if you don't care about objects, things tend to be objects. |
| 10:42 |
|
masak |
it's also "pure" in the sense that the OO system is implemented using the OO system itself. |
| 10:43 |
|
masak |
but really, maybe there isn't really any "pure" OO out there. even Smalltalk, the most obvious candidate, is opinionated in various ways. |
| 10:44 |
|
masak |
everything I've ever read purporting to explain what OO "really" is has turned out to be yet another opinion ;) |
| 10:44 |
|
Saravanan |
:- |
| 10:44 |
|
Saravanan |
:-) |
| 10:44 |
|
huf |
:) |
| 10:45 |
|
masak |
let me show you a few cool things about Perl 6's OO, though: |
| 10:45 |
|
daxim |
one can certainly form a majority report on the opinions |
| 10:45 |
|
GlitchMr |
OOP is just syntactic sugar. Tell me difference between $something.do_something() and do_something($something) |
| 10:45 |
|
masak |
daxim: yeah, and one would end up with... Java. |
| 10:46 |
|
masak |
GlitchMr: those used to be the same in Perl 6, but they're not any more. |
| 10:46 |
|
masak |
GlitchMr: you do have a point, though. even if you're not 100% right. |
| 10:46 |
|
huf |
whoa, foo($bar) used to do method lookup? that'd be surprising.... |
| 10:46 |
|
masak |
r: class A { has $.x; has $.y; }; say A.^attrs>>.name |
| 10:46 |
|
p6eval |
rakudo 038a3c: OUTPUT«No such method 'attrs' for invocant of type 'Perl6::Metamodel::ClassHOW' in block at /tmp/eJjESD4QOV:1» |
| 10:46 |
|
masak |
r: class A { has $.x; has $.y; }; say A.^attributes>>.name |
| 10:46 |
|
p6eval |
rakudo 038a3c: OUTPUT«$!x $!y» |
| 10:46 |
|
masak |
\o/ |
| 10:46 |
|
GlitchMr |
Commonly in object oriented languages object is first. |
| 10:46 |
|
GlitchMr |
In procedural, method is first. |
| 10:47 |
|
masak |
huf: no, more like methods marked with 'our' (or a star, I don't remember) got auto-exported as subroutines. |
| 10:47 |
|
GlitchMr |
It's just different order (and somewhat different syntax) |
| 10:47 |
|
masak |
GlitchMr: no, there's a real distinction between non-method procedures and methods, IMO. |
| 10:47 |
|
masak |
GlitchMr: but you can simulate a method call by pretending that the first argument is an invocant. |
| 10:48 |
|
lumi_ |
GlitchMr: $something.do_something() is like invoke(get_method(get_type($something),"do_something"),$something) |
| 10:48 |
|
masak |
and it's correct that many languages/VMs actually implement it that way. |
| 10:48 |
|
masak |
lumi_++ # nice |
| 10:48 |
|
masak |
yes, that captures the mro thing, too. |
| 10:49 |
|
GlitchMr |
print $_%2 for (0 ... *)[^100] |
| 10:49 |
|
GlitchMr |
... |
| 10:49 |
|
GlitchMr |
oops |
| 10:49 |
|
GlitchMr |
wrong paste |
| 10:49 |
|
GlitchMr |
String.prototype.toUpperCase.call('hello, world') |
| 10:49 |
|
* masak |
was just going to mention JavaScript :) |
| 10:51 |
|
masak |
yes, JavaScript is another language that emulates method invocation by folding the invocant as a first argument of some underlying invocation form (.call in this case) |
| 10:51 |
|
|
Saran joined #perl6 |
| 10:51 |
|
masak |
which means that you can take a method of object A and call it on an unrelated object B. |
| 10:52 |
|
masak |
just like you can in Perl 5. |
| 10:52 |
|
masak |
in Perl 6, that's not possible unless B is a kind of A. |
| 10:52 |
|
masak |
r: class A { our method foo { say "OH HAI" } }; class B {}; &A::foo(B.new) |
| 10:52 |
|
p6eval |
rakudo 038a3c: OUTPUT«Nominal type check failed for parameter ''; expected A but got B instead in method foo at /tmp/i7nzxuZqya:1 in block at /tmp/i7nzxuZqya:1» |
| 10:52 |
|
masak |
r: class A { our method foo { say "OH HAI" } }; class B is A {}; &A::foo(B.new) |
| 10:52 |
|
p6eval |
rakudo 038a3c: OUTPUT«OH HAI» |
| 10:52 |
|
masak |
:) |
| 10:52 |
|
GlitchMr |
I know. I use this trick to emulate super in JavaScript |
| 10:53 |
|
masak |
if you emulate super in JavaScript, let me suggest that you're not going by the grain of the language ;) |
| 10:53 |
|
masak |
it's a *prototypal* language, not a super language. |
| 10:53 |
|
masak |
the inheritance is differential, not classical. |
| 10:54 |
|
GlitchMr |
B = new A(); B.prototype.method = function () { A.prototype.method.apply(this, arguments); alert('But this is B!'); } |
| 10:55 |
|
masak |
yeah, I've seen that pattern. |
| 10:55 |
|
Saran |
masak.. r u talking abt the difference between perl 5 and perl 6 |
| 10:55 |
|
masak |
Saran: yes. |
| 10:57 |
|
masak |
and we also brought JavaScript into the discussion. |
| 10:57 |
|
masak |
JavaScript has the same looseness in pairing methods with objects. |
| 10:58 |
|
masak |
Perl 6 is a little more strict, as you can see in the above p6eval conversation. |
| 10:58 |
|
|
whiteknight joined #perl6 |
| 10:59 |
|
GlitchMr |
r: module Object { sub new { bless {}, 'Object' }; sub test($self) { $self.perl.print } }; Object.new.test |
| 10:59 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&bless' called (line 1)» |
| 10:59 |
|
GlitchMr |
I guess I shouldn't attempt Perl 5 code in Perl 6 |
| 11:00 |
|
Saran |
saravanan This link will guide with the differences and how to learn perl6 with the help of perl5 http://perlcabal.org/syn/Differences.html |
| 11:00 |
|
hoelzro |
GlitchMr: I believe in Perl 6 it's self.bless(*) |
| 11:00 |
|
GlitchMr |
r: module Object { sub new { self.bless(*) }; sub test($self) { $self.perl.print } }; Object.new.test |
| 11:00 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!==='self' used where no object is availableat /tmp/Y0BG9Zq3gd:1» |
| 11:00 |
|
Saravanan |
whether we have bless in perl6 |
| 11:01 |
|
Saravanan |
if it has inbuilt OO then why we need bless in perl6? |
| 11:02 |
|
tadzik |
bless is a part of this OO we have |
| 11:02 |
|
masak |
GlitchMr: you can only use 'self' inside methods. |
| 11:02 |
|
GlitchMr |
r: module Object { sub method { self.bless(*) }; method test { self.perl.print } }; Object.new.test |
| 11:02 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!==='self' used where no object is availableat /tmp/BDe8BcnJ5X:1» |
| 11:03 |
|
GlitchMr |
r: module Object { method new { self.bless(*) }; method test { self.perl.print } }; Object.new.test |
| 11:03 |
|
p6eval |
rakudo 038a3c: OUTPUT«Useless declaration of a has-scoped method in moduleUseless declaration of a has-scoped method in moduleYou cannot create an instance of this type in method bless at src/gen/CORE.setting:618 in method new at src/gen/CORE.setting:606 in block at /tmp/m4kNnL… |
| 11:03 |
|
masak |
GlitchMr: and calling a sub 'method' doesn't make it a method :P |
| 11:03 |
|
masak |
r: my $m = method { self.bless(*) }; class A {}; say A."$m"() |
| 11:03 |
|
p6eval |
rakudo 038a3c: OUTPUT«No such method '<anon>' for invocant of type 'A' in block at /tmp/mizHWATMNb:1» |
| 11:03 |
|
masak |
hm :) |
| 11:03 |
|
masak |
r: my $m = method { self.bless(*) }; class A {}; say $m(A) |
| 11:03 |
|
p6eval |
rakudo 038a3c: OUTPUT«A.new()» |
| 11:03 |
|
masak |
\o/ |
| 11:04 |
|
masak |
r: my $m = method { self.bless(*, :x<42>) }; class A { has $.x }; say $m(A) |
| 11:04 |
|
p6eval |
rakudo 038a3c: OUTPUT«A.new(x => "42")» |
| 11:04 |
|
GlitchMr |
http://rosettacode.org/wiki/No[…]es/Convert#Perl_6 |
| 11:04 |
|
GlitchMr |
Is it possible without eval (which he by accident called "val") |
| 11:05 |
|
masak |
no, it's "val". |
| 11:05 |
|
masak |
it's an eval for values. |
| 11:05 |
|
GlitchMr |
I'm confused |
| 11:05 |
|
masak |
and no, it's not possible to parameterize on the base. that's why "val" is used. |
| 11:06 |
|
masak |
n: say val ":2<1110>" |
| 11:06 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«:2<1110>» |
| 11:06 |
|
masak |
hrm. |
| 11:06 |
|
GlitchMr |
But, can I do :16('FF') or something like this? |
| 11:06 |
|
masak |
n: say val "0b1010" |
| 11:06 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«0b1010» |
| 11:06 |
|
GlitchMr |
It's good enough for me then |
| 11:06 |
|
masak |
n: say val "0x55" |
| 11:06 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«0x55» |
| 11:06 |
|
Saran |
saravanan ..it is advised to go with few basics of perl6..then it will be easy to understand |
| 11:06 |
|
masak |
sorear: I think all those should be parsed as ints. |
| 11:09 |
|
Saravanan |
ok.. |
| 11:11 |
|
|
MayDaniel joined #perl6 |
| 11:16 |
|
masak |
rn: say "ß" ~~ m:i/ß/; say "ß" ~~ m:i/SS/; say "SS" ~~ m:i/ß/; |
| 11:16 |
|
p6eval |
rakudo 038a3c: OUTPUT«q[ß]#<failed match>#<failed match>» |
| 11:16 |
|
p6eval |
..niecza v19-15-g051783d: OUTPUT«#<match from(0) to(1) text(ß) pos([].list) named({}.hash)>FalseFalse» |
| 11:17 |
|
masak |
what's the rule for case insensitiveness in regexes? |
| 11:17 |
|
masak |
rn: say "ß".uc |
| 11:17 |
|
p6eval |
rakudo 038a3c, niecza v19-15-g051783d: OUTPUT«ß» |
| 11:18 |
|
masak |
hm. |
| 11:19 |
|
|
JimmyZ joined #perl6 |
| 11:25 |
|
arnsholt |
Pretty sure that's wrong |
| 11:25 |
|
masak |
aye. |
| 11:33 |
|
GlitchMr |
http://codegolf.stackexchange.com/a/6936/3103 |
| 11:33 |
|
GlitchMr |
I'm almost sure I could golf this better :) |
| 11:43 |
|
Timbus |
say [*] [xx] .words for get |
| 11:44 |
|
masak |
say [*] [xx] get>>.words |
| 11:44 |
|
Timbus |
i was trying to do that |
| 11:44 |
|
masak |
one shorter if you use » :) |
| 11:46 |
|
Timbus |
»:) |
| 11:46 |
|
Timbus |
klingon smile |
| 11:49 |
|
GlitchMr |
The problem is that both Timbus and masak solutions end after first line :P |
| 11:49 |
|
GlitchMr |
But he hasn't specified that |
| 11:49 |
|
GlitchMr |
So it could work too |
| 11:49 |
|
Timbus |
nput given as: x y (separated by a space) |
| 11:50 |
|
Timbus |
looks perfect to me |
| 11:50 |
|
GlitchMr |
I'm already confused |
| 11:52 |
|
GlitchMr |
Perl 6 doesn't win with GolfScript, but it has chance in CodeGolf :) |
| 11:52 |
|
GlitchMr |
... |
| 11:52 |
|
GlitchMr |
Except I did it wrongly |
| 11:55 |
|
Timbus |
you did! |
| 12:02 |
|
Timbus |
say [**] [xx] get>>.words is the obvious one but incurs a penalty |
| 12:06 |
|
Timbus |
say [**] [xx] @*ARGS |
| 12:07 |
|
|
zhutingting left #perl6 |
| 12:08 |
|
|
MayDaniel joined #perl6 |
| 12:09 |
|
Timbus |
30 pts including penalty. not bad |
| 12:16 |
|
flussence |
I'm getting nowhere but this looks interesting - |
| 12:16 |
|
flussence |
given '2 4'.words { say [*] [xx] .[0], ^(.[1])»+»1 } |
| 12:16 |
|
flussence |
r: given '2 4'.words { say [*] [xx] .[0], ^(.[1])»+»1 } |
| 12:16 |
|
p6eval |
rakudo 038a3c: OUTPUT«16777216» |
| 12:16 |
|
flussence |
only 8 bits off :) |
| 12:19 |
|
Timbus |
lol. what's it meant to be |
| 12:19 |
|
Timbus |
r: say [**] [xx] (2,4) |
| 12:19 |
|
p6eval |
rakudo 038a3c: OUTPUT«65536» |
| 12:19 |
|
Timbus |
close! |
| 12:21 |
|
|
xinming joined #perl6 |
| 12:30 |
|
masak |
r: say [**] [xx] 2,4 |
| 12:30 |
|
p6eval |
rakudo 038a3c: OUTPUT«65536» |
| 12:30 |
|
masak |
r: say [**][xx]2,4 |
| 12:30 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Confusedat /tmp/3U4zQfKKYR:1» |
| 12:31 |
|
masak |
r: say [**] [xx]2,4 |
| 12:31 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Confusedat /tmp/g0ag4TFkC7:1» |
| 12:31 |
|
masak |
:) |
| 12:32 |
|
GlitchMr |
Why reduce operators care so much about spaces? |
| 12:32 |
|
JimmyZ |
array |
| 12:33 |
|
JimmyZ |
r: say $a[xx][*] |
| 12:33 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Variable $a is not declaredat /tmp/g_I4Uhls57:1» |
| 12:34 |
|
JimmyZ |
r: say $a [xx] [*] |
| 12:34 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Variable $a is not declaredat /tmp/392OiiL3_2:1» |
| 12:41 |
|
|
sirrobert joined #perl6 |
| 12:41 |
|
sirrobert |
hi p6 |
| 12:42 |
|
tadzik |
hi |
| 12:46 |
|
sirrobert |
what is the : in this syntax doing: $foo.somemethod: $somesub; |
| 12:47 |
|
tadzik |
it's like $foo.method($sub) |
| 12:47 |
|
sirrobert |
ok |
| 12:47 |
|
sirrobert |
does it have a particular name? |
| 12:48 |
|
tadzik |
I don't know |
| 12:50 |
|
sirrobert |
huh, it's only for methods, not subs |
| 12:50 |
|
JimmyZ |
well, for subs is: sub args |
| 12:51 |
|
sirrobert |
yeah |
| 12:51 |
|
sirrobert |
was just understanding the ... domain of the operator |
| 12:52 |
|
masak |
I tend to think of it as the "rest of the statement is method args" colon :) |
| 12:52 |
|
sirrobert |
heh |
| 13:03 |
|
|
jeffreykegler joined #perl6 |
| 13:04 |
|
|
SamuraiJack joined #perl6 |
| 13:06 |
|
|
SamuraiJack joined #perl6 |
| 13:08 |
|
|
Saravanan1 joined #perl6 |
| 13:08 |
|
PerlJam |
r: sub foo ($alpha: $beta) { } # just checkign |
| 13:08 |
|
p6eval |
rakudo 038a3c: ( no output ) |
| 13:08 |
|
PerlJam |
std: sub foo ($alpha: $beta) { } |
| 13:08 |
|
p6eval |
std f43a358: OUTPUT«Potential difficulties:� $beta is declared but not used at /tmp/sPeLWXdUQR line 1:�------> sub foo ($alpha: �$beta) { }� $alpha is declared but not used at /tmp/sPeLWXdUQR line 1:�------> sub foo (�$alpha: $beta) { }�ok 00:00 4… |
| 13:12 |
|
Saravanan1 |
hi |
| 13:13 |
|
tadzik |
hello Saravanan1 |
| 13:14 |
|
|
JimmyZ joined #perl6 |
| 13:14 |
|
masak |
Saravanan1: how's everything going? |
| 13:15 |
|
|
atrodo joined #perl6 |
| 13:16 |
|
masak |
PerlJam: I believe we have an RT ticket for invocant colons in sub declarations. |
| 13:16 |
|
masak |
hm, seems not. |
| 13:17 |
|
* masak |
submits rakudobug |
| 13:17 |
|
PerlJam |
std: sub foo ($alpha: $beta) { say "$alpha $beta" } |
| 13:17 |
|
p6eval |
std f43a358: OUTPUT«ok 00:00 43m» |
| 13:17 |
|
PerlJam |
It would be a stdbug too then |
| 13:18 |
|
|
Saravanan joined #perl6 |
| 13:19 |
|
masak |
rn: sub foo($alpha: $beta) { say "$alpha: $beta" }; foo 42, "OH HAI" |
| 13:19 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«42: OH HAI» |
| 13:19 |
|
p6eval |
..rakudo 038a3c: OUTPUT«Lexical 'self' not found in sub foo at /tmp/PCatPFMUMH:1 in block at /tmp/PCatPFMUMH:1» |
| 13:19 |
|
masak |
actually, I'm not so sure supplying an invocant this way to a sub is an error. |
| 13:19 |
|
PerlJam |
yeah, I was thinking that too :) |
| 13:19 |
|
masak |
but Rakudo's behavior above surely is. |
| 13:19 |
|
* masak |
submits rakudobug |
| 13:19 |
|
PerlJam |
masak++ |
| 13:21 |
|
|
bluescreen10 joined #perl6 |
| 13:21 |
|
sirrobert |
What should that do? |
| 13:21 |
|
sirrobert |
sub foo ($alpha: $beta) |
| 13:22 |
|
masak |
sirrobert: we don't know. |
| 13:22 |
|
PerlJam |
sirrobert: separate the args that participate in multi-dispatch from those that don't (maybe) |
| 13:22 |
|
sirrobert |
heh ok |
| 13:22 |
|
masak |
either error or it should be fine. |
| 13:23 |
|
sirrobert |
fair enough =) |
| 13:23 |
|
sirrobert |
hey, btw |
| 13:23 |
|
masak |
PerlJam: no, both the invocant and the rest of the arguments before ;; participate in MMD to exactly the same amount. |
| 13:23 |
|
masak |
s/amount/extent/ |
| 13:23 |
|
sirrobert |
as I've been using (learning) p6, I'm trying to be helpful by blogging about it. What kind of stuff is helpful to write about? |
| 13:24 |
|
PerlJam |
It's too early for me to think clearly and I haven't had my caffiene yet. |
| 13:24 |
|
masak |
sittobert: to a first approximation, anything you feel is interesting. |
| 13:24 |
|
sirrobert |
I'll try to find my "voice" about it =) |
| 13:24 |
|
PerlJam |
sirrobert: Have you looked as "Using Perl 6"? Anything that fills the gaps from that book would be good to blog about. |
| 13:24 |
|
masak |
r: class A {}; class B is A {}; class C { multi method foo(B) { say "C" } }; class D is C { multi method foo(A) { say "D" } }; D.new.foo(B.new) |
| 13:24 |
|
p6eval |
rakudo 038a3c: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(C , B , Mu *%_):(D , A , Mu *%_) in method foo at src/gen/CORE.setting:334 in block at /tmp/i2yosE1L2F:1» |
| 13:24 |
|
sirrobert |
PerlJam: good idea =) |
| 13:25 |
|
masak |
PerlJam: the above conflict demonstrates this. |
| 13:27 |
|
masak |
here's a random suggestion for how .sort should sort by default: |
| 13:28 |
|
masak |
(a) if the values compared are equal by ===, sort them as equal |
| 13:29 |
|
masak |
(b) if the values are of the same type, sort them by cmp |
| 13:29 |
|
masak |
(c) if the values are of different types, sort the type name by leg |
| 13:29 |
|
masak |
or maybe this behavior should be folded into cmp itself. |
| 13:30 |
|
|
skids joined #perl6 |
| 13:35 |
|
[Coke] |
sort on type name seems odd, if you have a type hierarchy where you can still compare things (like in the numbers) |
| 13:36 |
|
masak |
yes, but (a) will catch that. |
| 13:36 |
|
masak |
rn: say 4 === 4.0 |
| 13:36 |
|
p6eval |
rakudo 038a3c, niecza v19-15-g051783d: OUTPUT«False» |
| 13:36 |
|
masak |
hm :/ |
| 13:36 |
|
masak |
am I thinking of some other equivalence, like eqv, perhaps? |
| 13:37 |
|
masak |
rn: say 4 eqv 4.0 |
| 13:37 |
|
p6eval |
rakudo 038a3c: OUTPUT«False» |
| 13:37 |
|
p6eval |
..niecza v19-15-g051783d: OUTPUT«True» |
| 13:37 |
|
masak |
heh! |
| 13:37 |
|
* masak |
wants to submit a bug, but doesn't know on what |
| 13:37 |
|
* masak |
reads spec |
| 13:38 |
|
masak |
infix:<eqv>: S03:1303: "Compares two objects for canonical equivalence. For value types compares the values." |
| 13:38 |
|
masak |
well, it's the *same* value, no? |
| 13:38 |
|
* masak |
submits rakudobug |
| 13:51 |
|
|
tokuhiro_ joined #perl6 |
| 13:54 |
|
|
thou joined #perl6 |
| 13:55 |
|
masak |
rn: say 4e1 eqv 4; say 4e1 eqv 4.0 |
| 13:55 |
|
p6eval |
rakudo 038a3c, niecza v19-15-g051783d: OUTPUT«FalseFalse» |
| 13:55 |
|
masak |
sorear: why does Niecza go True for 4 eqv 4.0 but not for those two? |
| 13:56 |
|
masak |
at least Rakudo is being consistent. |
| 13:58 |
|
|
Chillance joined #perl6 |
| 14:06 |
|
|
crab2313 joined #perl6 |
| 14:11 |
|
|
atrodo joined #perl6 |
| 14:14 |
|
|
SamuraiJack joined #perl6 |
| 14:20 |
|
TimToady |
it is a nieczabug, not a rakudobug, since === and eqv can only match if the types are the same |
| 14:21 |
|
* masak |
rejects the rakudobug |
| 14:21 |
|
* masak |
submits nieczue |
| 14:22 |
|
masak |
TimToady: any thoughts on subs with an invocant parameter? |
| 14:22 |
|
TimToady |
not before coffee |
| 14:23 |
|
masak |
;) |
| 14:23 |
|
TimToady |
esp since I only got 5 hours sleep |
| 14:23 |
|
masak |
:/ |
| 14:23 |
|
tadzik |
one does not cast spells without mana potions |
| 14:23 |
|
TimToady |
because I was hacking on STD :) |
| 14:23 |
|
masak |
heh :) |
| 14:23 |
|
|
kaare_ joined #perl6 |
| 14:24 |
|
masak |
TimToady: when I saw your "I can't commit this thing before I've committed these things", I wanted to tell you about git-stash |
| 14:24 |
|
* TimToady |
is close (cross fingers) to having the sigspace stuff working again |
| 14:24 |
|
|
hoelzro joined #perl6 |
| 14:24 |
|
|
telex joined #perl6 |
| 14:25 |
|
sirrobert |
git stash is super nice =) |
| 14:25 |
|
sirrobert |
love that it's a stack |
| 14:26 |
|
TimToady |
yes, that looks nice |
| 14:32 |
|
masak |
'git stash [save]' and 'git stash apply' are complementary actions, and the two I use the most. |
| 14:33 |
|
masak |
I love how it's using commits to save away my changes. |
| 14:33 |
|
masak |
(without hooking those commits onto any branch) |
| 14:33 |
|
PerlJam |
how long do your stashes stay around? |
| 14:34 |
|
PerlJam |
(I use stash quite a bit too but I find that sometimes I forget about them) |
| 14:34 |
|
masak |
that's a really good quesion. |
| 14:34 |
|
sirrobert |
I think they stay around indefinitely (until you clear them) |
| 14:34 |
|
PerlJam |
whereas if I put my changes in a branch, they are less likely to be forgotten |
| 14:34 |
|
masak |
somewhere between 10 seconds and 10 kiloseconds, most of the time. |
| 14:34 |
|
hoelzro |
PerlJam: that's my issue |
| 14:35 |
|
masak |
yeah, branches are nice, too. they're the "next step" after stashes. |
| 14:35 |
|
hoelzro |
I often forget about them =/ |
| 14:35 |
|
sirrobert |
I use stash as something like a clipboard |
| 14:35 |
|
sirrobert |
I only put stuff in there I'm ok to lose, or that I want to copy from one branch to another. |
| 14:35 |
|
masak |
and I keep forgetting and re-remembering that branches are very throwaway, too, and can be created en masse for various experiments. |
| 14:36 |
|
masak |
yeah, stashing is like an anonymous mini-branch of sorts. |
| 14:36 |
|
PerlJam |
sirrobert: If you're copying from one branch to another, then surely you don't need the stash? |
| 14:36 |
|
sirrobert |
well, I don't mean literally copying, more like "sticking them in there to see if there are applicable bits" |
| 14:37 |
|
sirrobert |
I often have a stash that's several layers deep and pop to the one I want |
| 14:37 |
|
PerlJam |
ah |
| 14:37 |
|
sirrobert |
kinda like an undo/redo =) |
| 14:38 |
|
lumi_ |
r: say 4e1 |
| 14:38 |
|
p6eval |
rakudo 038a3c: OUTPUT«40» |
| 14:38 |
|
lumi_ |
masak: That's why the first one fails |
| 14:39 |
|
PerlJam |
lumi++ (math skills ;) |
| 14:39 |
|
sirrobert |
heh |
| 14:40 |
|
masak |
I fail math today. |
| 14:40 |
|
* masak |
rises from the ashes and moves on ;) |
| 14:40 |
|
masak |
rn: say 4e0 eqv 4; say 4e0 eqv 4.0 |
| 14:40 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«TrueTrue» |
| 14:40 |
|
p6eval |
..rakudo 038a3c: OUTPUT«FalseFalse» |
| 14:41 |
|
masak |
yeah, niecza is consistently wrong on those. lumi_++ |
| 14:41 |
|
TimToady |
now if only git stash would save and restore all the vim sessions I have up in that directory, it might be useful to me |
| 14:44 |
|
timotimo |
surely you could write a perl one-liner that does this ... :) |
| 14:44 |
|
TimToady |
debugging STD/viv when you have no valid CORE setting and compiling CORE.setting fails in the first whitespace is...not trivial |
| 14:44 |
|
timotimo |
hm. there's python and ruby for vim, but is there also perl for vim? i wonder ... |
| 14:45 |
|
hoelzro |
timotimo: sure there is |
| 14:45 |
|
hoelzro |
if by "perl for vim", you mean that Vim can be built with an embedded Perl |
| 14:45 |
|
TimToady |
I went to bed last night when I managed to get CORE to parse up to line 8, so at least it's parsing some sigspace now |
| 14:55 |
|
dalek |
std: 66387b5 | larry++ | STD.pm6: |
| 14:55 |
|
dalek |
std: restrict do {} obs message to while/until |
| 14:55 |
|
dalek |
std: review: https://github.com/perl6/std/commit/66387b5246 |
| 14:57 |
|
TimToady |
GlitchMr++ for that, btw |
| 15:01 |
|
* jnthn |
back |
| 15:02 |
|
JimmyZ |
welcome back |
| 15:03 |
|
masak |
good ugt morning, jnthn! |
| 15:03 |
|
jnthn |
TimToady: Heh, sounds like the fun I had getting CORE.setting parsing again when putting QRegex in place... |
| 15:03 |
|
jnthn |
TimToady: I'd say "have fun", but it was more "argh why" :) |
| 15:03 |
|
masak |
that's because you forgot to have fun |
| 15:05 |
|
jnthn |
masak: It's kind of a yak-shavey task :) |
| 15:05 |
|
masak |
yeah. I was kidding ;) |
| 15:05 |
|
|
Chillance joined #perl6 |
| 15:05 |
|
jnthn |
re 114438 I suspect invocants should be forbidden on subs, but I didn't backlog to see if any other discussion happened with regard to it |
| 15:06 |
|
masak |
mad props to both jnthn and TimToady, of course. |
| 15:06 |
|
jnthn |
ah, I didn't sleep well enough to do humor :P |
| 15:06 |
|
jnthn |
Well, I can probably pun still... :) |
| 15:06 |
|
masak |
jnthn: I started out supposing that it should forbid it too. it's certainly the conservative thing to do. |
| 15:06 |
|
masak |
if it works, then it should work like in Niecza. |
| 15:07 |
|
jnthn |
I know STD has some invocant_ok thingy. I think I didn't steal it into Rakudo's grammar. |
| 15:07 |
|
jnthn |
It may be related to taht. |
| 15:07 |
|
masak |
n: sub foo($alpha: $beta) { say "$alpha: $beta" }; foo 42, "OH HAI" |
| 15:07 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«42: OH HAI» |
| 15:07 |
|
masak |
jnthn: well, std allows it too! |
| 15:07 |
|
masak |
std: sub foo($alpha: $beta) { say "$alpha: $beta" }; foo 42, "OH HAI" |
| 15:07 |
|
p6eval |
std f43a358: OUTPUT«ok 00:00 44m» |
| 15:08 |
|
jnthn |
bah :) |
| 15:14 |
|
tadzik |
"We have an implementation of Perl 6 that's gonna start to be worth using in the next year or so" -- Damian on http://radar.oreilly.com/2012/[…]-conway-perl.html |
| 15:14 |
|
tadzik |
nice interview it is |
| 15:15 |
|
|
obra joined #perl6 |
| 15:15 |
|
masak |
tadzik: Damian Conway, is that the guy who said "the next year or so" back in 2001? :P |
| 15:15 |
|
|
clkao joined #perl6 |
| 15:15 |
|
masak |
s/said/wrote/ |
| 15:17 |
|
PerlJam |
I'm not sure what to make of Damian anymore ... It's like he's disconnected from the community, but every once in a while pops up to say "I'm still here, look at this awesome thing" |
| 15:17 |
|
PerlJam |
(at least I don't quite see how he's connected like he used to be) |
| 15:18 |
|
masak |
I've had that feeling too. but that seems to be his MO. |
| 15:18 |
|
masak |
at least when he's involved, he is involved. |
| 15:19 |
|
masak |
I would prefer if he would pop up on the channel occasionally, but he doesn't seem to be a pop-up-on-the-channel kind of guy. |
| 15:19 |
|
GlitchMr |
back |
| 15:19 |
|
GlitchMr |
TimToady: I was just testing if https://github.com/perl6/std/issues/1 was fixed |
| 15:20 |
|
GlitchMr |
I will do moritz++ instead |
| 15:23 |
|
TimToady |
s/instead/in addition/ :) |
| 15:23 |
|
TimToady |
this isn't a zero-sum game... |
| 15:24 |
|
diakopter |
o_O TimToady before 9 a.m.? |
| 15:25 |
|
* diakopter |
apparently needs coffee too |
| 15:26 |
|
masak |
diakopter: we're all on UGT now :P |
| 15:26 |
|
masak |
I like http://blog.stackoverflow.com/[…]ess-on-a-qa-site/ not just because of the excellent geek troll picture. it makes good points. |
| 15:26 |
|
TimToady |
* can mean UGT too |
| 15:28 |
|
|
MayDaniel joined #perl6 |
| 15:28 |
|
|
MayDaniel joined #perl6 |
| 15:30 |
|
|
alester joined #perl6 |
| 15:35 |
|
|
thelazydeveloper joined #perl6 |
| 15:42 |
|
diakopter |
oh noes. no one show TimToady codegolf.stackexchange.com |
| 15:42 |
|
TimToady |
n: say +val '0x55' |
| 15:42 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«85» |
| 15:42 |
|
TimToady |
masak: when you use the string version of val, you just get the string back |
| 15:42 |
|
diakopter |
it's like rosettacode except crazy |
| 15:44 |
|
TimToady |
n: say <0x55> |
| 15:44 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«85» |
| 15:44 |
|
TimToady |
note that <> is specced to force numeric when there's just that one value |
| 15:44 |
|
TimToady |
but that's part of <>, not val |
| 15:44 |
|
masak |
ah. |
| 15:45 |
|
TimToady |
n: say +'0x55' |
| 15:45 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«85» |
| 15:45 |
|
TimToady |
and you don't need the val if you're forcing numeric anyway |
| 15:47 |
|
TimToady |
so the RC entry is wrongish, I guess |
| 15:47 |
|
masak |
aye. |
| 15:48 |
|
masak |
val |
| 15:48 |
|
diakopter |
I forget - will P6 have unsanitary macros? |
| 15:48 |
|
masak |
val, lightweight as it is, is too heavyweight there. |
| 15:48 |
|
masak |
diakopter: Pugs has them. |
| 15:48 |
|
masak |
pugs: macro foo { 'say $a' }; my $a = 42; foo |
| 15:48 |
|
p6eval |
pugs: OUTPUT«42» |
| 15:49 |
|
diakopter |
is that spec'd? |
| 15:49 |
|
TimToady |
and there's no reason to limit the RC entry to integers |
| 15:49 |
|
masak |
diakopter: yes. |
| 15:49 |
|
TimToady |
n: say 3.14159625.base(2) |
| 15:49 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: Unable to resolve method base in type Rat at /tmp/UQAKN6XJRW line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3930 (module-CORE @ 564)  at /home/p… |
| 15:49 |
|
TimToady |
r: say 3.14159625.base(2) |
| 15:49 |
|
p6eval |
rakudo 038a3c: OUTPUT«11.001001000011111110101» |
| 15:49 |
|
|
jeffreykegler joined #perl6 |
| 15:49 |
|
TimToady |
nieczabug |
| 15:49 |
|
* masak |
submits |
| 15:52 |
|
diakopter |
that oreilly link - "the fastest dynamic language out there"? |
| 15:53 |
|
PerlJam |
diakopter: yeah, I caught that too. I would have agreed with him a few years ago, but not today. |
| 15:56 |
|
masak |
which language? Dart? :P |
| 15:56 |
|
diakopter |
Gabor Szabo needs an editor for his perl6maven posts; all of them have English errors |
| 15:56 |
|
masak |
well volunteered. |
| 15:56 |
|
diakopter |
:D |
| 15:58 |
|
TimToady |
http://rosettacode.org/wiki/No[…]es/Convert#Perl_6 fixed, GlitchMr++ masak++ |
| 15:58 |
|
diakopter |
rn: my $a =~ /a/; say $a |
| 15:58 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Regex()<instance>» |
| 15:58 |
|
p6eval |
..rakudo 038a3c: OUTPUT«» |
| 15:59 |
|
diakopter |
std: my $a =~ /a/; say $a |
| 15:59 |
|
p6eval |
std f43a358: OUTPUT«Can't bless non-reference value at CursorBase.pm line 1163.FAILED 00:00 42m» |
| 15:59 |
|
diakopter |
I don't know which one's righter |
| 15:59 |
|
diakopter |
niecza I guess, but isn't it supposed to warn on using =~ ? |
| 16:00 |
|
masak |
'FAILED'? |
| 16:00 |
|
diakopter |
crashed I guess |
| 16:00 |
|
TimToady |
std: $_ =~ /a/ |
| 16:00 |
|
p6eval |
std f43a358: OUTPUT«===[0mSORRY!===[0m�Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at /tmp/xbebQGchbK line 1:�------> $_ =~� /a/�Parse failed�FAILED 00:00 41m�» |
| 16:01 |
|
TimToady |
diakopter: the my is messing you up there |
| 16:01 |
|
geekosaur |
interesting parser fail in std with the my version |
| 16:01 |
|
TimToady |
parsed as an initializer |
| 16:01 |
|
TimToady |
my $a = (~ /a/) |
| 16:01 |
|
diakopter |
std: my $a = ~ /a/; say $a |
| 16:01 |
|
p6eval |
std f43a358: OUTPUT«Can't bless non-reference value at CursorBase.pm line 1163.FAILED 00:00 42m» |
| 16:01 |
|
TimToady |
but =~ on a my is non-sensical in any case, so I'm not concerned |
| 16:02 |
|
diakopter |
did someone break p6eval's std? |
| 16:02 |
|
TimToady |
it's a month old |
| 16:02 |
|
TimToady |
and the current version certainly won't bootstrap |
| 16:03 |
|
TimToady |
gimme another few hours (cross fingers) to fix that |
| 16:03 |
|
diakopter |
git wishlist: make a commit of only a portion of the diff of a file |
| 16:04 |
|
masak |
diakopter: git-add -i |
| 16:06 |
|
diakopter |
oh! |
| 16:06 |
|
diakopter |
seems TortoiseGit doesn't have that feature |
| 16:07 |
|
|
spider-mario joined #perl6 |
| 16:08 |
|
diakopter |
oh wait it does |
| 16:08 |
|
TimToady |
maybe it has git stash save --patch |
| 16:12 |
|
jnthn |
diakopter: Also "git gui" brings up a GUI tool that can do that |
| 16:16 |
|
[Coke] |
masak: I had to walk away earlier, but how would you compare 4 and 4.1 then? as "Integer" vs "Number" ? |
| 16:17 |
|
masak |
yeah, that won't fly. |
| 16:17 |
|
masak |
never mind. |
| 16:20 |
|
|
adu joined #perl6 |
| 16:38 |
|
|
[hds] joined #perl6 |
| 16:41 |
|
TimToady |
I think subs with invocant parameters are benign, and : just means the same as comma there |
| 16:41 |
|
|
am0c joined #perl6 |
| 16:42 |
|
TimToady |
in some sense, exported methods are the same thing |
| 16:43 |
|
masak |
let me play devil's advocate, then. |
| 16:43 |
|
masak |
if we disallow them now but realize they're useful later, we will have an easier time than if we allow them now but realize they're harmful later. |
| 16:44 |
|
masak |
I see how they are "the same thing" as exported methods, but what are they chances they are *not* an indication of programmer confusion? |
| 16:44 |
|
masak |
i.e. what are the chances a programmer would be annoyed rather than helped by us flagging it? |
| 16:45 |
|
masak |
it might as well be a typo for 'method' as a typo for ',' |
| 16:45 |
|
TimToady |
what are the chances that someone is attempting to communicate that this might end up as a method somehow as well? |
| 16:45 |
|
jnthn |
Should it have a slef? |
| 16:45 |
|
jnthn |
*self? |
| 16:45 |
|
masak |
definitely not. |
| 16:45 |
|
masak |
well, unless the sub is inside of a method :P |
| 16:46 |
|
jnthn |
:P |
| 16:48 |
|
TimToady |
"sub with invocant better written as 'my method'" maybe |
| 16:52 |
|
|
sftp joined #perl6 |
| 16:53 |
|
* masak |
rather likes that |
| 16:53 |
|
masak |
or 'our method'. |
| 16:53 |
|
TimToady |
nr: my method foo ($foo: $bar) { say "$foo $bar" }; foo(1,2) |
| 16:54 |
|
p6eval |
rakudo 038a3c: OUTPUT«1 2» |
| 16:54 |
|
p6eval |
..niecza v19-15-g051783d: OUTPUT«===[0mSORRY!===[0m��Methods must be used in some kind of package at /tmp/yi8quc9FUC line 1:�------> my method foo �($foo: $bar) { say "$foo $bar" }; foo(1,��Unhandled exception: Check failed�� at /home/p6eval/niecza/boot/lib… |
| 16:54 |
|
TimToady |
nieczanyi I guess |
| 16:54 |
|
masak |
yeah. |
| 16:54 |
|
masak |
someone else is welcome to submit it. :) |
| 16:58 |
|
|
kaleem joined #perl6 |
| 16:59 |
|
jnthn |
r: class A { }; say A.new |
| 16:59 |
|
p6eval |
rakudo 038a3c: OUTPUT«A.new()» |
| 16:59 |
|
jnthn |
r: class A { }; say ~A.new |
| 16:59 |
|
p6eval |
rakudo 038a3c: OUTPUT«A<853331884>» |
| 17:00 |
|
TimToady |
ô.ó |
| 17:01 |
|
jnthn |
Matches spec, afaik |
| 17:01 |
|
jnthn |
I do now have the slight issue of what to do in NQP now that we have .gist and .Str doing different things in a bunch of cases. |
| 17:05 |
|
|
cognominal joined #perl6 |
| 17:07 |
|
diakopter |
nr: my method foo ($foo: $bar) { say self~" $bar" }; foo(1,2) |
| 17:07 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«===[0mSORRY!===[0m��Methods must be used in some kind of package at /tmp/Iksn61Nzeo line 1:�------> my method foo �($foo: $bar) { say self~" $bar" }; foo(1��Potential difficulties:� $foo is declared but not used at /tmp/Iksn… |
| 17:07 |
|
p6eval |
..rakudo 038a3c: OUTPUT«1 2» |
| 17:08 |
|
diakopter |
r: my method foo ($foo:) { say self === $foo }; foo("b") |
| 17:08 |
|
p6eval |
rakudo 038a3c: OUTPUT«True» |
| 17:09 |
|
diakopter |
r: class F { my method foo ($foo:) { say self === $foo }; }; F.foo() |
| 17:09 |
|
p6eval |
rakudo 038a3c: OUTPUT«True» |
| 17:10 |
|
|
raiph joined #perl6 |
| 17:11 |
|
dalek |
nqp/toqast: 319bb8d | jnthn++ | src/QAST/Compiler.nqp: |
| 17:11 |
|
dalek |
nqp/toqast: Implement default parameter handling, winning the optional and named argument tests back. |
| 17:11 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/319bb8d173 |
| 17:11 |
|
dalek |
nqp/toqast: 4b85a2e | jnthn++ | src/NQPQ/ (2 files): |
| 17:11 |
|
dalek |
nqp/toqast: Get + and ~ prefixes workingish again. |
| 17:11 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/4b85a2e2b5 |
| 17:11 |
|
dalek |
nqp/toqast: 67a605c | jnthn++ | src/NQPQ/ (2 files): |
| 17:11 |
|
dalek |
nqp/toqast: Compile =:= again. |
| 17:11 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/67a605ca2a |
| 17:17 |
|
sorear |
good * #perl6 |
| 17:19 |
|
masak |
sorear! \o/ |
| 17:19 |
|
masak |
sorear: I discovered some bugs in Niecza's eqv in the backlog. |
| 17:19 |
|
masak |
also filed some other things and didn't file some other things. |
| 17:26 |
|
* [Coke] |
files a bug on masak's bug filer. |
| 17:26 |
|
[Coke] |
"seems spotty" |
| 17:27 |
|
masak |
I wouldn't mind if someone took over all the nieczue filing, to be honest. |
| 17:27 |
|
masak |
I still feel like my primary responsibility is to keep RT's perl6 queue up-to-date. |
| 17:31 |
|
diakopter |
I think we can have a bot that takes this command: bugfiler: niecza 8 Title of Bug Report where 8 means number of prior irc lines to paste into the bug report |
| 17:31 |
|
diakopter |
and it would only accept commands on #perl6 so people couldn't spam it in privmsg |
| 17:32 |
|
diakopter |
seems the nick isn't taken |
| 17:32 |
|
masak |
well, there's usually some editing to filing a bug report. |
| 17:35 |
|
|
benabik joined #perl6 |
| 17:36 |
|
|
quietfanatic joined #perl6 |
| 17:37 |
|
diakopter |
quietfanatic: howdy |
| 17:40 |
|
quietfanatic |
hey diakopter |
| 17:42 |
|
|
benabik_ joined #perl6 |
| 17:45 |
|
dalek |
nqp/toqast: 00c649e | jnthn++ | src/NQP/Actions.pm: |
| 17:45 |
|
dalek |
nqp/toqast: Fix bug in v-table method installation. |
| 17:45 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/00c649e8d9 |
| 17:45 |
|
dalek |
nqp/toqast: 507d55c | jnthn++ | src/NQPQ/Actions.pm: |
| 17:45 |
|
dalek |
nqp/toqast: Port previous fix to NQPQ. |
| 17:45 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/507d55cc5c |
| 17:45 |
|
dalek |
nqp/toqast: 93a716f | jnthn++ | src/core/NQPMu.pm: |
| 17:45 |
|
dalek |
nqp/toqast: Add some missing methods to NQPMu. |
| 17:45 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/93a716fd59 |
| 17:45 |
|
dalek |
nqp/toqast: ce81241 | jnthn++ | src/QAST/Operations.nqp: |
| 17:45 |
|
dalek |
nqp/toqast: Add a QAST op for throwing control exceptions. |
| 17:45 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/ce81241a2a |
| 17:45 |
|
dalek |
nqp/toqast: 26b5b5b | jnthn++ | src/NQPQ/Actions.pm: |
| 17:45 |
|
dalek |
nqp/toqast: Get next/last/redo working again. |
| 17:45 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/26b5b5b6d9 |
| 17:49 |
|
jnthn |
50 out of 60 tests in t/nqp now passing in nqp/toqast :) |
| 17:51 |
|
|
Targen joined #perl6 |
| 17:58 |
|
quietfanatic |
am I the only one who thinks arbitrary radix notation looks way too much like pair notation? |
| 17:59 |
|
PerlJam |
"too much"? |
| 17:59 |
|
quietfanatic |
:16<abcd> ought to make 16 => 'abcd' |
| 17:59 |
|
* Tene |
also |
| 18:00 |
|
masak |
quietfanatic: it *is* pair notation. |
| 18:00 |
|
masak |
it's just been hijacked for radix conversion. |
| 18:01 |
|
|
bluescreen10 joined #perl6 |
| 18:01 |
|
quietfanatic |
right |
| 18:02 |
|
|
jeffreykegler joined #perl6 |
| 18:02 |
|
PerlJam |
quietfanatic: so you think it should look different? |
| 18:02 |
|
quietfanatic |
I do think it should look different. |
| 18:03 |
|
quietfanatic |
mind you, I don't have any immediate suggestions s to how it should look :) |
| 18:04 |
|
PerlJam |
If there were a more procedural interface, would that assuage your concerns? |
| 18:04 |
|
quietfanatic |
probably |
| 18:04 |
|
TimToady |
normal colon pairs can only have identifiers on the left, so the numeric was completely unused |
| 18:05 |
|
TimToady |
and there's little use case for 16 => 'abcd' |
| 18:05 |
|
quietfanatic |
Arbitrary bases are not something people use enough that they need a syntactic shortcut for it. |
| 18:05 |
|
TimToady |
sez who? :) |
| 18:05 |
|
PerlJam |
quietfanatic: ah, so you think they are incorrectly huffmanized? |
| 18:05 |
|
quietfanatic |
Especially when that syntactic shortcut means they need to do an eval-like thing to parameterize the base |
| 18:06 |
|
quietfanatic |
sez me :) |
| 18:06 |
|
quietfanatic |
PerlJam: It's more that different things should look different |
| 18:07 |
|
TimToady |
parameterizing the base is something that is used even less, so +":$base\<$str>" is fine |
| 18:10 |
|
TimToady |
there's also something to be said for not inventing additional syntax |
| 18:10 |
|
PerlJam |
All I know is that bases 2, 8, 10, and 16 come up quite a bit in computer programs :) |
| 18:10 |
|
TimToady |
which is why those have special cases |
| 18:11 |
|
GlitchMr |
Perl 6 is already more popular than certain languages at GitHub :). |
| 18:11 |
|
GlitchMr |
https://github.com/languages/AppleScript |
| 18:11 |
|
|
SamuraiJack_ joined #perl6 |
| 18:11 |
|
quietfanatic |
reusing already existing syntax for something entirely unrelated is just as bad in my opinion as inventing new syntax |
| 18:11 |
|
TimToady |
using colon notation also gives you the () and [] variants for "free" |
| 18:12 |
|
GlitchMr |
In PHP there is base_convert() function. The name is long, but you rarely want to do it anyways. |
| 18:12 |
|
quietfanatic |
Something like that but with a better name would be best, I think. |
| 18:12 |
|
PerlJam |
quietfanatic: we do it all the time with contextual clues to help. Notice how many ways {} can be used. |
| 18:13 |
|
PerlJam |
quietfanatic: :NUMBER seems like a really good contextual clue to me. |
| 18:13 |
|
TimToady |
I have no trouble telling :foo apart from :16 |
| 18:13 |
|
GlitchMr |
I wouldn't have problem with something like base-convert function to do it |
| 18:14 |
|
quietfanatic |
At a close look, you have no trouble, of course |
| 18:14 |
|
PerlJam |
GlitchMr: That's kind of where I was going initially. If there were some subroutine to do base conversion (in addition to the current notation), maybe that would help |
| 18:14 |
|
quietfanatic |
suppose you're skimming over code. You'll see what looks like a pair, but you'd have to examine the individul characters to see that it is in fact not a pair |
| 18:14 |
|
TimToady |
you always have to look at individual characters |
| 18:15 |
|
quietfanatic |
But : and < > are immediately distinctive. |
| 18:15 |
|
GlitchMr |
I mean, $num.base-convert($base => 10) looks better than +":$base\<$num>" |
| 18:15 |
|
quietfanatic |
whereas 16 and IG are not immediately distinguishable. |
| 18:15 |
|
TimToady |
so are 2 and x |
| 18:15 |
|
PerlJam |
quietfanatic: sounds like you need a better font :) |
| 18:16 |
|
quietfanatic |
.oO(The tyrrany of selective examples) |
| 18:16 |
|
quietfanatic |
Oh, I can tell them apart if I actually look at them |
| 18:16 |
|
* PerlJam |
boggles |
| 18:17 |
|
GlitchMr |
If I would see +":$base\<$num>" I would think it's... hacky method of converting bases |
| 18:17 |
|
quietfanatic |
My thesis here is that you shouldn't have to read every single character to get a gist of the structure of a piece of code. |
| 18:17 |
|
quietfanatic |
And yes, { } used for both hashes and code bothers me that way too. |
| 18:17 |
|
TimToady |
this seems to come down to almost the same argument as "I want to be able to read it without learning the language" |
| 18:18 |
|
GlitchMr |
What's wrong with { } being used for both functions and hashes? |
| 18:18 |
|
TimToady |
and I'd submit that someone who doesn't know Perl 6 would immediately figure out what :16<deadbeef> means |
| 18:18 |
|
quietfanatic |
That's because deadbeef is a culturally unambiguous hexadecimal number. |
| 18:18 |
|
GlitchMr |
:16<deadbeef> could be written as 0xdeadbeef |
| 18:19 |
|
quietfanatic |
GlitchMr: You have to use contextual cues to figure out which is which, just like the compiler |
| 18:19 |
|
TimToady |
the other thing is that if you're going to be using a weird base, you're likely to use it many times in teh same program, so the learning is amortized |
| 18:19 |
|
GlitchMr |
Well, .map will definitely won't take hash as function :P. |
| 18:19 |
|
quietfanatic |
TimToady: Oh that's a valid point |
| 18:19 |
|
PerlJam |
quietfanatic: "contextual cues" is almost the basis of all things Perl. |
| 18:20 |
|
[Coke] |
"GRAMMAR" |
| 18:20 |
|
benabik |
r: say <1 2 3>.map { a => 12 } |
| 18:20 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Confusedat /tmp/KGZaxPsRn6:1» |
| 18:20 |
|
GlitchMr |
We have binary, octal, hexadecimal, decimal... what other weird base you would want to use? |
| 18:20 |
|
TimToady |
GlitchMr: I certainly would not be opposed to a named function in place of the hack |
| 18:20 |
|
benabik |
Base64? |
| 18:20 |
|
PerlJam |
GlitchMr: base 64 seems to come up a lot |
| 18:20 |
|
quietfanatic |
The thing is, I skim code almost as much as I carefully read it. Actually, more. |
| 18:21 |
|
quietfanatic |
and so I like easily-skimmable code quite a bit. |
| 18:21 |
|
GlitchMr |
:64<1> doesn't work and shouldn't |
| 18:21 |
|
PerlJam |
GlitchMr: base 36 is occasionally useful too |
| 18:21 |
|
TimToady |
nr: say :64[1,1] |
| 18:21 |
|
p6eval |
niecza v19-15-g051783d: OUTPUT«Unhandled exception: :16[...] syntax NYI at /home/p6eval/niecza/lib/CORE.setting line 1414 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3550 (unbase @ 8)  at /tmp/3VeZbgRWB8 line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting … |
| 18:21 |
|
p6eval |
..rakudo 038a3c: OUTPUT«===SORRY!===Malformed radix numberat /tmp/5s5MwphmF6:1» |
| 18:21 |
|
benabik |
Although there is a difference between Base64 and base 64. :-/ |
| 18:21 |
|
GlitchMr |
I would like to see use for base 36... but I also would like to see use for octal numbers :) |
| 18:21 |
|
TimToady |
octals make sense on a PDP11 :) |
| 18:22 |
|
GlitchMr |
Oh, I think I have one use for octals - chmod |
| 18:22 |
|
PerlJam |
GlitchMr: when talking to other weird systems, it helps if you speak their language :) |
| 18:22 |
|
|
fhelmberger joined #perl6 |
| 18:22 |
|
|
quietfanatic_ joined #perl6 |
| 18:22 |
|
TimToady |
base 4 makes some sense in biology :) |
| 18:22 |
|
GlitchMr |
But, I can see base 4 being useful |
| 18:22 |
|
GlitchMr |
TimToady said it before me :P |
| 18:23 |
|
cosimo |
so... |
| 18:23 |
|
cosimo |
if I had to propose a redesign of perl6.org, what concepts we want the site/design to convey? |
| 18:23 |
|
GlitchMr |
I like current Perl 6 site :) |
| 18:23 |
|
PerlJam |
base 6 might make lots of sense if you're dealing with molecules that have lots of carbon :) |
| 18:24 |
|
quietfanatic_ |
Non-conformity. |
| 18:24 |
|
quietfanatic_ |
(cosimo:) |
| 18:24 |
|
GlitchMr |
It reminds me WHATWG website for some reason, but it's nice nevertheless |
| 18:24 |
|
TimToady |
friendly to seven-year-olds |
| 18:24 |
|
TimToady |
fun |
| 18:24 |
|
PerlJam |
cosimo: friendly, fun, capable, serious, powerful, awesome, cool, nice, happy, ... |
| 18:25 |
|
benabik |
Wikipedia says base 15 is useful for telephony routing over IP |
| 18:25 |
|
TimToady |
btw, the .org doesn't have to do everything; there are plenty of other tlds |
| 18:25 |
|
GlitchMr |
Could you modify grammar to add 0p if you need it? |
| 18:25 |
|
TimToady |
so the .org should be fun |
| 18:25 |
|
GlitchMr |
p being for pentadecimal |
| 18:26 |
|
quietfanatic_ |
I bet you could |
| 18:26 |
|
benabik |
postfix:<p> ? |
| 18:26 |
|
TimToady |
GlitchMr: it's possible, but we don't go out of our way to make it easy |
| 18:26 |
|
benabik |
-Ofun |
| 18:26 |
|
benabik |
And there do seem to be a good number of uses for base 36. |
| 18:26 |
|
quietfanatic_ |
TimToady: I thought the Perl 6 grammar was supposed to be extensible at the drop of a hat |
| 18:26 |
|
GlitchMr |
postfix:<p> wouldn't work when your numbers include characters between A and E |
| 18:27 |
|
quietfanatic_ |
TimToady: Or have we decided to go the Apple route? :) |
| 18:27 |
|
GlitchMr |
0t1201202201 |
| 18:27 |
|
PerlJam |
base 60 has lots of uses too |
| 18:28 |
|
GlitchMr |
https://en.wikipedia.org/wiki/Ternary_computer |
| 18:29 |
|
Tene |
ternary would also be useful for malbolge interop |
| 18:29 |
|
TimToady |
r: say :60[12,34,56] |
| 18:29 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Malformed radix numberat /tmp/WdOzyP90D3:1» |
| 18:29 |
|
TimToady |
nyi I guess |
| 18:29 |
|
PerlJam |
rakudo doesn't grok bases above 36 for some reason |
| 18:29 |
|
TimToady |
I thought it did |
| 18:30 |
|
benabik |
36 is the highest unambiguous base. 0-9a-z. |
| 18:30 |
|
|
jeffreykegler joined #perl6 |
| 18:30 |
|
TimToady |
see S02:3247 |
| 18:31 |
|
GlitchMr |
Bases above 36 aren't useful anyways until :X[] notation will be implemented |
| 18:31 |
|
benabik |
r: say :10[1,2,3,4] |
| 18:31 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Malformed radix numberat /tmp/vSiY9iJBSR:1» |
| 18:31 |
|
TimToady |
b: :60[12,34,56] |
| 18:31 |
|
p6eval |
b 922500: OUTPUT«===SORRY!===Malformed radix number at line 22, near "[12,34,56]"» |
| 18:32 |
|
TimToady |
ng: :60[12,34,56] |
| 18:32 |
|
TimToady |
alpha: :60[12,34,56] |
| 18:32 |
|
* TimToady |
forgets the names |
| 18:32 |
|
benabik |
p6eval: help |
| 18:32 |
|
p6eval |
benabik: Usage: <(star|pugs|nqp|std|niecza|rakudo|b|toqast|nom|npr|n|r|perl6|prn|rn|p|rnp|nrp|pnr|rpn|t|p6|nr)(?^::\s) $perl6_program> |
| 18:32 |
|
TimToady |
pugs: say :60[12,34,56] |
| 18:32 |
|
p6eval |
pugs: OUTPUT«45296» |
| 18:32 |
|
PerlJam |
pugs++ |
| 18:32 |
|
TimToady |
maybe that's what I'm remembering |
| 18:32 |
|
benabik |
perlcabal's spec appears to be out of date. |
| 18:33 |
|
GlitchMr |
It's always out of date ;) |
| 18:34 |
|
benabik |
Well, that's what the irc logs point to, so it would be nice if it wasn't. |
| 18:34 |
|
GlitchMr |
Even when you think it isn't, something is out of date. |
| 18:36 |
|
cosimo |
is it possible to run stuff server side for perl6.org, or it's a completely static site? |
| 18:36 |
|
GlitchMr |
It's static site |
| 18:37 |
|
PerlJam |
std: say :60[12,34,56] |
| 18:37 |
|
p6eval |
std f43a358: OUTPUT«ok 00:00 42m» |
| 18:39 |
|
diakopter |
how does one regex match for graphs that could have negative codepoints? |
| 18:40 |
|
diakopter |
TimToady: ^^ re NFG |
| 18:41 |
|
|
haidarian joined #perl6 |
| 18:41 |
|
quietfanatic |
You can't know the codepoints of precomposed graphemes, can you? |
| 18:41 |
|
diakopter |
not under the proposed implementation |
| 18:42 |
|
[Coke] |
r: my $a = "This is a string"; say $a.chars |
| 18:42 |
|
p6eval |
rakudo 038a3c: OUTPUT«16» |
| 18:42 |
|
diakopter |
(and not under any implementation I can imagine) |
| 18:42 |
|
[Coke] |
wow. I counted that wrong at least 3 times. ;) |
| 18:42 |
|
quietfanatic |
I'd imagine that in the regex you have to assemble the equivalent grapheme out of its individual codepoints. |
| 18:43 |
|
diakopter |
quietfanatic: yeah, but is there a way to say "this base codepoint, with optionally whatever combining codepoints" |
| 18:44 |
|
quietfanatic |
[ :ii $base ], perhaps? |
| 18:44 |
|
diakopter |
(or optionally particular combining codepoints) |
| 18:44 |
|
quietfanatic |
well,that's probably more difficult |
| 18:45 |
|
quietfanatic |
If you are matching on the grapheme level it's probably difficult to selectively pull the graphemes apart into codepoints when you please. |
| 18:46 |
|
diakopter |
well, I'm just imagining it will be impossible to match against NFG strings that contain negative codepoints (except for . obviously), because the codepoints don't fall into any cclass and can't be matched directly |
| 18:47 |
|
benabik |
negative codepoints? |
| 18:47 |
|
quietfanatic |
The negative codepoints stand for a sequence of positive codepoints though. |
| 18:47 |
|
diakopter |
are you suggesting the regex engine should decompose them while matching? |
| 18:47 |
|
quietfanatic |
If it has to. |
| 18:48 |
|
quietfanatic |
Negative codepoints is just an implementation detail. An optimization. |
| 18:48 |
|
quietfanatic |
as far as I understand it, at least. |
| 18:48 |
|
diakopter |
eh; I'm fairly certain TimToady says it's an essential element of NFG |
| 18:49 |
|
quietfanatic |
Well, that's how you'd get a semantically variable-width encoding into an actually fixed-width encoding. |
| 18:49 |
|
diakopter |
right, but also how to store NFG strings at runtime |
| 18:49 |
|
quietfanatic |
right. |
| 18:49 |
|
diakopter |
(all strings) |
| 18:50 |
|
quietfanatic |
Somewhere hidden in the program is a table which maps negative indexes to strings representing one grapheme. |
| 18:50 |
|
quietfanatic |
Like the symbol table in Lisp dialects. |
| 18:50 |
|
|
sftp joined #perl6 |
| 18:50 |
|
diakopter |
right... |
| 18:51 |
|
jnthn |
I would rather expect that the negative codepoints have a bunch of unicode properties calculated for them. |
| 18:51 |
|
quietfanatic |
jnthn: Oh, that's possible too |
| 18:51 |
|
|
PerlJam joined #perl6 |
| 18:52 |
|
diakopter |
but what would determine whether they have those properties? |
| 18:52 |
|
quietfanatic |
whether the positive codepoints they stand for have those properties |
| 18:52 |
|
jnthn |
Giving it the properties of the base character is probably a good start. |
| 18:52 |
|
diakopter |
whether *all* the codepoints in the graph have the property or just one of them? |
| 18:52 |
|
diakopter |
ok |
| 18:53 |
|
quietfanatic |
Or is unicode not set up to assign codepoints to composed graphemes? I don't know actually |
| 18:53 |
|
quietfanatic |
ah |
| 18:53 |
|
jnthn |
The answer may also vary with property. I suspect there must be a sane way to do this. |
| 18:53 |
|
quietfanatic |
Excuse me |
| 18:53 |
|
quietfanatic |
to assign *properties* to composed grapheme |
| 18:53 |
|
quietfanatic |
s |
| 18:53 |
|
* jnthn |
guessed that's what was meant |
| 18:53 |
|
* quietfanatic |
made a wordo |
| 18:54 |
|
diakopter |
I don't think that's a word |
| 18:54 |
|
quietfanatic |
It's like a typo |
| 18:54 |
|
diakopter |
it was a joke.. |
| 18:55 |
|
masak |
I don't think that's a joke :P |
| 18:55 |
|
diakopter |
:D |
| 18:57 |
|
TimToady |
all NFG codepoints (both negative and precomposed NFC) should have easily accessible NFD for any kind of partial grapheme matching or property |
| 18:58 |
|
TimToady |
so looking up property of the base char should generally not be difficult |
| 18:58 |
|
diakopter |
ok, that answers the question of whether regex matches should match against just the base character |
| 18:59 |
|
jnthn |
Well, in the context of properties anyway, I guess. |
| 18:59 |
|
diakopter |
including cclass? |
| 18:59 |
|
jnthn |
yes |
| 18:59 |
|
jnthn |
Those boil down to unicode props |
| 18:59 |
|
diakopter |
ok |
| 19:01 |
|
TimToady |
we will need to invent ways of doing partial matches that involve marks |
| 19:01 |
|
TimToady |
but I think that will become more obvious once we get NFG in place |
| 19:01 |
|
diakopter |
ah, that was the other question, which I had forgotten I asked |
| 19:04 |
|
dalek |
nqp/toqast: 476a500 | jnthn++ | src/guts/multi_dispatch.c: |
| 19:04 |
|
dalek |
nqp/toqast: Don't look into freed memory. |
| 19:04 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/476a500ac2 |
| 19:04 |
|
dalek |
nqp/toqast: 9341160 | jnthn++ | src/NQPQ/ (3 files): |
| 19:04 |
|
dalek |
nqp/toqast: Partially fix multi-method dispatch. |
| 19:04 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/9341160d03 |
| 19:04 |
|
dalek |
nqp/toqast: 4e3159b | jnthn++ | src/QAST/Operations.nqp: |
| 19:04 |
|
dalek |
nqp/toqast: Fix code-gen bug. |
| 19:04 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/4e3159b19e |
| 19:05 |
|
TimToady |
or course, one can always call out to a method in a grammar, but it's not clear how that helps normal regexes, unless we do it with <:&mymatch(...)> or some such |
| 19:09 |
|
|
jeffreykegler joined #perl6 |
| 19:25 |
|
japhb |
r: say +':60[12,34,56]' |
| 19:25 |
|
p6eval |
rakudo 038a3c: OUTPUT«45296» |
| 19:25 |
|
dalek |
nqp/toqast: 9ccb91c | jnthn++ | src/QAST/Operations.nqp: |
| 19:25 |
|
dalek |
nqp/toqast: Fix lexotic compilation bug. |
| 19:25 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/9ccb91c616 |
| 19:25 |
|
dalek |
nqp/toqast: 4780b8e | jnthn++ | src/NQPQ/ (2 files): |
| 19:25 |
|
dalek |
nqp/toqast: Fix return; this also brings it inline with the mechanism we use to do it in Rakudo. |
| 19:25 |
|
dalek |
nqp/toqast: review: https://github.com/perl6/nqp/commit/4780b8e99c |
| 19:25 |
|
japhb |
TimToady, Str.Numeric handles :60[,,] format. The main compiler does not. |
| 19:26 |
|
masak |
feels like that should be a single code path :) |
| 19:26 |
|
japhb |
masak, Str.Numeric would ideally be implemented by just using that piece of the full grammar. Unfortunately: |
| 19:27 |
|
japhb |
A) When I started working on Str.Numeric, I don't think that was actually workable. Dunno if it is now. |
| 19:27 |
|
japhb |
B) The general grammar is (was?) way slower than the hand-coded Str.Numeric parser. |
| 19:27 |
|
japhb |
Hence, not one code path yet. :-) |
| 19:29 |
|
japhb |
Str.Numeric can handle some pretty strange stuff these days. Unfortunately, not Complex numbers yet. I should probably just do that when I continue work on val(). |
| 19:32 |
|
masak |
++japhb |
| 19:35 |
|
|
bluescreen10 joined #perl6 |
| 19:47 |
|
* [Coke] |
wonders if nieczue rhymes with "miscue" |
| 19:49 |
|
|
brrt joined #perl6 |
| 19:55 |
|
|
[particle] joined #perl6 |
| 19:59 |
|
|
jeffreykegler joined #perl6 |
| 20:01 |
|
|
fhelmberger joined #perl6 |
| 20:06 |
|
|
birdwindupbird joined #perl6 |
| 20:06 |
|
sirrobert |
proving tests on JSON::Tiny seems to randomly skip/fail tests... |
| 20:07 |
|
sirrobert |
just ran "prove -re perl6 t/01-parse.t" three times in a row |
| 20:08 |
|
sirrobert |
twice they all passed, the third time "No subtests run" |
| 20:08 |
|
sirrobert |
sometimes a portion pass and a portion fail |
| 20:08 |
|
sirrobert |
is that a known phenomenon others have encountered? |
| 20:10 |
|
|
fhelmberger joined #perl6 |
| 20:11 |
|
masak |
sirrobert: no, never heard anything like that before. |
| 20:11 |
|
sirrobert |
hm |
| 20:11 |
|
masak |
[Coke]: no, it rhymes with "betcha" :) |
| 20:12 |
|
sorear |
sirrobert: is it still random if you disable address space layout randomization? |
| 20:12 |
|
sirrobert |
tell me how to do that and I'll check =) |
| 20:12 |
|
masak |
[Coke]: or, hm, maybe not... :) |
| 20:13 |
|
sorear |
sirrobert: are you on linux? |
| 20:13 |
|
sirrobert |
yep |
| 20:14 |
|
sorear |
echo 0 | sudo tee /proc/sys/kernel/randomize_va_space |
| 20:16 |
|
sirrobert |
sorear: running prove several times now, will tell you in a sec |
| 20:17 |
|
sirrobert |
six consecutive runs of prove with no issue. |
| 20:17 |
|
sirrobert |
(previously I got at most 2 in a row) |
| 20:18 |
|
sirrobert |
you want me to report that somewhere? |
| 20:18 |
|
sirrobert |
woops, it happened again on the 11th run |
| 20:19 |
|
sirrobert |
but that's a lot MORE rare, at least =) |
| 20:20 |
|
|
fgomez joined #perl6 |
| 20:24 |
|
sirrobert |
my vm is being silly-- rebooting it |
| 20:26 |
|
benabik |
karma silly |
| 20:26 |
|
aloha |
silly has karma of 0. |
| 20:30 |
|
masak |
karma everybody |
| 20:30 |
|
aloha |
everybody has karma of 1. |
| 20:36 |
|
|
jeffreykegler joined #perl6 |
| 20:50 |
|
|
francium joined #perl6 |
| 20:58 |
|
|
sirrobert joined #perl6 |
| 20:58 |
|
sirrobert |
back |
| 21:00 |
|
Tene |
karma karma |
| 21:00 |
|
aloha |
karma has karma of 2. |
| 21:01 |
|
sirrobert |
What does the syntax "Any:U", "Any:D", "Hash:D" etc. mean? |
| 21:02 |
|
masak |
sirrobert: definedness of an object. |
| 21:02 |
|
masak |
r: sub foo(Int:U) { say "type object" }; sub foo(Int:D) { say "instance" |
| 21:02 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 2, near ""» |
| 21:02 |
|
masak |
r: sub foo(Int:U) { say "type object" }; sub foo(Int:D) { say "instance" }; foo Int; foo 42 |
| 21:02 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Redeclaration of routine fooat /tmp/0CD1zHN2vD:1» |
| 21:02 |
|
sirrobert |
so if a param is (Hash:D $d) it means "a defined hash" |
| 21:02 |
|
sirrobert |
instead of say, Hash itself |
| 21:02 |
|
sirrobert |
? |
| 21:02 |
|
masak |
r: multi foo(Int:U) { say "type object" }; multi foo(Int:D) { say "instance" }; foo Int; foo 42 |
| 21:02 |
|
p6eval |
rakudo 038a3c: OUTPUT«type objectinstance» |
| 21:02 |
|
masak |
sirrobert: right. |
| 21:03 |
|
sirrobert |
oh, or instead of a "my Hash %foo;" |
| 21:03 |
|
sirrobert |
ok, thanks |
| 21:03 |
|
masak |
sirrobert: 'my Hash %foo' is a hash of hash objects. |
| 21:03 |
|
sirrobert |
ohhh right |
| 21:03 |
|
masak |
sirrobert: both the type annotation and the sigil add something there. |
| 21:03 |
|
sirrobert |
righto |
| 21:03 |
|
sirrobert |
are there others besides :U and :D? |
| 21:04 |
|
masak |
I believe so. |
| 21:04 |
|
* masak |
checks |
| 21:04 |
|
masak |
yes. |
| 21:04 |
|
masak |
:_ and :T |
| 21:04 |
|
sirrobert |
where did you look? =) |
| 21:05 |
|
masak |
S12. |
| 21:05 |
|
sirrobert |
ok |
| 21:05 |
|
masak |
"Abstract vs Concrete types" |
| 21:05 |
|
sirrobert |
ah |
| 21:05 |
|
masak |
:_ allows anything, it seems. |
| 21:05 |
|
masak |
:T allows only type objects, not just any undefined thing. |
| 21:05 |
|
masak |
:U allows undefined things. |
| 21:05 |
|
|
Chillance joined #perl6 |
| 21:06 |
|
sirrobert |
ok, makes sense |
| 21:06 |
|
sirrobert |
mostly ;) |
| 21:08 |
|
masak |
r: sub foo(Int:U) { say "undefined" }; sub foo(Int:D) { say "defined" }; foo 42; foo 42 but role { method defined { False } } |
| 21:08 |
|
p6eval |
rakudo 038a3c: OUTPUT«===SORRY!===Redeclaration of routine fooat /tmp/AT1bT0Rj52:1» |
| 21:08 |
|
masak |
argh. |
| 21:08 |
|
masak |
r: multi foo(Int:U) { say "undefined" }; multi foo(Int:D) { say "defined" }; foo 42; foo 42 but role { method defined { False } } |
| 21:08 |
|
p6eval |
rakudo 038a3c: OUTPUT«defineddefined» |
| 21:09 |
|
masak |
apparently that wasn't undefined enough :) |
| 21:09 |
|
sirrobert |
heh |
| 21:09 |
|
quietfanatic |
Rakudo might be cheating. |
| 21:09 |
|
Tene |
r: multi foo(Int:U) { say "undefined" }; multi foo(Int:D) { say "defined" }; foo 42; foo Int |
| 21:09 |
|
sirrobert |
the "but role" applied a "mixin" that returned False for the method "defined" ? |
| 21:09 |
|
p6eval |
rakudo 038a3c: OUTPUT«definedundefined» |
| 21:09 |
|
Tene |
sirrobert: yes |
| 21:09 |
|
sirrobert |
cool |
| 21:10 |
|
masak |
yes :) |
| 21:10 |
|
jnthn |
:U is currently taken to mean "type object" |
| 21:10 |
|
masak |
huh. |
| 21:10 |
|
jnthn |
Just after I implemented that lot, the spec got changed. :/ |
| 21:11 |
|
* masak |
submits rakudobug |
| 21:11 |
|
sirrobert |
is there a way to apply a mixin temporarily? (or to remove it after applying it?) |
| 21:11 |
|
jnthn |
I'm hoping if I ignore the spec change enough it may change back :P |
| 21:11 |
|
masak |
sirrobert: just keep the original object around ;) |
| 21:11 |
|
jnthn |
If you use "but" and keep the original one around... :) |
| 21:11 |
|
sirrobert |
does applying a mixin copy the object? |
| 21:12 |
|
jnthn |
sirrobert: Yes if you use "but". No if you use "does" |
| 21:12 |
|
quietfanatic |
'does' is a |
| 21:12 |
|
quietfanatic |
^ that |
| 21:12 |
|
sirrobert |
meowf! that's great |
| 21:12 |
|
sirrobert |
I'd been trying to figure that out for a while (off and on) |
| 21:12 |
|
sirrobert |
everyone++ =) |
| 21:14 |
|
sirrobert |
and now it's grammatically obvious. heh |
| 21:19 |
|
sirrobert |
man that makes a couple of things a lot easier =) |
| 21:22 |
|
sirrobert |
ok, gotta go-- thanks all =) |
| 21:22 |
|
masak |
karma go |
| 21:22 |
|
aloha |
go has karma of 0. |
| 21:24 |
|
jnthn |
using hyphens-- a curious way to play with the karma bot. |
| 21:27 |
|
masak |
I took it to mean he was dissatisfied with having to go. |
| 21:42 |
|
[Coke] |
if :_ allows anything, why do we need to specify it? |
| 21:45 |
|
sorear |
because it overrides a 'use parameters :D' pragma in scope |
| 21:47 |
|
|
brrt joined #perl6 |
| 21:50 |
|
[Coke] |
hokay |
| 22:19 |
|
japhb |
rn: '<1/2>'.Numeric.perl.say; |
| 22:19 |
|
p6eval |
rakudo 038a3c: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => "<1/2>", pos => 0, reason => "base-10 number must begin with valid digits or '.'"))» |
| 22:19 |
|
p6eval |
..niecza v19-15-g051783d: OUTPUT«Unhandled exception: Cannot parse number: <1/2> at /home/p6eval/niecza/lib/CORE.setting line 1414 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3492 (ANON @ 11)  at /home/p6eval/niecza/lib/CORE.setting line 3494 (NumSyntax.str2num @ 5)  a… |
| 22:19 |
|
japhb |
TimToady, was it your intent that the above DWIM? Or for .Numeric, does the user need to leave off the < >? |
| 22:20 |
|
japhb |
er, Str.Numeric, I mean. |
| 22:25 |
|
masak |
'night, #perl6 |
| 22:26 |
|
japhb |
o/ |
| 22:33 |
|
|
PacoAir joined #perl6 |
| 22:37 |
|
|
sftp joined #perl6 |
| 22:43 |
|
|
PacoAir joined #perl6 |
| 22:52 |
|
|
skids joined #perl6 |
| 23:06 |
|
|
cognominal_ joined #perl6 |
| 23:18 |
|
|
Chat3630 joined #perl6 |
| 23:18 |
|
Chat3630 |
Hey:) |
| 23:18 |
|
sorear |
Hello Chat3630. |
| 23:18 |
|
sorear |
Are you here for Perl 6? |
| 23:23 |
|
sjn |
tadzik: http://news.ycombinator.com/item?id=4363887 |
| 23:32 |
|
|
am0c joined #perl6 |
| 23:33 |
|
sjohnson |
sorear: :) |
| 23:33 |
|
sjohnson |
if not, he may get perl6 fever |
| 23:33 |
|
|
gongyiliao joined #perl6 |
| 23:50 |
|
|
jeffreykegler joined #perl6 |