»ö« 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===[0m␤Undeclared routines:␤ 'evalbot' used at line 1␤ 'on' used at line 1␤ 'the' used at line 1␤Check 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===[0m␤Unable to parse argument list at /tmp/V6PChdx2ml line 1:␤------> [32msay[33m⏏[31m(3 xor 4)[0m␤Couldn'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 a␤match b␤match c␤»
MattMAn Ah
moritz_ rakudo: for 'abc'.comb(/<alpha>/) { say "match $_" }
p6eval rakudo da16b5: OUTPUT«match a␤match b␤match 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===[0m␤Variable $a is not predeclared at /tmp/evdFautXnZ line 1:␤------> [32mmy ($b,$c) = $a[33m⏏[31m ~~ ms/((\\w+) \\s (\\w+) \\s (\\w+))/ ;[0m␤Bogus 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===[0m␤Bogus term at /tmp/LwMNaL9Vxb line 1:␤------> [32mmy ($b,$c) = '' ~~ ms/((\\w+[33m⏏[31m) \\s (\\w+) \\s (\\w+))/ ;[0m␤Undeclared routines:␤ 'ms' used at line 1␤ 'w' used at line 1␤Parse failed␤FAILED 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: abc␤b: 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 : &block;; *%_)␤␤ 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 : &block;; *%_)␤␤ 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===[0m␤Unable 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 backslash␤Undeclared routine:␤ 'o' used at line 1,1,1␤Parse failed␤FAILED 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«frew␤Could 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«frew␤Could 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': P⁣erlJam, T⁣imToady, [⁣particle], c⁣olomon, j⁣nthn, m⁣asak, m⁣berends, m⁣oritz_, p⁣michaud. 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': P⁣erlJam, T⁣imToady, [⁣particle], c⁣olomon, j⁣nthn, m⁣asak, m⁣berends, m⁣oritz_, p⁣michaud. 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«1␤0␤»
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«hi␤Method '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«hi␤hi␤»
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«hi␤Sauron␤»
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 1␤Method '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«a␤Cannot 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«12␤34␤56␤78␤910␤»
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«1␤1␤0␤0␤»
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«1␤2␤»
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::Dumper␤anchors: {}␤id: 1␤info: []␤level: 0␤out: []␤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«1␤2␤»
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.