»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 30 July 2009. |
|||
mberends | The audience response to pmichaud++'s lightning talk to announce Rakudo * was the highlight of the conference. The first mention of the name got a huge ovation :) It was a total surprise to everyone, and immediately was so right. Just imagine crowd elation. | 00:00 | |
colomon | :) | 00:02 | |
mberends | hmm, feather's security certificate expired 2009-06-25: feather.perl6.nl/irc/ | 00:10 | |
diakopter | sho nuff | 00:18 | |
00:20
nErVe joined
|
|||
sjohnson | sup d00dz | 00:23 | |
japhb | We down with OPP (Other Perl Projects) | 00:24 | |
KyleHa | Dude. Your NBN reference has left me dumbfounded. | 00:28 | |
japhb | KyleHa: whyso? | 00:30 | |
KyleHa | I don't doubt that it's in no small part due to my current mental state. That is, I'm relying pretty heavily on the lizard brain right now, and that's kind of outside its scope. | 00:32 | |
japhb | heh | 00:33 | |
00:42
Guest14794 left,
fridim_ left
|
|||
meppl | good night | 00:46 | |
00:47
__ash__ joined,
__ash__ left
00:49
meppl left
00:51
Jedai joined
00:54
nErVe left
|
|||
pugs_svn | r27896 | kyle++ | [t/spec] Test for RT #67790 | 01:43 | |
r27897 | kyle++ | [t/spec] tests for RT #67786 | |||
colomon | rakudo: my @a = gather loop (my $i = 1; $i < 10; $i++) { take $i }; @a.perl.say; | 02:28 | |
p6eval | rakudo 7717c4: OUTPUT«[10, 10, 10, 10, 10, 10, 10, 10, 10]» | ||
colomon | rakudo: my @a = gather loop (my $i = 1; $i < 10; $i++) { take +$i }; @a.perl.say; | ||
p6eval | rakudo 7717c4: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9]» | ||
wayland76 | Morning all :) | 02:32 | |
colomon | morning. don't suppose you understand gather? :) | 02:33 | |
I think what I don't understand has something to do with take returning a Capture. But I don't see how the examples in S04 are different than my first gather statement above, yet the results they return correspond to my second example... | 02:37 | ||
02:38
araujo left
|
|||
KyleHa | If there are tests for it, that might be instructive. | 02:39 | |
In that case, you can see how it should work and check to see whether it does work that way. | |||
colomon | S04-statements/gather.t | 02:40 | |
Huh. That just leaves me more confused, actually. | 02:41 | ||
rakudo: my @a = gather for 1..10 -> $i { take $i }; @a.perl.say; | 02:42 | ||
p6eval | rakudo 7717c4: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]» | ||
colomon | Yup, I totally do not get why this is different than the first loop statement version. | ||
Ah, looks like RT #63634 is gather doesn't work with while -- wonder if loop is the same bug? | 02:43 | ||
KyleHa | I was just about to say that. | 02:44 | |
rakudo: my @a = gather { loop ( my $i = 1; $i < 10; $i++ ) { take $i } }; say @a.perl; | 02:45 | ||
p6eval | rakudo 7717c4: OUTPUT«[10, 10, 10, 10, 10, 10, 10, 10, 10]» | ||
KyleHa | rakudo my @a = gather loop ( my $i = 1; $i < 10; $i++ ) { my $x = $i; take $x; }; @a.perl.say; | 02:46 | |
rakudo: my @a = gather loop ( my $i = 1; $i < 10; $i++ ) { my $x = $i; take $x; }; @a.perl.say; | |||
p6eval | rakudo 7717c4: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9]» | ||
KyleHa | Yep. It's a bug. | 02:47 | |
colomon | Also RT #62178? | ||
I'm not good at searching RT yet. | |||
KyleHa | Well, that one was merged with the other one you found, so yes. | ||
It would be good to note that the bug also affects 'loop'. I suspect the patch to fix it will fix them both, but I'm hardly learned enough to know. | 02:48 | ||
colomon | Is noting that as simple as sending an e-mail to rakudobug with 63634 in the subject line? | 02:49 | |
I can add a test for it. | |||
KyleHa | That would be awesome. testing++ | 02:50 | |
It is as easy as sending an email, but I think the subject has to be a little more specific, and I'm not sure it's to rakudobug. | |||
I can find out for sure in just a moment... | |||
It's [email@hidden.address] with a subject that has "[perl #62178]" in it. | 02:52 | ||
pugs_svn | r27898 | colomon++ | Added "todo" test for gather/take with loop. | 02:56 | |
colomon | KyleHa++ | ||
I'll take care of the e-mail, too, then go to bed. | |||
02:57
PZt joined
|
|||
colomon | Actually, wait -- is the current number 63634 or 62178? Which was merged into the other? | 02:58 | |
KyleHa | We usually merge later tickets into earlier ones. That's true with these two also. The 63k was merged into the 62k. | ||
colomon | Okay, done. | 03:00 | |
pugs_svn | r27899 | colomon++ | RT #63634 was merged into RT #62178, change the "todo" comments to reflect this. | ||
KyleHa | I looked at the test and didn't even notice that. 8-) | 03:01 | |
colomon | Good night! | ||
KyleHa | Good night! | 03:02 | |
03:05
nihiliad joined
03:07
ginkgo joined
|
|||
ginkgo | ?eval say "hi" | 03:07 | |
03:08
ginkgo left
03:14
KyleHa left
03:20
donaldh left,
donaldh joined
03:32
Limbic_Region left
03:36
sri_kraih_ joined
03:37
sri_kraih left
03:43
kane_ left
03:59
alester joined
|
|||
pmichaud | good morning, #perl6 | 04:01 | |
wayland76 | Good localtime() :) | 04:11 | |
Have you recovered yet? | |||
pmichaud | no. | 04:16 | |
well, yes. | |||
well, it depends. | |||
I just got home about an hour ago. Probably will have a messed up sleep schedule for a few days. But then I always have a messed up sleep schedule, so.... | |||
04:34
mofino left,
Hale-Bopp left,
japhb left,
gbacon left,
jiing left,
Aisling left,
zol joined,
mofino joined,
Aisling_ joined
|
|||
pmichaud | (sigh) we're getting lots of spectest fails on my machine | 04:38 | |
04:39
jiing joined
|
|||
pmichaud | in lives_ok { $test6 = Quux.^bar}, 'class attribute accessible via ^name'; | 04:42 | |
argg | |||
in t/spec/S12-attributes/class.t we have | |||
lives_ok { $test6 = Quux.^bar}, 'class attribute accessible via ^name'; | |||
....huh? | |||
(reading spec) | 04:46 | ||
okay, I can see that. | 04:47 | ||
In general it looks to me like we're getting far too many "lives_ok" and "eval_dies_ok" tests in the suite. | |||
I'd prefer to just #?rakudo skip things that don't work. | 04:48 | ||
pugs_svn | r27900 | pmichaud++ | [t/spec]: Fudge a couple of failing .HOW-related tests in meta-class.t. | 05:01 | |
r27901 | pmichaud++ | [t/spec] Rakudo fudge (regress) some tests in S12-enums/basic.t | 05:04 | ||
r27901 | pmichaud++ | that have been failing for a few weeks. | |||
05:10
SmokeMachine joined
05:20
Jedai left
05:39
missingthepoint joined
|
|||
missingthepoint | howdy all | 05:40 | |
i've a question... how can one do a use_ok()-type call currently? | 05:41 | ||
(i'm trying to bend Test.pm to my will and not having much success ;) | 05:42 | ||
05:50
orafu left
05:51
orafu joined
05:57
nihiliad left
|
|||
wayland76 | I was wondering the same thing as missingthepoint the other day, but never did find out | 06:10 | |
missingthepoint | wayland76: it seems use errors aren't caught by try blocks. i don't know if this is according to spec. | 06:19 | |
(in rakudo) | 06:20 | ||
06:26
Eevee left
06:34
alester left
|
|||
missingthepoint | ah, eval 'use ...' or die "caught: $!" does what I want. | 06:36 | |
wayland76 | Thanks! I'll keep that in mind | ||
missingthepoint | no problem... i think try {} not handling use exceptions is a rakudobug, will submit unless you can tell me otherwise :) | 06:37 | |
06:40
dduncan joined,
dduncan left
|
|||
wayland76 | missingthepoint: it's probably a rakudobug, but just check whether it's a control exception or not -- try/catch doesn't work on control exceptions | 07:02 | |
07:20
donaldh left
07:21
donaldh joined
07:22
nperez joined
|
|||
nperez | ping | 07:23 | |
mberends | nperez: pong | ||
07:24
japhb joined
|
|||
nperez | so I was curious about select() in rakudo | 07:24 | |
mberends | not yet implemented, unfortunately, otherwise people would be busy porting POE and stuff already | 07:25 | |
nperez | I'd like to work on a naive port of POE to rakudo but I am not finding select, heh | ||
mberends | hah | ||
nperez | so what is the level of effort required | ||
I'd like to work on it | |||
does select() exist in parrot land and it merely needs to be abstracted up in rakudo? | 07:26 | ||
mberends | nperez: it's probably quite tough, because the IO classes are tricky. Yep, it's Parrot work that may be incomplete. You'd have to confirm first whether Parrot has a select()-ish feature. I dunno. | 07:27 | |
nperez | acknowledged | 07:28 | |
mberends | well select() is not where you expect to find it in docs.parrot.org/parrot/latest/html/...e.pod.html | 07:31 | |
07:32
abra joined
07:39
Su-Shee joined
|
|||
Su-Shee | good mornings stars and starlets. :) | 07:39 | |
mberends | gute morgen :) | 07:41 | |
Su-Shee | mberends: is this actual german? :) if so - read the rakudo announcement on heise.de? | 07:44 | |
huf_ | isnt that "guten"? | 07:45 | |
or... wait | |||
mberends | I hack german, because I'm dutch. I helped lichtkind++ with some de->en translation of his Perl 6 Tablets. We met in Lisbon too. | ||
07:45
huf_ is now known as huf
|
|||
Su-Shee | mberends: ah. I've placed your name at the coast anyway. :) | 07:46 | |
07:47
Khisanth left
|
|||
mberends reads the 'FrxFChjahr 2010' article :) | 07:47 | ||
wayland76 | Früh = ??? | 07:51 | |
mberends | early, (Spring) | ||
Su-Shee | wayland76: german spring is literally "early in the year" ;) | 07:52 | |
wayland76 | Ok | ||
missingthepoint | I think the German was kind to Pm... he wanted it somewhat imprecise :) | 07:53 | |
wayland76 | Yeah, I figured :). I figured out the "jahr" part somehow (no idea how), but the rest was beyond me :) | ||
07:53
molaf joined
|
|||
missingthepoint | wayland76: force-fed German in primary school like me? | 07:54 | |
wayland76 | No, never studied any German at all :) | 07:55 | |
missingthepoint | your loss ;) | ||
wayland76 | But have picked up little bits of Old English, and other bits and pieces along the way :) | ||
Su-Shee | yes! all this nice grammar and inflection! ;) | ||
wayland76 | Well, I got French instead (although only in secondary school) | ||
Anyway, I'm being called for food. afk& | 07:56 | ||
huf | Su-Shee: dont forget nouns with genders.. that part pissed me off always | ||
Su-Shee | huf: weren't you hungarian? | 07:57 | |
huf | yeah | ||
we have even less gender in the language than english | |||
no he/she distinction | |||
Su-Shee | huf: yeah, because after doing your inflection style, there wasn't much left for other parts of grammar. ;) | ||
huf | oh, believe me we could put a lot of shit in :) but not genders. that is insane. | 07:58 | |
Su-Shee | I had hungarian lessons for a few weeks. | ||
huf | how is a table or some cheese more male than not? does this make any sense to you? | ||
this was a large part of my problem with hebrew too | 07:59 | ||
Su-Shee | huf: ask the greek and romans, we have more or less adopted their gender roles. | ||
mberends | the heise.de article has 110 comments, too much to quickly peruse, there are supporters and detractors there. | ||
Su-Shee | mberends: ah, yes. I see. I usally avoid reading comments - better for my health. ;) | 08:00 | |
mberends: half of it is stupid crap anyway. grr. | 08:01 | ||
mberends | yes, the backlogs on perlgeek.de are enough. it was just some curiosity about the wider public perception, that Rakudo * also aims to address. | 08:02 | |
Su-Shee | yeah, under that impression it's interesting indeed. | ||
"who needs this old crap" "perl is garbage anyway" "programming language x is cleaner/faster/better" ;) | 08:03 | ||
moritz_ | 'morning | 08:04 | |
Su-Shee | hi moritz. :) | ||
mberends | hi moritz_, have you seen www.heise.de/developer/news/foren/S...3655/list/ ? | 08:05 | |
Su-Shee | Now I'm angry again. :) "Perl 6 isn't Perl" | 08:07 | |
moritz_ | mberends: not the comments, no | ||
08:07
charsbar left
|
|||
Su-Shee | moritz_: if you care for your blood pressure: don't. ;) | 08:07 | |
08:08
charsbar joined
|
|||
moritz_ | Su-Shee: I'm youg enough not to care too much for my blood pressure | 08:09 | |
Su-Shee | reading comments will change that fast. ;) | 08:10 | |
mberends | We must be realistic and acknowledge the valid points other people make. Kool-Aid will not sustain us. Good working code is the best weapon, and that's what we'll have by April. | 08:12 | |
Su-Shee | I've started to ask friends and fellow developers what would convince them to give perl 6 a try. interestingly, they all "somehow" liked perl5 and seemed to be very open minded for a more modern perl version. so, that's something to emphasize. | 08:15 | |
mberends | you can try a lot of Perl 6 on a Perl 5 system: search.cpan.org/search?query=perl6&...ode=module | 08:18 | |
Su-Shee | mberends: yeah, but rakudo works really well for quite some time and is no problem under Linux, so I usally recommend rakudo. | 08:21 | |
mberends | agreed. the Perl 6->5 efforts are for certain scenarios: 1. company policy 2. existing code 3. functionality (DB etc) 4. speed | 08:23 | |
Su-Shee | the speed thing is sadly the first thing you notice. | 08:24 | |
mberends | Moose is also doing an excellent job of providing a semantically compatible object system. | 08:26 | |
08:27
araujo joined
|
|||
Su-Shee | Moose is really nice, I've just started to read up with Dave Rolsky's documentation and to experiment a little. | 08:27 | |
on the other hand.. I can have Rakudo now.. :) | 08:28 | ||
08:31
Jedai joined
08:35
zamolxes joined
|
|||
colomon | I've kept on bumping into the speed thing all week. Seems like Rakudo is routinely at least 100x slower than you'd like it to be. | 08:48 | |
08:49
kane_ joined
|
|||
colomon | One script I wrote was 5000x times slower than the Perl 5 version. :( | 08:49 | |
Su-Shee | "oh yeah." :) | 08:50 | |
mberends | Improving speed is also on the roadmap for Rakudo * and there are known bottlenecks due to be fixed soon according to pmichaud++ and jnthn++, and they always deliver what they promise :) | 08:53 | |
missingthepoint | something interesting i read recently re: the speed issue: awarth.blogspot.com/2009/01/use-of-...g-new.html | ||
(meta, links to another paper but has insightful commentary) | |||
08:55
tann joined
|
|||
Su-Shee | mberends: I wasn't really complaining, I'm sure it'll be fixed in time. | 08:55 | |
missingthepoint | 404, sorry... www.sics.se/~joe/pubs/prac_appl_prolog.ps seems to work :) | ||
08:55
fridim_ joined
|
|||
colomon | mberends: I understand there are plans to deal with it. It's just that from my perspective playing around with Rakudo, the biggest thing stopping it from feeling like a "real" tool today is the speed. | 08:58 | |
08:58
Jedai left
|
|||
colomon | That's actually an amazing testament to all the work done in the last six months! | 08:59 | |
missingthepoint | colomon: true | ||
pleasant remainder-of-day to you all :) | 09:02 | ||
09:02
missingthepoint left
09:05
eMaX joined
|
|||
mberends | Not only the (lack of) speed hurts, also the amount of memory used bothers me. It seems to be a consequence of continuation passing style, and not using stacks. The heap is used instead, and that is expensive. The consolation will be that while very simple algorithms will take longer, we get far more powerful algorithms (eg hypers, laziness) that boost our more complex applications. Much of that is not yet implemented, unfortunately. | 09:06 | |
moritz_ | mberends: I think it's more that everything is boxed | 09:08 | |
09:09
zamolxes left
|
|||
mberends | moritz_: also that, yes. | 09:10 | |
09:13
hanekomu joined
|
|||
wayland76 | The thing that makes it not feel like a real tool to me is the Null PMC errors :). But those will be fixed in time :) | 09:20 | |
09:21
hanekomu left,
hanekomu joined
09:28
eMaX left,
eMaX joined
09:29
hah joined
09:30
abra left
09:32
hanekomu left
09:33
hanekomu joined
09:35
tann left
09:51
zamolxes joined
|
|||
pugs_svn | r27902 | mberends++ | slides for "Perl 6 for Perl 5 Programmers" from YAPC:EU 2009, Lisbon | 10:05 | |
10:23
kane_ left
10:25
xinming left,
Whiteknight joined
10:54
morenel joined
11:20
donaldh left,
donaldh joined
11:30
meppl joined
11:45
zamolxes left
|
|||
colomon | wayland76: But that's kind of what I'm getting at -- for me, I'm only getting occasional Null PMC errors, and only when I try something "out there". The speed stuff is every time I try a program with a good-sized loop. | 12:00 | |
wayland76 | Hmm. Well, I'm working on maybe 5 programs, and at least 3 of those are stuck on null PMCs | 12:01 | |
I suspect a difference in programming styles | 12:02 | ||
(Which is fine, of course :) ) | |||
12:08
KyleHa joined
|
|||
KyleHa | I've always had the spectest fail on S12-attributes/class.t and S14-roles/basic.t, and I'm wondering if there's something my system is missing. They pass everything fine and then barf on exit. | 12:17 | |
12:18
Front_slash joined
|
|||
moritz_ | KyleHa: it fails for everybody | 12:19 | |
KyleHa | Oh. Well, that explains it. | ||
moritz_ | it's the so-called "inferior run-loop" problem | ||
KyleHa | Too many croaking evals. Ribbit. | 12:20 | |
Is there a way to tell 'make spectest' how many jobs to run? | 12:23 | ||
moritz_ | in the TEST_JOBS env variable, iirc | 12:24 | |
yes | |||
KyleHa | Yep, that seems to work. | 12:25 | |
moritz_ | KyleHa: do you have your commit bit yet? | 12:26 | |
KyleHa | Not that I know of. | ||
moritz_ | when you go to github.com/rakudo/rakudo/ and see a "Your Clone URL", you have it ;-) | 12:27 | |
KyleHa | That's good to know; I was wondering how I could tell that. | 12:28 | |
12:29
lisppaste3 left
|
|||
KyleHa | It says "Clone URL", but not 'Your'. | 12:29 | |
12:29
lisppaste3 joined
|
|||
moritz_ | then pmichaud++ hasn't added you | 12:29 | |
KyleHa | He's a busy man. | 12:30 | |
moritz_ | right; let's remind him when he's back online ;-) | ||
KyleHa | *nod* | 12:31 | |
colomon | wayland76: Crazy! | ||
wayland76: I haven't had a Null PMC that I couldn't work around in five minutes or so. Usually they just make me do something elegantly rather than extremely elegantly. :) | 12:32 | ||
wayland76 | phenny: tell pmichaud KyleHa needs a commit bit on github | ||
phenny | wayland76: I'll pass that on when pmichaud is around. | ||
wayland76 | lambdabot: @tell pmichaud KyleHa needs a commit bit on github | ||
lambdabot | Consider it noted. | ||
wayland76 | Thaqt should cover it :) | ||
moritz_ | wayland76: he, don't spam him ;-) | ||
phenny: tell pmichaud github id is 'kyleha' | 12:33 | ||
phenny | moritz_: I'll pass that on when pmichaud is around. | ||
moritz_ | .o( let me do that ;-) | ||
wayland76 | lambdabot: @tell phenny Do bots talk to bots? | ||
lambdabot | Consider it noted. | ||
wayland76 | phenny: tell lambdabot do bots talk to bots? | ||
phenny | wayland76: I'll pass that on when lambdabot is around. | ||
lambdabot | phenny: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
phenny | lambdabot: 12:33Z <wayland76> tell lambdabot do bots talk to bots? | ||
wayland76 | Ok, they do :) | 12:34 | |
wayland76 refrains from setting up infinite loops and things | |||
moritz_ | wayland76: since lambdabot doesn't deliver the message directly, it's a bit hard | ||
wayland76 | phenny: tell lambdabot @messages | 12:35 | |
phenny | wayland76: I'll pass that on when lambdabot is around. | ||
moritz_ | oh. | ||
wayland76 | FSVO "hard" :) | ||
moritz_ | FSVO of "moritz stupid" ;-) | 12:37 | |
rakudo: my $a = any({ .say }, { say $_ x 2}); $a('foo') | 12:38 | ||
p6eval | rakudo 7717c4: OUTPUT«foofoofoo» | ||
moritz_ | rakudo++ | ||
pugs_svn | r27903 | kyle++ | [t/spec] mark some infinite loop skip fudges as "noauto" for autounfudge.pl | 12:40 | |
moritz_ | KyleHa: ah, I didn't bother with that, because I use the autounfudge.pl from the autounfudge-with-limits branch | 12:41 | |
which has a CPU time limit | |||
KyleHa | Will that ever be merged into master? | 12:42 | |
moritz_ | that's a good question | ||
it's a rather crude hack | |||
something of which I'm not proud at all | |||
KyleHa | Sounds useful anyway. 8-) | 12:43 | |
I tried autounfudge just to get to know it, and it had about 4G of memory when I gave up on it. | 12:45 | ||
moritz_ | yes, memory limit is also done in that branch ;-) | ||
t/spec/S06-operator-overloading/method.t looks rather broken | |||
I can't find the spec that says that prefix operators can be methods | 12:46 | ||
12:47
fridim_ left
|
|||
moritz_ | rakudo: for 1..10 { .say; last } | 12:48 | |
p6eval | rakudo 93f2fc: OUTPUT«1» | ||
KyleHa | rakudo: my List $x = <1 2 3>; say $x.WHAT; | 12:50 | |
p6eval | rakudo 93f2fc: OUTPUT«Array()» | ||
KyleHa | That surprises me. | ||
moritz_ | Array ~~ List | ||
rakudo: say Array ~~ List | |||
p6eval | rakudo 93f2fc: OUTPUT«1» | ||
KyleHa | rakudo: say List ~~ Array | 12:51 | |
p6eval | rakudo 93f2fc: OUTPUT«0» | ||
KyleHa | Fair enough. | ||
colomon | Does that mean an Array is a kind of List? | 12:52 | |
KyleHa | Other way. A list is a kind of Array. | ||
moritz_ | no, colomon was correct | 12:53 | |
an Array is a List that is also mutable | |||
it adds behaviour to the List | |||
KyleHa | I'm surprised again! | ||
I guess I expect the Array to 'be' the List just by forbidding the operations the List does not support. | 12:54 | ||
moritz_ | actually it's a bit more complicated even | 12:55 | |
List is a (parametric) role | |||
I think that Array is also a role | |||
and Array does List | 12:56 | ||
and List does Positional | |||
and Everybody is Surprised | |||
colomon | I don't know how much Perl 6 follows the Lyskov Substitution Principle, but that's what makes sense here. Any function that expects a List should work just fine on an Array. But vice versa wouldn't work. | ||
moritz_ | colomon: we do know about Liskov, and try not to surprise her ;-) | 12:57 | |
colomon | (Not sure how well these definitions fit with my intuitive non-Perl sense of what those terms mean, mind you.) | ||
Yeah, not following Liskov is one of the things that makes me want to smack programmers whose code I have to work with. | |||
Ugh horrible syntax. I mean, I try to follow it strictly. But I have to use code which doesn't, and I hate it. | 12:58 | ||
12:58
pancake joined
13:00
JimmyZ joined
|
|||
pugs_svn | r27904 | moritz++ | [t/spec] remove eval from last.t; vim modelines | 13:00 | |
13:02
pancake left
|
|||
pugs_svn | r27905 | kyle++ | [t/spec] More types tests from moritz++ on IRC | 13:02 | |
KyleHa | Moritz, could you confirm that my test descriptions are correct? | ||
moritz_ | KyleHa: they are fine | 13:03 | |
KyleHa | Thanks! | ||
moritz_ | git-rebase -i kinda surprises me | 13:04 | |
I have to tell it the last revision that I leave unchanged | |||
not the first I want to change | |||
that feels... odd | |||
how do you rebase the first commit, then? | 13:05 | ||
13:07
xinming joined
|
|||
KyleHa | I think { $p ?? $t !! $f } makes more sense anyway, whether one wanted to steal the colon for something else or not. | 13:10 | |
moritz_ | ah, you read the presentation ;-) | ||
I agree; but it took me quite some time to get used to it | |||
and many still do it wrong | 13:11 | ||
KyleHa | I'm part way through it... | ||
moritz_ | std: 1 ~~ Seq | 13:12 | |
p6eval | std 27903: OUTPUT«ok 00:02 37m» | ||
13:12
fridim_ joined,
fridim_ left
|
|||
KyleHa | This might be improved slightly by references to the Syn whence each frame comes. | 13:14 | |
moritz_ | well, the presentation is mostly meant for those that were at YAPC | 13:17 | |
most of them didn't have the synopsis available at that time anyway | |||
if it were a scientific talk I'd agree | |||
KyleHa | Either way, it totally lives up to the hype. | 13:19 | |
moritz_ | aye | ||
mberends++ | |||
JimmyZ | Hello, #perl6 | ||
pugs_svn | r27906 | moritz++ | [t/spec] remove a duplicate test and some evals | 13:20 | |
moritz_ | hi JimmyZ | 13:21 | |
KyleHa | autounfudge has 4.2G of memory again. It's nice to have 8G. | 13:22 | |
moritz_ | ;-) | ||
13:27
M_o_C joined
|
|||
colomon | Does that +- operator (in the talk) work currently in Rakudo?! | 13:37 | |
13:46
maja left
13:47
JimmyZ left
13:50
maja joined
13:55
hercynium left
|
|||
mberends | aw, thanks guys :) it's a pity there's no audio. colomon, you can define your own unicode operator to make it work. | 14:02 | |
rakudo: sub infix:<xB1> ($l, $r) { $l-$r | $l+$r }; my $a = 5 xB1 2; if $a == 3 { "HAZ 3".say } if $a == 7 { "HAZ 7".say } | 14:03 | ||
p6eval | rakudo c13df6: OUTPUT«HAZ 3HAZ 7» | ||
colomon | rakudo++ mberends++ | ||
Every time I see someone diss operator overloading I want to hit them. | 14:04 | ||
Just saw a big article arguing "How often do you need to define a class that can really justifiably overload operator +?" | 14:05 | ||
But that's the wrong question -- should be "How often do you use a class that really justifiably should overload operator +?" | |||
And for me the answer is pretty much every day. | |||
mberends | indeed. btw, your Texas +- is also ok: | 14:06 | |
sub infix:<xB1> ($l, $r) { $l-$r | $l+$r }; my $a = 5 xB1 2; if $a == 3 { "HAZ 3".say } if $a == 7 { "HAZ 7".say } | |||
gah | |||
KyleHa | Why's it called "Texas"? | ||
mberends | big and crude | ||
KyleHa | Heh. | 14:07 | |
mberends | sub infix:<+-> ($l, $r) { $l-$r | $l+$r }; my $a = 7 +- 2; if $a == 5 { "HAZ 5".say } if $a == 9 { "HAZ 9".say } | ||
colomon | Thought it might. Sweet! | ||
mberends | rakudo: sub infix:<+-> ($l, $r) { $l-$r | $l+$r }; my $a = 7 +- 2; if $a == 5 { "HAZ 5".say } if $a == 9 { "HAZ 9".say } | ||
p6eval | rakudo c13df6: OUTPUT«HAZ 5HAZ 9» | ||
colomon | Somehow I was under the impression that neither operator overloading nor unicode functions really worked yet. Apparently I was wrong! | 14:08 | |
mberends | more than in almost every other language, Perl 6 operators are just syntactic sugar for subroutines :) | 14:09 | |
KyleHa | Defining one's own operators has worked for quite a while. I recall it being demonstrated at YAPC::NA a year ago. | ||
colomon | (Now contemplating defining a 3D vector class just to do cross and dot products with the proper symbols...) | ||
mberends | colomon++: it should be no problem, just a small matter of programming the algorithm ;) | 14:10 | |
14:10
cogno joined
|
|||
colomon | And figuring out how to do Unicode in my editor. (Which should also be simple, admittedly.) | 14:11 | |
mberends | colomon: what OS do you use? | ||
colomon | OS X on this machine. Well, and Windows XP on this machine as well. | 14:12 | |
Also have 64-bit VIsta and three different Linuxes running in the house. | |||
I'm sure TextMate can do Unicode, I just don't know the magic invocations to get it. | 14:13 | ||
KyleHa | Sometimes there's a "character map". | ||
cogno | colomon, I tought texmate did Unicode by default | 14:14 | |
mberends | oh wow. my ubuntu has character map tool, also right-alt + anotherkey does a few (aka AltGr). xAB is AltGr+z and xBB is AltGr+x. | 14:15 | |
KyleHa | I think I'd just as soon use Texas style as figure out how to type Unicode. | 14:16 | |
14:17
nihiliad joined
|
|||
mberends | AltGr+qwertyuiop gives @łe¶ŧ←↓→øþ | 14:18 | |
KyleHa | The "cartoon cursing" operator? | ||
mberends | heh :) | ||
cogno | With texmate that should not be difficult to add macros to generate appropriate Unicode chars | 14:19 | |
colomon | rakudoL:+ | ||
whoops. | |||
moritz_ | on the german keyboard AltGr+y -> « | 14:20 | |
colomon | rakudo: sub infix:<⋅>($a, $b) { return [+]($a <<*>> $b); }; say (1,2,3)⋅(3,4,5); | ||
p6eval | rakudo c13df6: OUTPUT«26» | ||
moritz_ | on the german keyboard AltGr+x -> » | ||
colomon | rakudo++ | ||
That's pasted from TextMate (don't know how to enter Unicode in my IRC client, either!). | |||
moritz_ | maybe it's AltGr + any< z x > on the US keyboard | ||
colomon | Edit / Special Characters brings up a tool for entering funky characters. And apparently Unicode is on by default. | 14:21 | |
reppie | there's no AltGr on US keyboard :) | ||
moritz_ | well, on linux you can always use compose + < + < | 14:22 | |
colomon | Cross product works as well, though it's a bit long to enter as a one-liner here. | 14:29 | |
mberends | colomon++ | ||
colomon | I need to get to real work, but I was serious about working on a vector class -- worth it just for the fun of finally having the proper notation available. | ||
M_o_C | <@moritz_> on the german keyboard AltGr+y -> «: On Linux that is? | 14:30 | |
moritz_ | M_o_C: yes | ||
M_o_C | Btw, is unicode character support specced as required or optional? | 14:32 | |
moritz_ | required. | ||
mberends | colomon: a vector class would be very handy, there are already some svg tools to render output to a browser. | ||
moritz_ wonders if how sensible it would be to port a C++ linear algebra library with expression templates to Perl 6 | 14:33 | ||
s/if// | 14:34 | ||
mberends | moritz_ it may not be sensible, but do it anyway ;) | ||
en.wikipedia.org/wiki/Compose_key | 14:35 | ||
colomon | mberends: Can you point me where I'd need to look? I was thinking 3D math because that's my day job, but if I can help product something useful and teach myself more Perl 6 at the same time, that would be pretty worthwhile IMO. | ||
moritz_: What C++ library? | |||
moritz_ | colomon: I was thinking of eigen2 | 14:37 | |
colomon | moritz_: I'm not familiar with that, looks interesting. | ||
Su-Shee | vector classes? wrap cairo. | 14:38 | |
mberends | colomon: github.com/perl6/perl6-examples/tre...04/lib/SVG and github.com/masak/svg/tree/master | ||
colomon | mberends: are those two forks of the same package or two different packages? | 14:40 | |
mberends | masak++ is drawing 3D perspective in his Druid game as well, you may be able to collaborate with him. Those are all separate projects. | 14:41 | |
afk & | 14:42 | ||
14:52
Psyche^ joined
14:56
Chillance joined
15:02
cogno left
15:03
Patterner left,
Psyche^ is now known as Patterner
15:13
JimmyZ joined
15:18
Khisanth joined
15:20
donaldh left,
Khisanth left
15:21
donaldh joined
15:27
whoisthatgoksie joined
15:28
KyleHa left
|
|||
whoisthatgoksie | hi | 15:31 | |
join perl6 | 15:32 | ||
15:37
Khisanth joined
15:39
Khisanth left
15:56
Khisanth joined
16:11
pmurias joined
16:12
Khisanth left
16:13
Khisanth joined,
codeacrobat joined
16:14
Khisanth left
|
|||
codeacrobat | hi can anyone update the tutorial links on perl6.org, they all point to nirvana e.g. perl6.org/doc//books/tutorial/ch01_overview.html | 16:15 | |
16:20
kane_ joined
|
|||
JimmyZ | see perl6-projects.org/ | 16:29 | |
pugs_svn | r27907 | pmichaud++ | [t/spec]: Fudge out some tests that have regressed for a while | ||
moritz_ | RT #68318 looks invalid to me | 16:30 | |
16:34
aindilis joined
16:36
Khisanth joined
|
|||
moritz_ | replied, rejected. | 16:38 | |
ENODALEK | 16:39 | ||
16:46
alester joined
16:47
Khisanth left
|
|||
codeacrobat | @JimmyZ what has perl6-projects.org/ to do with perl6.org link errors? | 16:50 | |
lambdabot | Unknown command, try @list | ||
phenny | lambdabot: 12:35Z <wayland76> tell lambdabot @messages | ||
codeacrobat | @JimmyZ what has perl6-projects.org/ to do with perl6.org link errors? | 16:51 | |
16:51
Guest14327 joined
|
|||
pugs_svn | r27908 | moritz++ | [t/spec] remove some incorrect tests from unicode.t | 16:52 | |
r27909 | moritz++ | [t/spec] removed useless eval | |||
JimmyZ | codeacrobat: perlcabal.org/svn/pugs/browse/docs/tutorial | 16:53 | |
codeacrobat | JimmyZ:I know about the tutorials. I just think it is bad pr if you google for perl6 and tutorial and end up with dead links... | 16:55 | |
JimmyZ | ahh | ||
codeacrobat | at least a link to the proper location should be placed on perl6.org | ||
moritz_ | I don't know who maintains perl.org, but it doesn't seem to be a community project | 16:57 | |
I'd really like to establish perl6-projects.org as *the* central website for Perl 6 stuff | |||
and also replace dev.perl.org/perl6/ which is mostly out of date | |||
Su-Shee | moritz_: already planned for that. | ||
JimmyZ | perl6.org is out of date. | 16:58 | |
moritz_ | Su-Shee: one step closer to world domination? ;-) | ||
cognominal | we should learrn from haskell.org | ||
Su-Shee | moritz_: already have half of a design, better suited for extensability. | ||
16:58
kane_ left
|
|||
Su-Shee | moritz_: I want the success of Perl 6. :) | 16:58 | |
JimmyZ | Su-Shee: Everyone here does. | 16:59 | |
16:59
aindilis left
|
|||
Su-Shee | JimmyZ: well that's no surprise :) | 17:00 | |
JimmyZ | Su-Shee: ;) | ||
JimmyZ must sleop | 17:01 | ||
good night | |||
17:01
JimmyZ left
|
|||
Su-Shee | moritz_: I've planned a very plain and easy/fast to read startpage and a better separation of interesting subjects and a dedicated list of business reasons to use perl 6. | 17:01 | |
moritz_: think of the demans "show me - real examples" "tell me - how to do business" - "give me - the source" "read me - some documentation" and so on. | 17:02 | ||
demands. | |||
17:03
dukeleto joined
|
|||
dukeleto | howdy | 17:03 | |
pugs_svn | r27910 | kyle++ | [t/spec] Convert todo+lives_ok to skip | 17:04 | |
17:07
KyleHa joined
17:08
Guest14327 left
17:09
Guest14327 joined
17:13
kane_ joined
17:25
arnsholt left,
Guest14327 left
|
|||
KyleHa | I have a commit to add a "# vim: ft=perl6" line to every t/spec .t file that doesn't have one. It changes some 400 files. Any reason I should hold it? | 17:29 | |
17:37
goksie joined
17:40
SmokeMachine left,
frew joined
17:42
dukeleto left
|
|||
mberends | KyleHa: you can count on my forgiveness ;) | 17:42 | |
17:45
frew left,
frew joined
17:50
goksie left
|
|||
KyleHa | May revision control have mercy on my soul. | 18:33 | |
pugs_svn | r27911 | kyle++ | [t/spec] Add vim: lines everywhere. | 18:35 | |
r27911 | kyle++ | | |||
r27911 | kyle++ | perl -e 'my %h;@h{`grep -rl "use v6" t/spec`}=();delete @h{`grep -rl "vim:" t/spec`};print keys %h' | |||
r27911 | kyle++ | | grep '\.t$' | |||
r27911 | kyle++ | | xargs perl -pi -e 'if (eof) {print "$_\n# vim: ft=perl6\n";$_=""}' | |||
18:36
fredrecsky joined
18:38
codeacrobat left
18:44
Su-Shee left
18:46
masak joined,
masak left
|
|||
pmichaud | moritz_: At YAPC::EU I asked TimToady++ about replacing dev.perl.org/perl6/ with a link to perl6-projects.org, and he thought it was a good idea. | 18:47 | |
phenny | pmichaud: 12:32Z <wayland76> tell pmichaud KyleHa needs a commit bit on github | ||
lambdabot | pmichaud: You have 4 new messages. '/msg lambdabot @messages' to read them. | ||
phenny | pmichaud: 12:33Z <moritz_> tell pmichaud github id is 'kyleha' | ||
pmichaud | I'll see if I can do that this weekend. | ||
18:47
Khisanth joined
|
|||
pmichaud | 'kyleha' added as committer to rakudo github repo | 18:48 | |
KyleHa | Woohoo!! Thank you pmichaud++ | 18:52 | |
It works! | 18:55 | ||
18:58
alester left
19:01
Khisanth left
19:03
Guest17110 joined,
maja_ joined
19:10
Guest17110 left
|
|||
nperez | to reiterate from last evening, I'd like to help on the implementation of something select-like. The current IO spec had select() (both forms) removed. What is the plan for doing synchronous I/O multiplexing? | 19:11 | |
currently, parrot has an implementation to poll a socket | |||
19:20
donaldh left,
maja left,
donaldh joined
19:24
Front_slash left
19:25
fredrecsky left
19:28
kane_ left,
kane_ joined
19:29
Guest82420 joined
|
|||
mberends | nperez: glad to see you continuing :) | 19:31 | |
moritz_ | nperez: I think wayland76 and ruoso did some of the IO design - maybe ask them | ||
nperez | Acknowledged | 19:32 | |
is there a message bot? | |||
moritz_ | nperez: yes. 'phenny, tell $nick $message' | 19:33 | |
nperez | phenny, tell wayland76 I am interested what the plan is for polling io handles (ie. select(2)) and am willing to be guided/mentored to do the work | 19:34 | |
phenny | nperez: I'll pass that on when wayland76 is around. | ||
mberends | nperez: you could try to make a proof-of-concept code example that exercises the Parrot code inside a Rakudo Q:PIR{ } block, and nopaste it at a time when many potential helpers are around. Search the Rakudo source files (eg in the setting) for Q:PIR examples. | 19:35 | |
nperez | right. just not sure where the function should live since the spec explicitly says it was removed | 19:36 | |
mberends | nperez: that's why an unspecced implementation helps to explore what a future spec might say about it. | 19:37 | |
pmichaud | nperez: I'd go ahead and build something that meets your expectations about what you want things to look like | ||
you'll then get feedback from people who say what they don't like about it :) | 19:38 | ||
nperez | heh | ||
pmichaud | but we'll at least have something working to start with (more) | ||
nperez | well, I'd like to start with the reason select() was removed from the spec in the first place | ||
pmichaud | and since you've had a lot of experience dealing with polling io things, you can somewhat bend the design to your will | ||
I suspect the reason for removing select() was something to do with event loop management as a whole | 19:39 | ||
nperez | hrm. | ||
mberends | nperez: did you imagine that you'd come in here and start *designing* part of Perl 6 ;-) | ||
nperez | mberends, no. I just wanted my trusty old perl5 select :) | ||
pmichaud | but whatever the reason, the truth is that there will be a lot of folks coming into Perl 6 who are familiar with select(), so we probably want something that makes at least a bit of sense to them | ||
nperez | pmichaud, understood | 19:40 | |
pmichaud | even if it doesn't turn out to be core, it may be a useful intermediate module | ||
(keeping in mind that we're trying to keep the core small anyway) | |||
nperez | Which is doable considering parrot sockets have a poll method | ||
pmichaud | exactly. | ||
we may discover that the spec ultimately ends up doing something radically different (more) | |||
we may discover that the spec ends up being silent on async IO, leaving it up to modules to flesh out the details (more) | 19:41 | ||
but if the spec does ultimately take on the async-IO issues, then it will either be very close to what you design, in which case refactoring will not be too much of an issue, or it will be radically different from what you design, in which case having another way of doing it would be a bonus | 19:42 | ||
regardless, I think the effort will be helpful and worthwhile. | |||
nperez | Okay, that gives me some wiggle room then. I'll start with a class that mimics perl5 IO::Select | ||
pmichaud | (especially for someone with your background) | ||
s/for/coming from/ | |||
nperez | and you give me too much credit. I'm used to working ontop of the abstraction layers, not writing them :) | 19:43 | |
but something simple like IO::Select is doable | |||
pmichaud | yes, you're used to working on top of abstraction layers, which means you likely know what you wish the abstraction layer did differently :) | 19:44 | |
and here's your chance to make it be different :) | |||
or "right". | 19:45 | ||
but yes, IO::Select should be doable | |||
nperez | Okay, let me work on that and I'll let that be the conversation piece. All I really need is select for POE. It can manage the rest (at least the simple parts) | 19:46 | |
that's the driver by the way. I'd like to get a naive port of POE on rakudo | 19:47 | ||
pmichaud | that sounds perfect. | ||
Tene | nperez: I've been working on and thinking about a POE port. | 19:48 | |
nperez | Tene, great, I'd like to see what you've been thinking | ||
pmichaud wishes Perl 5 had .comb about now. | 19:49 | ||
19:49
SmokeMachine joined
|
|||
Tene | I was just recently looking at the lack of select() in Parrot, and I'm planning to work with WhiteKnight to get that in really soon now. | 19:49 | |
Whiteknight | Tene: I'm around to hack most of the day tomorrow if you want to get started | 19:50 | |
pmichaud | ooh, nperez++ and Tene++ both working on POE would be an awesome combo | ||
Tene can clearly take care of the parrot bits. | |||
nperez | Yeah, what I saw in the parrot source of the poll method on the socket, it should probably be a bit more generic than that and work on any handle like the C version | 19:51 | |
I'll be upfront, I am a complete noob on both projects | |||
so educate me when possible :) | |||
pmichaud | we will certainly do so | ||
Tene | Yeah, also need a way to select() on many handles. | 19:52 | |
pmichaud | you're much less of a noob on POE than I am, though :-) | ||
mberends | I'd like to join this party, as I was interested in porting POE as well ;) | ||
Tene | Whiteknight: That might be very possible. I'll need to work it out. i have a visitor at my house right now. | ||
github.com/tene/Doten/tree/master was my first draft | 19:53 | ||
Doten is the name of an author who imitated Poe | |||
nperez | I have some other code I need to do today (clean the MooseX::Method::Signature integration into MooseX::Declare), but after that I be a free set of hands | ||
From my Moose+POE dealings, I have consider that most of the POE concepts should instead be Roles | 19:55 | ||
considered* | |||
So instead of a proper class for Session, a Role gives you much more flexibility | |||
pmichaud | that seems sensible. | ||
(at least to this noob it does :-) | |||
nperez | You can see this in action @ github.com/nperez/psm/tree/master | 19:56 | |
From there all sorts of POE roles become possible like TCPServer/Client, etc | |||
19:57
Guest82420 left
|
|||
Tene nods... | 19:57 | ||
nperez | Then for all of the methods you want exposed to the dispatching, you decorate them with traits | ||
Tene | That was my plan too. | ||
nperez | Okay, gotta run. I'll be back later, no doubt, attempting to write IO::Select and needing guidance | 20:01 | |
20:02
Guest82420 joined
|
|||
pmichaud | rakudo: my $a = ({ say 'foo'}); say $a.perl; | 20:02 | |
p6eval | rakudo 5667dc: OUTPUT«fooBool::True» | 20:03 | |
pmichaud | hmmmm. | ||
20:03
Guest82420 left
20:04
Guest82420 joined
20:05
Guest82420 left
20:07
Whiteknight left
|
|||
pmichaud | rakudo: { say 'foo' }; { say 'bar' }; | 20:08 | |
p6eval | rakudo 5667dc: OUTPUT«foobar» | ||
pmichaud | rakudo: ({ say 'foo' }; { say 'bar' }) | ||
p6eval | rakudo 5667dc: OUTPUT«foobar» | ||
pmichaud | rakudo: ({ say 'foo' }, { say 'bar' }) | ||
p6eval | rakudo 5667dc: ( no output ) | ||
pmichaud | Interesting. | ||
Not quite sure what to do about that one. | 20:11 | ||
Tene | rakudo: (1;1;1) | ||
p6eval | rakudo 5667dc: ( no output ) | ||
20:12
__ash__ joined,
dukeleto_ joined,
dukeleto_ left,
dukeleto_ joined
|
|||
pmichaud | I guess blocks in a semilist should never be marked as immediate. | 20:13 | |
20:14
zamolxes joined
20:15
KyleHa left
20:20
Guest64806 joined
20:21
Guest64806 left
|
|||
__ash__ | is there a way to call a role's method inside a function if you over ride it? gist.github.com/164492 has an example if you want to see what i am referring too | 20:21 | |
20:22
hah left
20:25
dukeleto_ is now known as dukelet0
20:31
nacho__ joined
|
|||
TimToady | hey, charlotte airport has free wifi | 20:32 | |
20:33
trexy joined
20:36
trexy left
20:50
frew left
|
|||
dukelet0 | TimToady: good to know | 20:53 | |
20:57
zamolxes left
|
|||
TimToady | well, better go find our gate... | 20:58 | |
bbl & | |||
20:58
stdisease joined
|
|||
stdisease | HI | 21:00 | |
21:01
whoisthatgoksie_ joined
|
|||
stdisease | Is the llama6 book still being worked on? I can't check out a draft. | 21:01 | |
21:01
frew joined
|
|||
stdisease | It says svn.lohutok.net host not found. | 21:04 | |
colomon | I've not actually heard it mentioned at all. | 21:05 | |
No sign of it in the pugs SVN tree, which is where I would expect it to live these days... | |||
But that may just be a sign of my ignorance. :) | |||
21:12
whoisthatgoksie left
|
|||
stdisease | colomon, hm, why do you expect it to live in pugs's svn? | 21:15 | |
colomon | That's where the majority of the Perl 6 documentation type things live these days. | ||
The specs live there, the spectests live there, and lots of other documentation and some examples. | 21:17 | ||
stdisease | ah, do I sense Pugs is currently the defacto implementation? I was just about to try the one in parrot instead | ||
colomon | No, rakudo is the current default implementation (if such a thing exists). | 21:19 | |
stdisease | the lack of a recommendation is kind of confusing to a newcomer such as myself | ||
colomon | You should try rakudo, for sure. | 21:20 | |
Though come to think of it, it's written using parrot, but it's not actually in the parrot distribution any more, is it? | 21:21 | ||
stdisease | Now all is left is to find me some decent documentation/introduction material | ||
It's not? | |||
well this page www.parrot.org/languages lists is | 21:22 | ||
colomon | It's written in Parrot, yes. | ||
But it lives at the web page you get when you click on the Rakudo link on that page, which is its own repository on github. | 21:23 | ||
stdisease | ah so this parrot 'thing' is not centralized | ||
colomon | If you scroll down on the Rakudo github page, it explains how to get rakudo and how to build it (fetching and building Parrot automatically). | 21:24 | |
But yeah, there are three main places for this at the moment: | 21:25 | ||
The parrot repository | |||
The rakudo repository | |||
The pugs repository | |||
Each with its own piece of the puzzle. | |||
Specs and such are at pugs, as well as some miscellaneous Perl 6 implementations. | 21:26 | ||
Rakudo is the most complete implementation at this time, at its own site. | |||
Unless you're interested in hacking Parrot, you can probably ignore that repository and just have Rakudo build what it needs of Parrot. | |||
21:26
morenel left
21:27
rfordinal left
|
|||
stdisease | Hmm, hopefully I have a better overview now, thanks | 21:27 | |
colomon | BTW, I use perlcabal.org/syn/ for documentation -- but it is very much a spec, not a beginner's guide. | ||
21:27
__ash__ left
|
|||
colomon | When I can't figure out things there, I ask here. | 21:27 | |
:0 | 21:28 | ||
:) | |||
stdisease | :D | ||
colomon | The perlcabal copy of the spec is rebuilt from an updated copy every hour, so is as up-to-date as anything out there. | 21:29 | |
21:31
molaf left
|
|||
stdisease | colomon, have you used perl5 before 6? | 21:33 | |
21:34
__ash__ joined
|
|||
colomon | Yes. I'm not hardcore like lots of the people here, but I've been using Perl since 1995. | 21:34 | |
__ash__ | is there a way to call a role's method inside a function if you over ride it? gist.github.com/164492 has an example if you want to see what i am referring too | ||
21:35
mikehh left
|
|||
stdisease | heh, that's longer than the time I've been using computers. I just hope it's possible to directly pick up p6 without having any prior experience with p5, caus' I'd really hate to have to expend energy on that. See I'm also trying to evaluate my options here. | 21:40 | |
21:44
frew left
|
|||
colomon | stdisease: I don't think you particularly need to know p5 to learn p6. | 21:44 | |
But a lot of the current materials are focused on that direction, on the assumption that they're trying to "convert" p5 programmers. | |||
stdisease | Huh - that could be a bit problematic. | 21:45 | |
colomon | Give me a sec to poke around the pugs repo. | ||
21:47
mikehh joined
|
|||
stdisease | I can't help but compare in this case (havens know how much I'm not into holy wars), but in the case of Python 3.x I can see a `clear road' towards that should I choose that language and stick with it, can't say the same for perl6, perhaps because it isn't official released yet (actually it's not clear to me if that's true or not ATM). | 21:47 | |
Keeping in mind I know them both (and other alternatives) equally well = pretty much not at all | 21:48 | ||
colomon | perl6 is not officially released yet. There are plans for a rakudo release in Q2 next year, but even that will not be the full p6. | ||
A big release, that is, there are development releases every month. | 21:49 | ||
stdisease | colomon, will not be full as in doesn't entire implement the spec? | ||
21:49
Whiteknight joined
|
|||
stdisease | *entirely | 21:49 | |
colomon | Yes. | ||
stdisease | Oh, sort of like C++0x | ||
and gcc | 21:50 | ||
colomon | It probably won't have full threading at that point, for instance. | ||
21:50
whoisthatgoksie joined
|
|||
stdisease | But the spec itself is finalized? | 21:50 | |
21:51
whoisthatgoksie_ left
|
|||
colomon | Certainly not finalized yet, and I think they're planning on using feedback from the big Q2 Rakudo release to fine tune the spec. | 21:51 | |
On the other hand, for lots of stuff Rakudo currently works reasonably well, though slowly. | 21:52 | ||
21:53
RonOreck left
21:54
RonOreck joined,
whoisthatgoksie left
21:55
whoisthatgoksie joined
|
|||
colomon | stdisease: I don't want to sugar coat things. I think p6 is a fantastic language, and I'm deeply enjoying working with it on very small projects right now. | 21:58 | |
But if probably won't really be ready for significant projects until sometime next year. | |||
stdisease | I'll poke around a bit for now, see how far I can get. | 22:01 | |
colomon | BTW, the pugs repo does continue a tutorial which is intended for anyone, not just p5 programmers. | 22:03 | |
pugs/docs/tutorial | |||
svn co svn.pugscode.org/pugs/docs/tutorial should get it for you. | 22:04 | ||
stdisease | yeah | ||
22:10
braceta joined
22:11
braceta left,
braceta joined
22:13
akl joined
|
|||
colomon | So, does anyone out there have an example of overloading "say"? | 22:23 | |
For a class, I mean. | |||
Hmmm... or should I overload stringify instead? | |||
22:29
arnsholt joined
22:35
__ash__ left
22:39
tann joined
|
|||
colomon | I think it's overload stringify, but while I can say that, I'm not sure how to do it. | 22:44 | |
22:46
carlin joined
22:51
Whiteknight left
|
|||
tann | rakudo: caller.perl; # :) | 22:52 | |
p6eval | rakudo 5667dc: OUTPUT«Could not find non-existent sub caller» | ||
colomon | rakudo: 1..10.say; | 22:53 | |
p6eval | rakudo 5667dc: OUTPUT«10» | ||
colomon | rakudo: (1..10).say; | ||
p6eval | rakudo 5667dc: OUTPUT«12345678910» | ||
colomon | Hmm... is that calling Range's ~ method internally? | 22:54 | |
Str, I mean, looking at the setting file again. | 22:55 | ||
22:58
dukelet0 left
|
|||
colomon | Sweet! That does it. If I overload method Str on my class, "say" calls it when I try to print out an object of that class. | 22:58 | |
rakudo: class A { has $.a }; sub infix<+>(A $x, A $y) { return $x.a + $y.a; }; say A.new(:a(1.0)) + A.new(:a(2.0)); | 23:07 | ||
p6eval | rakudo 5667dc: OUTPUT«Malformed routine definition at line 2, near "infix<+>(A"in Main (src/gen_setting.pm:3366)» | 23:08 | |
colomon | rakudo: class A { has $.a }; sub infix:<+>(A $x, A $y) { return $x.a + $y.a; }; say A.new(:a(1.0)) + A.new(:a(2.0)) | ||
p6eval | rakudo 5667dc: OUTPUT«Parameter type check failed; expected A, but got Num for $x in call to infix:+in sub infix:+ (/tmp/XRDot9wc7c:2)called from sub infix:+ (/tmp/XRDot9wc7c:2)called from Main (/tmp/XRDot9wc7c:2)» | ||
23:10
tann left
23:13
stdisease left
|
|||
jnthn | hi - just to let folks know I'm safe and well after my flight away form YAPC. Visiting UK friends at the moment and will be back to Perl 6 stuff on Wed. :-) | 23:15 | |
(For a definition of well that involes me actually being quite sick at the moment...but with folks who will care for me, so don't worry :-)) | |||
colomon: You probably wanted multi to add a candidate. You just replaced all candidates with that declaration... | 23:17 | ||
23:17
Limbic_Region joined
|
|||
colomon | rakudo: class A { has $.a }; multi sub infix:<+>(A $x, A $y) { return $x.a + $y.a; }; say A.new(:a(1.0)) + A.new(:a(2.0)) | 23:19 | |
23:20
donaldh left
|
|||
p6eval | rakudo 5667dc: OUTPUT«Null PMC access in find_method()in Main (/tmp/DKvWmCN4jN:2)» | 23:20 | |
23:21
donaldh joined
|
|||
colomon | rakudo: class A { has $.a }; sub multi infix:<+>(A $x, A $y) { return $x.a + $y.a; }; say A.new(:a(1.0)) + A.new(:a(2.0)) | 23:21 | |
p6eval | rakudo 5667dc: OUTPUT«Malformed routine definition at line 2, near "multi in"in Main (src/gen_setting.pm:3366)» | ||
colomon | jnthn++ You said that just in the nick of time to stop me submitting an incorrect bug report. :) | 23:22 | |
23:23
stdisease joined
23:24
stdisease left
|
|||
jnthn | colomon: The fact it doesn't work even as a multi is a (known and already reported) Rakudo bug though. :-( | 23:37 | |
jnthn is tired and flu-ish...sleep | 23:38 | ||
23:39
Whiteknight joined
23:51
__ash__ joined
|