|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! | Rakudo Star Released! Set by moderator on 29 July 2010. |
|||
| kid51 | Well, I did 'cd parrot-2.6.0 && make clean && cd .. && ./perl6 -e 'say q|Hello World|' and it worked | 00:00 | |
| Then I cleaned out the build/ dir and hello world still worked. | |||
| This is on linux/i386. | 00:01 | ||
| Although not much space was actually cleaned up. | |||
| Am still at 94% full. | |||
| I was about 86% before the install. | |||
| tylercurtis | kid51: I'm pretty sure build/ just has build scripts and such. | 00:02 | |
|
00:08
frobnitz left
|
|||
| shirtless | So if there is a class with no constructor (other than the implicit new), and it has $.variable; and no setter method. Is there a way to ever set that attribute? | 00:09 | |
|
00:09
brian joined
00:11
tadzik joined
|
|||
| shirtless | tadzik: there is no way to set the $.path attribute in your IO::Stat is there? | 00:11 | |
| I used the pir::* stuff successfully, but | |||
| tadzik | shirtless: what do you mean? | ||
| oh | |||
| shirtless: well, why would you want to do that? | 00:12 | ||
| shirtless | tadzik: what is the appropriate usage? I cannot figure out how to give it a path | ||
| been at it for a good 30m | |||
| heh | |||
| tadzik | shirtless: '/some/path'.IO.stat.size | ||
| shirtless | oh | ||
| damn | |||
| I was doing my $stat = IO::stat.new() *facepalm* | |||
| tadzik | that was the point of putting it in core :) | 00:13 | |
| shirtless | I guess i have to learn a bit more about what it means for something to be in the core, thanks. | ||
| tadzik | well | ||
| for me it means 'it's fun and useful enough' | 00:14 | ||
| at least in this case | |||
| shirtless | I like it a lot better than having to instantiate a new stat, that is for sure. | ||
| I would be satisfied with a wrapper function but this is nice | |||
| once I pick up the feel of perl6 more I will adapt | 00:15 | ||
| tadzik | I thought it was nice if it was integrated with .IO method | 00:16 | |
| and doing stat('file'.IO) would seem just wrong to me | |||
| shirtless | yeah, that's goofy | 00:17 | |
| either way it's better than writing 50 lines of equivalent C code :) | |||
|
00:17
betterworld joined
|
|||
| tadzik | well, it'd be one line of pir anyway :) | 00:17 | |
| shirtless | well, not really 50 | ||
| it is, but I didn't even know pir existed until I read the source of IO::Stat | 00:18 | ||
| still don't know wtf it is. I am guessing it's a namespace of parrot things. | |||
| tadzik | PIR is a Parrot Intermediate Representation, a language of Parrot opcodes | 00:19 | |
| shirtless | so all the functions in pir:: are probably written in parrot opcodes | 00:20 | |
| I was looking at some stuff that looked like vm opcodes, it didn't look too complicated | |||
| sorear | Rakudo compiles Perl 6 to PIR | ||
| shirtless | Looked easier than x86 asm | ||
| sorear | pir::XXX() is a trap for doing expression style inline access to pir ops | ||
| Q:PIR { ... } is more traditional "inline assembly" | 00:21 | ||
| shirtless | I feel like a child in a candy store | ||
| tadzik | sweet, isn't it? :) | 00:22 | |
| timdemkowsky | shirtless: haha, i know that feeling. :) | ||
|
00:24
ruoso joined
|
|||
| pmichaud | good evening, #perl6 | 00:26 | |
| actually, being called to dinner -- bbiaw | |||
| davidfetter | bon appetit, pmichaud | ||
| Tene | shirtless: pir:: are pir opcodes | ||
| brian | i'm off to bed. thanks to pmichaud and all the rest of the rakudo team | 00:28 | |
| timdemkowsky | phew, i just saw how much memory rakudo eats up... from 755mb to 864mb on my x64 linux box. tested this with 'say "hello world";'. :D | 00:29 | |
| i think thats a parrot problem after all | 00:30 | ||
| jnthn | timdemkowsky: er, hundreds of megs for "hello world"? | ||
| jnthn gets in the tens, but not hundreds :-) | |||
| shirtless | anyone here from around boston? | 00:31 | |
|
00:33
LaVolta joined
|
|||
| LaVolta | morning, everybody :) | 00:33 | |
| Tene | Hi! | ||
| timdemkowsky | jep, source is gist.github.com/499590 and perl6 --version is gist.github.com/499592 | 00:34 | |
|
00:34
ashleydev joined
|
|||
| timdemkowsky | jnthn: it takes a little more than one second to start up too | 00:36 | |
| jnthn | timdemkowsky: Yes, I can match that here. | ||
| whee | lucky ;D | 00:37 | |
| jnthn | timdemkowsky: That can certainly be (drastically) improved on. | ||
| timdemkowsky | jnthn: seems like there is a big room for speeding up :) but i guess its a 'problem' on the side of parrot | ||
| cotto_work | and one that we're working | ||
| [particle] | timdemkowsky: that's not entirely accurate | ||
| unoptimized code exists in both the rakudo compiler and the parrot vm | 00:38 | ||
| ingy | greetings fine *s | ||
| congrats | 00:39 | ||
| timdemkowsky | [particle]: maybe both need more love :) i'm shure it will be better someday | ||
| jnthn | timdemkowsky: Not entirely. | ||
| Yes, what [particle] said | 00:40 | ||
| In many cases we're doing some stuff the "easy way" | |||
| Now it works, it's time to do it the more optimal way. | |||
|
00:40
snarkyboojum joined
|
|||
| timdemkowsky | jnthn: sounds good | 00:40 | |
| [particle] | working trumps good | ||
| sorear | good trumps working. if it doesn't work, it's not good. | 00:41 | |
| jnthn | [particle]: Oh, exactly. But we're not doing too bad on "working" :-) | ||
|
00:41
samlh joined
|
|||
| jnthn | sorear: :P | 00:41 | |
| [particle] | don't congratulate yourself until you see how many bug reports come rolling in :P | ||
| sorear | [particle]: We can't lose, the bug reports are the point | 00:42 | |
| ingy | fun/good/working trumps paper/scissors/rock | ||
| tadzik | oh, is it time for another infix operator? :) | ||
| [particle] | fun has trumped working and good for 10 years with perl 6 :) | ||
| snarkyboojum | oohh .. 10 d/ls to go until star hits 1k :P | 00:43 | |
| timdemkowsky | do we have our own RT or do we use the one at rt.perl.org? | ||
| [particle] | it really is a spectacular treat to see a p6 distribution hit the intertubes | ||
| jnthn | snarkyboojum: If you add on the Windows binary downloads we already passed it. | 00:44 | |
| snarkyboojum | well I guess if you add the windows installer, we're already way past :) | ||
| jnthn++ :) | |||
| jnthn | timdemkowsky: rt.perl.org | ||
| ingy | jnthn: where are you living now? | ||
| jnthn | timdemkowsky: To submit bug it's mail to rakudobug@perl.org | ||
| ingy: Lund, Sweden at the moment. | |||
| [particle] | 7,500+ visits to rakudo.org today | 00:45 | |
| ingy | jnthn: is that near masak? | ||
| timdemkowsky | jnthn: ok, thanks! i'll take a lot. | ||
| *look | |||
| jnthn | timdemkowsky: Yes, please take a lot of tickets. ;-) | ||
| ingy: Well, in global terms yes. :-) | |||
| [particle] runs off to play soccer & | |||
| ingy | haha | ||
| shirtless | How can I find the implementation of something in pir:: ? I am looking with grep and find only prototypes | ||
| jnthn | ingy: masak is about 6 hours of train journey from me. | ||
| ingy: The other side of Sweden and about a third of the way up. | 00:46 | ||
| ingy | jnthn: it looks like I'll be in Europe for osdc.fr. we should meet up possibly. | ||
| timdemkowsky | shirtless: i guess they are implemented in the parrot source. | ||
| jnthn | shirtless: Those are implemented in Parrot. | ||
| ingy: Oh, I'll be at osdc.fr. | |||
| ingy | ! | ||
| samlh | rakudo: my @a=1..5; @a >>+>> 1; @a >>->> 2 #bug? | ||
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Confused at line 22, near "@a >>->> 2"» | ||
| ingy | then we shall! | ||
| shirtless | jnthn, timdemkowsky that confirms my suspicion. I will have to look harder there | ||
| thanks | |||
| jnthn | shirtless: Look in files with a .ops extension. | 00:47 | |
| ingy: \\o/ | |||
| ingy | jnthn: \\o/\\o/ | ||
| jnthn | ingy: You heading Europe-wards for winter this year? | ||
| shirtless | jnthn: nice, I am now seeing what I was looking for. Thanks. | 00:48 | |
| snarkyboojum | [particle]: that's insanely cool :) (re 7500+ hits on rakudo.org) | ||
| ingy | jnthn: not planned yet. chamonix would be a nice spot, again... | ||
| jnthn | :-) | ||
| rakudo: my @a=1..5; @a >>+>> 1; | 00:49 | ||
| p6eval | rakudo da16b5: ( no output ) | ||
| ingy | \\oXo/ | ||
| jnthn | rakudo: my @a=1..5; @a >>+>> 1; @a >>->> 2 | ||
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Confused at line 22, near "@a >>->> 2"» | ||
| jnthn | rakudo: my @a=1..5; @a >>+>> 1; @a >>+>> 2 | ||
| p6eval | rakudo da16b5: ( no output ) | 00:50 | |
| jnthn | rakudo: my @a=1..5; @a >>->> 1 | ||
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Confused at line 22, near "@a >>->> 1"» | ||
| jnthn | rakudo: my @a=1..5; @a <<->> 1 | ||
| p6eval | rakudo da16b5: ( no output ) | ||
| jnthn | samlh: Looks like one. | ||
| std: my @a=1..5; @a >>->> 1 | |||
| p6eval | std 31863: OUTPUT«ok 00:01 117m» | ||
| jnthn | Yes, certainly bug. | ||
| samlh | jnthn: k' | 00:51 | |
|
00:51
high left
|
|||
| jnthn | samlh: I've opened a ticket for it. | 00:51 | |
| rakudo: my @a=1..5; @a <<*>> 1 | 00:52 | ||
| p6eval | rakudo da16b5: ( no output ) | ||
| jnthn | rakudo: my @a=1..5; @a >>*>> 1 | ||
| p6eval | rakudo da16b5: ( no output ) | ||
| jnthn | rakudo: my @a=1..5; @a >>/>> 1 | ||
| p6eval | rakudo da16b5: ( no output ) | ||
| jnthn | rakudo: my @a=1..5; @a >>~>> 1 | ||
| p6eval | rakudo da16b5: ( no output ) | ||
| jnthn | huh...just for -? : | ||
| :S | |||
| samlh | rakudo: my @a=1..5; @a>>->>1 | ||
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block at line 22, near ">1"» | ||
| jnthn | Oh, I wonder if we're getting some false positive on that... | 00:53 | |
| Seems odd though. | |||
| sorear | std: 1 >>->> 2 | ||
| p6eval | std 31863: OUTPUT«ok 00:01 116m» | ||
| jnthn | rakudo: 1 >>->> 2 | 00:55 | |
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Confused at line 22, near "1 >>->> 2"» | ||
| pmichaud | I'm guessing that rakudo is confusing >>->> with -> | ||
| jnthn | pmichaud: I'd be more inclined to think that if it spat out the -> error, not confused. | ||
| pmichaud | rakudo: 1 »-» 2 | ||
| p6eval | rakudo da16b5: ( no output ) | 00:56 | |
| pmichaud | either that or it's getting confused by &infix:<>> | ||
| sorear | don't use texas hyper. problem solved. | ||
| jnthn | pmichaud: Maybe that, yeah | 00:57 | |
| pmichaud: Way to turn on <?DEBUG> without compiling it into the grammar? | 00:58 | ||
| pmichaud | jnthn: I haven't come up with a way to do it | ||
| jnthn: I'm open for suggestions | 00:59 | ||
| we could potentially add a few <?DEBUG($*FLAG)> points in the grammar, and then set $*FLAG | |||
| jnthn | Yeah | ||
| 'cus if I compile it in then it'll dump the parse of the whole setting ;-) | |||
| pmichaud | right -- I ran into that problem also. | 01:00 | |
| jnthn | Oh, well, not if I just try the stage 1 I guess | ||
| But the stage 1 compiler does, well, not much. :-) | |||
| pmichaud | jnthn: I ended up making it work once by simply calling Perl6::Grammar.parse( ... ) | 01:01 | |
| jnthn | Hmm, OK. | ||
| Meh. I only slept 3 hours last night and it's 3am now so I don't think I have the concentration to bug hunt this one tonight. :-) | |||
| I ticketed it, anyways. | 01:02 | ||
| pmichaud | which one is that ... the >>->> bug? | ||
| jnthn | Yes | ||
| pmichaud | I'll take a look | ||
| jnthn | Cool | ||
| It's parsing, so you'll probably find it way quicker than I would. | |||
|
01:03
pmin joined
|
|||
| tadzik | g'night #perl6 | 01:03 | |
| jnthn | pmichaud: I'll write a reply to that parrot-dev thread tomorrow. | 01:04 | |
| pmichaud | the one about freeze/thaw? | ||
|
01:04
mikehh joined
|
|||
| jnthn | pmichaud: Yeah | 01:04 | |
| pmichaud: I've got a pretty good idea of what I'd kinda like to see. | |||
| pmichaud | sounds very good | ||
| jnthn | Thought about it a bit when I went out for dinner tonight, but didn't get to writing it. | ||
| I'm *so* glad we have a YAPC coming up. | 01:05 | ||
| I've lots of ideas to discuss and it'll be way easier in meatspace. :-) | |||
| pmichaud | me too :) | ||
| (glad to have a YAPC coming up) | |||
|
01:05
shirtless left
|
|||
| pmichaud | I don't think I have a lot to discuss :) | 01:05 | |
|
01:06
shirtless joined
|
|||
| jnthn | pmichaud: Well, I figure we kinda want to come away with a plan/priorities from here. | 01:07 | |
| pmichaud: Enough for a ROADMAP update. | |||
| ingy | does the star repo have a release tag? | ||
| I don't see one | 01:08 | ||
| pmichaud | I'll set one | ||
| ingy | pmichaud++ | ||
| samlh | rakudo: (class {has $.doo = $.loo; has $.loo = 12}).new().perl.say # is this right? | ||
| p6eval | rakudo da16b5: OUTPUT«.new(doo => Any, loo => 12)» | ||
| ingy | moritz_: you should add a 'star' to evalbot | 01:09 | |
| jnthn | samlh: Yes | ||
| ingy | star: say "O HAI" | ||
| jnthn | samlh: Order matters. | ||
| rakudo: (class {has $.loo = 12; has $.doo = $.loo; }).new.perl.say | 01:10 | ||
| ingy | phenny: tell moritz_ Add a "star" to the evalbot please. KTHXBAI | ||
| phenny | ingy: I'll pass that on when moritz_ is around. | ||
| p6eval | rakudo da16b5: OUTPUT«.new(loo => 12, doo => 12)» | ||
| samlh | jnthn: okay, cool. Makes sense | 01:11 | |
| snarkyboojum | star target would be esp. cool once rakudo releases start diverging from latest star | ||
| until the next star release anyway :) | |||
| jnthn | snarkyboojum: Well, it's also that rakudo: target is not just latest release, but latest from git, modulo an hour or so | 01:12 | |
|
01:12
am0c__ joined
|
|||
| jnthn | Anyways, sleep time for me I think :-) | 01:13 | |
| night all o/ | |||
| samlh | jnthn: sleep well :) | ||
| jnthn | samlh: thanks :) | ||
| snarkyboojum | jnthn: yep | 01:14 | |
| shirtless | In the parrot source, what is the difference between the dynpmc and dynoplibs directories? | ||
| pmichaud | dynpmcs are new PMC types | 01:15 | |
| dynops are new opcodes | |||
| shirtless | new as in experimental? | 01:17 | |
| pmichaud | new as in "not part of the Parrot static core" | ||
| shirtless | yeah | ||
| pmichaud | basically those are pmcs and opcodes that get loaded at parrot runtime | ||
| (via various load operations) | |||
| shirtless | and there are some people who have an approval process for moving things into the core | ||
| I would guess | |||
| right? | |||
| pmichaud | actually, most of those *were* core and got moved out | ||
| shirtless | heh | 01:18 | |
| I was wondering why it all looked like fundamental stuff. | |||
| pmichaud | lots of things were moved from opcodes to being methods on various objects | ||
| [Coke] | (bug reports). we've had no bug reports yet from folks we didn't see before yesterday. | 01:31 | |
| pmichaud | it may take a day or two for people to get to the bug report stage | 01:32 | |
| shirtless | I think I found a bug | 01:33 | |
| colomon | we are seeing indications new people are out there trying it, which is great. | ||
| shirtless | I've been trying to fix it, or find the right way to do it | ||
| doing IO.stat.isdir on a symbolic link fails, no such file or directory | 01:34 | ||
| is that a bug? | |||
| I've been reading the parrot code and stuff to see if it's possible to implement the other stat features, but it looks like lstat is somewhere in the dynpmc directory | |||
| I'm just not sure how to get at it. | |||
| [Coke] | lstat is a method on the parrot OS dynpmc. | 01:36 | |
| shirtless | So is the behavior of isdir on symbolic links considered a bug? | ||
| [Coke] | which is already loaded and used in src/core/IO.pm | 01:37 | |
| snarkyboojum | it'd be worth updating rakudo.org/how-to-get-rakudo with details on getting Star perhaps? | ||
| apologies if that's already been discussed/in the works :) | 01:38 | ||
| Tene | shirtless: personally, I'd start by straceing it to see what it's actually doing. | 01:39 | |
| shirtless | [Coke]: lstat doesn't appear to be used in src/core/IO.pm | 01:40 | |
| [Coke] | no, but it's a method on teh OS pmc that's used there. | ||
| shirtless | Tene: I can just read the code, i don't need to strace it... | ||
| [Coke] | so you can just call it like they do. | ||
| shirtless | [Coke]: ok, forgive my noobishnes | ||
| Tene | shirtless: Sure, that's fine too. Personally, it's often helpful to me when I can know the answer I'm working towards, as I read the code. | 01:41 | |
| shirtless | [Coke]: or I could make a wrapper for it like they did, right? | ||
| [Coke]: and then submit a patch for it? | |||
| Tene: i already read all the C code that did stat calls in parrot ;) | |||
| pmichaud | snarkyboojum: yes, worth updating how-to-get-rakudo | 01:42 | |
| shirtless | thanks for your help and patience, i think I see what to do now. | ||
| Tene: yeah, you are right. strace is a bit faster. | 01:43 | ||
| pheuter walks into his perl-powered rocket ship, and BLAST OFF to the moon | 01:47 | ||
|
01:48
orafu joined
|
|||
| [Coke] | shirtless: I guess I don't know what you're trying to do. =-) | 01:52 | |
| if you're trying to expose more lstat functionality in rakudo, then yes, that sounds reasonable. | |||
| shirtless | [Coke]: it actually looks like stat fails when it gets a *broken* link | ||
| due to the fact that I was upgrading my system while doing all this *facepalm* | 01:53 | ||
| [Coke]: cool I am going to see what I can do | |||
| thanks for the help | |||
|
01:59
hobbs joined
|
|||
| ingy | pmichaud: you make that tag yet? | 01:59 | |
| hobbs | If I'm already following rakudo master branch, is there any special reason I would want to checkout star? | ||
| sorear | hobbs: R* = Rakudo + Parrot + the beginnings of a standard library | 02:00 | |
| if you like writing code without use statements, you don't need star | |||
| (or, if you already have all the modules you need installed) | 02:01 | ||
| hobbs | alrighty | 02:02 | |
|
02:03
hobbs left
|
|||
| shirtless | looks like IO.stat was throwing execeptions in my cases, I just was not aware of the syntax of try/catch | 02:03 | |
| Which is pretty freaking simple try/catch syntax... | 02:04 | ||
|
02:06
_macdaddy joined
|
|||
| pmichaud | ingy: not yet | 02:08 | |
|
02:11
tylercurtis joined
|
|||
| pmichaud | now tagged. it's not precisely correct (because I had a couple of unpushed changes), but probably isn't worth trying to get exactly right. | 02:12 | |
| shirtless | exceptions don't work for me as described in dev.perl.org/perl6/rfc/63.html is there a better document describing how they work in rakudo? | 02:13 | |
| pmichaud | there are some issues with exception handling, yes. S04 has most of the details, iirc | ||
| shirtless | pmichaud: ok cool, i'll take a look. | ||
| there's no throw? | 02:14 | ||
|
02:15
whee joined,
whee_ joined
|
|||
| pmichaud | "die" does a throw | 02:15 | |
| I think there's also a .throw method | 02:16 | ||
| shirtless | alrgiht | ||
| alright* | |||
| sorear | shirtless: the RFCs are all essentially obsolete now | ||
|
02:18
Visitor99 joined
|
|||
| Visitor99 | just joined to say congratulations to the rakudo team :) | 02:19 | |
| [Coke] | wow. how did you come across the rfc, shirtless ? | ||
| Visitor99 | today i talked about autothreading and roles to muy bosses and they inmediately thought in a product based on that :) they were certainly impressed | ||
| shirtless | [Coke]: by using google for perl6 exception | ||
| Visitor99 | anyway.. good work all and thanks! | 02:20 | |
|
02:20
Visitor99 left
|
|||
| PerlJam | Anyone else notice that rakudo/star is a "trending repository" on github's main page? | 02:20 | |
| sorear | cute, the CLR has native support for UNDO blocks | 02:21 | |
| shirtless | are you writing IronPerl6? | 02:22 | |
| does rakudo go by the spec hosted on the pugscode site? | 02:23 | ||
| or does it have its own spec somewhere | |||
| sorear | yes | ||
| shirtless | ok | ||
| sorear | there is a single common spec that we all strive to reach | ||
| rakudo is the closest but it still has a long way to go | 02:24 | ||
| [Coke] | PerlJam: nifty. | ||
| sorear | also, the spec isn't holding still | ||
| lue | hello o/ | ||
|
02:24
acup joined
|
|||
| sorear | shirtless: if by IronPerl6 you mean a p6 implementation targetting the CLR, then yes | 02:24 | |
| shirtless | sorear: can you link me to that? | 02:25 | |
| sorear | git://github.com/sorear/niecza.git | ||
| shirtless | cool | ||
| sorear | niecza: on the evalbot | ||
| p6eval | niecza 01680b9: OUTPUT«[31m===[0mSORRY![31m===[0mUndeclared routines: 'evalbot' used at line 1 'on' used at line 1 'the' used at line 1Check failed» | ||
|
02:28
achromic joined
02:35
high joined,
CSJewell joined
02:51
high left
02:55
zhicheng joined
|
|||
| cbk | I had so much fun today! Thanks Rakudo* | 02:56 | |
|
02:58
CSJewell2 joined
|
|||
| avuserow | cbk: the fun is what Perl 6 is all about :D | 02:58 | |
|
02:59
kuroishi joined
|
|||
| sorear | -Ofun | 03:00 | |
| pmichaud | cbk: glad you had fun. that's what we all aim for :) | 03:01 | |
| kuroishi | Can I install Rakudo to my home directory (~/xxx). How should I do? | 03:02 | |
| LaVolta | kuroishi: you can just simple type perl Configure.pl --gen-parrot && make && make install | 03:05 | |
| it will generate a perl6 executable for you | |||
| pardon my pool english... | 03:06 | ||
| kuroishi | LaVolta: thank you. Where will it installed? | 03:07 | |
|
03:07
h1gh joined
|
|||
| LaVolta | kuroishi: take myself as an example the perl6 exectuble will be in the same directory | 03:07 | |
| pheuter | kuroishi: install dir | ||
| inside the rakudo dir | 03:08 | ||
| LaVolta | sorry...I didnt make it clearer for you | ||
| shirtless | ie ~kuroishi/rakudo/parrot_install/ | ||
| pheuter | ~/rakudo/install/bin will have all the binaries you need | 03:09 | |
| tylercurtis | kuroishi: you can also supply the --prefix option to the Configure.pl. | ||
| pheuter | kuroishi: cl.ly/9665a297c092bb6330ae | ||
| then you could export PATH=~/rakudo/install/bin:$PATH | 03:10 | ||
| shirtless | pheuter: it's parrot_install | 03:11 | |
| pheuter: on the latest revision, anyway | |||
| pheuter | oh, k, well, that is rakudo * from github.com/rakudo/star/downloads | ||
| shirtless | yeah, I didn't bother to build star | 03:12 | |
| when I looked in there there were no different source files | |||
| so I was like. forget it. | |||
| pheuter | yeah | ||
| shirtless | I did install the msi on windows | ||
| and that was good | |||
| pheuter | windows :( | ||
| shirtless | What the hell is your problem with windows? | 03:13 | |
| :) | |||
| kuroishi | thanks all. I've issued the command line perl Configure.pl --gen-parrot --gen-parrot-option='--prefix=/Users/kuroishi/local/' | ||
| shirtless | Most of the windows hatred is thoughtless religion. | 03:14 | |
| In the days on windows 7, anyway. | |||
| eternaleye | Hey everybody. For a while now I've been looking at existing project hosting solutions, and all of them strike me as being suboptimal in various ways. Lauchpad seems to be the one closest to what I would like, but the way the community is handled and the There Is One Right Way To Do It philosophy rub me the wrong way. Thus, I've started writing up a design document on what I am tentatively calling Canaveral for now, which I hope others will help | ||
| me hammer out. The general idea is to be a modular, P6-based, TIMTOWTDI-embracing project hosting solution. The current state of the document is in this paste: ix.io/16a . I would appreciate any and all input. I came to #perl6 with this because a.) I intend to write it in Perl 6 b.) This channel is a perfect example of the community I would like to arise around it someday and c.) I know that quite a few very smart people hang out in here | |||
| and value the input of the members of this channel. | |||
| shirtless | I have been using linux for like 6 years, but I don't hate windows for no good reason. | ||
| pheuter | oh, not much, just that it isn't an optimal development environment (permission handling is terrible, NTFS is terrible, ...). Don't get me wrong, Windows is best for gaming, but development, not so much... | ||
| eternaleye | Sorry for the wall of text :/ | 03:15 | |
|
03:15
HarryS joined
|
|||
| pheuter | I need my shell | 03:15 | |
| powershell doesn't cut it | |||
| shirtless | pheuter: you use OS X, i am guessing | ||
| pheuter | minigw isn't up there yet | 03:16 | |
| shirtless | pheuter: tried it for 5 minutes, thought it sucked. | ||
| pheuter | yes, i do | ||
| shirtless: what did u try? | |||
| shirtless | mingw = waste of time no offense to mingw devs. | ||
| it's good | |||
| but, I doubt there will be enough development steam behind it to compete with native microsoft tools. | |||
| which have tons of cash behind them | |||
| pheuter | shirtless: lol? xcode is 5 times the IDE VS is | ||
| especially xcode 4 with the llvm backend | 03:17 | ||
| shirtless | I wouldn't know: i don't have $2000 dollars to buy a suitable mac ;) | ||
| pheuter | you can get a very decent mac mini for much less | ||
| shirtless | the reason I don't have a mac is because the floor price of a mac is much higher than a PC | ||
| yeah a mac mini, for that cash I could have a much sicker pc. | |||
|
03:17
zhicheng left
|
|||
| shirtless | I have a USFF computer right now, it gets way too hot | 03:18 | |
| I am going to get rid of it and never buy one again. | |||
| pheuter | shirtless: sicker, maybe, longer lasting and worthwhile in the long run, maybe not | ||
| shirtless | my first computer ever was a PC and I still use it to this day. Infact I'm using it right now. | ||
| shirtless counts.. 9 year old computer here. | 03:19 | ||
| since it's x86 it can run a lot of widely supported software. | |||
| the equivalent 9 year old mac I don't think I could say the same. | |||
| you're lucky they got off of PPC? | |||
| ;) | |||
| pheuter | sure, you can use it for that long, but after 9 years, os x is still the same os x you started with. With Windows, its mnot (at least if you don't re-install it, and come one, operating systems shouldn't depend on re-installations to maintain juice) | 03:20 | |
| plus, os x is posix. | |||
| shirtless | I never argued for windows, just against buying apple hardware. | 03:21 | |
| I mostly use linux | |||
| pheuter | i could see what you can have against the hardware and the apple mentality | ||
| shirtless | OS X is nice, I had a macbook g4 for a few weeks before I uninstalled it and installed gentoo. | ||
| pheuter | lol | ||
| gnetoo | |||
| gentoo* | |||
| shirtless | Then someone stole it | ||
| pheuter | i learned how linux works with that distro...good times | ||
| shirtless | and they got gentoo, ROFL! | ||
|
03:23
wooden joined
|
|||
| LaVolta | rakudo: say localtime; | 03:23 | |
| p6eval | rakudo da16b5: OUTPUT«Could not find sub &localtime in main program body at line 22:/tmp/tfmGuXpEh7» | ||
| eternaleye | rakudo: say now; | 03:25 | |
| p6eval | rakudo da16b5: OUTPUT«Could not find sub &now in main program body at line 22:/tmp/Uc9XrLWIiv» | ||
| eternaleye | rakudo: say DateTime.new(now); | ||
| p6eval | rakudo da16b5: OUTPUT«Could not find sub &now in main program body at line 22:/tmp/pLQ4FVL2_3» | ||
| eternaleye | rakudo: say DateTime.new(time); | ||
| p6eval | rakudo da16b5: OUTPUT«2010-07-30T03:05:43Z» | 03:26 | |
| shirtless | Does anyone know where I can find a working try/catch snippet of perl6? | 03:48 | |
| for rakudo | 03:49 | ||
| LaVolta | rakudo: try {die "test";} CATCH {say "test";} | 03:50 | |
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Confused at line 22, near "try {die \\""» | ||
| LaVolta | errr... | 03:51 | |
| shirtless | see what I mean. | ||
| LaVolta | rakudo: try {die "test"; CATCH {say "test";}} | ||
| p6eval | rakudo da16b5: OUTPUT«test» | ||
| shirtless | Oh, it's nested!? | ||
| LaVolta | done | ||
| yep | |||
| shirtless | I wouldn't have figured that out. | ||
| LaVolta | the same here | ||
| :) | 03:52 | ||
| shirtless | thanks | ||
| sorear | You would if you had read the first paragraph of the "Exception Handlers" section of S04 | ||
| LaVolta | you're welcome, might be a gotcha for all? :-p | 03:53 | |
| sorear | Unlike many other languages, Perl 6 specifies exception handlers by | ||
| placing a C<CATCH> block I<within> that block that is having its exceptions | |||
| handled. | |||
| shirtless | sorear: well the problem is that that document was making my head spin, and I just wanted to see regular documentation ;D | 03:55 | |
| I tried to read some of that and lost attention.. I'm going back to it later | |||
| LaVolta | shirtless: 5-to-6 is a good place to read | 03:56 | |
| shirtless | I think I need to read the appendix that explains their markup. | ||
| also i don't have a pod file tool to generate docs withj | |||
| I am going to have to find one of those. | 03:57 | ||
|
03:57
alester joined
|
|||
| shirtless | well thanks to everyone's patience i was able to write a perl6 program. | 03:58 | |
| LaVolta | sorry if i misunderstood, but you can have pod2html? or pod2X? | ||
| shirtless | I'll find those | ||
| thanks | |||
| ok here it is: gist.github.com/499866 | |||
| I guess the code was mostly crowdsourced | |||
| sorear | shirtless: perlcabal.org/syn/S04.html | 04:00 | |
| LaVolta: the correct tool for perl6pod is search.cpan.org/perldoc?grok | 04:01 | ||
|
04:08
claye joined
04:13
aplens joined,
aplens left
04:20
xinming joined
|
|||
| LaVolta | sorear: oh, thanks...and once I was wondering how the html are generated, and there's also a util/podhtml.pl :) | 04:20 | |
| I should check that out already | 04:21 | ||
|
04:24
lucash joined
|
|||
| lucash | anybody here ? | 04:25 | |
|
04:34
lucash joined
04:36
h1gh_ joined
04:39
ashleydev joined
04:46
h1gh joined
04:57
wamba joined
05:01
jaldhar joined,
plobsing joined
05:06
molaf joined
05:13
kaare joined,
galf joined
05:15
galf joined
|
|||
| sorear is back, still not *quite* understanding exception handling in Perl 6 | 05:35 | ||
| dalek | p-rx: a3386d1 | pmichaud++ | (2 files): Fix general quantifier in regexes with charclasses (RT #76792). |
05:38 | |
| p-rx: a9afc70 | pmichaud++ | src/stage0/ (4 files): Update bootstrap. |
|||
|
05:40
Su-Shee joined
05:42
songmaster joined
|
|||
| [particle] | pmichaud: 9000+ visitors to rakudo.org today, 1,500 downloads at github. awesome. | 05:44 | |
| and we won our soccer game, playing 8 against 11 :) | |||
| sorear | How many of them are just doing it to chew up bandwidth? | ||
| [particle] | how much bandwidth can you chew up with a 5MB distro? | 05:45 | |
| sorear | how many times can you download it? | 05:46 | |
| avuserow | well, github pays for that :) | ||
| songmaster | Hi all. If $v = all(1..9) and @x = (1, 3, 5) say, how do I exclude the elements in @x from $v, giving $v = all(2, 4, 6..9)? | 05:48 | |
| [particle] | wow, even someone in lhasa visited rakudo.org :) | ||
| songmaster | (yes, I am trying to solve Sudoku puzzles using Junctions) | ||
| sorear | You can't. | 05:49 | |
| That's not what junctions are designed to do. | |||
| That is, however, exactly what Set is designed to do. | |||
| rakudo: say Set.new(1..9) (-) Set.new(1,3,5) | 05:51 | ||
| p6eval | rakudo da16b5: OUTPUT«Set()<0x7e8cce0>» | ||
| sorear | rakudo: say (Set.new(1..9) (-) Set.new(1,3,5)).perl | 05:52 | |
| p6eval | rakudo da16b5: OUTPUT«Set.new(2, 4, 6, 7, 8, 9)» | ||
|
05:52
uniejo joined
|
|||
| avuserow | perl6: say "\\v" | 05:53 | |
| p6eval | pugs: OUTPUT« | ||
| ..rakudo da16b5: OUTPUT«===SORRY!===Unrecognized backslash sequence: '\\v' at line 22, near "\\""» | |||
| wooden | aww, no more '$empty ||= "full!";' syntax. :( | 05:54 | |
| songmaster | sorear: Thanks, I'll look at Set instead. | ||
| avuserow | wait what? | 05:55 | |
| sorear | songmaster: I couldn't find the documentation so I'm looking at src/core/Set.pm in Rakudo... it's a pretty straightforward class and overloads | ||
| avuserow | rakudo: $empty ||= "full"; say $empty | ||
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Symbol '$empty' not predeclared in <anonymous> (/tmp/zXiEu2rLla:22)» | ||
| avuserow | rakudo: my $empty; $empty ||= "full"; say $empty | ||
| p6eval | rakudo da16b5: OUTPUT«full» | 05:56 | |
| avuserow | rakudo: my $empty = "hats"; $empty ||= "full"; say $empty | ||
| p6eval | rakudo da16b5: OUTPUT«hats» | ||
| sorear | wooden: ? | 05:57 | |
| wooden | avuserow: sorear: hmm, i get "Confused at line 27, near "$empty ||="" | ||
| running rakudo | |||
| songmaster | rakudo: my $empty; $empty //= 'full'; say $empty | ||
| p6eval | rakudo da16b5: OUTPUT«full» | ||
| sorear | wooden: check every other line in the file | ||
| rakudo's error locator needs work | 05:58 | ||
| wooden | oh, yeah...missing semicolon. my bad. >< | ||
| love that syntax. | |||
| avuserow | yeah, I'm pretty sure that all the foo= syntax is back and more (where foo is any random operator) | 05:59 | |
| rakudo: my $foo = 1; $foo &&= 0; say $foo | |||
| p6eval | rakudo da16b5: OUTPUT«0» | ||
| avuserow | rakudo: my $foo = 1; $foo xor= 1; say $foo | ||
| wooden | \\o/ | ||
| p6eval | rakudo da16b5: OUTPUT«Null PMC access in invoke() in main program body at line 1» | ||
| avuserow | rakudo: my $foo = 1; $foo = $foo xor 1; say $foo | ||
| p6eval | rakudo da16b5: OUTPUT«1» | ||
|
06:00
mynick003 joined
|
|||
| avuserow | I'm thinking that xor does not do what I want right now | 06:00 | |
| oh, that's logical, not bitwise | |||
| no | |||
| avuserow is confused. | |||
| pmichaud | rakudo: say 3 xor 4; | 06:06 | |
| p6eval | rakudo da16b5: OUTPUT«3» | ||
| pmichaud | hmmmm | ||
| oh, right | |||
| xor is low precedence | |||
| avuserow | rakudo: say(3 xor 4) | ||
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
| avuserow | rakudo: say (3 xor 4) | ||
| p6eval | rakudo da16b5: OUTPUT«» | ||
| avuserow | rakudo: say (3 xor 0) | ||
| p6eval | rakudo da16b5: OUTPUT«3» | ||
| pmichaud | rakudo: say(3) | 06:07 | |
| p6eval | rakudo da16b5: OUTPUT«3» | ||
| pmichaud | rakudo: say(3 xor 4) | 06:08 | |
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
| pmichaud | ... o_O | ||
| rakudo: say(3 and 4) | |||
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
| pmichaud | that's.... weird. | ||
| avuserow | rakudo: say(3+4) | ||
| rakudo: say(3 + 4) | |||
| p6eval | rakudo da16b5: OUTPUT«7» | ||
| pmichaud | rakudo: say(3 && 4) | 06:09 | |
| p6eval | rakudo da16b5: OUTPUT«4» | ||
| pmichaud | rakudo: say(3 ^^ 4) | ||
| p6eval | rakudo da16b5: OUTPUT«» | ||
| pmichaud | that's an interesting problem. | ||
| avuserow | rakudo uses STD.pm, right? | ||
| pmichaud | no. | ||
| avuserow | std: say(3 xor 4) | 06:10 | |
| p6eval | std 31863: OUTPUT«[31m===[0mSORRY![31m===[0mUnable to parse argument list at /tmp/V6PChdx2ml line 1:------> [32msay[33m⏏[31m(3 xor 4)[0mCouldn't find final ')'; gave up at /tmp/V6PChdx2ml line 1:------> [32msay(3 [33m⏏[31mxor 4)[0m expecting an infix operator with precedence | ||
| ..tigh… | |||
| pmichaud | rakudo is based on std.pm, yes. | ||
| but it doesn't use it directly. | |||
| and looks like std gives the same message :-) | |||
|
06:12
mynick003 joined
06:13
diegoviola joined,
diegoviola left
|
|||
| dalek | kudo: 50e0e7e | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to get fix for RT #76792. |
06:16 | |
| avuserow | pmichaud: where is the commitbit site? I want to see if I remember my credentials... | 06:17 | |
| pmichaud | avuserow: don't recall, alas. | 06:18 | |
| (I hardly use the commitbit site myself) | |||
| avuserow | aha! I guessed it. commitbit.pugscode.org/ | ||
| moritz_ back | 06:20 | ||
| phenny | moritz_: 01:10Z <ingy> tell moritz_ Add a "star" to the evalbot please. KTHXBAI | ||
| LaVolta | perl6: my $x = "测试"; say $x; | 06:22 | |
| p6eval | pugs, rakudo da16b5: OUTPUT«测试» | ||
| pugssvn | r31864 | avuserow++ | hoping to come back, but with a different handle. | 06:23 | |
| avuserow | hi, moritz_! | ||
| pmichaud | phenny: tell jnthn I know where the problem is with $a >>->> $b, will fix it shortly-ish. | 06:24 | |
| phenny | pmichaud: I'll pass that on when jnthn is around. | ||
| moritz_ still sleepy | 06:25 | ||
| \\o/ > 1.1k R* downloads, + 350 msi downloads | 06:27 | ||
| avuserow | 'say(3 xor 4)' should parse the same as 'say (3 xor 4)', correct? | 06:28 | |
| moritz_ | in general, no | ||
| say (1, 2) # pass one Parcel to say() | |||
| say(1, 2) # pass two Ints to say() | |||
| avuserow | oh, now I see how it can get confused | 06:29 | |
| pugssvn | r31865 | moritz++ | [evalbot] star target | 06:30 | |
| moritz_ | this is to make say (1 + 2) * 3 print 9 | ||
| instead of 3, as perl 5 does | |||
| with which it confuses a lot of beginners | |||
| and sometimes me too | |||
|
06:31
cxreg left
06:32
bjarneh joined
|
|||
| LaVolta | does rakudo star have default encoding settings or from env? | 06:32 | |
|
06:32
cxreg joined
|
|||
| moritz_ | yes, UTF-8 | 06:32 | |
| Su-Shee | ui, shiny download numbers. :) | 06:33 | |
| good morning. | |||
|
06:34
ashleydev joined
|
|||
| LaVolta | moritz_: I tested some inputs here, and it seems to be okay, but if I use my local perl6 copy, it will output some strange characters... | 06:35 | |
| (I mean perl6 from rakudo star) | |||
| moritz_ | LaVolta: note that UTF-8 is a bit broken on the REPL, but should work fine in proper scripts | ||
|
06:36
MattMAn joined
|
|||
| MattMAn | Hi | 06:36 | |
| I'm playing with the new Rakudo Star | |||
| avuserow | Hi MattMAn | ||
| LaVolta | moritz_: thanks, it's the repl, so, the bot here will run a script copy of our inputs, right? | 06:37 | |
| MattMAn | In Perl5 I used to do assign the result of a match to an array | ||
| But that doesn't seem to be working in Rakudo | |||
| Is this the right place to be asking these sorts of questions ? | |||
| moritz_ | LaVolta: yes, it was written long before the REPL was even close to being usable | ||
| MattMAn: it is | 06:38 | ||
| MattMAn | I checked the spec in S05 | ||
| moritz_ | rakudo: for 'abc'.match(/<alpha>/, :g) { say "match $_" } | ||
| p6eval | rakudo da16b5: OUTPUT«match amatch bmatch c» | ||
| MattMAn | Ah | ||
| moritz_ | rakudo: for 'abc'.comb(/<alpha>/) { say "match $_" } | ||
| p6eval | rakudo da16b5: OUTPUT«match amatch bmatch c» | ||
| moritz_ | pretty much the same | ||
| MattMAn | I was trying to do it with the ~~ operator | ||
| moritz_ | which is OK in principle, but m:g// and rx:g// aren't implemented yet | 06:39 | |
| MattMAn | Something like this | ||
| my ($b,$c) = $a ~~ ms/((\\w+) \\s (\\w+) \\s (\\w+))/ ; | |||
| Which just generated a syntax error | |||
| moritz_ | std: my ($b,$c) = $a ~~ ms/((\\w+) \\s (\\w+) \\s (\\w+))/ ; | ||
| p6eval | std 31865: OUTPUT«[31m===[0mSORRY![31m===[0mVariable $a is not predeclared at /tmp/evdFautXnZ line 1:------> [32mmy ($b,$c) = $a[33m⏏[31m ~~ ms/((\\w+) \\s (\\w+) \\s (\\w+))/ ;[0mBogus term at /tmp/evdFautXnZ line 1:------> [32mmy ($b,$c) = $a ~~ ms/((\\w+[33m⏏[31m) \\s (\\w+) \\s (\\w+))/ | ||
| ..;[… | |||
| moritz_ | std: my ($b,$c) = '' ~~ ms/((\\w+) \\s (\\w+) \\s (\\w+))/ ; | 06:40 | |
| p6eval | std 31865: OUTPUT«[31m===[0mSORRY![31m===[0mBogus term at /tmp/LwMNaL9Vxb line 1:------> [32mmy ($b,$c) = '' ~~ ms/((\\w+[33m⏏[31m) \\s (\\w+) \\s (\\w+))/ ;[0mUndeclared routines: 'ms' used at line 1 'w' used at line 1Parse failedFAILED 00:01 120m» | ||
| moritz_ | MattMAn: ms// is not a valid regex quoting construct | ||
| to be m// or m:s// or so | |||
| MattMAn | OK | ||
| I got that straight from S05 | |||
| So should I be able to do this ? | 06:41 | ||
| ($b,$c,$d) = $a.match(/((\\w+) \\s (\\w+) \\s (\\w+))/) | |||
| moritz_ | rakudo: 'abc defg' ~~ /(\\w+) \\s (\\w+)/; my ($a, $b) = @($/); say $a.perl; say $b.perl; | ||
| p6eval | rakudo da16b5: OUTPUT«Match.new( # WARNING: this is not working perl code # and for debugging purposes only from => 0, orig => "abc defg", to => 3,)Match.new( # WARNING: this is not working perl code # and for debugging purposes only from => 4, orig => "abc defg", to => 8,)» | ||
| moritz_ | rakudo: 'abc defg' ~~ /(\\w+) \\s (\\w+)/; my ($a, $b) = @($/); say "a: $a"; say "b: $b" | ||
|
06:41
yongbin_ joined
|
|||
| p6eval | rakudo da16b5: OUTPUT«a: abcb: defg» | 06:41 | |
| MattMAn | rakudo: ($b,$c,$d) = $a.match(/((\\w+) \\s (\\w+) \\s (\\w+))/) | 06:42 | |
| moritz_ | MattMAn: I'm not sure if it's supposed to work - might need to re-check the spec | ||
| p6eval | rakudo da16b5: OUTPUT«===SORRY!===Symbol '$b' not predeclared in <anonymous> (/tmp/OBYXmIjBoH:22)» | ||
| MattMAn | The first mention of using a match result as an array in S05 says the following | 06:43 | |
| When used as an array, a Match object pretends to be an array of all its positional captures. Hence ($key, $val) = ms/ (\\S+) => (\\S+)/; | |||
|
06:43
p6eval joined
|
|||
| moritz_ | hm | 06:43 | |
| pmichaud | that could be fossil | ||
| but the following works | |||
| moritz_ | I'm quite sure it is | ||
| especially if it contains an unquoted => | |||
| pmichaud | oh, you already had the working form above. just cast it into a list with @() | 06:44 | |
| moritz_ | star: use SVG; say "alive" | ||
| p6eval | star * 2010.07: OUTPUT«alive» | ||
| pmichaud | or end the .match() with .list or .flat | ||
| S05 has an unquoted => ? | |||
| pmichaud checks | |||
|
06:44
Ross joined
|
|||
| pmichaud | aha, there it is. | 06:44 | |
| anyway, I'm sure it needs a @(...) now | |||
| moritz_ | ah, ms is short for m:s, but not even STD.pm implements it :-) | 06:45 | |
| sorear | :( resumable exceptions were removed from the CLR | ||
| pmichaud | hmmm, perhaps it doesn't need the @(...) | 06:46 | |
| pmichaud thinks | |||
| MattMAn | No, just tried it | ||
| Generates a syntax error | |||
| pugssvn | r31866 | moritz++ | [evalbot] less verbose R* version number | ||
| moritz_ | syntactically $/ is one item | ||
| pmichaud | MattMAn: I mean per the specification, not based on what R* does | ||
| istr TimToady++ speculating that a match object could flatten into list context via .caps or something like that | |||
| MattMAn | Is this what you meant ? | 06:47 | |
| my @($b,$c) = $a ~~ ms/((\\w+) \\s (\\w+) \\s (\\w+))/ ; | |||
| Oops | |||
| That's not right | |||
| Let me try again | |||
| moritz_ | it won't work with the outer (...) for one | ||
| pmichaud | MattMAn: my ($b, $c) = @( $a ~~ m/.../); | ||
| MattMAn | No | 06:48 | |
| Puts the match object in $b | |||
| And nothing in $c | |||
| pmichaud | okay, that seems buggy-ish then. | ||
| pmichaud tries | |||
| MattMAn | OK | ||
| Not to worry | |||
| Just wanted to make sure I wasn't doing something stupid | |||
| pmichaud | rakudo: my ($b, $c) = @( '12' ~~ / (\\d) (\\d) / ); say "$b,$c"; | 06:49 | |
| p6eval | rakudo da16b5: OUTPUT«1,2» | ||
| pmichaud | works there. | ||
| moritz_ | rakudo: my ($a, $b) = @( 'abc def' ~~ /(\\w+)\\s(\\w+)/ ); say "a: $a; b: $b" | ||
| p6eval | rakudo da16b5: OUTPUT«a: abc; b: def» | ||
| moritz_ | MattMAn: you get everything in $a if you leave the outer pair of parenthesis in the regex | ||
| pmichaud | oh yes, of course | ||
| because everything goes into $0 | |||
| moritz_ | MattMAn: because in Perl 6, match objects are nested | 06:50 | |
| ie ((a) (b) (c)) will capture a in $0[0], b in $0[1] etc. | |||
| MattMAn | Ah | ||
| So I was doing something dumb | |||
| pmichaud | moritz++ | ||
| MattMAn | Thanks very much | ||
| moritz_ | MattMAn: no, you just applied too much perl 5 knowledge :-) | ||
| MattMAn | Yes | ||
|
06:51
p6eval joined
|
|||
| moritz_ | star: say 1 # just to check the version number | 06:51 | |
| MattMAn | That's going to be problematic for quite some time to come I think | ||
| p6eval | star 2010.07: ( no output ) | ||
| Su-Shee | MattMAn: wait until you try to apply your perl6 knowledge to perl 5. | ||
| moritz_ | the version number works, but something else is borked :/ | ||
| ah, just high server load | |||
| pmichaud | ...star's version number is 2010.07? it ought to be something like 2010.07-47-.... | 06:52 | |
|
06:52
flatwhatson joined
|
|||
| MattMAn | Thanks for your help | 06:52 | |
| moritz_ | pmichaud: it's not the perl6 --version output | ||
| pmichaud | moritz_: oh. | ||
| moritz_ | star: say 1 | ||
| p6eval | star 2010.07: OUTPUT«1» | ||
| sorear | moritz_: Why does high server load cause ( no output ) | ||
| moritz_ | sorear: timeout | ||
| pmichaud | alarm timeout | ||
| sorear | Oh, it doesn't use setitimer(ITIMER_VIRTUAL ? | 06:54 | |
| moritz_ | setrlimit RLIMIT_CPU, 15, 20 | ||
| sorear | weird | 06:56 | |
| I would have expected RLIMIT_CPU to limit CPU time, personally | 06:57 | ||
|
06:57
Casan joined
07:01
mmmm joined
|
|||
| mmmm | -tèè- | 07:01 | |
| sorear | moritz_: Would it be reasonable to bulk download the perlgeek.de logs? I have an urge to make pretty channel activity graphs. | 07:04 | |
| *#perl6 | |||
|
07:08
zulon joined,
baest joined,
ucb joined
|
|||
| ucb | hello everybody, | 07:08 | |
| moritz_ | sorear: I can provide you the mysql dumps, or you can add code for generating graphs to the ilbot repo, and I run it and publish them | 07:09 | |
| sorear: or both, of course :-) | |||
| ucb | i do not know perl now actually | ||
| moritz_ | btw we had 152 distinct nicks yesterday, typical is less than 90 | ||
| hi ucb | |||
| ucb | but i have to write a little script | ||
| such as | |||
| a unix command take a file path and then open it with vim | 07:10 | ||
| how can i do? | |||
| moritz_ | run("vim $filename") | ||
| supposing you're talking about Perl 6 | |||
| for perl 5, see #perl | 07:11 | ||
| ucb | ok firstly thanks so mucj, then sorry i have to go perl5 | ||
|
07:13
aesop joined
07:14
ucb left
|
|||
| sorear | Isn't that command "vim"? | 07:14 | |
|
07:16
snearch joined
|
|||
| sorear | moritz_: Auto-generating graphs sounds too awesome to pass up, though I think some sample data is needed; can you provide dumps for the least active ilbot channel> | 07:17 | |
| moritz_ | -> private message | 07:20 | |
|
07:22
kjeldahl joined
07:25
agentzh joined
|
|||
| sorear | What happens when I say die "Foo"? | 07:25 | |
| How does "Foo" become endowed with handled, resume, etc methods? | 07:26 | ||
|
07:32
vieq joined,
vieq left
07:35
cjk101010 joined
|
|||
| sorear | Or, for that matter, a backtrace. | 07:35 | |
| snarkyboojum | yeah, was cool to see the number of people in the channel hit 200 yesterday | 07:36 | |
| for a lenient definition of "people" :) | |||
| TiMBuS | rakudo: die 'test'; CATCH {.WHAT.say} | 07:39 | |
| p6eval | rakudo 50e0e7: OUTPUT«Exception()» | 07:40 | |
| moritz_ | sorear: I guess it gets wrapped into an Exception, and is available as .payload or so | ||
|
07:40
aesop joined
|
|||
| moritz_ | but I plan to change that in the next few months, and formalise it | 07:41 | |
| sorear wonders if TimToady knows that the Perl 6 exception model, in terms of UNDO blocks, when unwinding happens, the possible results of exception handlers, etc, is exactly the same as the Visual C++ native (not ISO C++) exception model | 07:44 | ||
| unfortunately, microsoft simplified it for .net and dropped resumable exceptions, so now I get to emulate it on top of a frustratingly similar system | |||
|
07:45
wamba joined
|
|||
| sorear | moritz_: do you have a working plan I can use, or will I need to invent my own stopgap? | 07:46 | |
|
07:53
meppl joined
08:05
Nazro joined
|
|||
| Nazro | Tuedelue | 08:06 | |
|
08:08
Chillance joined
08:14
masak joined
|
|||
| masak | oh hai, #perl6! | 08:14 | |
| sorear | Hello masak | 08:15 | |
| masak backlogs | 08:16 | ||
|
08:17
shomodj joined
08:20
mp45 joined
|
|||
| mp45 | perl6: say q/foo/ | 08:20 | |
| p6eval | pugs, rakudo 50e0e7: OUTPUT«foo» | 08:21 | |
|
08:22
BlueT_ joined,
patrickas joined
|
|||
| masak | huh. no elf anymore. | 08:23 | |
| yapsi: say q/foo/ | |||
| p6eval | yapsi: OUTPUT«Could not parse» | ||
| masak | ENOTYETIMPLEMENTED | ||
| sorear | niecza: say q/foo/ | 08:25 | |
| p6eval | niecza 01680b9: OUTPUT«Unhandled Exception: System.IndexOutOfRangeException: Array index is out of range. at CORE.Say_55C (Niecza.Frame th) [0x00000] in <filename unknown>:0  at Niecza.Frame.Continue () [0x00000] in <filename unknown>:0  at Niecza.Kernel.RunLoop (Niecza.DynBlockDelegate | ||
| ..boot) [0x0… | |||
| sorear | huh. | ||
| niecza: say 'foo' | |||
| p6eval | niecza 01680b9: OUTPUT«foo» | ||
| sorear | clearly a bug somewhere here | ||
| masak gets a sudden mental image of the hyper-trinary operator o.O | 08:30 | ||
| it would require three » in total | 08:31 | ||
| moritz_ | masak: hey, we should discuss module meta data at YAPC::EU | ||
| masak | moritz_: yes. I'd willingly do that. | 08:32 | |
| sorear won't be there :( | |||
|
08:32
thebird joined
|
|||
| masak | hugme: hug sorear | 08:35 | |
|
08:35
daxim joined
|
|||
| hugme hugs sorear | 08:35 | ||
| masak | rakudo: my $foo = 1; $foo xor= 1; say $foo | 08:36 | |
| p6eval | rakudo 50e0e7: OUTPUT«Null PMC access in invoke() in main program body at line 1» | 08:37 | |
| masak submits rakudobug | |||
|
08:38
mp45_ joined
08:39
dakkar joined,
Snowclone joined
|
|||
| masak | rakudo: my $foo = 1; $foo xor= 1 | 08:40 | |
| p6eval | rakudo 50e0e7: OUTPUT«Null PMC access in invoke() in main program body at line 1» | ||
| masak | rakudo: my $foo = 1; $foo and= 1 | ||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| masak | rakudo: my $foo = 1; $foo or= 1 | ||
| p6eval | rakudo 50e0e7: ( no output ) | 08:41 | |
| daxim | jnap++ slashdot.org/comments.pl?sid=173723...d=33079092 especially the last paragraph | 08:43 | |
|
08:49
Mowah joined
|
|||
| masak | jnap++ | 08:52 | |
| there's a message to us from a smug OCaml weenie :) rwmj.wordpress.com/2010/07/30/every...new-again/ | 08:59 | ||
| sorear | I think Exception might actually be a role | 09:00 | |
| and die "Bang" means die("Bang" but Exception) | |||
|
09:06
darkop joined
09:08
hryk joined
|
|||
| Su-Shee | masak: his fault. ocaml sold its capabilities badly. and french-only websites which one easily encounters if searching for ocaml stuff don't help as well. | 09:11 | |
| also I know exactly _one_ project in ocaml which has some everyday use for joe user. | 09:12 | ||
| moritz_ too. unison. | |||
| it's quite a cool tool | |||
|
09:12
dual joined
|
|||
| moritz_ | anyway, I wonder why he things Perl 6 doesn't have "real GC" yet | 09:12 | |
| *thinks | 09:13 | ||
| frettled | Well, do we? :D | ||
| moritz_ | well, don't we? | ||
| it's not fast | |||
| but so far I haven't seen evidence that it's not "real" | |||
| Su-Shee | moritz_: oh, that makes two tools. mine would be mldonkey. ;) | 09:14 | |
| moritz_ | Su-Shee: :-) | ||
|
09:14
xabbu42_ joined
|
|||
| frettled | It's not as if garbage collection is specified precisely, is it? :) | 09:14 | |
| moritz_ | debtags search implemented-in::ocaml | 09:16 | |
| debtags++ | |||
| (enrico zini)++ | |||
|
09:17
am0c joined
|
|||
| moritz_ | developers.slashdot.org/comments.pl...d=33078768 | 09:22 | |
| of course I liked the sentence about the book :-) | |||
| "Perl6 does have a lot to offer that is cutting edge so it does have a chance. Take a look at the PDF and the Regex Grammars section where they implement JSON in a few pages. And it isn't in "one liner" style. It is in true language grammar style just like everyone learns (or should learn) in their compiler studies." | |||
| Su-Shee | ah and the bitching starts about "the spec isn't finished" and all. | 09:24 | |
| masak | I consider "the spec isn't finished" to be one of the *strengths* of Perl 6 (at this stage of development). but I can understand how outsiders might not arrive at that conclusion. | 09:27 | |
| frettled | I consider the fact that Perl 6 _has a spec_ to be a strength. | 09:28 | |
| Su-Shee | schwern and others compare it to c and sql which seems to be a specific thing I don't get. | ||
|
09:28
tadzik joined
|
|||
| colomon | I almost learned Ocaml *just* because of Unison. | 09:28 | |
| Su-Shee | the only thing I take seriously are comments which go into "yes, nice, but where will the place for perl 6 actually be?" and that's something one can manage. | 09:29 | |
| colomon | As far as I know, it's the only program in a functional language that gets regular use at my house. | ||
| masak | speaking of which, does the spec spec whether an enumeration object does Role? | ||
| Su-Shee | hm. I want speck today. ;) | ||
| frettled | Does the speck spec spec speck? | 09:30 | |
| sorear | I really don't care what J. Random Slashdotter thinks | 09:32 | |
| Am I alone? | |||
| frettled | sorear: no, you're not alone. | ||
|
09:34
foodoo joined
|
|||
| sorear decides to just implement $! badly for now | 09:34 | ||
| masak | I don't care much what random redditers or hackernewsers think either. but they do form a carpet of general discourse, and as a whole, that discourse gives an indication of... something. :) I tend to think of it as people with time on their hands taking a core dump of their unconscious for the rest of us to read. | ||
|
09:35
envi^home joined
|
|||
| squeeky | wait, you guys read the comments? I stopped looking at line noise a long time ago. | 09:36 | |
| Su-Shee | it's really simple. want the language to have success in terms of "language for everybody in their every day use and for companies?". than you have to care for different things than if you'd like your language to get the recognition of your favorite academic peers. | ||
| masak | squeeky: I confess I do. I probably shouldn't. :) | 09:37 | |
| Su-Shee | I do too, but I ignore idiots. | 09:38 | |
| masak | when it's an option, I downvote them. otherwise I ignore them, too. | ||
|
09:39
snarkyboojum joined
|
|||
| Su-Shee | also, comments are interesting because they show at least in part wether or not your assumptions about reactions were right or totally off. I would have expected more "haha, 10 years too late I changed to xy years ago" and found much "ooh finally, I've waited for you so long..". so perl love obviously runs deep. | 09:40 | |
| tadzik | hrm. I added my projects to proto, but they don't appear on proto.perl6.org | 09:41 | |
| maybe they should be added to pls too? | 09:42 | ||
| moritz_ | tadzik: proto.perl6.org takes its data from the pls branch | ||
| sorear | leave, die, warn, next, goto, redo, last, return, take, succeed | ||
| tadzik | oh, ok | ||
| sorear | am I missing any | ||
| ? | |||
|
09:43
Alias joined
|
|||
| tadzik | By the way, there's alredy a Term::ANSIColor module there, but less featured and I'm unable to contact the author to merge the effort. Is it ok to remove it for now? | 09:43 | |
| masak | Alias! \\o/ | ||
| tadzik: let it stay until you can contact the author. | |||
| Alias | I see someone else has decided to get into the business of making .msi installers | ||
| tadzik | okay | ||
| masak | tadzik: do you already have something more featureful? | ||
| Alias: aye. might have been jnthn, I don't recall. | 09:44 | ||
| tadzik | masak: yep, that's the thing that got into Star | 09:45 | |
| Alias | Cause if we can get a zip layout, I'd love to build it into Strawberry Professional | ||
| I'd much rather try out Perl 6 with a proper IDE | |||
|
09:45
briang joined
|
|||
| masak | tadzik: \\o/ | 09:46 | |
| moritz_ | Alias: what kind of zip layout do you need? Are the absolute paths of the install location known in advance? | 10:06 | |
| Alias | Yup | 10:07 | |
| Well, in the crudest version of strawberry | 10:08 | ||
| But there's tons of prior art to copy | |||
| That shows the zip layout | |||
| I'll grab an example | |||
| moritz_ | so, just a zip of rakudo, parrot, and the modules (both source and compiled)? | ||
| Alias | Yup | 10:14 | |
| So we drop that onto the tree early, then build up Padre, then add the Padre Perl 6 plugin, and we're hopefully done | |||
|
10:15
bjarneh joined
|
|||
| moritz_ | I'll see if I can shove the dust off my old windows dev environment, or motivate jnthn++ to do it | 10:17 | |
|
10:17
Farhad2161 joined
|
|||
| Farhad2161 | hi | 10:17 | |
|
10:17
darkop left
|
|||
| moritz_ | hi Farhad2161 | 10:17 | |
|
10:18
Farhad2161 left
|
|||
| Alias | strawberryperl.com/package/expat-2....anilla.zip | 10:22 | |
| There's a boring example | |||
| It's dropped in below C:\\strawberry\\c\\ | |||
| All the c stuff should go in there | |||
| And \\c\\bin is added to PATH for you | |||
| And then we'll have to make you a new \\perl6\\ or \\rakudo\\ root or something | 10:23 | ||
| Within which you can do as you please | |||
| But I hope we will have already populated all the C libraries you need already | |||
| moritz_ | is libicu bundled? | 10:25 | |
| most things work without it, but some Unicode handling requires it | 10:27 | ||
| for example for uc($non-latin1-string) | |||
|
10:28
M_o_C joined,
jferrero joined
|
|||
| szabgab | rakudo: say (1..4).map({ $_ => 1 }); | 10:30 | |
| p6eval | rakudo 50e0e7: OUTPUT«No candidates found to invoke for method 'map' on object of type 'Range'; available candidates have signatures::(Mu : █; *%_) in main program body at line 22:/tmp/CYgpFWFSz7» | ||
|
10:30
zulon joined
|
|||
| colomon | :\\ | 10:31 | |
| oh! | |||
| it's the { $_ => 1 } which is the problem. | |||
| Rakudo probably thinks it's a hash | 10:32 | ||
| moritz_ | {; $_ => 1} | ||
| should help | |||
| szabgab | rakudo: my @x = 1..4; say @x.map({ $_ => 1 }) | ||
| p6eval | rakudo 50e0e7: OUTPUT«No candidates found to invoke for method 'map' on object of type 'Array'; available candidates have signatures::(Mu : █; *%_) in main program body at line 22:/tmp/YfsIOYBGDT» | ||
| moritz_ | we should really install another multi for that | ||
| szabgab | rakudo: my @x = 1..4; say @x.map({; $_ => 1 }) | ||
| p6eval | rakudo 50e0e7: OUTPUT«1 12 13 14 1» | ||
| colomon | rakudo: my @x = 1..4; say @x.map({; $_ => 1 }).perl | ||
| p6eval | rakudo 50e0e7: OUTPUT«(1 => 1, 2 => 1, 3 => 1, 4 => 1)» | ||
| szabgab | rakudo: say (1..4).map({; $_ => 1 }); | ||
| p6eval | rakudo 50e0e7: OUTPUT«1 12 13 14 1» | ||
| colomon | rakudo: my @x = 1..4; say @x.map(* => 1).perl | 10:33 | |
| p6eval | rakudo 50e0e7: OUTPUT«(1 => 1, 2 => 1, 3 => 1, 4 => 1)» | ||
|
10:36
Trashlord joined,
snarkyboojum joined
10:37
M_o_C joined
|
|||
| colomon | rakudo: (1..4 Z=> 1 xx *).perl | 10:45 | |
| Alias | moritz: Not sure... but I imagine if it's needed we can build a vanilla package | ||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| colomon | rakudo: (1..4 Z=> 1 xx *).perl.say | ||
| p6eval | rakudo 50e0e7: OUTPUT«(1 => 1, 2 => 1, 3 => 1, 4 => 1)» | ||
|
10:45
bjarneh joined
11:02
whee joined
11:09
mscha joined
11:12
kid51 joined
|
|||
| kid51 | What is the best list on which to report a Rakudo Star failure to build, i.e., a failure at the Perl 6 'make' stage? | 11:13 | |
| colomon | I'm not sure what the current best bug reporting method is. | 11:17 | |
| What happened to your build? | |||
|
11:18
mikehh_ joined
|
|||
| frettled | kid51: See under the heading "Reporting bugs" in the README file. | 11:29 | |
| IIRC, it's the same as for Rakudo (rakudobug@perl.org) | 11:30 | ||
|
11:31
plol joined
|
|||
| moritz_ | right | 11:32 | |
|
11:33
M_o_C joined
|
|||
| frettled | Yup, that's what the README says. Phew :) | 11:33 | |
| briang | what's the best way of converting a List of Pairs to a hash? | 11:55 | |
| (Enjoying R* very much. thanks gang) | |||
| moritz_ | briang: .hash | 11:56 | |
| rakudo: say (a => 1, b => 2).hash.perl | |||
| alternativel %( ... ) | |||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| briang | nah. That's too easy :) | ||
| moritz_ | huh, what's wrong? | ||
| Su-Shee | rakudo: my @pair = <cat dog>; my %hash = @pair.hash; say %hash{cat}; | 11:57 | |
| p6eval | rakudo 50e0e7: OUTPUT«Could not find sub &cat in main program body at line 22:/tmp/dmSKASkZKY» | ||
| tadzik | nothing, he's just amazed I guess :P | ||
| gfldex | my @pair = <cat dog>; my %hash = @pair.hash; say %hash | 11:58 | |
| my @pair = <cat dog>; my %hash = @pair.hash; say %hash<cat>; | |||
| moritz_ | rakudo: my @pair = <cat dog>; my %hash = @pair.hash; say %hash<cat>; | ||
| p6eval | rakudo 50e0e7: OUTPUT«dog» | ||
| moritz_ | rakudo: say (a => 1, b => 2).hash.perl | ||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| tadzik | Hmm. Inspired by buddy's Perl 5 module, would it be possible to dump all the variables to STDERR during a program run? Is there a way to get a list of all variables available? | ||
| moritz_ | wow, that gives a segfault | 11:59 | |
| rakudo: my $x = 5; say callframe(0).my.perl | |||
| p6eval | rakudo 50e0e7: OUTPUT«{"\\$_" => 23, "\\$/" => 16, "__CANDIDATE_LIST__" => 2, "\\$x" => 19, "\\$!" => 18, "\\$MAIN" => 12}» | ||
| tadzik | oh, cool | ||
| moritz_ | rakudo: my $x = 5; say callframe(0).my.keys.join(' ') | ||
| p6eval | rakudo 50e0e7: OUTPUT«$_ $/ __CANDIDATE_LIST__ $x $! $MAIN» | 12:00 | |
| moritz_ | I just wonder what the values are about | ||
| gfldex | reference count? | 12:01 | |
| moritz_ | shouldn't be (we have a GC :-) | 12:02 | |
| gfldex | Strange Bird Numbers? | ||
| moritz_ | does 'say (a => 1, b => 2).hash.perl' segfault for anybody else? | ||
| gfldex | yes | 12:03 | |
| tadzik | yes | ||
| gfldex | 50e0e7ee7263b401ffe95aa7585ee07ee7188d6d, last commit i got | ||
| tadzik | even (a => 1, b => 2).hash | ||
| This is Rakudo Perl 6, version 2010.07-54-g94cfd5e built on parrot 2.6.0 r48225 | 12:04 | ||
| briang | moritz_: no segfault, but no output either | ||
| moritz_ submits rakudobug | |||
|
12:04
larsen joined
|
|||
| briang | (converting list to hash): I would have found it mush easier to work out myself if I hadn't left a ".perl" on the end of the list assignment. doh | 12:06 | |
| *much* | |||
| moritz_ | rakudo: say %(a => 1, b => 2).perl | ||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| gfldex | why is it .hash and not .Hash anyways? | 12:07 | |
| moritz_ | rakudo: say (my %h = a => 1, b => 2).perl | ||
| p6eval | rakudo 50e0e7: OUTPUT«{"a" => 1, "b" => 2}» | ||
| moritz_ | gfldex: good question - I don't know | ||
| btw assigning to a hash variable is a nice workaround for now | |||
|
12:09
hans_ joined
|
|||
| gfldex | Is there a way to get all class objects in the current scope? | 12:18 | |
|
12:18
drbean joined
12:20
pmurias joined,
am0c joined
|
|||
| moritz_ | I know of none | 12:21 | |
|
12:25
goksie joined
|
|||
| kid51 submits rakudobug on build failure; heads off to $job | 12:28 | ||
|
12:28
goksie_ joined
12:30
bluescreen joined
12:35
mj41 joined
12:38
Kodi joined
12:40
ruoso joined
|
|||
| pmurias | ruoso: hi | 12:40 | |
| ruoso | hi pmurias | 12:41 | |
| pmurias | ruoso: i'm adding the STD:: prefix to things in STD at the dist build time so that STD-0.05 should be an authorized release | 12:43 | |
|
12:50
xinming_ joined,
rindolf joined
12:54
chickenzilla joined
|
|||
| pugssvn | r31867 | Kodi++ | [perl6.org] Improved the description of Rosetta Code. | 12:55 | |
| pmurias | ruoso: STD-0.05 indexed correctly :) | 12:58 | |
| ruoso: i think i'll polish+release Forest::Gtk2 today, as the pluggability of v6 is not put into the mainline yet | 13:00 | ||
|
13:02
timbunce joined
13:04
hryk joined
|
|||
| moritz_ | phenny: tell mberends you'll like www.reddit.com/r/perl/comments/cv1q...ly/c0vicuc :-) | 13:05 | |
| phenny | moritz_: I'll pass that on when mberends is around. | ||
| moritz_ | std: \\o/ |\\o/| o< /o\\ | 13:09 | |
| p6eval | std 31867: OUTPUT«[31m===[0mSORRY![31m===[0mUnable to parse quote-words subscript; couldn't find right angle quote at /tmp/cMmSbdtT2b line 1:------> [32m\\o/ |\\o/| o<[33m⏏[31m /o\\[0m expecting backslashUndeclared routine: 'o' used at line 1,1,1Parse failedFAILED 00:01 116m» | ||
|
13:13
Irkm joined,
zachy joined
13:15
azert0x joined
13:18
lmistura joined
|
|||
| lmistura | Hello im new to perl6, where can i find information about perl6 regexes? Is there a good place to find info not outdated info? | 13:19 | |
|
13:20
timdemkowsky joined
|
|||
| timdemkowsky | good morning guys | 13:20 | |
| [Coke] | lmistura: yes, the specs are the best place. | ||
| S05? | 13:21 | ||
| bah, no bot. :P | |||
| feather.perl6.nl/syn/S05.html | |||
| there may also be an intro the PDF book that came with star, though I'm not sure. | |||
| The nice thing about that URL is that it links to the tests, so you can expand them to see working code... and if it says #?rakudo skip, you know that it's not yet implemented in rakudo. | 13:22 | ||
| PerlJam | chapter 9 of the book is pattern matching (regex) | 13:23 | |
| (and chapter 10 is grammars :) | 13:24 | ||
| [Coke] | PerlJam++ | ||
|
13:25
desertm4x joined
|
|||
| Irkm | hi, i just downloaded rakudo today and I'm confused about [+]. Has someone a few minutes to explain something to me? | 13:26 | |
| PerlJam | Irkm: sure! | ||
| lmistura | Thanks guys ! | ||
| Irkm | why do these two statements not result in the same result: | ||
| perl6: my @arr = 1,2,3; my $sum = [+] @arr;say "sum: $sum"; | |||
| p6eval | pugs, rakudo 50e0e7: OUTPUT«sum: 6» | ||
| Irkm | perl6: my @arr = <1,2,3>; my $sum = [+] @arr;say "sum: $sum"; | ||
| p6eval | pugs: OUTPUT«sum: 1,2,3» | ||
| ..rakudo 50e0e7: OUTPUT«sum: 1» | |||
| frettled | lmistura: You might also want to check out the Perl 6 Advent Calendar, which has use cases and examples. | 13:27 | |
| Irkm | It look to me as if in the second case only the first element in the array is added . | ||
| [particle] | Irkm: you're confused about <...>, not [+] | ||
| PerlJam | Irkm: are you familiar with Perl 5? | ||
| Irkm | yes | ||
| PerlJam | Irkm: <> is like qw() in Perl 5 | ||
| Irkm | ok then why does this not work? | ||
| perl6: my @arr = tom => 4, ted => 3, tod => 5, tad => 5;say [+] @arr>>.values; | |||
| p6eval | rakudo 50e0e7: OUTPUT«4» | 13:28 | |
| ..pugs: OUTPUT«8» | |||
| Irkm | It gives only the sum of the first array member. | ||
| frettled | lmistura: perl6advent.wordpress.com/2009/12/0...-calendar/ | ||
| baest | perl6: my @a = <1 2 3>; say [+] @a; | ||
| p6eval | pugs, rakudo 50e0e7: OUTPUT«6» | ||
| PerlJam | rakudo: my @arr = tom => 4, ted => 3, tod => 5, tad => 5; @arr>>.values.perl; | 13:29 | |
| p6eval | rakudo 50e0e7: ( no output ) | ||
| PerlJam | oops | ||
| baest | Irkm: <1,2,3> is an array containing the string "1,2,3" | ||
| PerlJam | rakudo: my @arr = tom => 4, ted => 3, tod => 5, tad => 5; @arr>>.values.perl.say; | ||
| p6eval | rakudo 50e0e7: OUTPUT«([4], [3], [5], [5])» | ||
| Irkm | ah i see. | ||
| my bad. | |||
| PerlJam | Irkm: notice the structure | ||
|
13:30
timdemkowsky joined
|
|||
| PerlJam | rakudo: my @arr = tom => 4, ted => 3, tod => 5, tad => 5; @arr>>.value.perl.say; | 13:30 | |
| p6eval | rakudo 50e0e7: OUTPUT«(4, 3, 5, 5)» | ||
| PerlJam | compare and contrast :) | ||
| (though I find it weird that a Pair as a method named "values" myself) | 13:31 | ||
| Irkm | oh so there is a method value and a method values? This is kind of confusing :) | 13:33 | |
|
13:33
mutewit joined
13:34
LaVolta joined,
chickenzilla left
|
|||
| Irkm | thanks a lot. | 13:34 | |
| PerlJam | Irkm: Pairs have a key and a value, thus there are methods to get at those. | ||
| Irkm: Hashes have keys and values, thus the pluralization of the methods | 13:35 | ||
| timdemkowsky | where do i get one of these nice feather.perl6.nl cloaks? :) | 13:36 | |
| PerlJam | timdemkowsky: Ask Juerd. | ||
| timdemkowsky | PerlJam: thanks! | ||
|
13:36
mj41 joined
|
|||
| mutewit | So, I have just started reading the first chapter of "UsingPerl6-draft.pdf" | 13:36 | |
| PerlJam | mutewit: the preface? :) | 13:37 | |
| mutewit | PerlJam: "The Basics", my bad. | ||
| and the first thing that strikes me is that hashes don't need to use the 'scalar' prefix to get at individual items. | 13:38 | ||
|
13:38
xabbu42_ joined
|
|||
| PerlJam | mutewit: correct. | 13:38 | |
|
13:38
Italian_Plumber joined
|
|||
| LaVolta | well, I must confess, after playing the whole day with R*, it seems to me Perl 6 is sexiest language... | 13:38 | |
| PerlJam | There's even a footnote on page 8 that says so and gives you a handy term to google | ||
| mutewit | That's an interesting reversal from 5.10 | ||
| Irkm | one last Question. Why is rakudo getting the same results for these two? | 13:39 | |
| mutewit | But then I should be treating this as a new language instead of comparing and contrasting. | ||
| Irkm | perl6: my @arr = tom => 4, ted => 3, tod => 5, tad => 5; say join(";", @arr>>.values); | ||
| perl6: my @arr = tom => 4, ted => 3, tod => 5, tad => 5; say join(";", @arr>>.value); | |||
| p6eval | rakudo 50e0e7: OUTPUT«4;3;5;5» | ||
| ..pugs: OUTPUT«<Error> <Error>;<Error> <Error>;<Error> <Error>;<Error> <Error>» | |||
| rakudo 50e0e7: OUTPUT«4;3;5;5» | |||
| ..pugs: OUTPUT«*** No such method in class Array: "&>>value" at /tmp/WWbXKPRnzv line 1, column 66-78» | |||
| timdemkowsky | LaVolta: Oh yeah. Perl 6 looks great, but the performance is rather poor atm | ||
| squeeky | 1) Do it. 2) Do it fast. | ||
| LaVolta | yep...they say it can be compared to Java :-P | 13:40 | |
| PerlJam blames parrot | |||
| [Coke] | PerlJam-- | 13:41 | |
| PerlJam: given the huge perf increase that colomon found, I refute you. | |||
| Su-Shee | my head hurts from even driven programming. | 13:42 | |
| timdemkowsky | I played a bit with PIR yesterday, looks interesting. :) | ||
| PerlJam | [Coke]: touché | ||
| LaVolta | forgive me, will there be IronPerl6? :) | 13:43 | |
| squeeky | Perl Enterprise Edition | ||
| Su-Shee | squeeky: Rakudo Business Enterprise Solution Edition please. | ||
| [Coke] | LaVolta: sorear is working on a CLR version, yes. I think diakopter had already done something like NQP on the CLR. | 13:44 | |
| PerlJam | Isn't that what sorear is working on too? | ||
| timdemkowsky | Managed Visual Rakudo Perl 6 Express Edition \\o/ | ||
| LaVolta | thanks for the info... | ||
|
13:44
isBEKaml joined
|
|||
| PerlJam | (I find myself in the odd-for-perl position of thinking that there are starting to be too many implementations :) | 13:45 | |
| [Coke] | PerlJam: I was under the impression that n** was aiming for Perl 6, not a subset. | ||
| PerlJam: welcome to my brain, FOUR YEARS AGO. | |||
| ;) | |||
| PerlJam | sorear needs to add niecza to perl6.org/compilers/ | 13:47 | |
| pmichaud | good morning, #perl6 | ||
| PerlJam | (as do all other implementors) | ||
| [Coke] | cognominal: for RT #76830, can you please add an indication as to what you think a non-misleading error message would be? | 13:48 | |
| phenny: ask cognominal for RT #76830, can you please add an indication as to what you think a non-misleading error message would be? | |||
| phenny | [Coke]: I'll pass that on when cognominal is around. | ||
| PerlJam | (er, all other implementors need to add their respective implementation descriptions that is :) | ||
| morning Pm. No one really excoriated Perl 6 so far. | 13:49 | ||
| [particle] thinks about rakudo and parrot in the context of mst's ironman competition... monthly releases for 31 months | |||
| perl 5 certainly can't say the same | |||
| jnthn | morning, pmichaud | ||
| phenny | jnthn: 06:24Z <pmichaud> tell jnthn I know where the problem is with $a >>->> $b, will fix it shortly-ish. | ||
| jnthn | pmichaud++ | 13:50 | |
| jnthn has been busily...catching up on sleep. :-) | |||
| PerlJam | [particle]: this is one of those unevenly distributed futures. Perl 5 didn't get on the regular release cycle bus until a little later in the game. | ||
| [Coke] | I give up. how do you vote on a comment on /. ? | 13:51 | |
|
13:51
whee joined
|
|||
| Alias | jnthn, talk to me about MSI | 13:52 | |
| jnthn, what do we need to do to merge your stuff into Strawberry Professional | |||
| So there's an IDE for Perl 6 out the box | 13:53 | ||
|
13:53
isBEKaml_ joined
|
|||
| colomon | what's wrong with $a >>->> $b? | 13:55 | |
| jnthn | Alias: Hi! Yes, that sounds great. :-) I'm not sure if my stuff is a good starting point or not. Essentially all I did was build an installed Rakudo, then added the files to the MSI, plus setting up some start menu shortcuts and a file association. | ||
| Alias | Does the current Rakudo built with hard-coded install paths? | ||
| Or is it adaptive? | 13:56 | ||
| jnthn | Alias: Hard-coded. :-( | ||
| Alias: Worse, there's no way to build a relocatable one at the moment. :-( | |||
| Alias | That's fine, we planned for this | ||
| jnthn | Alias: My installer doesn't actually ask the user where to install it. | ||
| Alias: It just goes straight for the place that it'll work. | 13:57 | ||
| *the only place... | |||
| Alias | OK, so if you can change your build so that it generates the files in a mix of say C:\\strawberry\\c\\ and something like C:\\strawberry\\six | ||
| jnthn | I did actually try writing a program that would binary-patch the executable. | ||
| Alias | Then we make a "vanilla" format zip file | ||
| And add 3 lines of code to the Strawberry build code, and it should drop right in | |||
| Or something more complex, but in the same general order of magnitude | 13:58 | ||
| jnthn | Ah, so you just unpack a ZIP into the right place, and just include the ZIP file? | ||
| Alias | Right | ||
| jnthn | Rather than all the files individually? | 13:59 | |
| Oh, OK, that's even easier than I expected then. :-) | |||
| Alias | Well, there's several phases | ||
| jnthn | Alias: What is Strawberry built using (compiler wise)? | ||
| Alias | But for phase 1, the C/toolchain phase, we take a collection of different zip files, each one of which contains a pre-compiled fileset for some logical tool or toolset | ||
| And we unroll the zip files over each other | |||
| With some tweaking, if we didn't build the original zip | 14:00 | ||
| gcc | |||
| jnthn | Ah, OK | ||
| The build I did was with MSVC++ | |||
| Alias | Last time I was here, everyone on windows built Perl 6 on top of Strawberry | ||
| pmichaud | 13:49 <PerlJam> morning Pm. No one really excoriated Perl 6 so far. | ||
| jnthn | Alias: Oh? | ||
| Alias | In fact, I thought that was the ONLY way you could build it | ||
| jnthn | Alias: I...never have. :-) | ||
| pmichaud | PerlJam: excellent.... I blame TimToady for that :-) | ||
| PerlJam | TimToady++ | 14:01 | |
| jnthn | Alias: I've been building with the Visual Studio compiler and using nmake. ;-) | ||
| Alias: Anyway, diversity++ :-) | |||
| Alias | cpan -i Perl::Dist::Strawberry | ||
| The entire build stack is cpan'ified | |||
| So you can actually watch it build yourself if you wish :) | |||
| jnthn | Alias: OK, may well get an environment to do that too | ||
| PerlJam | In fact, last night I was thinking of adding an acknowledgements section to Using Perl 6 that explicitly blamed TimToady for such a wonderful job on Perl 6 (community and all) | 14:02 | |
| Alias | You'll need to grab "bootstrap perl" off the strawberryperl.com/beta page | ||
| pmichaud would be sooooo satisfied to see rakudo in a strawberry build. | |||
| Alias | And you use the special bootstrap distro, to build the real distro | ||
| (Hint: It's not actually THAT special) | |||
| jnthn | *nod* | ||
| PerlJam | strawberry comes with Padre too? (or have I got that backwards?) | ||
| cognominal | [Coke] for #76830 I have not checked yet what information the parser has so as to give a good message. | 14:03 | |
| phenny | cognominal: 13:48Z <[Coke]> ask cognominal for RT #76830, can you please add an indication as to what you think a non-misleading error message would be? | ||
| Alias | PerlJam: Strawberry Professional comes with Padre, the Puzzle Bubble game, Imager, Catalyst and a range of other stuff | ||
| oh, and bioperl | 14:04 | ||
| jnthn | Alias: What I'd *really* like to try and do is get Blizkost in there and working too | ||
| Alias | Basically, we try to ship a really really large "standard library" | ||
| To basically one-up Python and friends :) | |||
| PerlJam | Alias: wow ... that's like R* only more-so (way way more) | ||
| Alias++ | |||
| Strawberry++ | |||
| jnthn | Alias: That probably would be easier with a Rakudo built with the Strawberry toolchain. | 14:05 | |
| Alias | By the time Strawberry Pro exits alpha, the goal is that users should NEVER have to load the command line | ||
| GUI cpan client, GUI perl running thing, that makes desktop icons for you etc, GUI perldoc client etc | |||
| pmichaud | the philosophy behind strawberry has been the source for many of my thoughts about R* | ||
| and distribution-versus-compiler in general | |||
| Alias | indeed | ||
| pmichaud, have you ever been present when I explained the product design? | 14:06 | ||
|
14:06
loret joined
|
|||
| pmichaud | Alias: not that I recall, no. I've always been presenting the same time you have on that topic :) | 14:06 | |
| PacoLinux | 2005 downloads | ||
| Alias | pmichaud: Here's the quick version | ||
| - No single distribution can satisfy everyone, and if you try it inevitably bloats until your shipping on DVD like Oracle | 14:07 | ||
| - Therefore, you need a product range | |||
| PerlJam | okay ... I know this is old, but this is the Best Comment Ever ... "Yeah, I was so embarrassed when I went to a big carpentry convention and the parking lot shuttle wasn't made of wood." on perlmonks.org/?node_id=849999 | ||
| Alias | - For Perl 5, there are three key audiences that need specific products | ||
| 1) Vanilla - Targetting our own team and #p5p with an ultrapurist proof-of-concept basically-unusable distro | 14:08 | ||
| 2) Strawberry - "The distribution for people that know Perl, but don't know Windows" | |||
| 3) Chocolate - "The distribution for people that know Windows, but don't know Perl" | 14:09 | ||
|
14:09
h1gh joined
|
|||
| Alias | You can group every major user category I can think of into one of those three boxes | 14:09 | |
| The only potential addition is the merge module | |||
| frooh | given blizkost, should I *not* port perl 5 modules to perl 6? | 14:10 | |
| Alias | Which is the distribution that comes in OEM packaging for embedding in other products | ||
| frooh | (that don't need their api changed that is) | ||
| Alias | blizkost? | ||
| pmurias | Alias: and the people who both know Perl and know Windows? | ||
| Alias | pmurias, they can choose :) | ||
| frooh | Alias: lmgtfy.com/?q=blizkost | ||
| jnthn | Alias: Blizkost is a thingy that allows you to use some Perl 5 modules from Perl 6. | 14:11 | |
| Alias | pmurias, personally I'd go with Chocolate to save time installing everything myself, but use Strawberry on my production servers and tailor it myself :) | ||
|
14:11
amkrankruleuen joined
|
|||
| pmichaud | Alias: I highly agree with the product design | 14:11 | |
| jnthn | Alias: It works by embedding Perl 5 and then building a kinda "bridge" between it and Parrot. | ||
| frooh | jnthn: how do we define some? I'm guessing no XS? | ||
| jnthn | frooh: Actually the reason Blizkost is designed the way it is, is so we *can* run XS modules. :-) | 14:12 | |
| pmichaud | I see the same sorts of parallels in the Linux world, where there are different distributions that meet different target audiences | ||
| frooh | jnthn: oh interesting | ||
| Alias | indeed | ||
| pmichaud, there's some good books out there on the topic of produce ranging | |||
| tadzik | jnthn: how is DESTDIR going? :) | ||
| jnthn | frooh: It's not a re-implementation of Perl 5. It's just a somewhat clever embedding of it. | ||
| Alias | Well, when I say good I mean educational if you are interested in the area | ||
| jnthn | tadzik: I've only been sleeping since you last asked. :P | ||
| frooh | jnthn: well, I guess I'll see if it works, and if it does document that, and if it doesn't I'll give bug-reports or maybe port | 14:13 | |
| Alias | That talk about software product range, conceptually and somewhat practically | ||
| tadzik | jnthn: oh, ok :) | ||
| isBEKaml_ | tadzik: DESTDIR problem was due to windows make issues? | ||
| pmichaud | Alias: I've read a couple over the years; mainly I'm just wanting to spark others to invent in the area :) | ||
| frooh | jnthn: I'd prefer to port but I also like the idea of NOT maintaining two of the exact same thing :-) | ||
| Alias | jnthn, btw if you do a new release, it needs to be "Perl 6 Shell" not "Perl 6 REPL" | ||
| tadzik | ingy: I don't know nothing about windows, my point is to make it available to packaging on Linux distros | ||
| pmichaud | tadzik: I'll gladly fix DESTDIR= ... I just couldn't do it in time for yesterday's release. | ||
| isBEKaml_ | I was wondering why it wasn't there last night.. | ||
| Alias | jnthn, nobody knows what a REPL is | ||
| pmichaud | ("Perl 6 Shell")++ | ||
| tadzik | pmichaud: oh, when I think of it now I could have checked beta4. The 'zero hour' was quite strict, wasn't it? | 14:14 | |
| jnthn | Alias: Ah. :/ | ||
| tadzik | oh | ||
| Su-Shee | I know only REPL, if I read shell, I think "oh a bash in perl6?!" | ||
| tadzik | isBEKaml_: I don't know nothing about windows, my point is to make it available to packaging on Linux distros | ||
| ingy: pardon | |||
| isBEKaml_ | tadzik: I think you meant me.. :) Ah, well. I'm actually trying to package rakudo for Slackware. | ||
| tadzik | isBEKaml_: Rakudo is ok, Rakudo Star is not really :\\ | ||
| (for packaging) | 14:15 | ||
| isBEKaml_ | tadzik: Exactly.. :) | ||
| pmichaud | tadzik: if I create a few more beta tarballs, can you test them? | ||
| tadzik | pmichaud: of course | ||
| isBEKaml_ | pmichaud: gladly. | ||
| pmichaud | then I'll do some of that. | ||
| (as in, today, even) | |||
| tadzik | compilation will take me some time, but sure | ||
| isBEKaml_ | pmichaud: old machine, 20 mins here. I guess that's okay. | ||
| pmichaud | no problem and no rush -- we can do it over a few days | 14:16 | |
| most of the big issues can be handled quickly-ish, I think. | |||
| jnthn | Alias: Though it's the only option that isn't obviously documentation, so we probably get away with it. But I agree to rename it for the future. :-) | ||
| [particle] | nobody on windows knows what a "shell" is | ||
| tadzik | pmichaud: when we do it, we would be ready to hit the Linux repositories with Star, which would be A-We-So-Me. Imho | ||
| [particle] | perl 6 command line | ||
| jnthn | [particle]: Oh screw it. We'll just call it "Rakudo Interactive Command Prompt" :-) | ||
| tadzik | Is the book saying something about it? | 14:17 | |
| jnthn | No, I hate that too. | ||
| Hm | |||
| [particle] | ricp :) | ||
| pmichaud | "Rakudo Shell (REPL)" | ||
| tadzik | or Rakudo's eval(prompt('> ')) :) | ||
| pmichaud | "Interactive Rakudo" | ||
| isBEKaml_ | Shelludo! :D | ||
| pmichaud | "Type stuff in, get errors out" | ||
| er, I mean s/errors/results/ | |||
| [particle] | rakugigo? | ||
| tadzik | oh, what is that sea animal which looks like a Star? | ||
| jnthn | A Starfish? | ||
| pmichaud | tadzik: ...starfish? | ||
| isBEKaml_ | Starfish | 14:18 | |
| tadzik | hmm, will see | ||
| moritz_ | "password starfish" | ||
| jnthn | Alias: So, what's best way to move forward? | ||
| tadzik | yeah, starfish | ||
| I thought it has something with the shell | |||
| Alias | jnthn, lurk in irc.perl.org #win32 | ||
| jnthn, and you should absolutely talk to CSJewell and kmx there | |||
| isBEKaml_ | moritz_: OHNOES, there you go all hollywood-style! ;) | ||
| Alias | CSJewell is the current lead dev for Strawberry (I'm mostly figurehead at this point) | 14:19 | |
| And kmx is our build and compiler wizard that did all our libfoo binary packages | |||
| [Coke] | cognominal: I'm not asking for what you think is reasonable given current information, just what you think is right from a user's perspective. | ||
| cognominal | well, that a sigil in necessary | 14:20 | |
|
14:20
plobsing joined
|
|||
| jnthn | Alias: Joined. :-) | 14:20 | |
| tadzik | howdy, almost 1.5k downloads of Star | 14:21 | |
| isBEKaml_ | tadzik: how do you know? | ||
| erm, I meant to ask for url.. | |||
| tadzik | isBEKaml_: github.com/rakudo/star/downloads | ||
| this is actually over 2000 | |||
| isBEKaml_ | tadzik: oh, right. Forgot about that. Thought github had some silly algorithm for counting downloads. So never bothered. ;) | 14:22 | |
| moritz_ | jnthn, pmichaud: do we have position annotations (ie char level, not just line level) in rakudo? | ||
| jnthn | moritz_: Not yet. | 14:23 | |
| moritz_ | pity | ||
| pmichaud | moritz_: I can put them in easily enough -- but it is likely to result in even more code bloat | 14:24 | |
| plus it's not always clear what we mean by "position" | |||
| moritz_ | I ask because of the mail "implementing every(N)" | ||
| jnthn | pmichaud: Well, I got the impression that TimToady thought we should just include a position from the start of the file. | ||
| pmichaud | haven't read mail yet... just a sec | ||
| jnthn: yes, that's what I mean as well (more) | 14:25 | ||
| moritz_ | one of the (probably not "right" ways) would be to check callframe(1).pos() or so, if it existed | ||
| jnthn | pmichaud: And derive line numbers when we need to print an error. | ||
| pmichaud | jnthn: every position is an annotation, yes? | ||
| jnthn | pmichaud: It will be more annotations though, of course. | ||
| pmichaud | jnthn: yes, that's y point. | ||
| *my | |||
| jnthn | pmichaud: Yes, it is, but it's not storing the string key and the value every annotation | ||
| pmichaud | take the number of line annotations we currently have, and multiply that by a factor of 10 | ||
| ...string key and value? | 14:26 | ||
| jnthn | pmichaud: The names of the annotations are given IDs and then the rest of it is just ID,Value | ||
| pmichaud | right, that's no problem | ||
| jnthn | pmichaud: And it stores them as opcode_t's | ||
| pmichaud | I wasn't worried about that | ||
| jnthn | pmichaud: Anyway, I'm saying "yes it's more, but they're quite compactly stored" :-) | ||
| At least, compared to how they could be. :-) | 14:27 | ||
| pmichaud | anyway, my present plan is to at some point have a "file-scoped" annotation that contains the source (compressed), and to include position offsets throughout the generated file | ||
| POST already knows all of the positions, so that's not at all hard to add to the generation | |||
| jnthn | pmichaud: +1 | 14:28 | |
| pmichaud: the backtrace printer just has to get a tad smarter, but we can factor that out in some nice way too | |||
| pmichaud | but even something like ($expr1 < $expr) && ($expr3 > $expr4) means that the position information for &infix:<&&> will appear multiple times in the output | ||
| jnthn: oh, I was thinking of keeping the lines annotations as well | 14:29 | ||
| jnthn | pmichaud: oh. | ||
| :-) | |||
|
14:29
abra joined
|
|||
| jnthn | pmichaud: They make our life easier but they're duplicate info. | 14:29 | |
| pmichaud | jnthn: yes, but I also wonder if someday some non-perl6 implementation may want to get at line information. | 14:30 | |
| (without having to understand how rakudo happens to store its position and source information) | |||
| jnthn | pmichaud: Troo. | ||
| pmichaud | it's also possible/likely that some module people will want to be able to compile .pbc that doesn't contain the source | ||
| and we'd still like to be able to generate line-numbers in those error messages | 14:31 | ||
| jnthn | *nod* | ||
| pmichaud: Well, the other way is to include the path to the source file in the PBC. | |||
| pmichaud | jnthn: doesn't work if someone is just passing around pbcs | ||
| jnthn | pmichaud: That's the point. | 14:32 | |
| pmichaud: If you want to distribute binary-only, no source, send over the PBC | |||
| pmichaud: It kinda assumes that people will mostly either (a) build the source to work on it or (b) just run it. | |||
| pmichaud | anyway, we can try it -- I just see lots of hairy cases for that one. | 14:33 | |
| (like, figuring out the canonical path to the source is one :) | |||
| jnthn | Aye, it has its downside.s | ||
|
14:34
gfldex joined
|
|||
| moritz_ | speaking of which... iwbn to have both location of source and compiled file in a backtrace | 14:34 | |
| rindolf | moritz_: what is "iwbn"? | ||
| moritz_ | rindolf: it would be nice | ||
| rindolf | moritz_: ah. | 14:35 | |
|
14:35
am0c joined
|
|||
| LaVolta | Rakudo Super Powershell? :) | 14:37 | |
| frooh | I can't seem to get use to work; shouldn't "use JSON::Tiny; say to-json([1]); work? | 14:41 | |
| moritz_ | str: use JSON::Tiny; say to-json([1]) | ||
| star: use JSON::Tiny; say to-json([1]) | |||
| p6eval | star 2010.07: OUTPUT«[ 1 ]» | ||
| frooh | man... | ||
| do I need to run it from a certain dir? | |||
| jdv79 | is there any way to do what in p5 you would do with open's | ||
| moritz_ | star: use JSON::Tiny; say to-json([1, { a=> 1, b => 2]) | 14:42 | |
| [Coke] | *: say "hI" | ||
| jdv79 | -| mode? | ||
| p6eval | star 2010.07: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 22» | ||
| frooh | ohh | ||
| moritz_ | star: use JSON::Tiny; say to-json([1, { a=> 1, b => 2}]) | ||
| p6eval | star 2010.07: OUTPUT«[ 1, { "a" : 1, "b" : 2 } ]» | ||
| moritz_ | jdv79: not yet :( | ||
| jdv79 | i would like to run a cmd but get the output as it happens... | ||
| frooh | moritz_: it looks like it's some kind of repl issue | ||
| jdv79 | ouch | 14:43 | |
| frooh | yeah | ||
| if its on the same line it works | |||
| moritz_ | jdv79: we're not good at IPC and IO yet :( | ||
| jdv79 | i was going to convert and build some dev tools but i can't until that works:( | ||
| ok, thanks | |||
| moritz_ | :( | ||
|
14:43
perlygatekeeper joined
|
|||
| bbkr | star: *^$!~-() # curious... | 14:48 | |
| p6eval | star 2010.07: ( no output ) | ||
| bbkr | std: *^$!~-() # curious... | ||
| p6eval | std 31867: OUTPUT«ok 00:02 117m» | ||
|
14:52
ktne joined
14:54
espadrine joined
|
|||
| jnthn | star: say (*^$!~-()).WHAT | 14:54 | |
| p6eval | star 2010.07: OUTPUT«Junction()» | ||
| jnthn | :-) | ||
| That was the same way I read it. :-) | |||
| frooh | does use Foo call Foo->import like it did in perl 5? | 14:55 | |
| jnthn | frooh: No | 14:57 | |
| frooh: There's some info in S11 about how it works in Perl 6. | |||
| frooh | jnthn: is there something planned for that or is there something better? | ||
| nyi? | |||
| jnthn | frooh: There should at some point we something you can hook into as well | ||
| frooh: We've not got all of S11 implemented in Rakudo just yet though. | 14:58 | ||
| frooh | sure | ||
| well, I can skip it for now | |||
| jnthn | Anyway, better things are spec'd. | ||
| frooh | it's just for shortcuts | ||
| PerlJam | frooh: you *can* export things in a module so they show up in the caller's environment. | ||
| frooh | I know | 14:59 | |
| but that's not what it's for | |||
| PerlJam | what "shortcuts"? | ||
| you mean like tags? use Foo qw/ :blah /; ? | |||
| frooh | nosir | ||
| sec | 15:00 | ||
| PerlJam: search.cpan.org/~frew/Log-Contextua...pm#OPTIONS | |||
|
15:03
h1gh left
15:04
kthakore joined
|
|||
| kthakore | hi | 15:04 | |
| I installed rakudo on windows | |||
| using he msi | |||
| when I run 'perl6' | 15:05 | ||
| I get "load_bytecode" couldn't find file 'P6Regex.pbc' | |||
| also the perl6 book is AWESOME! | |||
| frooh | *: our $x = "frew"; sub foo { say $x }; sub bar { local $x = "frioux"; foo() }; foo(); bar(); foo(); | 15:06 | |
| star: our $x = "frew"; sub foo { say $x }; sub bar { local $x = "frioux"; foo() }; foo(); bar(); foo(); | |||
| p6eval | star 2010.07: OUTPUT«frewCould not find sub &local in 'bar' at line 22:/tmp/50adq9o11D in main program body at line 22:/tmp/50adq9o11D» | ||
| kthakore | jnthn: sorry for pinging again .... | ||
| frooh | is it not called local in perl 6? | ||
| kthakore | oh well back to $work | ||
| PerlJam | local is spelled "temp" in Perl 6 | ||
| frooh | star: our $x = "frew"; sub foo { say $x }; sub bar { temp $x = "frioux"; foo() }; foo(); bar(); foo(); | ||
| kthakore | I will lurk | ||
| PerlJam | and it's NYI I think. | ||
| p6eval | star 2010.07: OUTPUT«frewCould not find sub &temp in 'bar' at line 22:/tmp/lu6tA6jh_j in main program body at line 22:/tmp/lu6tA6jh_j» | ||
| frooh | better name | ||
| orly | |||
| dangit! | |||
| frooh gets back to $job | 15:07 | ||
| jnthn | kthakore: How did you run it? Just from the start-menu shortcut? | ||
| squeeky | err, wow, the R* test suite during Configure.pl crashes horribly on OS X PPC. | 15:09 | |
| oooh. Parrot really doesn't like 64bit PPC. | |||
| frooh | D: | 15:10 | |
| squeeky | Symbol not found: _rl_get_keymap, the OS X debugger picks this up. configure and make still keep running, at least. | ||
| kthakore | jnthn: just perl6 | 15:11 | |
| jnthn | kthakore: Also check if you have any other builds on Rakudo on your mahcine/in your path. | ||
| kthakore: Oh, at the command line? | |||
| moritz_ | squeeky: parrot suffoers from not having enough testers on PPC | ||
| kthakore | jnthn: yeah | ||
| jnthn: what should I have done? | |||
| Rakudo REPL? | |||
| jnthn | kthakore: Well, out of curiosity, check if that works. | ||
| kthakore: But the installer doesn't add to your PATH | 15:12 | ||
| kthakore | jnthn: oh ok | ||
| jnthn | So you may want to do so. | ||
| squeeky | moritz_: it appears this issue is wide known, quite a few messages on the mailing list about it. | ||
| kthakore | jnthn: so how do I do that? | ||
| REPL works | |||
| moritz_ | squeeky: well, then maybe it suffers from a lack of developers :/ | ||
| jnthn | kthakore: OK, then it's probably an existing build that is in your path causing confusion. | ||
| kthakore | moritz_++ jnthn++ masak++ pmichaud++ AWESOME BOOK! | 15:13 | |
| jnthn | kthakore: To edit your path it's System Properties, Advanced, Environment Variables... | ||
| squeeky | moritz_: www.mail-archive.com/perl6-internal...41612.html quite possibly, although looking at this it was fixed and never made it into the repo. | ||
| kthakore | jnthn: may I paste the PATH? | ||
| jnthn | And you can edit the PATH environment variable there. | ||
| kthakore: Well, just add C:\\Rakudo\\bin at the start of it. ;-) | |||
|
15:13
Holy_Cow joined
|
|||
| kthakore | jnthn: oh ok | 15:14 | |
| :D | |||
| tadzik | man, aren't you happy for all these amazed newcomers? :) | ||
| kthakore | jnthn: still doesn't work | ||
| tadzik | this is so amazing, makes all the effort put into Rakudo and Star so awesome | ||
| padron me getting sentimental :) | |||
| squeeky | moritz_: I'll happily test anything on PPC (and PPC64), I'm actually a lousy programmer and getting me to fix it is the tougher bit. | 15:15 | |
| jnthn | kthakore: What does perl6 --version report? | ||
| kthakore | tadzik: right there with you pal | ||
| jnthn: couldn't find file 'P6Regex.pbc' | |||
| jnthn | kthakore: OK, I think it's almost certainly picking up a perl6.exe or a libparrot.dll (but more likely the first) other than the one inside C:\\Rakudo\\bin. | 15:16 | |
| kthakore: Suggest doing a search for those. | 15:17 | ||
| kthakore | jnthn: yay! | ||
| jnthn: I added lib to the path | |||
| it works | |||
| jnthn | \\o/ | ||
| kthakore | C:\\Rakudo\\bin\\lib | 15:18 | |
| :D | |||
| jnthn | Happy hacking. :-) | ||
| kthakore | jnthn: I will go through the book this weekend | ||
| jnthn: then try to plug parrotSDL | |||
| jnthn: :D | |||
| jnthn: oh also may I ask where is the source of perl6 book? I think I found a typo | 15:19 | ||
| moritz_ | hugme: show book | ||
| hugme | moritz_: the following people have power over 'book': PerlJam, TimToady, [particle], colomon, jnthn, masak, mberends, moritz_, pmichaud. URL: github.com/perl6/book/ | ||
| kthakore | Table 2.1 | ||
| moritz_ | kthakore: what's your github ID? | ||
| kthakore | moritz_: kthakore | ||
| moritz_ | hugme: add kthakore to book | ||
| hugme hugs kthakore. Welcome to book! | |||
| moritz_ | kthakore: you have commit access now :-) | 15:20 | |
| kthakore | moritz_: hugme I need ! | ||
| it adds commit! :D | |||
| wow | |||
| hugme hugeme | |||
| hugme | kthakore: | ||
| kthakore | hugme hugme | ||
| hugme | kthakore: | ||
| kthakore | ?? | ||
| jnthn | hugme: hug kthakore | ||
| hugme hugs kthakore | |||
| kthakore | oh ok | ||
| jnthn | It does taht too :-) | ||
| kthakore | jnthn: I was looking for his source | ||
| jnthn | Oh | ||
| kthakore | :D | ||
| moritz_ | kthakore: handing out commit bits is its primary function | ||
| jnthn | hugme: show hugme | ||
| hugme | jnthn: the following people have power over 'hugme': PerlJam, TimToady, [particle], colomon, jnthn, masak, mberends, moritz_, pmichaud. URL: github.com/moritz/hugme/ | ||
| kthakore | jnthn: ah ok | 15:21 | |
| moritz_++ | |||
| jnthn++ | |||
| thanks guys | |||
| jnthn: I might make a perl6 script for work! | |||
| QA testers :D | |||
| we try new thinks every day | |||
| jnthn | Yay :-) | 15:22 | |
| isBEKaml_ | kthakore: \\o/. haffun! :) | ||
| kthakore | isBEKaml_: thanks | ||
| things* | |||
| isBEKaml_ | kthakore: If you're the guy that did the awesome SDL::Perl, I'm sure you'll definitely have fun with p6. :) | 15:23 | |
| kthakore | isBEKaml_: I did | ||
| isBEKaml_ | kthakore++ | ||
| kthakore | isBEKaml_: new stuff comming soon | ||
| isBEKaml_: parrotSDL is working a bit. So I am going to try to get perl6 to use it | |||
| :D | |||
| isBEKaml_ | kthakore: \\o/. Keep 'em coming! :) | ||
| kthakore | github.com/kthakore/parrotSDL | 15:24 | |
|
15:24
patrickas joined
|
|||
| patrickas | to the stars and beyooooonnnd ... Hello perlsixers :-) | 15:25 | |
| isBEKaml_ | patrickas: \\o | ||
| patrickas | o/ isBEKaml_ | ||
|
15:26
azert0x joined
|
|||
| kthakore | isBEKaml_: have you played with SDL perl stuff recently? | 15:26 | |
| isBEKaml_ | kthakore: not recently, it was sometime back. I was amazed at how you brought back a (nearly) dead project. :) | 15:27 | |
| kthakore: do you have an url that I can follow the changes you do to SDL::Perl? | 15:29 | ||
| kthakore | isBEKaml_: nothing is dead when it has code publicly available | ||
| isBEKaml_: sdl.perl.org | |||
| isBEKaml_: and yapgh.blogspot.com | |||
| patrickas | kthakore++ yapgh ;-) | ||
| kthakore | perl6 Question: Does the REPL keep variables? | ||
| patrickas: :D | |||
|
15:29
boulder joined
|
|||
| moritz_ | yep | 15:30 | |
| kthakore | hmm ... | ||
| I did my $file = open 'scores'; | |||
| then $file.get.split(' '); | |||
| isBEKaml_ | kthakore: awesome. I have added it to my daily bookmarks. :) | ||
| kthakore | isBEKaml_: also our github.com/kthakore/SDL_perl is the most active | 15:31 | |
| isBEKaml_: I try doing tweets and blogs regularly but I get behind at times | |||
| moritz_ | kthakore: your rakudo must be sufficiently new to get that right (R* is enough) | ||
| kthakore | moritz_: yes | ||
| R* I have | |||
| moritz_ | nopaste.snit.ch/22463 | 15:32 | |
|
15:32
HarryS joined
|
|||
| kthakore | moritz_: I get Symbol '$file' not predeclared in <anonymous> | 15:32 | |
|
15:33
CQ joined
|
|||
| patrickas | kthakore: wfm, just tried it! | 15:33 | |
| moritz_ | huh. | ||
| kthakore: are you sure that you don't have an older perl6 in $PATH? | |||
| kthakore | moritz_: no I don | ||
| moritz_: I installed jnth's msi | |||
| jnthn's msi | |||
| moritz_ | that's... very weird | ||
| it's the second report of jnthn's MSI having a too old rakudo | |||
| patrickas | what if you try with a simpler variable ? | ||
| jnthn | moritz_: Yes, but the last one turned out to be false alarm iirc. | 15:34 | |
| moritz_ | kthakore: what do you get for say $*VM<config><revision> ? | ||
| patrickas | my $foo=42; then on the next line say $foo ? | ||
| kthakore | patrickas: yeah | ||
| jnthn | kthakore: Does it work if you run the REPL from the start menu? | ||
| kthakore | jnthn: let me try | ||
| isBEKaml_ | kthakore: following? tweets, no. blogs, yes. :) | 15:35 | |
| kthakore | jnthn: how do I get where this is | ||
| isBEKaml_: SDLPerl on twitter .. but yeah | |||
| jnthn: I mean | |||
| jnthn: pwd() | |||
| jnthn: where does the REPL start so I can do open 'scores' | 15:36 | ||
| isBEKaml_ | kthakore: say qx/pwd/ ? #Does this work, I'm curious about Windows, though. :) | ||
| jnthn | cwd() | ||
| rakudo: say cwd() | 15:37 | ||
| p6eval | rakudo 50e0e7: OUTPUT«/home/p6eval/rakudo» | ||
| kthakore | ok | ||
| isBEKaml_ | jnthn: that should not be allowed on evalbot, right? | ||
| kthakore | C:\\Rakudo\\bin | ||
| jnthn | isBEKaml_: cwd is pretty harmless | ||
| isBEKaml_ | jnthn: yes, but you don't usually allow system commands on evalbots. | 15:38 | |
| kthakore | jnthn: can I chdir in REPL? | ||
|
15:39
am0c joined,
masak joined
|
|||
| masak | oh hai, #perl6! | 15:39 | |
| moritz_ | isBEKaml_: no harm in cwd(), afaict | ||
| tadzik | masak: o/ | ||
| patrickas | lolitsmasak :-) | ||
| isBEKaml_ | yayitsmasak! :D | ||
| masak | lol! | ||
| kthakore | WOOT! | 15:40 | |
| WORKDEDDD! | |||
| yayitsmasak! | |||
| :D | |||
| masak++ awesome book | |||
| isBEKaml_ | moritz_: Really, I'm fine with it. (My point was about not allowing system commands ) | ||
| ktne | when is rakudo going to be fast enough for real world usage? | ||
| masak | kthakore: "Usign Perl 6"? I didn't write large parts of it, actually. but thanks. | 15:41 | |
| moritz_ | ktne: that strongly depends on what your real-world use case is | ||
| ktne | moritz_: let | ||
| let's say as fast as python | |||
| masak | here's my panic schedule: (1) finalize S26 grant proposal, (2) hack on GSoC/Buf/IO/pack/unpack, (3) finish Yapsi runtime refactor for the release on Sunday, (4) slap myself so I start doing some actual slides for my two (!) presentations at YAPC::EU. | 15:42 | |
| masak panics | |||
| patrickas slaps masak! DON'T PANIC! | |||
| (in friendly bold letters) | 15:43 | ||
| moritz_ | masak: want me to proof-read the proposal? | ||
| masak panics a bit less | |||
| pmichaud | sometimes "Reductio ad absurdum" is fun: | ||
| 15:43 <patrickas> (in friendly bold letters) | |||
| oops | |||
| bad copy/past | |||
| *paste | |||
| sometimes "Reductio ad absurdum" is fun: | 15:44 | ||
| isBEKaml_ slaps masak for even panicking less! Kick panic out! :D | |||
| jnthn | friendly bold letters are absurd. | ||
| pmichaud | www.reddit.com/r/programming/commen...er/c0vkslb | ||
| yes, I'm arguing with a troll, but sometimes it's fun. | |||
| patrickas | jnthn or was it "large friendly letters"? | ||
| isBEKaml_ | absurd bold letters are sometimes friendly. :D | ||
| kthakore | is tehre a rakudo package for debian | ||
| my compile keeps dying ... | |||
| timdemkowsky | kthakore: i think so, wait | ||
| masak | moritz_, pmichaud, jnthn: it's an early draft still, but it's ready for comments: gist.github.com/500732 | ||
| jnthn | pmichaud: heh heh | 15:45 | |
| masak | (others are welcome to comment as well) | ||
| kthakore | timdemkowsky++ | ||
| pmichaud | masak: there's really no rush on S26 beyond whatever pressure you want to put on it :) | ||
| timdemkowsky | kthakore: wah, my mind tricked me. :( sorry, i havent found one | ||
| patrickas | pmichaud I think you are allowed a few hours of fun troll fishing as a post release stress releaser | ||
| masak | pmichaud: "I look forward to seeing the url of your CMS." hehe :) | 15:46 | |
| pmichaud: right -- the schedule for this is really outside TPF's deadline tomorrow, I guess. | |||
| timdemkowsky | too bad that i am not into debian that much, using arch here. | ||
| isBEKaml_ | kthakore: I don't think there's one for R* (.deb package). There might be one for earlier Rakudo versions. aptitude search rakudo should give you something. | ||
| pmichaud | tpf deadline? | ||
| masak: the hague grants occur outside of the tpf grants process | |||
| proposals are submitted at any time, and reviewed by the board, not by the grants committee | |||
| patrickas | lolitsHIBOU | 15:47 | |
| pmichaud | so there's no "deadline" | ||
| masak | oh, ok. | ||
| pmichaud | also, a bit earlier: www.reddit.com/r/programming/commen...er/c0vkrqu | ||
| kthakore | ok | ||
| isBEKaml_ | patrickas: was that you? :P | ||
| masak | yay -- one point off my panic schedule :) | ||
| jnthn | masak: I heard improvised presentations are fun. | ||
| masak hath a crappy connection | |||
| pmichaud | I've heard prepared presentations are fun. I should try one sometime. :-P | 15:48 | |
| masak | jnthn: I could probably do both without any slides. so that's OK. | ||
| jnthn | :-) | ||
| kthakore | oh man | ||
| isBEKaml_ | jnthn: lots of fun. Especially more so, if it's a large audience! :D | ||
| kthakore | HIBOU | ||
| masak | jnthn: but I have some ideas for slides. | ||
| kthakore | is crazy | ||
| jnthn | masak: :-) | ||
| tadzik | kthakore: crazy? No, he's just dumb | ||
| kthakore | pmichaud: HIBOU is the insanity | ||
| tadzik | he is perfectly sane in his stupidity I'd say | ||
| kthakore | tadzik: haha | ||
| masak | kthakore: HIBOU has a severe hug deficiency. | 15:49 | |
| kthakore | tadzik: I keep forgetting | ||
| tadzik | I wonder what he's doing on /r/perl is he's trolling everything related | ||
| pmichaud | masak: yes, I was thinking that he needed some hugs | ||
| kthakore | 'never attribute to malice, what you can to stupidity' | ||
| masak | let's invite him here and hug him! | ||
| pmichaud | I wasn't quite sure how to ju-jitsu a hug into the comments, though. | ||
| kthakore | masak: campaign started! | ||
| masak: make a post on reddit | |||
| invite him on a blog | 15:50 | ||
| pmichaud | or even simply: | ||
| kthakore | and others | ||
| pmichaud | "HIB0U: Many of us on #perl6 would like to give you a hug. Please join at your convenience so that we can give you one." | ||
| kthakore | haha | ||
| ok | |||
| masak | :D | ||
| brilliant. | 15:51 | ||
| nom & | |||
| pmichaud | nom here, too. | ||
| isBEKaml_ | HIBOU trolls mostly on /r/programming. I have found that guy trolling the java folks too. | 15:52 | |
| PerlJam | btw, for the other CLI people who use git, git-completion.bash is quite cool | ||
| patrickas | actually I was waiting for DOMINATE_ME_PERL6 to show up ! :-) | ||
| PerlJam has been using it for a couple of days now | |||
| pmichaud | patrickas: with the release, he (she?) is finally dominated and satisfied. | 15:53 | |
| isBEKaml_ | patrickas: that would be an huge PR success! :D | ||
| kthakore | pmichaud: hehe | 15:54 | |
| pmichaud: NEVAR | 15:55 | ||
| pmichaud: I think he/she started as a novelety account | |||
| isBEKaml_ | kthakore: I read that as RAVEN :D | ||
| kthakore | pmichaud++ for PHP useage | ||
| pmichaud++ love it when zealots are away from core teams | |||
| patrickas | but we need to be sure s/he has been dominated to satisfaction ... maybe there is more we can do to help! | 15:56 | |
| kthakore | church | code seperation I love it | ||
| moritz_ now knows why people don't like lisp | |||
| it's optimized for not having fun | |||
| (defun ...) | |||
|
15:56
justatheory joined
|
|||
| isBEKaml_ | moritz_: lol! | 15:56 | |
| kthakore | masak: :D | ||
| oops | |||
| moritz_: :D | |||
| masak | interesting edge case from a tweet: twitter.com/mfollett/status/19919694472 | ||
| patrickas | hehe :-P | ||
| kthakore | $work | 15:57 | |
| masak | I don't think there's much to do about that. | ||
|
15:57
_macdaddy joined
|
|||
| kthakore | $work | 15:57 | |
| and nom | |||
| moritz_ neither | 16:00 | ||
| now the bikeshedding about perl 6 module system starts again | |||
| patrickas | strange: www.reddit.com/r/programming/commen...ly_29_are/ | 16:04 | |
|
16:04
yongbin_ joined
|
|||
| moritz_ | I'm glad nobody replied | 16:05 | |
|
16:06
wamba joined
16:10
cookys joined
|
|||
| pmichaud | (module system) I think the only path through that minefield will be "rough consensus and working code". | 16:11 | |
| pugssvn | r31868 | colomon++ | [t/spec] Add more exhaustive tests for iterating Int Ranges. | ||
| PerlJam | especially that "working code" bit | 16:13 | |
| pmichaud | right | ||
| I may reply to the relevant threats and simply say that Rakudo will adopt this as its stance on module systems for the forseeable future. | 16:14 | ||
| *threads | |||
| (freudian?) | |||
| PerlJam | heh, freudian slip? | ||
|
16:14
shomodj left,
amkrankruleuen joined
16:15
Ross joined
|
|||
| pugssvn | r31869 | masak++ | [S26] corrected minor typos and inconsistencies | 16:15 | |
| r31869 | | |||
| r31869 | Nothing that changes the meaning of the spec, really. | |||
| masak | "Freudian slip: it's when you say one thing, but mean your mother." | 16:16 | |
| bbkr | no more "make spectest" in * release? | ||
| pmichaud | bbkr: it's there, just do it from the rakudo/ directory | ||
| PerlJam | bbkr: did you read the README? | 16:17 | |
| pmichaud | I thought about making it a top-leve makefile target | ||
| PerlJam | :-) | ||
| pmichaud | *top-level | ||
| pmichaud needs a new keyboard. or new fingers. or a new brane. | |||
| [particle] picks door #3! | |||
| colomon | do they have new branes down in Texas? Michigan is fresh out. | 16:18 | |
| bbkr | thanks, works. so rakudo.org/how-to-get-rakudo needs update in "Running the test suite" section | ||
| masak hasn't had a new brane in years | 16:19 | ||
|
16:20
goksie joined
16:21
goksie joined,
M_o_C joined
|
|||
| PerlJam | bbkr: no, that's fine. It's for Rakudo, not the Star distributions. | 16:21 | |
| bbkr | PerlJam: ok, thanks for info. | ||
| PerlJam | Though that page should be updated to mention R* and where to get it. | 16:24 | |
|
16:26
dual joined
|
|||
| szabgab | in a freshly built rakudo I have this issue: paste.scsys.co.uk/47359 | 16:29 | |
|
16:30
clark joined
|
|||
| masak | rakudo: sub foo($x) { role { method x { $x } } }; say foo("OH HAI").x | 16:30 | |
| p6eval | rakudo 50e0e7: OUTPUT«OH HAI» | ||
| clark | so much more guys | 16:31 | |
|
16:31
briang joined
|
|||
| PerlJam | "my god ... it's full of stars" ;) | 16:31 | |
| jnthn | masak: :-) | 16:32 | |
| masak | szabgab: hm. I'm guessing the error occurs on the most-indented line? | ||
| clark | what are you talk about? | ||
| szabgab | masak: yes I think so | ||
| colomon | seems like that's the error I kept getting when doing %hash{$1} | ||
| masak | jnthn: my latest view of anon roles is "hah, it's just a sack of methods!" :P | ||
| colomon | not that I quite see how szabgab would be doing that.... | 16:33 | |
| patrickas | rakudo: subset Coefficient of Num where { $_ < 1 };my Coefficient $x = .5; | ||
| p6eval | rakudo 50e0e7: OUTPUT«Type check failed for assignment in '&infix:<=>' at line 1 in main program body at line 22:/tmp/P8igIhKsRD» | ||
| masak | jnthn: but above it's also used to close over a variable, which is really cool. | ||
| szabgab: first off, I can confirm your error locally. | 16:34 | ||
| szabgab: second; yes, it's that line. | |||
| jnthn | masak: My view of roles is that it's just a sack of stuff that we compose into a class, somehow. :-) | ||
| patrickas | rakudo: subset Coefficient of Rat where { $_ < 1 };my Coefficient $x = .5; | 16:35 | |
| p6eval | rakudo 50e0e7: ( no output ) | ||
| patrickas | Num should have worked too though... right ? | ||
| szabgab | masak: and I found a work-around for myself | ||
| for $/<opening><attr> -> $v { | 16:36 | ||
| for $/<opening><attr> -> $v { say $v<name>; say $v<value> } worked instead of that map | |||
| masak | szabgab: ok, nice. odd that it should matter. | ||
| jnthn | Especially as for is sugar for map. :s | ||
| szabgab | actually when I try to put the data in a hash then it blows up again | 16:37 | |
| just as colomon mentioned | |||
| %attributes{$v<name>} = $v<value>; | |||
| this blows up | |||
| colomon | szabgab: try %attributes{~$v<name>} = $v<value>; | 16:38 | |
| masak | colomon: reported? | ||
| szabgab | %attributes{"$v<name>"} = $v<value>; also works | ||
| PerlJam | patrickas: here's another one ... | ||
| colomon | masak: you can't use a match object for %hash{ } | ||
| PerlJam | rakudo: subset Coefficient of Numeric where { $_ < 1 }; my Coefficient $x = .5; | ||
| szabgab | and I guess they both stringify | ||
| p6eval | rakudo 50e0e7: OUTPUT«Null PMC access in invoke() in 'ACCEPTS' at line 1 in '&infix:<=>' at line 1 in main program body at line 22:/tmp/cJIxSdsr37» | ||
| colomon | masak: as far as I know, reported. certainly wasn't original to me. | ||
| masak | colomon: but it should stringify. | ||
| patrickas | PerlJam: ouch that hurt! | 16:39 | |
| colomon | masak: sure, it's a bug. | ||
| masak: like I said, I was told about it (and the solution) when I ran into it. | |||
| I presume whoever found it before reported it. | |||
| PerlJam: can you take a subset of a Role? | 16:40 | ||
| szabgab | my %attributes = $/<opening><attr>.map( {; "$_<name>" => $_<value> } ); | ||
| this works too now | |||
| colomon | szabgab++ | ||
| szabgab: it's probably good form to prefer ~$_<name> over "$_<name>". | 16:41 | ||
| if nothing else, it should be faster. | |||
| masak | ~.<name> | 16:42 | |
| szabgab | ok, I am using that now | 16:43 | |
| I'd appreciate if someone looked at this: github.com/szabgab/xml-sax | 16:47 | ||
| patrickas | rakudo: subset Small of Int where { $_ < 10 };sub foo ( Int $x , Small $y) { say "$x,$y"; };for &foo.signature.params -> $param {\tsay 2 ~~ $param.constraints;} | 16:49 | |
| p6eval | rakudo 50e0e7: OUTPUT«10» | ||
| patrickas | should that have printed 1 twice or am I doing something wrong ? | 16:50 | |
| moritz_ | rakudo: subset Small of Int where { $_ < 10 }; say :(Small $x).params[0].constraints.perl | 16:51 | |
| p6eval | rakudo 50e0e7: OUTPUT«(Int)» | ||
| PerlJam | colomon: I'm not sure. I would lean towards "no". But! It should definitely /not/ give a "Null PMC Access" error :) | ||
| pmichaud | back again | 16:52 | |
| moritz_ | szabgab: looks fine... could benefit from a SYNOPSIS in the README | ||
| there and back again, a pmichaud's tale | |||
| :-) | |||
| pmichaud | 16:24 <PerlJam> Though that page should be updated to mention R* and where to get it. | ||
| I think that in general, "how to get Rakudo" should start to lean towards "how to get Rakudo Star" | 16:53 | ||
| szabgab | moritz_: I mean it would be nice to get some input code wise | ||
| pmichaud | i.e., we should expect the average person to grab Rakudo Star, not Rakudo itself. | ||
| moritz_ | szabgab: I was about to get to that :-) | ||
| szabgab | the average person? | ||
| moritz_ | szabgab: since you're using a class anyway, why us lexically scoped tokens? | 16:54 | |
| s/us/use/ | |||
| or s/class/grammar/ # makes it even easier | 16:55 | ||
| you can still have normal methods in a grammar | |||
| szabgab | I just moved them to a grammar | ||
| pmichaud | 16:52 <moritz_> there and back again, a pmichaud's tale | ||
| I wonder who plays the role of Sauron | 16:56 | ||
| pugssvn | r31870 | bbkr++ | [t/spec] tests for RT #71258 Cant sort objects of a custom class, cant supply .cmp method in Rakudo | 16:57 | |
| moritz_ | pmichaud: you should know your enemy :-) | ||
| jnthn | .oO( role Sauron { ... } ) |
||
| patrickas | jnthn with a .play method | 16:58 | |
| PerlJam | moritz_: we have seen the enemy and he is us | ||
| pmichaud | is the one who torments me my enemy? ;-) | 16:59 | |
| szabgab | why does the REPL stop working on certain exceptions? | ||
| moritz_ | my $self = moritz_.new() does Sauron; | ||
| szabgab | eg class B { method f { ... } }; B.new.f | ||
|
16:59
patspam joined
|
|||
| pmichaud | szabgab: it probably gets confused by the lexical scopes at that point | 17:00 | |
| szabgab: probably needs more examples and investigation to figure out exactly why | |||
| jnthn | pmichaud: If a Failure is the result, it tries to strinfigy the failure. | ||
| (for the auot-print) | |||
| moritz_ | szabgab: please submit | ||
| jnthn | And doesn't have a CATCH block. | ||
| *auto | |||
| pmichaud | jnthn: we can probably give that part a CATCH block. | 17:01 | |
| jnthn | pmichaud: Aye, that's the fix. | ||
| PerlJam | parrot exceptions that leak through kill the repl too | ||
| pmichaud | PerlJam: same issue, yes. | ||
| anyone who wants to take a look at it, src/HLL/Compiler.pm in nqp-rx is the place to look. | 17:02 | ||
| colomon | you can have normal methods in a grammar. hmmm..... useful hack for testing until <ABC::note> works? | ||
| pmichaud | (yes! it's Perl 6 syntax! not PIR!) | ||
| (sorear++) | |||
| jnthn | pmichaud: If only PAST::Node and PAST::Compiler were in NQP too... | ||
| pmichaud | jnthn: some day not too distant, I suspect. | 17:03 | |
| moritz_ | colomon: actually not only hack, but genuinely useful | ||
| pmichaud | I think bacek++ is already working on POST:: in NQP. | ||
| jnthn | pmichaud: I'd really really love to see that taken on. | ||
| pmichaud | jnthn: it's one I do plan to do relatively soonish, pending tuits | ||
| jnthn | pmichaud: OK, great. | ||
| colomon | moritz_: I said that poorly, I meant that the testing aspect was the hack. | ||
| bbkr | is "(1..Inf).shift" syntax spec-compatible? Range class doesn't have shift method | ||
| jnthn | pmichaud: Reason being that attribute accesses and method calls from NQP I can probably make efficient. | ||
| pmichaud | however, if we're also getting a new improved POST, it probably makes sense to rewrite PAST::Compiler in terms of the new POST | ||
| instead of trying to port the existing one | 17:04 | ||
| jnthn | pmichaud: But writing such things with the same level of efficiency is PIR is gonna be less than ideal. | ||
| *in | |||
| pmichaud: That'd also make sense. | |||
| bbkr | std: (1..Inf).shift | 17:05 | |
| p6eval | std 31869: OUTPUT«ok 00:01 116m» | ||
| bbkr | rakudo: (1..Inf).shift | ||
| p6eval | rakudo 50e0e7: OUTPUT«Method 'shift' not found for invocant of class 'Range' in main program body at line 22:/tmp/kIhBg12ufV» | ||
| bbkr | hmm | ||
| pmichaud | ranges are immutable. | ||
| moritz_ | bbkr: I think .shift is an outdated iterator model - not sure though | ||
| pmichaud | try (1..Inf).list.shift | ||
| [Coke] hopes he can get back to profiling rakudo this weekend. | |||
| jnthn | [Coke]++ | 17:06 | |
| pmichaud | rakudo: say (1..Inf).list.shift | ||
| p6eval | rakudo 50e0e7: OUTPUT«1» | ||
| colomon | [Coke]++ | ||
| bbkr | pmichaud: should i then correct t/spec/S02-builtin_data_types/lazy-lists.t ? | ||
| pmichaud | bbkr: yes. | ||
| kthakore | bak | 17:07 | |
| nom++ | |||
| szabgab | rakudo: class A { method f { self.g }; submethod g { say "hi" }; } ; A.new.f; class B is A { }; B.new.f | ||
| p6eval | rakudo 50e0e7: OUTPUT«hiMethod 'g' not found for invocant of class 'B' in 'A::f' at line 22:/tmp/sP3Vr1dYbG in main program body at line 22:/tmp/sP3Vr1dYbG» | ||
| kthakore | hmmm | 17:08 | |
| moritz_: ping? | |||
| moritz_ | kthakore: pong | ||
| kthakore | moritz_: I can't seem to compile the perl6 book | ||
| szabgab | I thought a submethod would be callable from the parent class even if I call the method on a subclass object | ||
| [Coke] | kthakore: did you follow the readme? ;) | ||
| kthakore | moritz_: I get ../lib/Makefile:2261: UsingPerl6.letter.d: No such file or directory | ||
| [Coke]: think so | |||
| pmichaud | fwiw, I get the same error | ||
| (compiling the book) | |||
| moritz_ | kthakore: try to follow the instructions for building the A4 book | ||
| [Coke] | szabgab: "Submethods are for declaring infrastructural methods that shouldn't be inherited by subclasses, such as initializers:" | 17:09 | |
|
17:09
aCiD2 joined
|
|||
| moritz_ | still I think this should work | 17:09 | |
| (the submethod) | |||
| it's not called from a subclass | |||
| [Coke] | yah. I can see that. | 17:10 | |
| kthakore | pmichaud: so I am not crazy then. Thank you kindly sir! | ||
| [Coke] | that is, I can see how that could be allowable. | ||
| pmichaud: he's like a puppy. watch out he doesn't lick you. | |||
| szabgab | so how can I declare a method g() that should be called by the inherieted methof f() but should not be called by the user ? | 17:11 | |
| or am I talking nonsense? | |||
| pmichaud | szabgab: my method g() # i think | ||
| or method !g() # maybe | |||
|
17:11
eternaleye joined
|
|||
| pmichaud | I forget the exact syntax, but there are private methods. | 17:11 | |
| szabgab | rakudo: class A { method f { self.g }; my method g { say "hi" }; } ; A.new.f; class B is A { }; B.new.f | ||
| p6eval | rakudo 50e0e7: OUTPUT«hihi» | ||
| pmichaud | search for "private" in S12, likely. | 17:12 | |
| szabgab | rakudo: class A { method f { self.g }; my method g { say "hi" }; } ; A.new.f; class B is A { method g {say "Sauron"} }; B.new.f | ||
| p6eval | rakudo 50e0e7: OUTPUT«hiSauron» | ||
| kthakore | [Coke]: who is a puppy? | ||
| pmichaud | S12: "Private methods are declared using C<!>: | ||
| method !think (Brain $self: $thought) | |||
| " | |||
| szabgab | rakudo: class A { method f { self.g }; method !g { say "hi" }; } ; A.new.f; class B is A { method g {say "Sauron"} }; B.new.f | 17:13 | |
| p6eval | rakudo 50e0e7: OUTPUT«Method 'g' not found for invocant of class 'A' in 'A::f' at line 22:/tmp/mieTG2XNcr in main program body at line 22:/tmp/mieTG2XNcr» | ||
|
17:13
hercynium joined
|
|||
| szabgab | ok, whatever :) | 17:13 | |
| let me go scripting :) | |||
| pmichaud | "To the scripting!" <toast> | 17:14 | |
| cxreg | does p6 still have "unspace"? | ||
| pmichaud | cxreg: it does. | ||
| [Coke] | szabgab: if you leave off the ! there, that works. | ||
| pmichaud | S02, search for "unspace" | ||
| pugssvn | r31871 | bbkr++ | [t/spec] tests for RT #64886 For (1..10000000000) bug | ||
| cxreg | thx | ||
| pugssvn | r31872 | bbkr++ | [t/spec] tests for RT #64886 For (1..10000000000) bug | 17:15 | |
| pmichaud | rakudo: "cxreg: You're welcome"\\ #`(haha here's a comment!) .say | ||
| p6eval | rakudo 50e0e7: OUTPUT«cxreg: You're welcome» | ||
| cxreg | :-) | 17:18 | |
| Su-Shee | thank you, rakudo. thanks to you I now have a new bike with flowers. | 17:19 | |
|
17:19
Protocol_ joined,
Protocol_ left
|
|||
| PerlJam | Su-Shee: do you need a bike shed? ;) | 17:19 | |
| kthakore | Su-Shee: where can I get named bike? | ||
| cognominal | ... and colored wings? | ||
| cxreg considers trying to fix perl6.vim to denote unspace | |||
| kthakore | rakudo: give.me.bike('red') | ||
| ??? | 17:20 | ||
| p6eval | rakudo 50e0e7: OUTPUT«Could not find sub &give in main program body at line 22:/tmp/8sAYYktM_7» | ||
|
17:20
espadrine left
|
|||
| kthakore | hehe | 17:20 | |
|
17:20
javs joined
|
|||
| pmichaud | ☹ Rakudo doesn't know how to give ☹ | 17:20 | |
| cognominal | salut espadrine, welcome to the mongueurs rive gauche | 17:21 | |
| kthakore | pmichaud: awww | ||
| pmichaud | but it does know how to take! :-P | ||
| pugssvn | r31873 | bbkr++ | [t/spec] fixed unfudge mistake | ||
| cognominal | arf, espadrine just left. | ||
| pmichaud is never sure which side of the rive he's on. :-) | 17:22 | ||
| kthakore | pmichaud: the nice side | ||
| patrickas | rakudo: my @bike = gather { take 'red' } #INdeed it does | ||
| kthakore | rakudo: take.my.bike('red') | ||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| rakudo 50e0e7: OUTPUT«take without gather at line 1Method 'my' not found for invocant of class 'Parcel' in main program body at line 22:/tmp/qZK2LtRx5I» | |||
| kthakore | patrickas: oooh | 17:23 | |
| patrickas: how come rakudo doesn't open 'nonexistandfiletowriteoto' | |||
| rakudo: open 'foo' | |||
| p6eval | rakudo 50e0e7: OUTPUT«Operation not permitted in safe mode in 'Safe::forbidden' at line 2:/tmp/WMrdmCV6MV in main program body at line 22:/tmp/WMrdmCV6MV» | ||
| kthakore | oh right | ||
| oops | |||
| moritz_ | pmichaud: re p6u mail, callframe(1).line and .file are implemented (as I pointed out in my reply, which hasn't made it back from the list yet) | 17:24 | |
| pmichaud | perhaps old news, but Rakudo Star is #2 on github's list of trending repos. github.com/explore | ||
| pmichaud grabs a screen dump. | |||
| sorear | it was #1 earlier | ||
| pmichaud | ooooh, I get a gold star! | 17:25 | |
|
17:25
jaldhar joined
|
|||
| patrickas | kthakore you mean the evalbot ? or in general ? | 17:26 | |
| kthakore | patrickas: in R* | 17:27 | |
| pmichaud | pmichaud.com/sandbox/rakudo-gold-star.jpg | ||
| kthakore | patrickas: I do open 'non_exist' | ||
| patrickas | you probably need :w | ||
| pugssvn | r31874 | bbkr++ | [t/spec] tests for RT #71088 .trans after .subst blows up in Rakudo | 17:28 | |
| pmichaud | oops | ||
| kthakore | pmichaud: not found | ||
| pmichaud | pmichaud.com/sandbox/rakudo-gold-star.png | ||
| PerlJam | pmichaud: might want to change the description to read "Rakudo Star Perl 6 distribution" instead of just "Rakudo Star distribution" | ||
| pmichaud | (wrong extension) | ||
| kthakore | pmichaud: :D | ||
| pmichaud: aren't we proud | |||
| I wish SDL_perl got a gold star :*( | |||
| moritz_ | \\o/ | ||
| kthakore | oh well | ||
|
17:28
Italian_Plumber joined
|
|||
| kthakore | \\o/ | 17:28 | |
| GO PERL! | |||
| patrickas | inception chminception | 17:29 | |
| kthakore | I have to see that movie! | ||
| PerlJam is sure that karthick18, rhavyn, etc. all have gold stars too when they login :) | 17:31 | ||
| patrickas | open ('newfile' , :w); #Ohhhhhh :w(True) , Perl6++ , /me -- | ||
| patrickas is sure only rakudo gets a star :-P | 17:32 | ||
| kthakore | patrickas: I don't understand | ||
| Su-Shee | kthakore: here is the C implementation of inception! :) github.com/karthick18/inception | ||
| Su-Shee got little stars at primary school in first grade. ;) | 17:33 | ||
| kthakore | patrickas: unable to open filehandle from path | ||
| Su-Shee: non ononon Spoliers! | |||
| moritz_ | rakudo: my @a := 1..*; say @a.max | ||
| p6eval | rakudo 50e0e7: OUTPUT«Inf» | ||
| Su-Shee | kthakore: compile it, it's really cool | ||
| kthakore | Su-Shee: I haven't seen the movie | ||
| Su-Shee | kthakore: me neither, it's just a crazy cool hack :) | 17:34 | |
| kthakore | Su-Shee: hehe | ||
| patrickas | kthakore: kthakore i was just realizing out loud how stupid I have been, I have been using :w without actually understanding what the syntax means | ||
| kthakore: and you need unspace to make it work : open('newfile' , :w); | 17:35 | ||
| kthakore | but ... | ||
| why does the sapce matter? | |||
|
17:35
perlygatekeeper joined
|
|||
| PerlJam | patrickas: and for documentation, you can say things like open('file', :r, :!w); # Open the file for reading, not writing :) | 17:35 | |
| patrickas | First rule about perl6 ... space matters | 17:36 | |
| kthakore | awwww .... | ||
| that is why I left python ... | |||
| oh well | |||
| Su-Shee | kthakore: not _that_ much space. ;) | ||
| kthakore | Su-Shee: hehe | ||
| patrickas | PerlJam that's why I also Perl++ed and not just me--ed :-) | ||
| kthakore | Su-Shee: will that be a bug? | ||
| Su-Shee | kthakore: now idea, by accident rakudo's space requirements are exactly how I space in any programming language. | 17:37 | |
| pugssvn | r31875 | bbkr++ | [t/spec] tests for RT #69200 Param typed with Bool doesnt accept :foo-type argument in Rakudo | ||
| kthakore | Su-Shee: well that is like the tabs v.s. space argument all over again | 17:38 | |
| Su-Shee: every one as theirs own way | |||
| pmichaud | you can do | ||
| open 'newfile', :w | |||
| or | |||
| open('newfile', :w) | |||
| but | |||
| open ('newfile', :w) # means something different. | |||
| patrickas | pmichaud is the latter passing a parcel to open? | 17:39 | |
| pmichaud | yes | ||
| as one argument | |||
| contrast it with | |||
| xyz ('a', 'b'), 'c' # xyz receives two arguments | |||
| oops, not a good example | |||
| xyz ('a', 'b', 'c'), 'd' # xyz receives two arguments | |||
| patrickas | :-) it will in both cases | 17:40 | |
| kthakore | ok | ||
| so ... | |||
| foo ( 'a', 'b' ) ,'d' | |||
| is different | |||
| as in | |||
| array then scalara | |||
| right? | |||
| pmichaud | list then scalar, but yes. | ||
| kthakore | ok | ||
| PerlJam | the space before the comma doesn't mean anything however :) | ||
| pmichaud | foo ('a','b'),'d' is like | ||
| patrickas | I got to a stage where I understand what's happening but for some reason I got the habit of putting spaces everywhere. Habits die hard! | ||
| pmichaud | foo(('a','b'),'d') | 17:41 | |
| kthakore | ah! | ||
| that is .. sneaky IMO | |||
| :D | |||
| patrickas | besides () don't flatten as they did in perl5 | ||
| kthakore | patrickas: I just noticed that | ||
| :D | |||
| PerlJam | patrickas: it's part of that "consistency" thing that Perl 6 has going on. | ||
| Su-Shee looks forward to the extensive, 1300 pages "programming perl 6" book which also kills buglars. | 17:42 | ||
| kthakore | Su-Shee: hehe | ||
| Su-Shee | with a 100 pages "short reference" ;) | ||
| colomon | rakudo: my @a := 1..*; say @a.max | 17:43 | |
| PerlJam | Su-Shee: I'm sure with a small enough font, you could put the quickref on < 10 pages ;) | ||
| p6eval | rakudo 50e0e7: OUTPUT«Inf» | ||
| colomon | rakudo: my @a := (1..*).list; say @a.max | ||
| kthakore | so no more " say $FH 'boo' " | ||
| PerlJam | Su-Shee: actually ... in the future we'll all be using ipad-like devices. paper will be obsolete. | ||
| bbkr | where can I put tests for rt.perl.org/rt3/Ticket/Display.html?id=73236 ? | ||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| patrickas | small enough font AND large enough pages :-P | ||
| colomon is a little freaked out that Range does Positional | |||
| Su-Shee | PerlJam: you're talking to a household having 2 ebook readers for 4 years now :) | ||
| PerlJam | Su-Shee: yet, you still think in terms of "pages" ;) | 17:44 | |
| patrickas | kthakore i certanly hope so | ||
| Su-Shee | there's a mean picture on the internet.. putting "javascript the definitive guide (1200 pages)" next to "javascript the good parts (200 pages)" :) | ||
| pmichaud | PerlJam: so do the electronic forms, iirc. :-) | ||
| kthakore | patrickas: cool | 17:45 | |
| Su-Shee | PerlJam: as I still have to read and understand amount x of information "page" is a unit as good as any.. :) | ||
| PerlJam | pmichaud: sure ... they just haven't realized the implications of the future they are a part of yet | ||
|
17:45
perlygatekeeper joined
|
|||
| Su-Shee | (I never loose the humanity department thinking.. of course "pages" doesn't mean that much to you guys working with formulas..) | 17:46 | |
| kthakore | ok guys | ||
| I have to head back to p5p line | |||
| PerlJam | of course, many people are still living with the legacy of Herman Hollerith, so it may take a while for the future to disperse evenly | ||
| kthakore | I wanted to make a cvs splitter but ... don't know how to write to filehandle yet | 17:47 | |
| so latez | |||
|
17:47
kiffin joined
|
|||
| PerlJam | kthakore: $fh.say: "stufF" | 17:47 | |
| pmichaud | star repo description now changed to "Rakudo Star Perl 6 distribution" (PerlJam++) | ||
| kthakore | PerlJam: the ':' use in perl6 is scary to me | ||
| hehe | |||
| PerlJam: I like been scared. Makes me learn new things! | 17:48 | ||
| Su-Shee | PerlJam: hollerith? *pffft* papyros! parchment! ;) | ||
| pmichaud | kthakore: { my $*OUT = $fh; say "output whatever you want"; say "to the filehandle"; } | ||
| PerlJam | Su-Shee++ indeed! | ||
| kthakore | pmichaud: are network handles the same way? | ||
| my $sock = open socket(), :w | 17:49 | ||
| pmichaud | kthakore: say() sends its output to $*OUT by default, yes. | ||
| I don't know how sockets are done yet. | |||
| kthakore | no socket handle? | ||
| like stringhandle | |||
| pmichaud | "I don't know." | ||
| see IO::Sockets | |||
| sorear | good * #perl6 | ||
| kthakore | pmichaud: ok | ||
| PerlJam | gutentag sorear | ||
| kthakore | pmichaud: I was asking to the chan in general. Sowwy | 17:50 | |
| pmichaud | just because I'm leading Rakudo doesn't mean I know anything about it (much less "everything" :-) | ||
| ahhhh | |||
| makes sense | |||
| anyway, IO::Socket probably has some answers. | |||
| kthakore | pmichaud: thx | ||
| ok $work | |||
| bye! be back for more adventuresd!!! | |||
| Su-Shee | socket examples are in httpd modules. | 17:53 | |
| PerlJam wonders if there's a way to not put tags in the downloads section. | 17:54 | ||
| sorear | pmichaud: Why do you think always having the original source code available is needed? | ||
|
17:55
KenGuru joined
|
|||
| PerlJam | sorear: makes round-tripping easier :) | 17:55 | |
| pmichaud | sorear: we can do a lot more with introspection and .perl that way | ||
| TimToady seemed to agree with me that it'd be useful, fwiw. | 17:56 | ||
| timdemkowsky | perl6: say 23[0]; | ||
| p6eval | pugs, rakudo 50e0e7: OUTPUT«23» | ||
| timdemkowsky | perl6: say 23[1]; | ||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| ..pugs: OUTPUT«» | |||
| moritz_ | bbkr++ # writing tests | ||
|
17:56
ashleydev joined
|
|||
| KenGuru | trying to run an win7 x64 install of parrot and rakudo start getting an error. | 17:56 | |
| wanted to have a first look to perl .... | 17:57 | ||
| [Coke] | rakudo: club #nopaste.snit.ch/22471 | ||
| patrickas | KenGuru fromt he tarball or the MSI ? | ||
| p6eval | rakudo 50e0e7: OUTPUT«Could not find sub &club in main program body at line 22:/tmp/ZTzz6JgKAc» | ||
| KenGuru | msi | ||
| patrickas | what's the error you are getting? | 17:58 | |
| KenGuru | Unable to find Perl 6 low-level runtime files | ||
| If you want to run Rakudo outside of the build directory, | |||
| run 'make install' and use the installed perl6 binary | |||
| moritz_ | [Coke]++ | ||
| [Coke] | whoops. left it one wrong word, fixing. | 17:59 | |
| moritz_ | KenGuru: at which step do you get that? | ||
| [Coke] | nopaste.snit.ch/22472 , instead. | ||
| KenGuru | executing perl6.exe | ||
| having it on the path | |||
| sorear | pmurias: ping | ||
| moritz_ | hum. | ||
| KenGuru | i do have msysgit on the path too | ||
| [Coke] | moritz_: danke. =-) | 18:00 | |
| moritz_ | bitteschön | ||
| patrickas | KenGuru that's strange! Did it seem to have installed but cannot be run? or did not install at all ? | 18:01 | |
| jnthn | KenGuru: Does the shortcut on the startmenu work? Are you trying to run it as just "perl6.exe" from the command line? | ||
| timdemkowsky | phew, just upx'd the perl6 executable for fun | ||
| KenGuru | jupp, from the command line | ||
| from my powershell prompt | |||
| can'T find any startmenu entry | 18:02 | ||
| timdemkowsky | from 27.9mb down to 1.3mb :) | ||
| patrickas | can you try cd-ing to the rakudo directory and running from there? | ||
| jnthn | KenGuru: :S | ||
| KenGuru: The installer should create one. | |||
| KenGuru | no, same problem | ||
| jnthn | KenGuru: Where did you get the installer from? | 18:03 | |
| KenGuru | sf project page | ||
| jnthn | Oh! | ||
| OK, then you're not using the MSI most of us here probably thought you were. :_) | |||
| KenGuru | installed both into c:\\dev\\parrot-2.6.0 | ||
| PerlJam | There's a sf page? | ||
| moritz_ | I fear how-to-get-rakudo still links to it | ||
| KenGuru | jupp | 18:04 | |
| jnthn | moritz_: Ah. | ||
|
18:04
kthakore left
|
|||
| jnthn | KenGuru: github.com/rakudo/star/downloads is the Rakudo * MSI | 18:04 | |
| KenGuru | so i'll try this first | ||
| [Coke] | sourceforge.net/projects/rakudoport/ | ||
| looks like it was updated fer star. | |||
| sorear | KenGuru: out of curiousity, what version of Rakudo is the latest on SF? | ||
| KenGuru | had allready a look into the git repo, but downloaded the file from sf | ||
| [Coke] | sorear: it says star. | ||
| KenGuru | parrot 2.6.0 from 20100721 | 18:05 | |
| Getty | github should learn to parse perl6 code on the highlighter ;) | 18:06 | |
| KenGuru | rakudo r31 from 20100723 | ||
|
18:07
literal_ joined,
tylercurtis joined
|
|||
| KenGuru | will try the msi from github | 18:07 | |
| and give feedback | |||
| pugssvn | r31876 | moritz++ | [t/spec] test for RT #74640, very long Num literals | 18:08 | |
|
18:08
literal joined,
M_o_C joined
|
|||
| KenGuru | are the files of sourceforge.net/projects/parrotwin32/ in sync with github repo? | 18:09 | |
|
18:10
drrho joined
|
|||
| [Coke] | KenGuru: not by our doing. | 18:10 | |
| says it's run by 'zagap', who I don't recognize. | |||
| KenGuru | k ... will use the files from github next time ... | ||
| [Coke] | Alexandr Zagatski | ||
| perhaps someone should kind ask him to send any changes back upstream. | 18:11 | ||
| Su-Shee | now an internet broadcast would be nice! "meeep - alexandr zagatski please visit #perl6, mr zagatski, please visit #perl 6!" ;) | ||
| PerlJam | sf has a mechanism to send him a message. | 18:12 | |
| (and obviously he uses sf enough that he'll get it at some point soonish) | 18:13 | ||
| [Coke] | license is listed as GPL, which is kosher, I suppose, but blah. | ||
| ingy | greetings! | 18:20 | |
| PerlJam | I just changed rakudo.org/how-to-get-rakudo. Any comments before I wander off to do some work? | ||
| ingy | star: say "\\o/" | 18:21 | |
| p6eval | star 2010.07: OUTPUT«===SORRY!===Unrecognized backslash sequence: '\\o' at line 22, near "/\\""» | ||
| ingy | moritz_++ | ||
| star: say "\\\\o/" | |||
| p6eval | star 2010.07: OUTPUT«\\o/» | ||
| tadzik | star: say '\\o/' | ||
| p6eval | star 2010.07: OUTPUT«\\o/» | ||
| ingy | star: say '\\o/\\oXo/' | 18:22 | |
| p6eval | star 2010.07: OUTPUT«\\o/\\oXo/» | ||
|
18:22
aCiD2 joined
18:23
aCiD2 left,
aCiD2 joined
|
|||
| KenGuru | ok, with the github release rakudo is running | 18:23 | |
| thx for the hints | |||
| aCiD2 | Is it possible to use attributive parameters with arrays? For example: class Bar { has @.blah; method foo (*@!blah) { } } | ||
| (that isn't working for me) | |||
| moritz_ | what should that do? | 18:24 | |
| aCiD2 | assign to @.blah | ||
| ingy does all new p6 dev on the star release | |||
| aCiD2 | ie: $bar.foo(<a b c >). @bar.blah == <a b c> | ||
| pmichaud | I'm not sure that works. | ||
| ingy | sanity++ | ||
| jnthn | @!blah should work in a signature | ||
| aCiD2 | it sure doesn't work, i was just wondering if it should | 18:25 | |
| moritz_ | rakudo: class Bar { has $.x; method foo($!x) { } }; Bar.new.foo(5); | ||
| jnthn | I've no idea what it makes of you trying to do that to a slurpy... | ||
| p6eval | rakudo 50e0e7: ( no output ) | ||
| moritz_ | rakudo: class Bar { has $.x; method foo($!x) { } };my $b = Bar.new; $bar.foo(5); say $bar.x | ||
| PerlJam | I think it should, but I haven't looked at the spec to make sure that's what it says :) | ||
| p6eval | rakudo 50e0e7: OUTPUT«===SORRY!===Symbol '$bar' not predeclared in <anonymous> (/tmp/8GQCJHJ7ko:22)» | ||
| jnthn | $b.new... | ||
| moritz_ | rakudo: class Bar { has $.x; method foo($!x) { } };my $b = Bar.new; $bar.foo(5); say $b.x | ||
| p6eval | rakudo 50e0e7: OUTPUT«===SORRY!===Symbol '$bar' not predeclared in <anonymous> (/tmp/sq9wx3tKJu:22)» | ||
| aCiD2 | slurpy or not, I get "too many positional arguments: 2 passed, 1 expected" | ||
| jnthn | moritz_: $b.foo :-) | ||
| moritz_ | rakudo: class Bar { has $.x; method foo($!x) { } };my $b = Bar.new; $b.foo(5); say $b.x | ||
| ... | 18:26 | ||
| p6eval | rakudo 50e0e7: OUTPUT«5» | ||
|
18:26
Guest23195 joined
|
|||
| pmichaud | jnthn: I would guess that foo(*@!bar) would bind @!bar to the slurpy | 18:26 | |
| moritz_ | rakudo: class Bar { has @.x; method foo(@!x) { } };my $b = Bar.new; $b.foo([5, 6]); say $b.x | ||
| p6eval | rakudo 50e0e7: OUTPUT«5 6» | ||
| aCiD2 | Hm. | ||
| cxreg | @#$%^@#bar | ||
| aCiD2 | Then wtf am I doing wrong :) | ||
| moritz_ | aCiD2: my demonstration didn't use a slurpy | ||
| rakudo: class Bar { has @.x; method foo(*@!x) { } };my $b = Bar.new; $b.foo([5, 6]); say $b.x | |||
| pmichaud | aCiD2: it's entirley possible rakudo gets slurpy binding wrong there. we didn't have a completely good working slurpy implementation until a little over a month ago | ||
| p6eval | rakudo 50e0e7: OUTPUT«5 6» | 18:27 | |
| aCiD2 | I only used slurpy because it didn't work anyway | ||
|
18:27
gssgss joined
|
|||
| PerlJam | rakudo: class Bar { has $.x; method foo(*$!x) { } }; my $b = Bar.new; $b.foo(5); say $b.x | 18:27 | |
| moritz_ | huh, seems to work | ||
| jnthn | pmichaud: Me too | ||
| p6eval | rakudo 50e0e7: OUTPUT«5» | ||
| moritz_ | rakudo: class Bar { has @.x; method foo(*@!x) { } };my $b = Bar.new; $b.foo(5, 6); say $b.x.perl | ||
| p6eval | rakudo 50e0e7: OUTPUT«[5, 6]» | ||
| jnthn | pmichaud: But I don't know quite what slurpy looks like in the binder today | ||
| moritz_ | it works. | ||
| pmichaud | jnthn: it's just a lazy array | ||
| jnthn | pmichaud: It should work if it calls bind_one_param though | ||
|
18:27
Guest23195 joined
|
|||
| jnthn | moritz_: oh cool :-) | 18:27 | |
| pmichaud | jnthn: I'm pretty sure that it does... and as moritz++ showed, it appears to work. :) | ||
| jnthn | OK, cool. | ||
| \\o/ | |||
| moritz_: I bet we don't have a spectest for that ;-) | 18:28 | ||
| tadzik | module File::Find:<github:tadzik 0.1>; | ||
| awesome thing | |||
| PerlJam | Last call for comments on my changes to rakudo.org/how-to-get-rakudo Speak now or you'll have to change it yourself :) | 18:29 | |
| aCiD2 | rakudo: class Bar { has @!x; method x(@!x) { @!x } };my $b = Bar.new; $b.foo([5, 6]); say $b.x | ||
| p6eval | rakudo 50e0e7: OUTPUT«Method 'foo' not found for invocant of class 'Bar' in main program body at line 22:/tmp/NlAfwwHX0e» | ||
| aCiD2 | rakudo: class Bar { has @!x; method x(@!x) { @!x } };my $b = Bar.new; $b.x([5, 6]); say $b.x | 18:30 | |
| p6eval | rakudo 50e0e7: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in 'Bar::x' at line 22:/tmp/C8pbLqG6jR in main program body at line 22:/tmp/C8pbLqG6jR» | ||
| aCiD2 | aha! | ||
| that's the problem I'm getting. | |||
| jnthn | $b.x([5, 6]) is your problem | ||
| aCiD2 | I'm doing this because I want to be able to have chained accessors. like $foo.bar('a').magic('roundabout') | ||
| tylercurtis | aCiD2: your x method requires a parameter. You aren't passing one. | ||
| jnthn | $b.x = [5, 6]; | ||
| aCiD2 | rakudo: class Bar { has @!x; method x(@!x) { @!x } };my $b = Bar.new; $b.x(5, 6); say $b.x | ||
| p6eval | rakudo 50e0e7: OUTPUT«Nominal type check failed for parameter '@!x'; expected Positional but got Int instead in 'Bar::x' at line 22:/tmp/F_mDXsREZi in main program body at line 22:/tmp/F_mDXsREZi» | 18:31 | |
| jnthn | oh wait... | ||
| pmichaud | the problem is that .x is being used in two ways here. | ||
| jnthn | Sorry, I mis-read | ||
| Yeah | |||
| pmichaud | the second $b.x isn't supplying a parameter. | ||
| aCiD2 | Ohhhhh | ||
| pmichaud | s/parameter/argument/ | ||
| aCiD2 | of course. so I should use a multi method? | ||
| pmichaud | a multi would work, yes. | ||
| jnthn | aCiD2: That'd be a neat solution. | ||
| aCiD2 | wait a minute | ||
| the problem here is actually specific to irc. In my actual code, the accessor is write only (and accessed privately) | 18:32 | ||
| tylercurtis | rakudo: class Bar { has @!x; multi method x(@!x) { self; }; multi method () {@!x; } }; my $b = Bar.new; $b.x([5, 6]); $b.x.say; | ||
| p6eval | rakudo 50e0e7: OUTPUT«===SORRY!===Can not put multi on anonymous routine at line 22, near "}; my $b ="» | ||
| aCiD2 | maybe I should just paste what I have :) | ||
| tylercurtis | rakudo: class Bar { has @!x; multi method x(@!x) { self; }; multi method x() {@!x; } }; my $b = Bar.new; $b.x([5, 6]); $b.x.say; | ||
| p6eval | rakudo 50e0e7: OUTPUT«5 6» | ||
| tylercurtis | rakudo: class Bar { has @!x; multi method x(*@!x) { self; }; multi method x() {@!x; } }; my $b = Bar.new; $b.x(5, 6); $b.x.say; | 18:33 | |
| p6eval | rakudo 50e0e7: OUTPUT«56» | ||
| aCiD2 | gist.github.com/501078 | ||
| line 6 in that paste is i believe the problematic area | |||
|
18:33
darkop joined
|
|||
| tylercurtis | aCiD2: you might want has "$.from is rw;". readonly is default, iirc. | 18:34 | |
| rakudo: class Foo { has $.x; }; my Foo $f .= new(:x<a>); $f.x.say; $f.x = 5; $f.x.say; | 18:36 | ||
| p6eval | rakudo 50e0e7: OUTPUT«aCannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/BFlPDg04yB» | ||
| tylercurtis | aCiD2: or to write an accessor for it like the one for select. | ||
| darkop | rakudo: say "Hi."; | 18:37 | |
| p6eval | rakudo 50e0e7: OUTPUT«Hi.» | ||
| tylercurtis | aCiD2: the default rw accessor is a lvalue method so to set it, you do "$select.from = value". | ||
| aCiD2 | ah | 18:38 | |
| ooo, it's working again now that I've made accessors how I need them | |||
| ingy | pmichaud++ # tagging the star repo | ||
| PerlJam work & | |||
| aCiD2 | perl 6 is crazy, I can write just about every method on one line so far :) | 18:39 | |
| <3 | |||
| tylercurtis | aCiD2: you might want Table.add_columns to push onto @!columns instead of setting it, no? | ||
|
18:39
rindolf joined
|
|||
| rindolf | Hi all. | 18:39 | |
| aCiD2 | tylercurtis: indeed | 18:40 | |
| thanks for spotting that | |||
| rindolf | Question: does Perl 6 has support for operations on large integers? | ||
| Something like Math::BigInt / Math::GMP in Perl. | |||
| pmichaud | the spec requires it, rakudo doesn't have it yet. | ||
| tylercurtis | aCiD2: also, Perl 6 idiom seems to prefer hypens for word separators instead of underscores. | ||
| pmichaud | the Int type is supposed to hold arbitrarily large integers. | ||
| pugssvn | r31877 | moritz++ | [t/spec] tests for attributive parameters | 18:41 | |
| aCiD2 | tylercurtis: I had no idea that was possible! FINALLY | ||
| jnthn | Unfortunately. | ||
| rindolf | pmichaud: are you talking to me? | ||
| moritz_ | jnthn, pmichaud: there's one TODO'ed test in the file I've just added - I'd appreciate it if you could review it for sanity | ||
| pmichaud | rindolf: yes. | ||
| rindolf | pmichaud: OK. | ||
| pmichaud | rindolf: (sorry, forgot to address my comments to you) | ||
| rindolf | pmichaud: OK. | ||
| aCiD2 | Will it be possible in the future (or now maybe!) to have custom traits for attributes? | 18:42 | |
| timdemkowsky | :q | 18:43 | |
| hugme hugs timdemkowsky, good vi(m) user! | |||
| timdemkowsky | whoops. :D | ||
| aCiD2 | like has $.fur is fluffy | ||
|
18:43
cdarroch joined
|
|||
| moritz_ | aCiD2: I kinda think that 'is rw' is implemented with the same mechanism you could use for that | 18:43 | |
| aCiD2 | interesting | ||
| [Coke] | :wq | ||
| hugme hugs [Coke], good vi(m) user! | |||
| moritz_ | aCiD2: see src/core/traits.pm in the rakudo souces | ||
| *sources | |||
| aCiD2 | thanks, I will do | ||
| dalek | kudo: cf9997a | moritz++ | src/Perl6/Actions.pm: refacor adverb application and checking into a separate method - it will be |
18:44 | |
| kudo: c9c98fa | moritz++ | t/spectest.data: [t/spec] run new tests for attributive params |
|||
| moritz_ | jnthn++ prefers to write trait handlers in Perl 6 | ||
|
18:46
offerkaye joined
|
|||
| jnthn | moritz_: alas, is rw on attrs isn't implemented that way - yet. | 18:46 | |
| offerkaye | hi all | 18:47 | |
| jnthn | o/ | ||
| szabgab | hi offerkaye | ||
| offerkaye | Quick question | ||
| Hi Gabor :) | |||
| jnthn | moritz_: Will look over that test in a bit - need some typing break / walk now :-) | ||
| offerkaye | How come "'Hello, world!'.reverse.say;" doesn't print the reversed string? | ||
| jnthn | .reverse is for lists; use .flip for strings. | 18:48 | |
| offerkaye | Ah awesome, thanks! | ||
| jnthn | rakudo: 'Hello, world!'.flip.say # just checking :-) | ||
| szabgab | reverse is reserved for lists :) | ||
| p6eval | rakudo 50e0e7: OUTPUT«!dlrow ,olleH» | ||
| [Coke] | FYI, we current have 19 tickets in rt labeled [PATCH], some dating back over a year. | ||
| jnthn bbiab | |||
| offerkaye | Is there any online page where things like "flip" are documented? | 18:49 | |
| [Coke] | Even if you don't understand what they're doing, adding a "Sorry, this doesn't apply cleanly anymore" would be helpful. | ||
| offerkaye: the synopses, probably. | |||
| pmichaud | [Coke]: I'll go through and respond to the patches | ||
| szabgab | offerkaye: press F2 when in Padre :) | ||
| [Coke] | www.perl6.org/specification/ | ||
| pmichaud: doesn't have to be you. =-) | 18:50 | ||
| ingy | git Q: how do I checkout the star tagged branch: 2010.07 | ||
| pmichaud | [Coke]: no, but it probably ought to be. | ||
| [Coke] | but sure! =-) | ||
| ingy is flailing | |||
| pmichaud | ingy: git clone <repo> | ||
| git checkout 2010.07 | |||
| offerkaye | Gabor and [Coke], thanks :) | ||
| [Coke] | git clone ingy. | ||
| ingy | :P | ||
| [Coke] | pmichaud: want a list? | 18:51 | |
| (or me to assign them to you?) | 18:52 | ||
| pmichaud | [Coke]: I already have a saved query that looks for [PATCH] | ||
| [Coke] | +1 | ||
| pmichaud | (which is partially why I volunteer to handle them) | ||
| aCiD2 | Is it possible to have a multi method, where one method just handles the whatever-star and one method handles a slurpy array? I've got a multi method on ::Whatever and another on Str *@foo, but passing 'foo' seems to match the ::Whatever one, not the array reference | ||
| ingy | pmichaud: that command carped a bit, but I did: git co -b 2010.07 2010.07 | ||
| pmichaud | ingy: you might have an older git | 18:53 | |
| (oldeer than mine, anyway) | |||
| but sure, that should work also. | |||
| [Coke] | ingy is bleeding edge! | ||
| ingy | 1.6.3.3 | ||
| cxreg | ingy: naming a tag the same as a branch could cause git some confusion, beware | ||
| pmichaud | git version 1.7.0.4 | ||
| so... yeah. | 18:54 | ||
| ingy | cxreg: thx | ||
| pmichaud | yes, I'd beware of giving a branch the same name as a tag. | ||
| ingy | I think I grok you, cxreg | ||
| how do I name it then? | |||
| or don't I? | |||
| cxreg | git branch -m 2010.07 2010.07-branch or something? | 18:55 | |
| you can "check out" a tag directly, but it leaves your HEAD detached (which is ok) | |||
| it's just not a place you likely want to leave any new commits :) | 18:56 | ||
|
19:00
ashleydev joined
|
|||
| ingy | pmichaud: O NOES! gist.github.com/501116 | 19:00 | |
| pmichaud: OS X | |||
| colomon | ummmm..... | 19:01 | |
| if I just built a new parrot, is it really possible there is nothing to do to rebuild Rakudo? | |||
| pmichaud | ingy: sure, I expect the distbuilder to need some work. | ||
| [Coke] | colomon: I don't think rakudo /depends/ on parrot in a makefile sense. | 19:02 | |
| pmichaud | colomon: it's possible, but there are lots of things that could invalidate it. | ||
| aCiD2 | Have I misinterepreted something, or is this a bug? gist.github.com/501122 | ||
| [Coke] | so your best bet is to reconfigure and rebuild.' | ||
| aCiD2 | urrr | ||
| wait a second! | |||
| [Coke] | no, READING THAT ONE!. ;) | ||
| aCiD2 | ok, my bad, 2 is quite obviously not a Str :) | 19:03 | |
| pmichaud | also, I think that ::Whatever doesn't mean "match a Whatever". | ||
| aCiD2 | ok, paste at gist.github.com/501122 updated with my actual problem | ||
| cxreg just had a moment of brilliance: ))<>(( as an open2 operator | |||
| aCiD2 | pmichaud: Hrm, in Test.pm they do: if $plan ~~ ::Whatever | 19:04 | |
| pmichaud | aCiD2: that's different -- that's not part of a parameter declaration. | ||
| aCiD2 | i see | ||
| I figured it worked the same way | |||
| pmichaud | in a parameter declaration, ::X means "define X as the type of the argument" | ||
| if you want to match Whatever, it's just | |||
| multi method foo(Whatever $x) { '*' } | |||
| aCiD2 | oh right | ||
| happy sailing again, thanks pmichaud :) | 19:05 | ||
| sorry for the endless questions, I hope people don't mind. I just really want to get my teeth into perl 6 | |||
|
19:05
cono joined
|
|||
| pmichaud | aCiD2: we don't mind. | 19:05 | |
| we want more people to get their teeth into perl 6, and we know there's a lot of new stuff. | |||
| aCiD2 | :) | 19:06 | |
| offerkaye | [Coke]: There isn't any place where the documentation is more like the perl5 one (e.g. perlsyn, perlop, perlfunc)? The Synopsys pages seem to spread related topics into different pages and are also a bit complex :( | ||
| pmichaud | offerkaye: not yet, no. | ||
| [particle] | this is the part where you ask for a commit bit, to start writing it, offerkaye ;) | 19:07 | |
| tylercurtis | colomon: Are you around? | ||
| pmichaud | I suspect a commitbit isn't needed -- just start a new package/module to do it :) | ||
| offerkaye | pmichaud: thanks. [particle] , I was just going to ask, if there is any group working on the p6 docs? | ||
| [Coke] | pmichaud: might make sense to shove it in pugs. | ||
| since a lot of that is spec-driven. | 19:08 | ||
| pmichaud | [Coke]: true, but I'd prefer to see it in a github repo somehow. | ||
| [particle] | yeah, i assumed pugs repo | ||
| moritz_ | there is something in the pugs repo already | ||
| pmichaud | I'll gladly open up a perl6 repo on github for it :) | ||
| moritz_ | in docs/u4x/ | ||
| colomon | tylercurtis: I am indeed | ||
| PerlJam | There are at least 5 separate repos on github relating to perl 6 documentation | 19:09 | |
| pmichaud | but getting good introspectable docs is also why I'm keen for masak++ to work on S26 for us :) | ||
| aCiD2 | Is it possible to curry a sub for use with map? sub blah ($x); @foo.map(blah) | ||
| [particle] | u4x++ | ||
| that's a good start | |||
| masak | u4x would also be a lot more fun after the S26 grant. | ||
| pmichaud | rakudo: sub xyz($x) { $x * 2 }; (1..5).map(&xyz).say | 19:10 | |
| p6eval | rakudo 50e0e7: OUTPUT«246810» | ||
| colomon | aCiD2: map(&blah) should work if blah only takes one argument | ||
| masak | seeing the Pod being rendered as nicely-styled HTML counts for a lot. | ||
| aCiD2 | ah, you have to reference it | ||
| masak | aCiD2: yes. &blah | ||
| aCiD2 | colomon: how do I get at a method? &self.foo seems to try and get it from self, not self.foo | ||
| pmichaud | aCiD2: right. Perl 6 always treats 'blah' as the call and '&blah' as a reference. | ||
| masak | aCiD2: each time you do 'sub foo', you essentially get a variable &foo in the deal. | 19:11 | |
| aCiD2 | i see | ||
| masak | aCiD2: and vice versa; if you do 'my &foo = { ... }', you can then call 'foo()' | ||
| colomon | aCiD2: get at a method in what sense? | ||
| pmichaud | colomon: I suspect he wants to pass a method to map | ||
| aCiD2 | colomon: I'm actually doing .map(self.rar) | ||
| pmichaud | aCiD2: then it's just *.rar | 19:12 | |
| tylercurtis | colomon: as of Parrot r48214, fdiv_i_i_i and fdiv_i_i work. Not sure how they compare performance-wise with fdiv_n_n_n, though. | ||
| aCiD2 | masak: that's like perl 5 symbol manipulation? | ||
| masak | aCiD2: lastly, '&blah()' works too, but it's slightly redundant. | ||
| pmichaud | oh, wait | ||
| [Coke] | tylercurtis++ | ||
| pmichaud | you want to pass an argument to rar | ||
| then it's | |||
| masak | aCiD2: yes, but without the sigils jumping around when you index things. | ||
| pmichaud | map( { $.rar($^a) } ) | ||
| or | |||
| map( { self.rar($^a) } ) | 19:13 | ||
| aCiD2 | i can't do it without creating a block? and that's not really currying it either | ||
| offerkaye | About u4x, the link on the perl6.org documentation page takes me to a page "svn.pugscode.org/pugs/docs/u4x/" which does not seem very user friendly (at least not Offer friendly, hehe ;p). What am I supposed to do there? | ||
| pmichaud | if you refer to the method directly, it needs two arguments | ||
| one for the invocant, one for the argument | |||
| aCiD2 | oh yea | ||
| pmichaud | if you want to curry that to automatically have the self... that might be possible | ||
| aCiD2 | what is $^a? | ||
| colomon | tylercurtis: maybe you could run some timings, just calling those functions directly in the two different cases, to see how the performance compares? | ||
| KenGuru | any suggested editor for win? | ||
| PerlJam | KenGuru: Padre | 19:14 | |
| pmichaud | $^a means a parameter to the block | ||
| KenGuru | currently using notepad++ | ||
| aCiD2 | pmichaud: indeed, that's what I'm sort of expecting to be possible | ||
| pmichaud: like $_ from perl 5? | |||
| PerlJam | KenGuru: padre.perlide.org | ||
| tylercurtis | colomon: will do. | ||
| pmichaud | aCiD2: $_ is often an assumed placeholder, yes. | ||
| the $^a form allows more of them. | |||
| colomon | tylercurtis: my instinct is that it will probably make very little different to Rat arithmetic at this point, but it's worth checking just in case -- my instincts have been wrong at least once in this process. | ||
| aCiD2 | ah, ok | ||
| dalek | kudo: dfefdd2 | (Solomon Foster)++ | src/core/Range.pm: Add much faster range iterator for infinite Int ranges. |
||
| kudo: c7ad36f | (Solomon Foster)++ | t/spectest.data: Turn on new S03-operators/range-int.t test file (as stress test). |
|||
| PerlJam | KenGuru: or, if you're not afraid of a modal editor, vim | ||
| pmichaud | rakudo: { say "$^y, $^x"; }.('world', 'hello') | ||
| p6eval | rakudo 50e0e7: OUTPUT«hello, world» | ||
| KenGuru | i'm not into vim commands | ||
| i'll try it later on | 19:15 | ||
| pmichaud | rakudo: for 1..10 { say $^a, $^b } | ||
| p6eval | rakudo 50e0e7: OUTPUT«12345678910» | ||
| colomon | pmichaud: I'd appreciate it if you could review dfefdd2f4 for me sometime very soon -- I've got another similar change to make ASAP. | ||
| KenGuru | but atm I only wann get started with syntax coloring | ||
| [Coke] | rakudo: { say "$^ö, $^õ"; }.('world', 'hello'); | ||
| p6eval | rakudo 50e0e7: OUTPUT«hello, world» | 19:16 | |
| pmichaud | colomon: I'm not quite keen on having the extra type | ||
| aCiD2 | so, final question on this area - is Select.new.from(self).select(@column-names.map({ self.column($_) })) the idiomatic way to write that? | ||
| colomon | pmichaud: why? | ||
| aCiD2 | Mostly the @column-names map | ||
|
19:16
jfried joined
|
|||
| pmichaud | colomon: because I think it could be handled just as cleanly within the normal RangeIter | 19:17 | |
| (and ReallyLongTypeNamesBugMeALot) | |||
| KenGuru | @PerlJam: thx for the tip padre looks interesting | ||
| colomon | pmichaud: I thought the entire point of this operation was to avoid doing unnecessary operations for the common cases. | ||
| perigrin | ThisIsATypeNameJustToBugPMichaud $i = ... | 19:18 | |
| masak | rakudo: { say "$^世, $^界" }.('world', 'hello') | ||
| pmichaud | colomon: sure, but that doesn't *have* to mean there's a new type for every optimization we come up with. | ||
| p6eval | rakudo 50e0e7: OUTPUT«world, hello» | ||
| masak | ah :) | ||
|
19:18
goksie joined
|
|||
| pmichaud | I still think the common cases should use common types. | 19:18 | |
| masak | rakudo: { say "$^界, $^世" }.('world', 'hello') | ||
| p6eval | rakudo 50e0e7: OUTPUT«hello, world» | ||
| [Coke] | masak, is that "dancing blockhead?" | ||
| masak | [Coke]: 世界 means 'world' | 19:19 | |
| pmichaud | in this case, I'd think that RangeIter.reify could be made smart enough to be fast at handling Inf without having to resort to a specialized type just for that | ||
|
19:20
desertm4x joined
|
|||
| masak | rakudo: { &^说("$^界, $^世") }.(&say, 'world', 'hello') | 19:20 | |
| p6eval | rakudo 50e0e7: OUTPUT«Nominal type check failed for parameter '&说'; expected Callable but got Str instead in <anon> at line 2:/tmp/daTnmmbJnP in main program body at line 22:/tmp/daTnmmbJnP» | ||
| masak | rakudo: { &^说("$^界, $^世") }.('world', &say, 'hello') | ||
| p6eval | rakudo 50e0e7: OUTPUT«Nominal type check failed for parameter '&说'; expected Callable but got Str instead in <anon> at line 2:/tmp/oBU28dSBnb in main program body at line 22:/tmp/oBU28dSBnb» | ||
| masak | (permutation programming) | ||
| rakudo: { &^说("$^界, $^世") }.('world', 'hello', &say) | 19:21 | ||
| p6eval | rakudo 50e0e7: OUTPUT«hello, world» | ||
| masak | \\o/ | ||
| tylercurtis | masak: does 说 mean hello? | ||
| masak | tylercurtis: it means 'say' :) | ||
|
19:21
Chillance joined
|
|||
| pmichaud | in my font it looks like lolcat running away from 'i' | 19:21 | |
| masak | :D | 19:22 | |
| pmichaud | or lolcat bouncing a marble on its tail | ||
| masak | I always thought of it as a little bunny. | ||
| don't tell my Chinese teacher. | |||
|
19:22
mtk joined
|
|||
| KenGuru | 2(PerlJam2): can i use padre with the current rakudo release? | 19:23 | |
| PerlJam | KenGuru: padre is a general purpose editor. It's not going to care what you're editing too much :) | ||
| pmurias | ruoso: could you check if Forest::Tree::Viewer::Gtk2 is ok? | ||
| PerlJam | KenGuru: I'm not sure how well the syntax highlighting has kept up though. | 19:24 | |
| pmichaud | afk for a bit | ||
| KenGuru | 2(PerlJam2): will give it a try | ||
| 2(PerlJam2): will google around for highlighting solutions | 19:25 | ||
| curious why there isn't a binary release (only msi) of the current padre | |||
| colomon | pmichaud: my time is limited atm. If you'd like me to check in the big Range optimization with separate classes, I can do that this afternoon. If you'd like me to rewrite it all to share the logic of four classes in one, I can maybe get to it sometime the second week of August. | 19:26 | |
| pmichaud | colomon: I'm fine with either approach (if tests pass) .. so it's up to you. :) | ||
| checking in the range optimization would seem to make the most sense for now. | |||
| but yes, I'd want a big cleanup at some point. | |||
| offerkaye | KenGuru: probably the volunteer doing it hasn't had the time yet | ||
| pmichaud | because the current set is waaaaaaaay too much code | ||
| [particle] | KenGuru: better asked in #padre | 19:27 | |
| offerkaye | KenGuru: there are perl5+6 highlight patterns for vim at: github.com/petdance/vim-perl | ||
| I haven't tried them out myself though | |||
| KenGuru | thx so far, but i'm affraid i'm not able to use vim atm | ||
| aCiD2 | I'm using vim for my perl 6 hacking, but emacs for everything else | 19:28 | |
| KenGuru has grown up with Visual Studio | |||
| KenGuru also grew up with Eclipse | |||
| but /me unfortunately left out vim | 19:29 | ||
|
19:29
mtk joined
|
|||
| PerlJam | KenGuru: hopefully you can recover from such an impoverished up-bringing. | 19:29 | |
| :-) | |||
| tylercurtis | aCiD2: $.column($_) is probably more fitting for that.You may want to do the map separately so you could do "my @columns = @column-names.map: { $.column($_) }; Select.new.from(self).select(@columns);" Or you could just supply the attributes to the select in the constructor like "Select.new(:from(self), :@columns));" | ||
| KenGuru also used WingIDE for Python | 19:30 | ||
| KenGuru used a lot of notepad++ for editing | |||
| offerkaye | KenGuru: there's an msi for strawberryperl.com/ and if you install that, installing Padre should be a simple matter of opening a new cmd.exe, typing "cpan" and in the cpan shell typing "install Padre". Hopefully :) | ||
| KenGuru | i'll try some stuff | 19:31 | |
| i never ever used perl before. | |||
| aCiD2 | tylercurtis: I can do that even though they are private? | ||
| KenGuru | so have to accel a bit slower ;-) | ||
| pmurias | offerkaye: cpan, cpanm is more fun | ||
|
19:31
timbunce joined
|
|||
| [Coke] | I thought some version of sb came with padre? | 19:31 | |
| PerlJam | Alias mentioned earlier that padre comes with strawberry. | 19:32 | |
| KenGuru | have used python, c/c++, c#, vb.net, boo, f#, jscript | ||
| ruby | |||
| offerkaye | KenGuru: just so you know, Perl 6 might look a bit similiar sometimes to Perl (5), but it is quite a different language :) | ||
| tylercurtis | aCiD2: yes, unless you override the new method or BUILD submethod. | ||
| KenGuru | yes i know. the meta programming abilitys attracted me | ||
| offerkaye | pmurias: yeah, I've been meaning to try it out. And while we're at things that are fun, perlbrew rocks :) | ||
| KenGuru | the integrated snytax for grammars/rules | 19:33 | |
| all that weired stuff ... | |||
| the last "lang toy" i used was ometa, especially the one from boo | 19:34 | ||
| i'm not that much into compiler theory ... | 19:35 | ||
| offerkaye | So, anyone want to pick up the ball w/regards to my question about u4x? Personally, I don't understand how a page that looks like "svn.pugscode.org/pugs/docs/u4x/" is billed as "user documentation". sorry :( | 19:36 | |
|
19:36
arnoo joined
|
|||
| [Coke] | offerkaye: the type of documentation you're asking for doesn't exist yet. | 19:36 | |
| pmichaud | offerkaye: most of us are already volunteered to the extent that we can be. :-) | ||
| moritz_ | offerkaye: we plan to write the documentation in the documentation/ subfolder | ||
| pmichaud | offerkaye: rakudo star is intended to gain more volunteers :) | 19:37 | |
| moritz_ | offerkaye: it's going to be rerndered into web pages that are easier accessible | ||
| pmichaud | offerkaye: to help do the sorts of things that you say (and we agree) should be done :) | ||
| moritz_ | offerkaye: but first some docs have to exist | ||
| offerkaye | pmichaud: it worked. I'm hooked :) | ||
| KenGuru | have to become familiar with all that perl lingo | ||
| moritz_ | did somebody offer a commit bit? | ||
| pmichaud | offerkaye: beyond that, everything in pugs is "do something, ask forgivness later if needed" | ||
| offerkaye: I don't think anyone is leading the charge for u4x (or any sort of docs), so if you want to just do whatever you think is right, we'll be happy to help and say where we might disagree | 19:38 | ||
|
19:39
arnoo left
|
|||
| eternaleye | rakudo: say Int ~~ Nil; say Int.notdef; say 1 ~~ Nil; say 1.notdef | 19:39 | |
| p6eval | rakudo 50e0e7: OUTPUT«1100» | ||
| pmichaud | that first one looks very wrong to me. | 19:40 | |
| rakudo: say Any ~~ Nil | |||
| p6eval | rakudo 50e0e7: OUTPUT«1» | ||
| pmichaud | that one too. | ||
| eternaleye | pmichaud: Any undefined value ~~ Nil is 1 | ||
| pmichaud | eternaleye: why is that? | ||
| eternaleye | It isn't specced either way | ||
| I asked a few months ago, but sorta got warnocked | 19:41 | ||
| pmichaud | rakudo: say Any ~~ () | ||
| p6eval | rakudo 50e0e7: OUTPUT«1» | ||
| pmichaud | I'm fairly sure *that's* wrong. | ||
| it's even weirder because | |||
| eternaleye | I rather like it, since it's visually less noisy than ~~ *.notdef, but whatever | ||
| pmichaud | except: | ||
| rakudo: say Nil.notdef | |||
| p6eval | rakudo 50e0e7: OUTPUT«0» | ||
| masak | offerkaye: I want to personally apologize for launching that u4x project, and then not getting back and actually filling it with a lot of content. there's really a hole right now where that project should be. :/ | ||
| .notdef isn't dead yet? | |||
| pmichaud | rakudo: say Nil.defined | 19:42 | |
| p6eval | rakudo 50e0e7: OUTPUT«1» | ||
| pmichaud | so, having an undefined value match against a defined one seems very odd to me. | ||
| masak | couldn't *.notdef just be !*.defined nowadays? | ||
| pmichaud | rakudo: my $x = !*.defined; say $x(Nil) | 19:43 | |
| masak | with the current rules of when/smartmatching, I mean. | ||
| p6eval | rakudo 50e0e7: OUTPUT«0» | ||
| pmichaud | masak: looks like yes. | ||
| rakudo: my $x = !*.defined; say $x(Any) | |||
| p6eval | rakudo 50e0e7: OUTPUT«1» | ||
| masak | \\o/ | ||
| KILL KILL KILL | |||
| offerkaye | masak: no apology needed. I know how much you already do :) | ||
| masak | offerkaye: I simplify the spec :) | ||
| perigrin keeps the children away from masak while he's in a frenzy | 19:44 | ||
| Su-Shee | I'm already cooking valerian root tea... | ||
| masak | om nom nom nom | ||
| ingy | I can't get rakudo star to build on os x | 19:46 | |
| KenGuru | is anybody aware of an .net implementation of perl6? the only thing i found was the bytecode converter for .net | ||
| pugssvn | r31878 | masak++ | [S02, S32] kill off .notdef | ||
| r31878 | | |||
| r31878 | Not cute with methods that do negatively defined things. And !*.defined | |||
| r31878 | covers the semantic hole that *.notdef was meant to fill, so no need to | |||
| r31878 | keep it. | |||
| masak | \\o/ | ||
| [particle] | KenGuru: one does not exist yet | 19:47 | |
| pmichaud | ingy: do you mean you can't build a distribution, or that you can't build from the tarball? | ||
| tylercurtis | KenGuru: github.com/sorear/niecza | ||
| pmichaud | if you git checkout star then you're getting the tools to create a distribution, not a distribution | ||
| [particle] | well, ok, one is in its infancy :) | ||
| ingy | pmichaud: I'm trying to build from the tagged dist | ||
| pmichaud | that's not a tagged dist | ||
| that a tagged "build a dist" | |||
| ingy | well, you know... | 19:48 | |
| Su-Shee | mr bsd port on sourceforge is available to send a message to at twitter as zagru. | ||
| KenGuru | i should grep github more frequently ... | ||
| ingy | make VERSION=2010.07 | ||
| pmichaud | ingy: right, that's intended to make a distribution image | ||
| tylercurtis | KenGuru: I don't know how far along it is; probably not very far as of yet, but sorear++ is scarily productive lately. | 19:49 | |
| ingy | well it keeps saaying it has parrot r0 | ||
|
19:50
shirtless joined
|
|||
| pmichaud | I don't understand that part. | 19:50 | |
| ingy | I worked past the `find ... -printf` problem manually | 19:51 | |
| pmichaud | okay | ||
| ingy | then I keep getting: | ||
| Reading configuration information from install/bin/parrot_config ... | |||
| ===SORRY!=== | |||
| Parrot revision r48225 required (currently r0) | |||
| after all the rest of Configure works | |||
| pmichaud | you mean after you created a new distribution directory, you're trying to run Configure in that directory? | 19:52 | |
| (just verifying the steps here) | |||
| ingy | yeah | ||
| is that wrong? | |||
| pmichaud | what version of parrot did you get | ||
| ingy | parrot-2.6.0 | 19:53 | |
| pmichaud | oh, wait | ||
| 48225? | |||
| I think that's not the Star+0 version of rakudo. | |||
| right | 19:54 | ||
| the star version of rakudo should be requesting 48152. | |||
| ingy | pmichaud: this is from the tag on github | ||
| pmichaud | which tag of what? | 19:55 | |
| ingy | 2010.07 of starr | ||
| pmichaud checks | |||
| ingy | star | ||
| pmichaud | let me try generating a new one | ||
| ingy | k | ||
| mathw | Hello | ||
| [Coke] | ingy: is there any reason you didn't just download the star tarball? | ||
| jnthn | o/ mathw | ||
| KenGuru | 2(tylercurtis2): ok so far. will add it to my watchlist | 19:56 | |
| mathw | o/ jnthn | ||
| ingy | [Coke]: I'm building that now | ||
| mathw | how's the R* reception? | ||
| [Coke] | ok. I know there were some issues on os x that have been reported. | ||
| mathw | I've been offline all day | ||
| ingy | I didn't know there was a difference | ||
| the tarball seems fine on os x | |||
| jnthn | mathw: /. aside, pretty well :-) | 19:57 | |
| ingy | except that core.pir is trying to melt my laptop | ||
| mathw | it's always /. aside :) | ||
| loret | so do you guys need any artwork | ||
| for perl6 | |||
| [Coke] | ingy: \\o/ | ||
| loret | or for anything | ||
| moritz_ | masak: now, if you please kill off .notdef from t/spec/*/*.t ... :-) | ||
| just 64 occurences | |||
| loret | if you do, let me know | ||
| pmichaud | loret: rakudo could stand to have some new artwork :) | 19:58 | |
| loret | eh? | ||
| what is it you're looking for | |||
| pmichaud | right now we have the logo that's at rakudo.org/ | ||
| loret | i basically do my stuff on paper | ||
| ingy | star: use YAML; say dump([1..5]) | ||
| p6eval | star 2010.07: OUTPUT«---- 1- 2- 3- 4- 5...» | ||
| ingy | w00t | ||
| loret | yeah i've seen rakudo's logo | ||
| pmichaud | that's just something I had thrown together because I needed a logo | 19:59 | |
| loret | you want a new logo? | ||
| offerkaye | loret: Padre is an IDE for Perl (5 and 6) written in Perl 5. Since it is a GUI application, I'm betting they would be happy to get more artwork. | ||
| pmichaud | we'd definitely be open for alternate suggestions :) | ||
| [Coke] | I know at least one user had issues with the shrine. | ||
| loret | ok | ||
| offerkaye | You can find more details about Padre at padre.perlide.org/ | ||
| pmichaud | ingy: what does the file VERSION in the rakudo/ directory say? | ||
| loret | what theme do you want? | ||
| [Coke] | camel's probably off limits. | ||
| timdemkowsky | we need a mascot... :D | ||
| loret | padre looks nice i think | 20:00 | |
| pmichaud | well, "rakudo" is along the lines of "paradise" or "happy earth" :) | ||
| loret | it matches perl 6 | ||
| ingy | pmichaud: you mean rakudo-star-2010.07? | ||
| [Coke] | I again recommend my 3-legged cat. | ||
| offerkaye | I thought the new butterfly, the one in the PDF distributed with Rakudo Star, was actually quite good. | ||
| tadzik | maybe a sloth? | ||
| pmichaud | ingy: there's a rakudo/ directory within that one | ||
| ingy | pmichaud: nm, one sec | ||
| [Coke] | tadzik: HAHAHA. | ||
| loret | ok paradise and happy earth | ||
| pmichaud | offerkaye: the butterfly is Perl 6's mascot | ||
| ingy | 2010.07-54-gdfefdd2 | ||
| pmichaud | we can use it, but Rakudo (the product) probably wants its own logos too | ||
| ingy: how about build/PARROT_REVISION in that subdir? | 20:01 | ||
| loret | if i do it on paper first thats fine? | ||
| pmichaud | i.e., rakudo/build/PARROT_REVISION | ||
| loret: sure! | |||
| ingy | 48225 | ||
| pmichaud | okay | ||
| loret | what about single letters? | 20:02 | |
| pmichaud | there's a bug in the setup script then, it should read 48152 2.6.0 | ||
| loret | or you want a picture | ||
| ingy | cool | ||
|
20:02
pdcawley joined
|
|||
| loret | like the original rakudo logo | 20:02 | |
| pmichaud | loret: I don't have anything narrowed down that far | ||
| KenGuru is wondering why niecza isn't listed on perl6.org/compilers/ | |||
| loret | ok | ||
| pmichaud | KenGuru: guess nobody's added it yet | ||
| [Coke] | phenny: tell sorear 16:02 * KenGuru is wondering why niecza isn't listed on perl6.org/compilers/ | ||
| phenny | [Coke]: I'll pass that on when sorear is around. | ||
| pmichaud | KenGuru: we also have plans to port Rakudo to .net -- but we need some more infrastructure first. niecza may deliver something before then. | 20:03 | |
| KenGuru | exciting | ||
| offerkaye | pmichaud: I wish they would change the perl6.org butterfly to the one in the PDF, the one on perl6.org is, err, not as well done ;) | ||
| ingy is surprised that the JSON module did not go into the release | 20:04 | ||
| pdcawley | Possibly weird question, is it possible to have a collection of anonymous and select all valid multimatch candidates in the collection for a given set of args? | ||
| collection of anonymous subs, that is. | |||
| pmichaud | I thought JSON::Tiny was in the release. | ||
| jnthn | pdcawley: It's a fair enough question. The answer is "not really but..." (more) | 20:05 | |
| ingy | star: use JSON::Tiny | ||
| p6eval | star 2010.07: ( no output ) | ||
| ingy | oh | ||
| I didn't see it in the list | |||
|
20:05
Ross joined
|
|||
| ingy | star: use JSON::Tiny::Bogus | 20:05 | |
| p6eval | star 2010.07: OUTPUT«===SORRY!===Unable to find module 'JSON::Tiny::Bogus' in the @*INC directories.(@*INC contains: /home/p6eval/.perl6/lib /home/p6eval/rakudo-star-2010.07/install/lib/parrot/2.6.0/languages/perl6/lib .)» | ||
| ingy | cool | ||
| KenGuru | 2(pmichaud2): is there a roadmap for rakudo? | ||
| [Coke] | pdcawley++ | 20:06 | |
| KenGuru: look in the docs subdir. | |||
| KenGuru | :D | ||
| [Coke] | github.com/rakudo/rakudo/blob/maste...cs/ROADMAP | ||
| jnthn | rakudo: my $multi = -> |$c { multi x() { 1 }; multi x($a) { 2 }; x(|$c) }; say $multi(); say $multi(42); | ||
| pdcawley | jnthn: I would roll a fake class, but I'll need to remove methods/subs from the candidate list at runtime as well as adding them. | ||
| p6eval | rakudo 50e0e7: OUTPUT«12» | ||
| loret | ok maybe by tommorrow i'll have it done | 20:07 | |
| KenGuru | only had a look at the install dir ... | ||
| jnthn | pdcawley: Since multis are lexically scoped by default you can make a little wrapper like that. | ||
| loret | i think i got a perfect idea for it | ||
| jnthn | pdcawley: It's rather more light-weight than a class. | ||
| loret | abstract transforms into an R | ||
| KenGuru | sry for the inconvenience | ||
| ingy | star: use JSON::Tiny;use YAML;say dump JSON::Tiny.new | ||
| p6eval | star 2010.07: OUTPUT«Method 'new' not found for non-object in main program body at line 22:/tmp/hpEd769eCC» | ||
| jnthn | pdcawley: Oh, I see...you need something more dynamic. | ||
| pdcawley | YEah. | ||
| [Coke] | KenGuru: no worries | ||
| pmichaud | ingy: looks like the top-level makefile has a bug in that it's not setting the version of the rakudo/ checkout properly. | ||
| jnthn | pdcawley: Thinking. | ||
| pdcawley | It would seem to fit the kind of dispatch you'd need to do smalltalk style announcements. | ||
| pmichaud | ingy: yeah, there's a bug | 20:08 | |
| ingy | star: use YAML;say dump YAML::Dumper.new | ||
|
20:08
molecules left
|
|||
| p6eval | star 2010.07: OUTPUT«--- !YAML::Dumperanchors: {}id: 1info: []level: 0out: []seen: {}tags: {}...» | 20:08 | |
| jnthn | pdcawley: If yuu don't need the candidate ordering, just find a first one in a list that matches, you can always do things like: | ||
| pmichaud | ingy: | ||
| cd $(RAKUDO_DIR); git checkout $(RAKUDO_VER); git describe --match '2*' >VERSION | |||
| pdcawley | I can introspect on the capture an select candidates barehanded, but it's so close to what the multidispatch stuff already does, in particular $foo.*somemulti(...) | ||
| pmichaud | should instead be | ||
| cd $(RAKUDO_DIR); git checkout $(RAKUDO_TAG); git describe --match '2*' >VERSION | 20:09 | ||
| pdcawley | I don't care about ordering, just need to find all the ones that match and call 'em. | ||
| pmichaud | i.e., s/VER/TAG/ | ||
| jnthn | pdcawley: oh | ||
| then: | |||
| [Coke] | all the ones that match? that sounds like 'nextsame' | ||
| KenGuru | cloning niecza and rakudo ... go! | ||
| [Coke] | (in a "gee, didn't I hear about that at some point" kind of way.) | ||
| ingy | pmichaud: nod. | ||
| pdcawley | Except the collection of candidates is dynamically alterable, both addition and subtraction from... | ||
| ingy | pmichaud++ | 20:10 | |
| jnthn | pdcawley: writing you soemthing :) | ||
| pdcawley | Can I get the method's signature and do a smartmatch on the capture? | ||
| KenGuru | that sigil stuff is quite confusing reading it the first time ... | ||
| ingy thinks that jsync will be great for evalbot dumps | |||
| pdcawley | Then it's just a cunning written grep. | ||
| pmichaud | smartmatching on signatures is allowed, iirc :) | 20:11 | |
| pdcawley | grep { $capture ~~ $_.signature } @candidates, or some such? | ||
| pmichaud | afk, lunch here | 20:12 | |
|
20:12
Italian_Plumber joined
|
|||
| KenGuru | doh ... macros and dsl tweaks | 20:12 | |
| falling in love with rakudo :D | |||
| pdcawley | Oh... \\(10) ~~ -> Int $arg { ... } # 1 | 20:13 | |
| jnthn | rakudo: class DynMul { has @.cands; method postcircumfix:<( )>($c) { .(|$c) for @!cands.grep({ $c ~~ $^s.signature }) } }; my $x = DynMul.new; $x.cands.push(-> $x { say 1 }); $x.cands.push(-> $x, $y { say 2 }); $x(1); $x(1,2); | ||
| pdcawley | I think I might be in love too... | ||
| p6eval | rakudo 50e0e7: OUTPUT«12» | ||
| jnthn | pdcawley: That. | ||
| pdcawley | Oh, you proud beauty! Announcements pretty much fall out of that. | 20:14 | |
| The tricky bit just becomes registering the damned things in a neat fashion. | |||
| Easy enough to make that single pass as well... | 20:15 | ||
| jnthn | :-) | 20:16 | |
| pdcawley: I had fun with capture and signature smart-matching in Test::Mock too :-) | |||
| KenGuru will be exited when rakudo hits the CLR on .NET, nemerle and boo are doing a great job in meta programming | |||
| pdcawley | Right, I know what I'm doing in spare time this weekend. Announcements or Publish/Subscribe or Notifications are so bloody useful. They're peppered all the way through any self respecting Smalltalk image and they always seem to be a missing link in no Smalltalk OO stuff... | 20:18 | |
| jnthn | pdcawley: By the way, you are aware of the .* operator? | 20:19 | |
| pdcawley | No... | ||
| jnthn | Oh. | ||
| tylercurtis | perlcabal.org/syn/S12.html#Calling_...of_methods | ||
| pdcawley | Whassit do? | ||
| Oh, yes. | |||
| tylercurtis | I don't know if that's implemented in Rakudo, though. | ||
| jnthn | pdcawley: Let's you call all matching methods up the class hierarchy. | ||
| pdcawley | Hadn't thought of it as an operator. | ||
| jnthn | Well | ||
| "operator" :-) | |||
| pdcawley | It's documented in the PDF, so I'm assuming yes. | ||
| tylercurtis | Everything's an operator. :) | 20:20 | |
| jnthn | pdcawley: Anyway, you can make that a kinda pub/sub thing too | ||
| pdcawley | It's why I was thinking in terms of multimethods rather than multi subs. | ||
| jnthn | pdcawley: If you want to subscribe another candidate, just mix in a role that has it. | ||
| Anonymous roles are probably quite neat for that. | 20:21 | ||
| pdcawley | How do you mix the role out? | ||
| moritz_ | you don't | ||
| jnthn | pdcawley: Yes, that's the one issue with that approach, there's not a way to "remove" a role. | 20:22 | |
| pdcawley: You could OTOH keep a handle on the multi candidate you added, then call .wrap(-> |$c { }) | 20:23 | ||
| pdcawley: That is, make it now do nothing if called | |||
| But it doesn't really remove it. | 20:24 | ||
| pdcawley | Would like to be able to do $announcer.once(-> SomeAnnoucement $announcement, $sender where { $.=== $something } { ... }) | ||
| With slightly less ugly syntax of course. | |||
| $.=== probably isn't what I want... | 20:25 | ||
| jnthn | pdcawley: What were you expecting that to do? :-) | 20:26 | |
| pdcawley | Something that would match an annoucement of class 'SomeAnnouncement' and $sender equal to $something... | ||
| jnthn | oh, $sender where { $_ === $soemthing } maybe | 20:27 | |
| pdcawley | I see $ where $value might work, but I'm guessing that does a smart match by default, not a === | ||
| jnthn | or | ||
| $sender where * === $something | |||
| cxreg | "Rakudo Star incorporates many of the features of Perl 6 including introspection, object modeling, junctions, auto-threading etc" | 20:28 | |
| jnthn | Yes, it'd smart-match | ||
| KenGuru | uhh.... csmeta | ||
| masak | moritz_: if you haven't already, I could add removing .notdef to t/spec/TODO. I might get around to actually removing them sometime after I finish my panic schedule. | ||
|
20:28
cj joined
|
|||
| jnthn | masak: DON'T PANIC! | 20:28 | |
| ;-) | |||
| pdcawley | Right, I shall play. | ||
| masak panics a bit less | |||
| pdcawley | Is there documentation lying about for the testing framework? Is there a native perl 6 testing framework? | 20:29 | |
| tadzik | yep | ||
| Test.pm | |||
| as for the documentation, there is something in the advent calendra | |||
| perl6advent.wordpress.com/2009/12/0...4-testing/ | |||
| pmichaud | we tend to just use perl 5's Test::Harness to consume the output. | 20:30 | |
| pdcawley | Gotcha. | ||
| Wouldn't be hard to write a TAP grammar no? Just might be a wee bit slow... | |||
| Tene | there is a parrot TAP parser/harness. | ||
| pmichaud | wouldn't be hard, no. | ||
| for a long time we were within the parrot repo so we tended to follow what Parrot did | |||
| Tene | tapir, is it? | 20:31 | |
| pmichaud | Tene: yes. | ||
| jnthn | lol...nice name :-) | ||
| pdcawley | I can just 'prove' a rakudo test directory though? | ||
| ingy | pdcawley: sure | 20:32 | |
| KenGuru | whats the best impl. of perl on windows? | 20:33 | |
| ingy | prove -e 'perl6' t/foo/ | ||
| KenGuru | 5.8 | ||
| pdcawley | Cool. And are we using .pm or .p6m for perl 6 modules? | ||
| ingy | pdcawley: both | ||
| :) | |||
| pdcawley grins. | 20:34 | ||
| jnthn | Wait, isn't it .pm6? :-) | ||
| Or at least, that's what STD uses. :-) | |||
| pdcawley | So, 'use Foo' will load... Foo.pm? Foo.p6m? Foo.pm6? | ||
| jnthn | Rakudo recognizes .pm6 and .pm | ||
| pdcawley | Right ho. | ||
| jnthn | .pm6 is preferred iirc | ||
| tadzik | is it? | ||
| jnthn | (e.g. if there's a conflict) | ||
| ingy | star: use YAML; say $*YAML::FILE | 20:35 | |
| p6eval | star 2010.07: ( no output ) | ||
| ingy | guessing | ||
| I think most modules authors (including me) are using .pm | |||
| pdcawley | And 'use v6' at the start. Makes sense. | ||
| jnthn doesn't have strong feelings either way | 20:36 | ||
| ingy | I use repo-pm6 to mark all my p6 repos | ||
| jnthn | I have been tending to use .p6 for scripts. (more) | ||
| pdcawley | repo-pm6? | ||
| ingy | jnthn: makes sense | ||
|
20:36
peters_mops joined
|
|||
| jnthn | On Windows, file associations are the thing that matter, there's no she-band line, so it's helpful to differentiate things with a different extension that are going to be run directly. | 20:36 | |
| tadzik | I use perl6-Module-Name. So .substr(5) gives the proper name :) | ||
| jnthn | er, she-bang | ||
| :-) | |||
|
20:39
Axord joined
|
|||
| ingy | cdent --compile --in=Foo.pm --out=Foo.pm6 | 20:39 | |
| star: say "yaml-pm6".substr(-3) | 20:41 | ||
| p6eval | star 2010.07: OUTPUT«pm6» | ||
| ingy | tadzik: :P | ||
| star: say "yaml-pm6".substr(0, -3) | 20:42 | ||
| p6eval | star 2010.07: OUTPUT«yaml-» | ||
| ingy | star: say "yaml-pm6".substr(0, -4) | ||
| p6eval | star 2010.07: OUTPUT«yaml» | ||
| ingy | yeah I still have my repos lowercase from the old github days | ||
| masak | star: say .substr(.index('-')) given "yaml-pm6" | ||
| ingy | but lowercase is maybe more acmeist too | ||
| p6eval | star 2010.07: OUTPUT«-pm6» | ||
| masak | star: say .substr(.index('-') + 1) given "yaml-pm6" | 20:43 | |
| p6eval | star 2010.07: OUTPUT«pm6» | ||
| ingy | masak: you crazy p6 kidz! | ||
| masak: let's pair on yaml-pm6 soon | |||
| I am stoked to do the parser in p6rules | 20:44 | ||
| and then port it to pegex | |||
| for perl5 and js | |||
| and maybe past p6 :P | |||
| when rakudo does p5 regexes again | 20:45 | ||
|
20:49
Guest23195 left
20:55
achromic joined,
whiteknight joined
20:57
macroron joined
20:58
pyrimidine left
|
|||
| masak | ingy: yes, let's. | 21:03 | |
|
21:03
[particle] joined,
Italian_Plumber joined
|
|||
| masak | (soon) :) | 21:03 | |
| ingy | masak: Aug 10-12 works for me | ||
| eternaleye | I can't wait until there's a libp6regex like libpcre. That would be so awesome. | 21:04 | |
| masak | ingy: for me too, I think. | ||
| eternaleye: been thinking of writing one. but I probably need to grok LTM through Perl 6 before attempting it in C. :) | 21:05 | ||
|
21:06
jradzuweit joined,
Mowah joined
|
|||
| offerkaye | blogs.perl.org/users/offerkaye/2010...-star.html | 21:15 | |
| comments welcome | |||
| I gtg sleep now, past 12 at night here | |||
| laters | |||
| pmichaud | offerkaye: looks awesome | 21:17 | |
| lue | ohai o/ | ||
| jnthn | offerkaye++ # nice! :-) | 21:18 | |
| $x = q:to'EOS'; # Heredoc string | |||
| ...does that actually work in Rakudo today? | |||
| offerkaye | Thanks guys. A lot of new stuff (compared to p5). A lot of stuff to learn. | 21:19 | |
| jnthn: nope :( Gives - " Colons may not be used to delimit quoting constructs at line 2, near ":to'EOS'; " " | 21:21 | ||
| jnthn | offerkaye: Yeah, thought we'd not done those yet. | ||
| offerkaye | Deleted now, don't want to confuse people with stuff that doesn't work. Okay really going now, gn all :) | 21:23 | |
|
21:23
offerkaye left
|
|||
| pmichaud | jnthn: so, want to know why we have trouble with >>->> ? | 21:23 | |
| jnthn | pmichaud: er...maybe. :-) | 21:24 | |
|
21:24
jaldhar joined
|
|||
| pmichaud | there's some nice evilness involved. :) | 21:24 | |
| anyway, we correctly parse the leading '>>' | |||
| and then get to infix | |||
| jnthn | pmichaud: Yes, there normally is when your questions start with "so, want to know why..." ;-) | ||
| pmichaud | and thence to infix:sym<-> | ||
| our current infix:sym<-> is | |||
| tylercurtis | checks for > afterward to warn about P5isms? | ||
| pmichaud | token infix:sym<-> { <sym> <![>]> <O('%additive')> } | 21:25 | |
| we have that <![>]> in there because we have to avoid parsing - as an infix when it's really a lambda | |||
| lue | rakudo: my @a = 1,2,3; @b = 9,8,7,6; say @b »-» @a; | ||
| p6eval | rakudo dfefdd: OUTPUT«===SORRY!===Symbol '@b' not predeclared in <anonymous> (/tmp/KU4a40QAbR:22)» | ||
| lue | rakudo: my @a = 1,2,3; my @b = 9,8,7,6; say @b »-» @a; | ||
| jnthn | ...ouch! | ||
| p6eval | rakudo dfefdd: OUTPUT«8645» | ||
| jnthn | pmichaud: Why doesn't LTM get the lambda? | ||
| pmichaud | in particular, with | ||
| because lambdas are terms, not infixes | 21:26 | ||
| (there's more) | |||
| the case we're having to avoid is: | |||
| jnthn listens patiently | |||
| pmichaud | for @a -> $x { ... } | ||
| we don't want that hyphen to be treated like an infix and then look for another term after it | |||
| (as we would have with @a - @b or something like that) | 21:27 | ||
| there are a few other situations as well that occur | |||
| but here's the evil part | |||
| masak | STD has a different solution for that, IIRC. | ||
| pmichaud | it does | ||
| do you know what it is? That's the evil part. | |||
| masak | there's an expr-stopper or something. | ||
| pmichaud | nope. | ||
| masak listens attentively | |||
| pmichaud | STD returns a zero-width match for '->' | 21:28 | |
| jnthn | Ouch!!! | ||
| pmichaud | and it's the fact of the zero-width match that terminates the expression. | ||
| masak | o.O | ||
| jnthn | Epic hack! | ||
| masak | :( | ||
| pmichaud | see infix:lambda :-) | ||
| lue | .oO(Me can't help but wonder what the heck is oh so very broken) |
||
| er, s/Me/I/ | 21:29 | ||
|
21:29
azawawi joined
|
|||
| azawawi | jnthn: ping | 21:29 | |
| pmichaud | anyway, I'll go ahead and duplicate that hack into the expression parser. :) | 21:30 | |
| then we should be able to eliminate that test for the <![>]>, and things should work. | |||
| jnthn | pmichaud: return () if $*IN_REDUCE; | 21:31 | |
| That line? | |||
|
21:31
donaldh joined
|
|||
| jnthn | oh no, wait | 21:31 | |
| pmichaud | nope | ||
| jnthn | What is that line doing though? | ||
|
21:31
Italian_Plumber joined
|
|||
| azawawi | jnthn: I made some changes for blizkost - strawberry-perl-5.10.1.1 compatibility and sent you a pull request. Could you merge them? :) | 21:31 | |
| pmichaud | that line is the equivalent of a failed match, iiuc STD.pm correctly | ||
| and it only occurs if you're $*IN_META anyway | 21:32 | ||
| jnthn | ah, ok | ||
| pmichaud | (which we're not in the case of for @a -> { ... } ) | ||
| jnthn | *nod* | ||
| pmichaud | oh, wait, I have that backwards | ||
| it only occurs if you're not $*IN_META | |||
| anyway, we're typically not $*IN_REDUCE either. | |||
| jnthn | aye | ||
| azawawi: Ah, it works now? :-) | 21:35 | ||
| azawawi | jnthn: but still not on strawberry-perl-5.12.0.1 | ||
|
21:35
donaldh joined
|
|||
| azawawi | jnthn: yeah | 21:35 | |
| jnthn: that DLL thing seems to be a 64-bit linkage issue... | 21:36 | ||
| pmichaud | anyway, it does seem to be the lambda-avoidance that is causing us the >>->> issue, so I'll just follow the way STD.pm is doing things. :) | ||
| jnthn | azawawi: All applied. | 21:37 | |
| azawawi++ | |||
| pmichaud: Aye. :-) | |||
| azawawi | jnthn: thx :) | ||
| pmichaud | we might even be able to get a few more of STD.pm's error messages there | ||
| jnthn | pmichaud: Bonus! :-) | ||
| lue | rakudo: class B { method f { ... } }; B.new.f | 21:38 | |
| p6eval | rakudo dfefdd: ( no output ) | ||
| pmichaud | oh, wait, STD.pm6 also has it listed as infixstopper | 21:44 | |
| (time for more investigation) | |||
| still, the zero-width match stopping an expression threw me for a bit. :) | |||
|
21:46
whee joined
|
|||
| masak | infixstopper. that's the one I was thinking about. | 21:49 | |
|
21:52
cognominal joined
22:11
hercynium joined
22:17
fxn joined
|
|||
| fxn | "Any infix operator (except for non-associating operators) can be surrounded by square brackets in term position to create a list operator that reduces using that operation" it is not clear to me whether you need to define [op] by hand, or given op [op] can be used right away | 22:18 | |
| Tene | fxn: you do not need to define [op] yourself. | 22:19 | |
| That's done for you. | |||
| Although, you *should* be able to define your own implementation. | 22:20 | ||
| fxn | Tene: why is [<] treated as chain, rather than binary? who does that and with what criteria? | ||
| Tene | rakudo: say [<] 1,2,3,4,5 | ||
| p6eval | rakudo dfefdd: OUTPUT«1» | ||
| Tene | rakudo: say [<] 1,2,3,5,4 | ||
| p6eval | rakudo dfefdd: OUTPUT«0» | ||
| fxn | yeah | ||
| Tene | fxn: it's part of the definition of the op | ||
| fxn | Tene: so the automatic [op] makes an ordinary reduction assuming it is infix binary, and if you want something different you write it? | 22:21 | |
| like [<] ? | |||
| Tene | fxn: That's right. | 22:22 | |
| fxn | all makes sense now :), thank you! | ||
|
22:24
songmaster joined
|
|||
| lue | > class B { method f { ... } }; B.new.f | 22:26 | |
| ===SORRY!=== | |||
| Stub code executed | |||
| is this supposed to run in the first place? | 22:27 | ||
| masak | sure. | ||
| term:<...> and all. | |||
| lue | .oO(The error message makes me believe it shouldn't.) |
||
| fxn | Tene: do you know by any chance where does Rakudo define [<]? or could I try to find out? grepping for "[<]" does not seem to point to anything relevant | 22:28 | |
| I have the repo cloned | |||
| masak | lue: the '...' is the stub code. | ||
| lue: it's supposed to warn. | |||
| Tene | fxn: rakudo does not define [<] directly. [] is a meta-op, and the combined forms are generated automatically. | 22:29 | |
|
22:30
sequoias joined
|
|||
| fxn | Tene: but it is not treated as binary infix... I have a missing piece | 22:31 | |
| tylercurtis | fxn: the function(&reduce) with which the "[ ]" meta-op is implemented is in src/core/metaops.pm, I think. The compiler probably handles turning [<] into reduce(&infix:«<»). Not sure though. | 22:32 | |
| lue | masak: what it ends up doing (in REPL) is killing the program [I end up back at the bash prompt] | ||
| masak | fxn: this should sound familiar from Twitter :) | ||
| fxn | tylercurtis: I understand that for [+] for example, but where's the bit that distinguishes + from < so that the reductions are not algorithmically equivalents? | 22:33 | |
| masak: hey :) | |||
|
22:33
Ross joined
|
|||
| masak | lue: that's not right, I think. | 22:33 | |
| but I'm not 100% sure. | |||
| jnthn | fxn: PAST::Val.new( :named('chaining'), :value($<op><OPER><O><prec> eq 'm=') ), | 22:34 | |
| lue | it makes sense to warn you that nothing will come out of it, IMO | ||
| jnthn | fxn: That's the line in src/Perl6/Actions.pm that handles this | ||
| fxn | jnthn: let me see... | ||
| jnthn | fxn: We pass a :chaining argument to reduce | ||
| If the operator has the %chaning precedence level. | |||
| fxn | jnthn: ahhhh makes sense | ||
| jnthn | fxn: We have a &reducewith sub-routine | ||
| fxn: We then curry it with the operator we're reducing on | 22:35 | ||
| Tene | shame we don't have 'zip' and 'zipwith' subs. | ||
| jnthn | fxn: And some other optional arguments | ||
| Tene: We do, iirc. | |||
| fxn | jnthn: excellent! | ||
| jnthn | } elsif $metaop eq 'Z' { | ||
| $helper := '&zipwith'; | |||
| } | |||
| Tene | rakudo: say(zip((1..3),(1..3))).perl; | ||
| p6eval | rakudo dfefdd: OUTPUT«Could not find sub &zip in main program body at line 22:/tmp/bxYFNlTZxm» | ||
| jnthn | Tene: well, zipwith :-) | 22:36 | |
| fxn | masak: what you said, needed to find the special handling of :chaining to understand it completely | ||
| lue | .oO(Perl6/Actions.pm, line 1967. Should I change it to warn?) |
||
| Tene | rakudo: say &zipwith.signature.perl; | ||
| p6eval | rakudo dfefdd: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub' in main program body at line 1» | ||
| jnthn | lue: No | ||
| lue: ??? warns | |||
| Tssk | 22:37 | ||
| Tene | I really need to fix that. | ||
| eternaleye | (backlogging) re >>->>, why not make it token infix:sym<-> { <sym> [<before '>>'>|<![>]>] <O('%additive')> } | ||
| masak | fxn: chaining basically means that '$a < $b < $c' translates to '$a < $b && $b < $c'. | ||
| jnthn | Tene: Well, it'll be fixed when multi dispatch is "re-done" | ||
| fxn | masak: yeah, I knew that | ||
| jnthn | Tene: Since it'll always mean the proto then | ||
| Tene: Feel free to patch it up to do something less awful in the meantime though. :-) | |||
|
22:37
h1gh joined
|
|||
| jnthn | Tene: But in the future it'll return the signature of the proto. | 22:37 | |
| masak | fxn: with the additional bonus that if $b happens to be an expression, it's only evaluated once. | 22:38 | |
| lue | well then, is ticket #76844 'invalid', so to speak? | 22:39 | |
.oO(or is it that fail() shouldn't exit out of the REPL) |
|||
| jnthn | the latter | 22:41 | |
| eternaleye | nvm, you handled it | ||
|
22:41
sequoias left
22:42
donaldh joined
|
|||
| fxn | jnthn: I am looking at Actions.pm and can't read the code... is that defining specifically [<], or is that defining what [op] does in general, and branching in the case op is known to be chain-associative? | 22:42 | |
| lue | ooh, there are a couple of # XXX 's above the fail sub. /me tries to fix it. | 22:44 | |
| Tene | fxn: the latter | ||
|
22:48
wamba joined
22:50
mrsaturns joined
|
|||
| lue | .oO(There's nothing I enjoy more than PIR code I can't understand) |
22:52 | |
| mrsaturns agrees | |||
| fxn | I've been out of Perl 6 for years... dude this is a huge and super interesting language :) | 22:54 | |
| dalek | ecza: aec9a59 | sorear++ | Kernel.cs: Implement the first stage exception processor |
||
| ecza: 25b1cae | sorear++ | (2 files): Remove Mu.notdef |
|||
| lue | rakudo: say $*FATAL | ||
| p6eval | rakudo dfefdd: ( no output ) | ||
| lue | locally it says '===SORRY!===\\nContextual $*FATAL not found' | 22:55 | |
| Tene | rakudo: use fatal; fail("OHAI"); | ||
| p6eval | rakudo dfefdd: OUTPUT«OHAI in main program body at line 1» | ||
| Tene | rakudo: use fatal; say $*FATAL; | ||
| lue | I think this is the offending line -> fatal = "!find_contextual"("$*FATAL") | ||
| p6eval | rakudo dfefdd: OUTPUT«1» | ||
| masak | 'night, #perl6 | ||
| Tene | lue: probably. | ||
| lue: perhaps you should make sure that there is a $*FATAL defined in the setting or something. | 22:56 | ||
| it *should* handle the case where it's not set... I was pretty sure I got that right... | |||
| lue | since use fatal is the only thing (seemingly) to provide $*FATAL... | ||
| Tene | what is it that you're seeing exit the REPL? | ||
| lue | fail() exits the REPL, when apparently it shouldn't. | 22:58 | |
| class B { method f { ... } }; B.new.f # this generates a fail() message | |||
| Tene | wtf are you calling fail from the repl? | ||
| lue | according to jnthn, ticket #76844 is because fail doesn't work right. | 22:59 | |
| Tene | ah, I see now | ||
|
23:00
ruoso joined
|
|||
| lue | is use fatal; the only thing that makes $*FATAL available? | 23:01 | |
| cxreg | seems like the overall response to R* has been very positive, except for the explicit trolling | 23:02 | |
| tylercurtis | cxreg: which has been surprisingly uncommon. | ||
| Tene | lue: put the same code in a program, and the exception is *not* thrown. | 23:03 | |
| A failure is returned, just like it should be. | |||
| patch | cxreg: and chromatic slayed the trolls | 23:04 | |
| Tene | lue: the same code pasted into the repl causes a failure | ||
| lue: so there's something different between the two environments. | |||
| lue: even explicitly setting a $*FATAL to 0 in the repl causes it to be thrown anyway. | 23:05 | ||
|
23:06
simcop2387 joined
|
|||
| lue | so what *should* happen? It throws a failure. Maybe REPL is handling the failure improperly? | 23:08 | |
|
23:09
kid51 joined
|
|||
| Tene | lue: run the same program *NOT* in the repl. | 23:10 | |
| lue | o boy, t-storm. I have to shut down. Bye! o/ | ||
| Tene | It *returns* a failure fromt he sub or method that calls fail. | ||
| sub foo { fail("OHAI"); }; foo(); | 23:11 | ||
| lue | Tene: sorry, I'll have to continue later. | ||
| Tene | rakudo: sub foo { fail("OHAI"); }; my $a = foo(); say $a.WHAT; | ||
| p6eval | rakudo dfefdd: OUTPUT«Failure()» | ||
| Tene | like that. | ||
|
23:11
h1gh left
|
|||
| tylercurtis | Tene: lue: interestingly, there's no error message or warning on any non-existent contextual outside of the REPL. | 23:11 | |
| rakudo: say $*FODSLFSMDLFELMR; | 23:12 | ||
| p6eval | rakudo dfefdd: ( no output ) | ||
| Tene | but it terminates in the REPL. | ||
| oh, interesting, it terminates with ===SORRY!=== | |||
| which looks like a compiler error. | 23:13 | ||
| timdemkowsky | is p5 s/foo/bar/g now s:g/foo/bar/ ? | ||
| tylercurtis | timdemkowsky: correcting for any difference between P5 and P6 regex syntax in whatever foo and bar are, yes. | 23:14 | |
| timdemkowsky | tylercurtis: thanks! | ||
|
23:15
dduncan joined,
REPLeffect joined
23:17
jferrero joined
|
|||
| dduncan | if I had a generic dyadic function without special operator syntax, such one would normally invoke as myfunc(a,b), can that be used with the generic hyperoperator syntax, such as: [&myfunc] (1,2,3) and if not, then how would this be accomplished? | 23:22 | |
|
23:22
snarkyboojum joined
|
|||
| dduncan | by hyper I mean reduce | 23:22 | |
| whee | is there an easy way to get rakudo to build everything with clang? | 23:24 | |
| jnthn | dduncan: [&myfunc] won't do it, but there is a reduce function you can use | 23:25 | |
| Tene | dduncan: use the 'reduce' function. | ||
| sorear | whee: rakudo always uses the same C compiler Parrot does, for binary compatibility | ||
| phenny | sorear: 20:02Z <[Coke]> tell sorear 16:02 * KenGuru is wondering why niecza isn't listed on perl6.org/compilers/ | ||
| dduncan | okay | ||
| sorear | whee: if you want to use clang, you'll need to configure and install parrot with --cc=/path/to/clang | ||
| jnthn | whee: What sorear said - build a Parrot with clang, and Rakudo should follow along. | 23:26 | |
| Though no idea if it builds under clang - don't remember hearing anyone say they'd tried that. | |||
| sorear | I haven't tested it with clang, but I've built rakudo against a gcc svn checkout this way | ||
| dduncan | thank you | ||
| KenGuru | 2(sorear2): why isn't niecza listed on http:/perl6.org.compilers/ | 23:27 | |
| ? | |||
| sorear | because the powers that be haven't added it | ||
| jnthn | sorear: You are a power that be. :P | 23:29 | |
| (It's in the pugs svn repo) | |||
| See bottom of the site for instructions on how to edit it. | |||
| sorear | next question: do I *want* to add such a horrible and immature implementation? | 23:32 | |
| KenGuru | nope, but maybe a hint "alpha" | 23:33 | |
| jnthn | Well, Rakudo is on the list... :_) | ||
| Perfection sure ain't a criteria. ;-) | |||
| Maturity is a relative thing. | |||
| Is Rakudo mature? Well, compared to Niczea, maybe. Compared to Perl 5? No way. :-) | 23:34 | ||
| It's also the most mature Perl 6 impl targetting the .Net CLR. :-) | |||
| KenGuru | it only matters that ther IS an implementation and an ongoing progress | ||
| jnthn | Aye | ||
| sorear: Anyway, I encourage you to add it to the list. :-) | 23:35 | ||
| KenGuru | will hype it anyway :D | ||
| sorear | hmm, I wonder when I'll need to set up a proper website | 23:36 | |
| KenGuru | github, you do allready have ;-) | 23:37 | |
| timdemkowsky | is there a File::Temp for perl 6? i havent found one. | 23:38 | |
| sorear | do I just need to add the entry to index.html? | ||
| or do I need to regenerate stuff somewhere | |||
| jnthn | sorear: It automatically re-generates every so often, I think. | 23:39 | |
| pugssvn | r31879 | sorear++ | [perl6.org] Add an entry for Niecza. | 23:40 | |
| KenGuru | have downloaded a bunch of IDEs/Editors for Win. Which one (besides vim) does propper syntax coloring? | 23:42 | |
|
23:47
Alias joined
|
|||
| tadzik | what about Padre? | 23:48 | |
| KenGuru | installing ... | 23:50 | |
|
23:50
ashleydev_ joined
|
|||
| KenGuru | notepad++ doesn't have propper colors for pm6 | 23:51 | |
|
23:51
cognominal joined
|
|||
| KenGuru | will try epic too | 23:51 | |
| tadzik | g'night #perl6 | 23:53 | |
| sorear | padre and vim both have proper P6 syntax highlighting, but slowly | ||
| I'd like a p6 highlighting editor that can be used on files >1000 lines | 23:54 | ||
| shirtless | KenGuru, vim ;D | ||
| whee | I want something for emacs :( | 23:55 | |
| shirtless | KenGuru, if you don't like the learning curve, there's always easy mode. | ||
| KenGuru | <KenGuru> have downloaded a bunch of IDEs/Editors for Win. Which one (besides vim) does propper syntax coloring? | ||
| oh its not the lurning curve. | |||
| shirtless | KenGuru, I didn't see that, you don't have to copy paste | 23:56 | |
| KenGuru, what don't you like about it? If you want you can PM me and I can explain how it rules. | |||
| I use it on windows and linux, die hard | |||
| KenGuru | i'm not into its commands | ||
| i allready have gvim on my usb | 23:57 | ||
| sorear | What editors (besides vim and padre, which are unusably slow on large p6 files) support p6 syntax highlighting? | ||
| shirtless | KenGuru, maybe you are learning the wrong commands | ||
| KenGuru | but i wanna get started with perl6 not vim atm | ||
| jnthn | KenGuru: My impression is that hardly any editors ahve implemetned Perl 6 syntax highlighting so far. | ||
| shirtless | KenGuru, it has easy mode, which wiill make it behave very similar to npp. | ||
| KenGuru | k, will give it a try once again | 23:58 | |
| shirtless | KenGuru, I will make you a cheat sheet if you decide to leave easy mode | ||
|
23:58
Psyche^ joined
|
|||
| shirtless | I'll check how to turn that on for gvim, 1 sec. | 23:58 | |
| KenGuru, cream.sourceforge.net <-- you won't even realize that it's vim. | 23:59 | ||
| I am pretty sure it is easy mode by default. | |||