»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by Juerd on 28 August 2009.
00:03 snarkyboojum_ joined, snarkyboojum left, snarkyboojum_ is now known as snarkyboojum 00:06 snarkyboojum_ joined 00:19 ihrd joined, ihrd left 00:21 nihiliad joined 00:24 snarkyboojum left, snarkyboojum_ is now known as snarkyboojum
diakopter rakudo: say(say(3)) # timeout? 00:30
p6eval rakudo a9ff30: ( no output )
diakopter rakudo: say(say) # timeout?? 00:31
p6eval rakudo a9ff30: ( no output ) 00:32
diakopter pmichaud: ^^ known issue? 00:33
pmichaud rakudo: say(1); 00:35
p6eval rakudo a9ff30: ( no output )
pmichaud looks like a evalbot problem
testing locally
diakopter rakudo: say(7,8);
p6eval rakudo a9ff30: OUTPUT«78␤» 00:36
pmichaud pmichaud@plum:~/rakudo$ ./perl6
> say(say(3));
3
1
lambdabot <no location info>: parse error on input `;'
pmichaud works locally
diakopter moritz_: awaken! :)
(kidding) 00:37
rakudo: say(say,say) 00:38
p6eval rakudo a9ff30: ( no output )
diakopter that's weird; got an error when msg p6eval directly
00:42 nihiliad left 00:45 nihiliad joined 00:57 Whiteknight left
pmichaud well, say(say,say) should be an error 00:59
"say requires an argument"
colomon pmichaud: Is {} interpolation supposed to eat trailing whitespace? 01:00
s1n yay, fedex just tried to deliver my laptop!
phenny s1n: 15 Sep 15:27Z <pmichaud> tell s1n saxby's in allen sounds good to me
s1n pmichaud: great, i'll try to send out the notice tonight 01:01
01:02 maja_ joined
pmichaud s1n: what did you end up getting? (laptop) 01:02
01:03 sm^^^ left, sm` joined
s1n pmichaud: dell mini 10v, 16g ssd, 6cell, $312 shipped 01:05
01:13 maja left 01:17 KyleHa joined 01:23 rhr_ left 01:25 rhr joined
cognominal rakudo: eval( 'package A; sub ok { print "ok\n" }; bless {}', :lang<perl5> ).ok; 01:26
p6eval rakudo a9ff30: OUTPUT«ok␤Scalars leaked: 1␤»
cognominal jonathan++
rakudo: eval( 'package A; sub ok { print @_ . \n" }; bless {}', :lang<perl5> ).ok( "ok"); 01:27
p6eval rakudo a9ff30: OUTPUT«String found where operator expected at (eval 2) line 1, at end of line␤Can't find string terminator '"' anywhere before EOF at (eval 2) line 1.␤»
cognominal rakudo: eval( 'package A; sub ok { print @_ . "\n" }; bless {}', :lang<perl5> ).ok( "ok"); 01:28
p6eval rakudo a9ff30: OUTPUT«2␤Scalars leaked: 1␤»
cognominal rakudo: eval( 'package A; sub ok { print @_ . "\n" }; bless {}', :lang<perl5> ).ok( "aaaaaa"); 01:29
p6eval rakudo a9ff30: OUTPUT«2␤Scalars leaked: 1␤»
cognominal rakudo: eval( 'package A; sub ok { print $_[0] . "\n" }; bless {}', :lang<perl5> ).ok( "aaaaaa"); 01:30
p6eval rakudo a9ff30: OUTPUT«A=HASH(0x8c92f50)␤Scalars leaked: 1␤»
cognominal rakudo: eval( 'package A; sub ok { print $_[1] . "\n" }; bless {}', :lang<perl5> ).ok( "aaaaaa"); 01:31
p6eval rakudo a9ff30: OUTPUT«aaaaaa␤Scalars leaked: 1␤»
pugs_svn r28248 | colomon++ | [t/spec] Start sketching in inverse trig functions as well. 01:34
cognominal rakudo: eval( 'package A; sub ok { print $_[1] . "\n" }; bless {}', :lang<perl5> ).ok( 1.1);
p6eval rakudo a9ff30: OUTPUT«1.1␤Scalars leaked: 1␤»
cognominal now I need to figure how p6eval is compiled, this error message is more helpful than a crash 01:35
which I have on my side
kudos, jnthn 01:36
01:37 justatheory left 01:40 sevvie joined
cognominal rakudo: say eval( 'package A; sub ok { print $_[1] . "\n"; (1,2) }; bless {}', :lang<perl5> ).ok( 1.1); 01:42
p6eval rakudo a9ff30: OUTPUT«1.1␤»
cognominal rakudo: say eval( 'package A; sub ok { print $_[1] . "\n"; 1 }; bless {}', :lang<perl5> ).ok( 1.1); 01:43
p6eval rakudo a9ff30: OUTPUT«1.1␤»
colomon rakudo: say acosech(1.1, "degrees"); 02:12
p6eval rakudo a9ff30: OUTPUT«46.7309477285262␤»
colomon rakudo: say cosech(46.730947728, " 02:13
p6eval rakudo a9ff30: OUTPUT«Confused at line 2, near "(46.730947"␤in Main (src/gen_setting.pm:3469)␤»
colomon rakudo: say cosech(46.730947728, "degrees");
p6eval rakudo a9ff30: OUTPUT«1.10000000001502␤»
02:21 hercynium left 02:22 justatheory joined, justatheory_ joined 02:23 REPLeffect left 02:26 astinus_ joined 02:28 astinus left 02:30 jglick joined 02:36 payload1 left 02:40 TiMBuS joined 02:45 synth^3 joined 02:46 justatheory left, justatheory_ is now known as justatheory, bgs100 left 02:47 synth left, synth^3 left 02:48 synth^2 left, synth joined 02:53 Saran joined
Saran Hi,Would like to volunteer for perl6 development?can some one guide me please 03:00
03:01 KyleHa left
s1n doh, hackathon notice sent out early, did get to elaborate on what the schedule entails 03:02
pmichaud: should i send out _another_ email with more info?
Saran Hi,This is saran with 5+ yrs of exp in perl/unix.Lemme know how can i get into perl-6 development? can someone help me please ? 03:11
03:15 Saran_ joined, Confield left
s1n Saran: see perl6.org, you can help with the Community, contribute tests for the Specification, hack on a Compiler, contribute Documentation, or help out on Whatever perl6 code you want :) 03:17
Saran Am currently into perl6.org. Am more interested to hack into compiler. 03:18
Thanks for the response s1n
03:19 KyleHa joined
Saran Which link shld i proceed with? 03:20
s1n Saran: rakudo is the most complete compiler so far
Saran @s1n : which link shld i proceed with ? sorry for asking newbie question
lambdabot Maybe you meant: run src wn
s1n depends, what do you want to do?
and you don't have to apologize for asking questions :) 03:21
Saran @s1n . Thanks . Would like to contribute in coding part with a better algorithms 03:22
lambdabot Maybe you meant: run src wn
s1n Saran: if you want to work on a compiler, i urge you to look at either Rakudo (Parrot based, mix of languages) or SMOP (C based)
03:22 am0c joined
s1n Saran: also, we hand out commitbit to the test suite like candy 03:23
Saran @s1n : ok. Am currently on this link "rakudo.org/how-to-get-rakudo" 03:24
lambdabot Maybe you meant: run src wn
s1n Saran: that's a good start. you can pull down the git repo, submit patches to RT, or create your own fork and stash your patches if you know your way around git
Saran @s1n : Is it possible to setup rakudo in windows XP ? 03:26
lambdabot Maybe you meant: run src wn
s1n Saran: from what i hear, parrot works in windows, jnthn knows more about the windows development of rakudo 03:27
Saran @s1n : Thanks for guiding me to the new person.At present am downloading the zip file and thanks for the patience s1n 03:28
lambdabot Maybe you meant: run src wn
Saran @s1n : one more question . What is the fork and watch option ? it asks for a login credentials.. 03:29
lambdabot Maybe you meant: run src wn
s1n Saran: well, if you create a fork of rakudo in github, you need a github account
and watching just pulls in commit logs on to your dashboard so you can see what's happening 03:30
KyleHa By forking, you create a copy of the code as it is, in your own repository, for you to work on any way you want without it affecting the original.
...and once you have something awesome to contribute back, it's easy merge your work on the fork back into the original. 03:31
Saran @s1n @kyleha thanks for the explaning the meaning of "fork and watch" and tolerating with my newbie question
lambdabot Maybe you meant: run src wn
s1n you can do this without a fork though
KyleHa Yes, you don't have to use github to do the same thing as a 'fork' on github does. 03:32
s1n Saran: "tolerate"? i love answering questions, the more the merrier :)
KyleHa Without questions to answer, what use would I be? 8-)
s1n without questions, the community does not grow :) 03:33
Saran @s1n @Kyleha : Am in the process of signing up github . so hold on for a minute . thanks for ur guidance :)
lambdabot Maybe you meant: run src wn
03:33 agentzh joined
s1n Saran: btw, you don't need to add the @ in front of our nicks, it's confusing the lambabot 03:34
Saran @s1n @KyleHa : Do we need to give SSH keys for the free signup in github.wat is the use?Am i making more complicated?
lambdabot Maybe you meant: run src wn
03:35 SmokeMachine left
s1n Saran: i don't believe an ssh key is needed unless you want to push changes to your fork 03:35
KyleHa Giving an SSH key makes it easier to access github without having to type a password a lot, but it's not strictly necessary.
s1n Saran: but note that rakudo still accepts patches from RT
Saran @s1n @KyleHa : I shall go without SSH keys right now :) 03:36
lambdabot Maybe you meant: run src wn
KyleHa I've never gone without the SSH key, so I don't really know what the impact of not having it is.
03:39 am0c left
Saran @kyleha @s1n : There is a option to "create,find repository" and then "peruse the github guides" .Do i need to create a repository or to find an existing one 03:39
lambdabot Unknown command, try @list
03:41 am0c joined
Saran @kyleha @s1n : right now i am studying github.com/guides/using-git-and-git...or-newbies . Is this the right point to start? 03:42
lambdabot Unknown command, try @list
s1n you should be able to just do a "git clone git://github.com/rakudo/rakudo"
KyleHa If you're trying to install Git on Windows, that looks like a place to start.
If you have git already, s1n is right, just run with it. 03:43
03:43 nihiliad left
s1n Saran: have fun, welcome to the community, but i need to go to bed 03:43
Saran @s1n : Thanks..pls drop me your mail id .so that i will mail you if i have any clarifications..is that ok ? 03:44
lambdabot Maybe you meant: run src wn
KyleHa Saran: For help by email, it would probably better to ask a mailing list. 03:45
Like these: dev.perl.org/perl6/lists/
(Not that s1n wouldn't give helpful answers by mail, but the lists have even more helpful people to give helpful answers.) 03:46
s1n Saran: KyleHa is right, but you can just leave me a message here (my irc client will let me know) if you must 03:47
Saran @Kyleha @ s1n : Am already in [email@hidden.address] Will shoot a mail with my questions..
lambdabot Unknown command, try @list
Saran @s1n : thanks for your guidance .. Good night 03:48
lambdabot Maybe you meant: run src wn
s1n bed&
Saran @kyleha : Do i need to create a new repository? What i need to do with that?
lambdabot Unknown command, try @list
KyleHa I haven't been following the whole conversation, so I'm not sure I'm up to speed on what you're going for. 03:49
You want to work on Rakudo. Is that right?
You're trying to set up Git on your local machine to do that work. Right?
Saran @Kyleha : I signed up for github free account.there are 3 options (Create , find repository and user guide) 03:50
lambdabot Unknown command, try @list
Saran @Kyleha : Do i need to create a repository to start setting up on my local machine. or shall i skip that part..right now? 03:51
KyleHa OK.
lambdabot Unknown command, try @list
KyleHa You don't need to create a repo. You'd do that if you were starting your very own new project.
If you're trying to work on Rakudo on your local machine, there are a couple of routes... 03:52
Saran @Kyleha : Thanks .. understood.
lambdabot Unknown command, try @list
Saran @kyleha : right now i am extracting the "rakudo-rakudo-9a61441ec3281f0306f88f67d47eeee5a3ae35f4" on my local windows machine 03:53
lambdabot Unknown command, try @list
KyleHa Either way you go, this page is good to have up: github.com/rakudo/rakudo
I'm not sure what that means. 03:54
So, the two ways to go are...
Saran @kyleha : am unzipping the git kit where i downloaded from the link "github.com/rakudo/rakudo" 03:55
lambdabot Unknown command, try @list
Saran @kyleha : Pls tell me the two ways
lambdabot Unknown command, try @list
KyleHa 1. clone the rakudo repo on your local machine. You can do that with this command: git://github.com/rakudo/rakudo.git
oops.
git clone git://github.com/rakudo/rakudo.git
The other way is basically the same thing, but you have a copy of your work on github also.
2. click the 'fork' button on that github page, and it will create a repo for you there. Then on your local machine, you'll 'git clone' THAT repo to work on it locally. 03:56
Saran @kyleha : Thanks.give me a minute
lambdabot Unknown command, try @list
KyleHa If you go the second way, I think it's easier to contribute your work back to project. You get the benefit of github's tools for doing that. 03:57
Saran @kyleha : Do i need to give the "git clone git://github.com/rakudo/rakudo.git" in command prompt .. Do i need to clone before everyday starting my coding ? 03:58
lambdabot Unknown command, try @list
KyleHa Yes, the clone makes a copy of the main rakudo repo. 03:59
Then you'd do whatever work you want on the clone.
Saran @kyleha : Got the following error in windows " C:\>git clone git://github.com/rakudo/rakudo.git 'git' is not recognized as an internal or external command, operable program or batch file." 04:00
lambdabot Unknown command, try @list
KyleHa OK, it looks as if you don't have git installed. 04:01
04:02 mberends joined
Saran @kyleha : Yes...am reading the read me file of git.give me a minute..Will install the git and come back to you 04:03
lambdabot Unknown command, try @list
mberends Saran, please stop typing @ signs in front of peoples' nicknames, that is confusing our lambdabot 04:05
@messages 04:06
lambdabot You don't have any new messages.
KyleHa Time for me to head out. Good luck, Saran, and thanks for your interest.
mberends @seen masak
lambdabot Unknown command, try @list
04:06 KyleHa left
Saran @kyleha : thanks for your patience.. 04:07
lambdabot Unknown command, try @list
mberends @tell masak proto installed-modules is incomplete but usable (if you fetch projects before installing) 04:08
lambdabot Consider it noted.
mberends Saran, please stop typing @ signs in front of peoples' nicknames, that is confusing our lambdabot
04:09 justatheory left, SmokeMachine joined
Saran ok mberends 04:11
mberends :-) 04:12
Saran: you may want to read back logs of past chats sometimes: irclog.perlgeek.de/perl6 etc 04:13
Saran Thanks mberends. bookmarking the link . it will be very usefull for a newbie like me 04:17
mberends Saran: I'm curious what Windows users encounter when following rakudo.org/how-to-get-rakudo. There are mainly Unix users here, we could do with feedback from XP, Win7 etc. 04:18
Damn, rakudo.org/how-to-get-rakudo has been spammed :( 04:20
Saran Sure mberends : Definitely will give feedback on my expereince with Win Xp . Am basically a unix user but my company doesnt supports to work on unix machines 04:21
04:21 frew_ joined
mberends Saran++ 04:21
Saran: if you still need Perl 5 on Windows system, the recommended one is from strawberryperl.com/ (you may have found that already). 04:23
Saran am reading this blog to setup "kylecordes.com/2008/04/30/git-windows-go/" mberends . thanks to kylecordes , Am in the process of downloading the exe from git 04:25
mberends : i have perl 5.10 <snip> C:\rakudo-rakudo-9a61441ec3281f0306f88f67d47eeee5a3ae35f4>perl -v This is perl, v5.10.0 built for MSWin32-x86-multi-thread (with 3 registered patches, see perl -V for more detail) <snip> installed on my machine 04:26
mberends : do i still need to install "strawberryperl" .. i installed active perl 04:27
04:28 jglick left
mberends Saran: that looks excellent. ActivePerl is fine too, but it may be lacking some of these for you in future: CPAN access, XS module support, C compiler. 04:28
Saran mberends : seems strawberry perl has the latest copy . so shall i uninstall "active perl" and start with "Strawberryperl" . what is your comment on this ? 04:29
04:29 justatheory joined
mberends Saran, yes, I would recommend switching if you don't mind the effort :) 04:30
(but I don't have much recent Perl on Windows experience)
Saran mberends : thanks . Lemme switch it to strawberry . Feeling like going to enjoy the fruit :)
mberends :-) 04:31
04:32 cmv left
mberends I'm going to bookmark kylecordes.com/2008/04/30/git-windows-go/ and try it in Windows 7 sometime soon. 04:32
Saran mberends : yes.. that helps in windows very well . probably i am going to tweet the usefull link in twitter.com/perlsaran 04:36
04:36 tak11 left
mberends Saran++ that's what we like to see! 04:37
Saran_ mberends : do we have any hashtag for perl6 or rakudo ? lemme check it 04:38
04:38 Saran_ left
mberends I'm not sure what you mean by 'hashtag' 04:38
Saran mberends : There wil be some "#<names> " in tweet . so ppl can tweet specific to the event by mentioning the "#perl6" something like that. There is a option to search only for the tweets with "#perl6" tags. 04:42
mberends : successfully uninstalled active perl 5.10 . excited to enjoy the strawberry fruit :) 04:43
mberends Saran: thanks, I wasn't thinking about Twitter. I'm sure the main tags will be exactly as you said, #perl6 and #rakudo. 04:44
Saran, good going!
apparently twitter.com/ perl6 and twitter.com/ rakudo (without spaces) are both empty :-( 04:47
04:48 Woody2143 left
mberends the right address is twitter.com/rakudoperl 04:50
that guy API is very active on Twitter ;-) and so is web 04:52
Saran mberends : nice to see rakudoperl twitter account . I searched ( perl6,rakudo) with the searchbox in twitter page. Got many results. 04:53
mberends yes, nice 04:54
Saran mberends : see this url "twitter.com/#search?q=perl6" and " twitter.com/#search?q=rakudo"
04:55 szabgab left
mberends that's a healthy harvest! Just another tip, Saran, don't quote http:// style URLs and they become directly clickable 04:57
Saran, how far has the installation gone? 04:58
Saran mberends : still 10 mins left to download the strawberry perl as i use data card (: 04:59
mberends that's fine :)
Saran mberends : so i am using this time to blog the difficulties faced 05:00
05:00 szabgab joined
mberends I'm looking forward to reading it! 05:00
morning szabgab
szabgab mberends, good morning to you too
05:05 Confield joined
mberends heh, p5's File::Slurp is going to version 9999.13 05:07
05:11 justatheory left 05:15 agentzh left 05:22 snarkyboojum_ joined, snarkyboojum left, snarkyboojum_ is now known as snarkyboojum
TiMBuS hey all. does anyone know if there is a way to remove an inherited role from an object, and if rakudo supports doing it? 05:29
05:30 stephenlb left
TiMBuS im working on a pluggable irc bot, using roles and MMD. just wnat to know if theres a simple way to unload/reload modules attached to the bot 05:30
05:34 frew_ left
mberends TiMBuS, not now afaik. When some of the object metamodel ideas get implemented, it may happen. 05:35
TiMBuS aw ok 05:36
05:43 meppl joined
Saran mberends : am bak :) .installed the strawberry perl 05:46
05:46 zamolxes joined
mberends Saran: nice, where does that put you along kylecordes.com/2008/04/30/git-windows-go/ ? 05:46
Saran mberends : now i am cloning the "git clone git://github.com/rakudo/rakudo" using git bash 05:48
mberends that looks good
Saran mberends : do i need to create a ssh key . Is it necessary at this point 05:50
mberends Saran, the ssh key is not required for anonymous cloning and pulling from github. You might need it later, it's easy to add when required. 05:54
Saran mberends : Am mean ssh key to signup for a github account
mberends : thanks
mberends yes, for a github account you would need a key, but not to install Rakudo. 05:55
Saran mberends : Cloning completed using "git clone git://github.com/rakudo/rakudo" command . IS the rakudo installation complete?
mberends Saran, you now have the source code. 05:56
next you should cd into rakudo and run perl Configure.pl --gen-parrot
that will require svn, the subversion client 05:57
Saran mberends : ok. after installin the strawberryperl . when i run the command it shows the following error <snip> C:\rakudo>perl Configure.pl --gen-parrot 'perl' is not recognized as an internal or external command, operable program or batch file. <snip> . Did i missed any step apart from installing the strawberry perl 06:00
mberends it looks like the perl 5 executable cannot be found in your PATH 06:01
maybe the Strawberry directory needs to be added to PATH
Saran mberends : yes . PATH needs to be added..wondering how? 06:03
mberends I think it's in some Computer Properties (Advanced)
06:04 sm` left 06:07 sm` joined
Saran mberends : already "C:\strawberry\perl\bin " is added in PATH environment variable 06:07
06:08 zloyrusskiy joined
mberends Was the command window already opened before installing Strawberry? 06:08
moritz_ rakudo: say 1 06:11
p6eval rakudo a9ff30: OUTPUT«1␤» 06:12
Saran mberends : WOW! you are right
mberends Saran, try svn --version 06:13
06:14 Woody2143 joined
Saran mberends : back after a coffee..pls :) 06:14
06:22 sri_kraih_ joined
mberends Saran, there are more useful hints here: www.perlfoundation.org/perl6/index....evelopment 06:23
Saran mberends : Thanks for the link . do i need to install subversion on my machine? 06:31
mberends Saran, yes, because Rakudo uses Parrot and Parrot is a Subversion repository 06:32
06:33 zamolxes left 06:39 sri_kraih left, sri_kraih_ is now known as sri_kraih 06:40 orafu left 06:41 orafu joined
Saran mberends : Am in the process of installing svn 06:42
mberends ok, I'm going afk # shower 06:44
Saran mberends : which one shall i use "subversion.tigris.org/getting.html#windows"
There are so many third party softwares to install svn .. am i on the right track (: 06:45
06:46 jauaor joined
mberends I would guess the Perlfoundation wiki page is the most current, it names svn-win32-1.6.0.zip svn-win32-1.6.0_dev.zip svn-win32-1.6.0_pl.zip 06:47
Saran mberends : thanks .. Pls take shower 06:49
mberends Saran, it looks like you need only subversion.tigris.org/files/documen...-1.6.5.msi
afk --shower &
06:52 barney joined 06:53 iblechbot joined 07:06 synth left 07:10 cmv joined, cmv left 07:13 dukeleto left 07:14 dukeleto joined 07:16 rfordinal joined 07:32 masak joined
masak good morning, camelians. 07:32
lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
masak lambdabot: oh, so you've started taking messages again?
@massage 07:33
lambdabot mberends said 3h 24m 26s ago: proto installed-modules is incomplete but usable (if you fetch projects before installing)
masak mberends++
will try sometime today.
07:36 rgrau joined 07:39 viklund left
Matt-W o/ 07:41
masak \o
moritz_ |o|
Matt-W :D 07:42
Patterner <8((><
rakudo segfaulting is bad, right? 07:43
moritz_ yes, very bad
we had some problems with that last week
so if you didn't already, please try to upgrade to the latest rakudo 07:44
07:45 frederico joined
Patterner I'm updating parrot and rakuto right now. 07:45
07:49 ascent left, ascent joined 07:50 flip913 joined, ascent left 07:52 fredrecsky joined 07:54 ascent_ joined
flip913 In P5 I'd have used an array of refs to build a tree structure. 07:56
If I do in P6 something like "push @.children, $child" will that put a reference on the array? 07:57
Or is that a copy?
moritz_ a reference
flip913 so just like P5, thanks
moritz_ rakudo: my @a; my $b = [3, 4]; @a.push: $b; @a[0][1] = 7; say $b[1] 07:58
p6eval rakudo a9ff30: OUTPUT«7␤»
07:58 rgrau left
moritz_ it's easy to try out ;-) 07:58
07:59 barney left
flip913 And is there a way to get a packed array of references? like a "type *array[]" in C, where NULL is "unused"? 07:59
I think that a normal reference takes a lot more space than just a pointer.
I read about the int32 and int64 types ... but I can't remember reading about a pointer. 08:00
moritz_ no, you can't
basically that's an implementation detail that's hidden from you
08:03 barney joined
flip913 So I'll pay a fair bit more for an big array of references? hmmmm 08:04
And there's no way to put the objects in an array, which could be indexed with int32, is there?
moritz_ well, arrays are by default indexed by Int, and int32 is a possible representation of an Int 08:05
(though not yet implemented in Rakudo)
flip913 But the array will still hold references and not the actual objects, doesn't it? 08:07
So that space would be lost.
Patterner wonders if it is all gcc 4.4.1's fault...
flip913 (I'm thinking about several million objects here ... that could take a fair chunk of memory, especially if the objects need to be referenced via several trees each.)
moritz_ flip913: Perl and other dynamic languages usually place ease of use over memory usage ... 08:08
flip913: if you absolutely need more memory efficiency, it's worth thinking of writing a C library, and interfacing that from $other_language 08:09
08:09 fredrecsky left
masak Saran: hey, welcome! I was going to write to you on Twitter, but I see you're still here. 08:12
08:12 frederico left
masak moritz_: in irclog.perlgeek.de/perl6/2009-09-16 , the URLs with only become links up to the '?' sign. 08:14
moritz_ masak: uhm, which URLs exactly? 08:15
masak irclog.perlgeek.de/perl6/2009-09-16#i_1503016
moritz_ uhm, question marks in anchors? how curious... 08:16
masak mberends++ # for greeting Saran nicely
moritz_: not really.
moritz_: aren't you using Regexp::Common or something? 08:17
Matt-W There was something in the initial design of Perl 6 about packed arrays, I think. It was probably more along the lines of 'if you specify particular types, the implementation may well choose a more efficient underlying structure'
08:17 cmv joined
moritz_ masak: yes; and it ignores anchors. 08:18
masak oh. 08:19
mberends oh hai, back from the wet space. I hope Saran is still making good progress on the Rakudo install for Windows. His discoveries can help us improve the README.
moritz_ Matt-W: and that's still the case for lower case types (num32, uint8 etc) 08:20
Matt-W moritz_: yes, so what flip913 was saying could happen - it's just you don't get conscious control over it
moritz_ well, not quite 08:21
you'd have to specify that you don't allow binding of array elements, for example
Matt-W mmm point 08:22
hmm
moritz_ masak: I hacked together a regex for the anchors myself, but so far I haven't found a good specification of what is allowed in anchors and what not
Matt-W maybe you would need to use a specifically different storage class
jnthn o/ 08:24
moritz_ \o jnthn
jnthn glances through the backscroll to see who talked aobut him / wanted him. :-)
masak lolitsjnthn 08:25
Matt-W oh hai
pugs_svn r28249 | moritz++ | [irclog] there are more characters allowed in URL anchors than I previously thought. masak++ 08:28
mikehh rakudo (9a61441) builds on parrot r41289 - make test / make spectest (up to 28248) PASS - Ubuntu 9.04 amd64
no qualifications on the tests on amd64
moritz_: I am going over to i386 soon - do you still need that patch tested? 08:29
moritz_ mikehh: don't think it's necessary anymore, thanks 08:31
mikehh moritz_: well I'll report the results anyway :-}
flip913 matt-w, moritz_: how would I say that binding is not wanted? Will that be possible in Rakudo * ;-) ? 08:32
moritz_ flip913: by writing your own array class that doesn't support binding. And no, probably not in Rakudo *.
but rakudo is generally so inefficient in terms of memory and speed that this would be the least of my worries 08:35
colomon: wow, that code (generate-tests.pl) *is* ugly ;-) 08:36
colomon moritz_: Amen. 08:37
And it generates an ugly test file, too.
But it also generates 5408 tests from 304 lines of code, and that's going to nearly double before I'm done here, I think. 08:38
Any suggestions on how to make it cleaner? 08:39
moritz_ the generated code isn't too bad, it's just the commented lines that make it look a bit ugly
colomon I don't like that it's indented incorrectly.
I guess I'm looking for suggestions in three areas: 08:40
Fixing the indenting in the generated code.
moritz_ $code.subst: /^^' '**8/, '', :g;
or something like that
colomon Making the code block that generates that code much less ugly. 08:41
I hate all that escaping.
moritz_ aye, that's ugly as hell
colomon And possibly how to move the TrigFunction declarations to a config file rather than being piled inline like that. 08:42
moritz_ I think I've managed to outdent some of the code 08:44
colomon I was thinking a function which grabs the first chunk of whitespace and tries to eliminate it throughout the $code string? 08:47
moritz_ yes, that's what I'm doing, I'll commit in a minute 08:48
colomon Groovy!
pugs_svn r28250 | moritz++ | [t/spec] make generate-tests.pl emit less ugly indented code. 08:53
r28250 |
r28250 | Also emit warning about the code being generated, and prevent vim users from
r28250 | accidentally changing the emitted code.
Saran mberends : am back after a lunch..installed svn successfully :) 08:56
mberends Saran, ok, now we need to test whether your system can run a make... 08:57
moritz_ masak: btw the twitter search links now seem to work fine in the IRC logs
masak moritz_++ 08:58
mberends Saran, btw, I'm going to follow in your footsteps on a nearby Windows 7 laptop
colomon And again moritz_++!
moritz_ colomon: currently the generated tests abort with "Method 'sinh' not found for invocant of class 'Rat'" - do you expect that?
08:59 snearch joined
colomon moritz_: Yes. It's fixed on my local Rakudo, but I was planning on waiting until I had more patches to push it to the world. 08:59
moritz_ 'push early, push often' (as long as you don't break things along the way ;-) 09:00
colomon You sure? I was getting worried I was doing too many small commits.
moritz_ I fear I reduced the number of passing tests yesterday when I removed some duplicates
colomon: yes, sure.
colomon (I noticed that by commit-count I am already one of the top twenty patch authors for Rakudo, which is utterly surreal....) 09:01
moritz_ colomon: when I applied some of your early patches I squashed them into one because they would partially break things in isolation, not because they were too small on its own
colomon Okay, it will take me a bit to properly rebase and spectest here, but I'll push up my changes as soon as I've done do. 09:02
moritz_ colomon: the commit counts also include the days when Rakudo was still in the parrot repo...
some many people just commited one or two whitespace fixes or so
which is why we have lots of commiters, but not many actually contributed much directly to rakudo
moritz_ just pushed another one-line patch ;-) 09:04
Saran mberends : sure i am mentioning all steps in twitter.com/perlsaran 09:07
moritz_ Saran++
09:07 sharada joined
colomon Okays, trying to pull and merge now. 09:08
mberends Saran++ nice blog twitter.com/perlsaran
colomon moritz_: Just got to thinking about this. For those blocks of code, instead of relying on p6's interpolation (requiring all that escaping), perhaps it would be better to use subst to make a quick ad-hoc template system? 09:09
Seems like that might be much cleaner.
Saran mberends : in the process of installing MinGw compiler..do we need it ? 09:10
09:10 Aqee joined
mberends Saran, yes, to build Parrot 09:10
dalek kudo: d054b7e | moritz++ | docs/ChangeLog:
[docs] another ChangeLog item
09:10 Aqee left
moritz_ colomon: depends on how many variables you actually interpolate... but yes, would be cleaner 09:10
colomon I think I'll take a stab at that change in the morning. (currently 5 AM local time, should try getting back to bed). 09:11
Thanks again for your help.
masak hm, 5 AM... is that the US East Coast? 09:12
colomon yes
masak oh well, I won't keep you up with idle chit-chat. good night to you, sir. 09:13
09:13 rbaumer left
mberends moritz_, colomon, I was wondering about trying to curb or reduce the huge number of trig tests. Could you dynamically generate a small number of unique spot checks per test run, seeded by the date/time for example, and then just log the failures? 09:14
Saran mberends : "running perl-configure.pl --gen-parrot" <snip> C:\rakudo>perl Configure.pl --gen-parrot Generating Parrot ... C:\strawberry\perl\bin\perl.exe build/gen_parrot.pl --prefix=C:/rakudo/parrot_install The system cannot find the path specified. Checking out Parrot r41267 via svn... A parrot\DEPRECATED.pod A parrot\runtime </snip>
svn process is going on
moritz_ mberends: I think that only complicates things 09:15
mberends ok moritz_
Saran, I cannot figure what is missing to cause "The system cannot find the path specified" up there. 09:17
Saran <mberends> : am more curious abt why there is no file named "parrot_install " in rakudo zip ?
mberends Saran, that folder will be created if the --gen-parrot succeeds 09:18
you will get rakudo/parrot and rakudo/parrot_install
Saran mberends : is expecting any empty folder like "parrot_install" ? 09:19
mberends ah, you might be lacking a 'make' utility. Windows-- 09:20
there might be a different name/dir for it in the Strawberry tree 09:21
Saran mberends : i believe there shld be "nmake" doing the same operation for windows 09:22
mberends yes, but not installed as default. You may have mingw32-make 09:23
moritz_ shouldn't parrot's Configure.pl detect that? 09:24
09:27 donaldh joined, donaldh left
mberends moritz_, *should* ;-) 09:27
moritz_ so is there actually a problem right now? I haven't seen an error message, I think 09:28
my dealings with parrot's Configure.pl were quite reasonable so far 09:29
mberends there a so few Windows users, the experienced ones such as jnthn++ probably have Visual Studio etc for toolchain. 09:30
moritz_ aye 09:31
jnthn Yes, I use visual Studio toolchain to build.
09:31 soupdragon joined, sharada left
mberends is catching up to Saran++ with Strawberry Perl on Windows 09:33
Saran mberends : things so far so good except a little expection of secure connection truncated ..might be a warning <snip> svn: REPORT of '/parrot/!svn/vcc/default': Could not read response body: Secure connection truncated (svn.parrot.org) Configuring Parrot ... C:\strawberry\perl\bin\perl.exe Configure.pl --prefix=C:/rakudo/parrot_install Parrot Version 1.6.0 Configure 2.0 Copyright (C) 2001-2009, Parrot Foundation. Hello, I' 09:34
mberends Saran, that looks pretty healthy so far 09:35
you might try running parrot.exe -h in the appropriate dir 09:36
09:36 rbaumer joined
Saran mberends : it throws serious of files with <snip> No such file: examples/tutorial/83_external_libraries.pir No such file: examples/tutorial/90_writing_tests.pir Ack, some files were missing! I can't continue running without everything here. Please try to find the above files and then try running Configure again. </snip> 09:39
moritz_ Saran: please go to the rakudo/parrot directory and type 'svn up' there
masak mm, #69152 and #69160 are both juicy ones. 09:40
and they show that people are picking up Rakudo and playing with it.
Saran @moritz : when it tried to pull some defualt configuration files from perl5 it throws the "no file error" 09:41
lambdabot Unknown command, try @list
moritz_ Saran: it seems your svn checkout of parrot is incomplete, maybe because of network errors 09:42
which is why I suggested 'svn up', which should complete the checkout
09:42 snearch left
Saran moritz : running "svn up" in parrot directory 09:43
jnthn So, I wonder if I can figure out the calls-on-Perl 5-packages bug tonight...
Saran mberends : which path shld i try "parrot.exe -h" ? 09:45
masak maybe we should recommend people to download Parrot with git-svn instead? :)
faster and more reliable. 09:46
s/git-svn/git, from some git mirror/
jnthn masak: aye, but svn is more widely installed by default...
ah, though git from a git mirror could work
mberends Saran, either rakudo/parrot/parrot.exe or rakudo/parrot_install/bin/parrot.exe
moritz_ and it's a bit easier to get the correct revision from svn... but that can be worked around 09:47
Saran mberends : already tried ..see the snip <snip> C:\rakudo\parrot>parrot.exe -h 'parrot.exe' is not recognized as an internal or external command, operable program or batch file. C:\rakudo\parrot>cd .. C:\rakudo>cd parrot_install The system cannot find the path specified. </snip> 09:48
moritz_ Saran: when 'svn up' completed successfully, you can go back to the rakudo directory and run 'perl Configure.pl --gen-parrot' again 09:49
mberends Saran, the cause of that is probably the 'make' of Parrot
09:50 riffraff joined
Saran mberends : make shld be the next step after "perl configure.pl --gen-parrot" . why is it creating a problem now ? 09:52
09:52 iblechbot left
masak Saran: as a rule, people here will never feel that someone asking a question disturbs any serious discussion. there's plenty of room in the backlog. :) 09:52
mberends Saran, because --gen-parrot nests a make as well, and your system has no make command 09:53
masak ah, wayland76++ answered something similar by email.
moritz_ (currently 2.4G room in the backlog ;-)
Saran mberends : thanks..let me install nmake asap 09:54
mberends Saran, you could try the Strawberry one...
jnthn Saran: Suggest grabbing the Windows Platform SDK, or Visual C++ Express Edition.
Otherwise you'll probably later finding you've got other missing thingies.
mberends copy c:\strawberry\c\bin\mingw32-make.exe c:\strawberry\c\bin\make.exe 09:55
Saran mberends : am using strawberry perl..do u mean nmake for strawberry perl
mberends it's just a different filename
jnthn Or if you already have Visual Studio installed, then probs nmake should be in your path.
Saran mberends : thanks for the path..lemme check it
mberends Saran, if the download is not too slow jnthn++'s suggestion is also a good idea. 09:56
moritz_ masak: #69152 was discovered by having a merge conflict in the spec tests ;-) 09:57
the <<<<<<< .mine is svn's conflict marker
masak yes, so I gathered. :) it's not minimal, by the way.
and it only occurs when running a file, not when running from -e 09:58
moritz_ neither surprise me
Saran mberends++ . copied and renamed to make.exe
jnthn : will try installing vc++ later..internet is too slwo 09:59
mberends : Got error <snip> Reading configuration information from parrot_install/bin/parrot_config ... 'parrot_install' is not recognized as an internal or external command, operable program or batch file. Died at Configure.pl line 119. </snip> 10:00
10:01 soupdragon left
mberends Saran, in rakudo/parrot, try running make install-dev 10:01
Saran mberends : src\runcore\cores.c: In function `Parrot_runcore_cgoto_init': src\runcore\cores.c:622: error: `_CONST_STRING_622' undeclared (first use in this function) mingw32-make: *** [src\runcore\cores.o] Error 1
mberends Saran: ouch. ouch. 10:02
Saran mberends : as u said missing make while compiling core.c
mberends : Reading configuration information from parrot_install/bin/parrot_config ... 'parrot_install' is not recognized as an internal or external command, operable program or batch file. Died at Configure.pl line 119.
mberends oh, those forward slashes need to be backslashes in Windows :/ 10:03
Saran mberends : might be ..pushing to home..catch u guys after 40 minutes 10:04
mberends Saran, ok
10:08 pjcj joined, Saran left
masak it takes 84 minutes to run the spectests. it's partly due to more tests lately, but probably also due to slower Rakudo/Parrot. 10:08
mberends there was a big slowdown in Parrot with the pmc3 merge 10:10
moritz_ github++ # the links to files on the overview pages now always go to the latest version, not identified by SHA-1 10:11
mberends well, perl6 -e"3.say" works here on Windows 7 with Strawberry toolchain 10:14
pity about the double quotes
masak what's the way to get the name of a class? 10:26
moritz_ rakudo: class A::B { }; say A::B.HOW
p6eval rakudo a9ff30: OUTPUT«A::B()<0xb6b41118>␤»
moritz_ no, that's wrong...
rakudo: class A::B { }; say A::B.WHAT #
p6eval rakudo a9ff30: OUTPUT«A::B()␤»
moritz_ that's better 10:27
masak I don't want parens.
jnthn .perl
moritz_ rakudo: class A::B { }; say A::B.perl
p6eval rakudo a9ff30: OUTPUT«A::B␤»
jnthn no
well yes
:-)
masak jnthn++
jnthn .WHAT.perl if you have an object though.
masak rakudo: class eyes {}; class ears {}; class noses {}; class teeth {}; class tongues {}; class parts is eyes is ears is noses is teeth is tongues {}; parts.^parents(:local)>>.perl.join(" and ").fmt("I only have %s for you.").say
jnthn (that is, you want to call .perl on the proto-object, not on an instance)
p6eval rakudo a9ff30: OUTPUT«I only have eyes and ears and noses and teeth and tongues for you.␤»
masak \o/ 10:28
jnthn sings "heads and shoulders, knees and toes, knees and toes..."
masak lunch &
moritz_ you can all blame me that rakudo now passes only 15497 tests, not 15500 as it used to be 10:29
jnthn wtf...we pass over 15,000 now? 10:30
Damm, I should have more vacation.
Wow, that latest graph is scary. 10:33
folks++
moritz_ colomon++ mostly
10:37 dakkar joined 10:49 mikehh left
masak that latest graph is scary... do we even need the devs anymore? :P 10:51
Matt-W Yes 10:52
Get coding
Matt-W cracks his whip
Matt-W wnats to write Perl 6, but has to do work instead
masak gets coding, like, really quickly
not with Perl 6, though :/
10:52 payload joined
Matt-W I would, but it's a bit difficult to use Perl 6 to write classes that need to go into C++ programmes 10:52
masak rakudo: class Cell { our class Golgi {} } 10:56
p6eval rakudo a9ff30: OUTPUT«Malformed declaration at line 2, near "class Golg"␤in Main (src/gen_setting.pm:3469)␤»
masak std: class Cell { our class Golgi {} }
p6eval std 28250: OUTPUT«ok 00:02 37m␤»
cognominal jnthn, nice, the calling of p5 method from blizkost.
masak std: class Cell { our class Golgi {} }; Cell::Golgi
p6eval std 28250: OUTPUT«ok 00:02 37m␤»
masak \o/
rakudo: class Dog { is Any } 10:58
p6eval rakudo a9ff30: OUTPUT«Could not find non-existent sub is␤»
moritz_ I'm not sure if that syntax is a good idea to support
cognominal rakudo: eval( 'package A; sub ok { print "$_[1]\n" }; bless {}', :lang<perl5> ).ok( "ok"); 10:59
p6eval rakudo a9ff30: OUTPUT«ok␤Scalars leaked: 1␤»
10:59 jauaor left
masak moritz_: why not? 10:59
moritz_ masak: 1) there's already a sub is() in Test.pm that does something completely different 11:00
Matt-W i think it's there so you can say
class Foo;
is Bar;
moritz_ masak: 2) I like to have the more important information (inheritence, role composition) up front
masak Matt-W: well, you can say 'class Foo is Bar;' also...
Matt-W masak: can you? Oh good, in that case, nuke it.
as far as I'm concerned
maybe TimToady has some elaborate explanation as to why it's necessary 11:01
masak moritz_: (2) is easily dismissed as personal preference. (1) doesn't bother me too much.
moritz_: there are many cases where would-be function calls are parsed as special syntax.
Matt-W: I think with a complicated list of 'is' and 'does' relations, it might simply be better-looking.
11:03 schmalbe joined
moritz_ the 'is Parent;' form in the class body might give far worse error messages 11:03
but that's just guessing now
anyway, I'm not strongly opposing it
masak why worse error messages? because it's evaluated later than the class declaration? 11:06
moritz_ if you forgot to load the parent class it's evaluated later 11:07
which leads me to another question about r28199 11:08
dalek kudo: 8277559 | (Solomon Foster)++ | src/setting/Any-num.pm:
Add forward hyperbolic functions to Any.

Num and then redispatch to Num.sinh, Num.cosh, etc.
kudo: d1f2d4c | (Solomon Foster)++ | :
Merge branch 'trig'
moritz_ I'd better carry that to p6l though 11:09
masak aye.
moritz_ oh, my question was answered by reading the diff again ;-) 11:10
Matt-W lunch & 11:11
masak I'd like to address something I've come to think of as the ABCB problem. I don't really know yet whether it's a flaw in the language, or just a piece of Best Practices to be aware of.
cognominal afk&
masak let's say module A includes (with 'use') modules B and C. in the C module, mentions are made to things defined in B. 11:12
so, when A is compiled, everything works. but when C is compiled, there are missing references to things.
moritz_ C needs to use B 11:13
masak moritz_: in an ideal Perl 6, you mena?
moritz_ and rakudo shouldn't let defintions leak into C
masak s/mena/mean/
moritz_ masak: yes
masak because I think I can create exactly such a situation in Rakudo. 11:14
moritz_ my understanding is that the 'use B;' in A should have no effect on the compilation of C
masak good. 11:15
that solves that.
moritz_ but importing isn't sufficiently lexically in rakudo yet 11:16
masak here's a small example that I just created: A.pm[use B; use C;] B.pm[use Test] C.pm[plan 0]
11:16 barney left 11:17 zamolxes joined
blaze-x I'd like to write a perl6 grammar to complete a DSL, much like zsh does it when you complete ssh, it lists <users> and <hosts> as possible tokens. How could I accomplish this? (just learning p6) 11:17
11:18 saran joined
blaze-x more accurately, how to let the user disambiguate 11:18
masak blaze-x: I'm sorry, I'm not sure I understand your use case. could you be more specific?
moritz_ I don't think you can read single key strokes from the terminal yet
saran mberends : am back 11:19
moritz_ and your application looks more like generating strings matching a regex than actually matching
11:19 am0c left
masak well, Tene has some curses lib that lets you do keystrokes, IIUC. 11:19
blaze-x I really like the p6 grammar constructs. I wanted to build a grammar around things i type regularly. ex: todo: phone customer_x about problem_y 11:23
in the end I just want to learn perl6, but I thought it would be nice to try and parse these kind of short strings 11:24
moritz_ that seems entirely possible
mberends saran: ok, I got parrot and rakudo compiled by copying to make.exe first. For you I suggest nuking the parrot and parrot_install and re-running perl Configure.pl --gen-parrot 11:25
moritz_ rule todo { 'todo:' <action> }
blaze-x the more my DSL grammar understands, the more I can log into another system (I'm not looking to write a natural language parser btw)
moritz_ token action { <phone> | <mail> | <buy> | ... }
rule phone { 'phone' <who> (.*) } 11:26
...
masak blaze-x: that sounds like a pretty cool application. 11:27
blaze-x moritz_: I follow you. But i wonder, how could I get a list of all actions? as to be able to tab complete them sometime later
saran mberends : do i need to install msys ?
moritz_ blaze-x: that's a very good question, and there will be a nice solution for that
blaze-x: Perl 6 allows you to parameterize tokens... 11:28
11:28 riffraff left
blaze-x masak: thanks :) 11:28
moritz_ proto token actions { ... } # literal ... here
masak blaze-x: I hope you won't shy away from sharing any code you write. we're always on the lookout for new code to peruse. :) 11:29
moritz_ token actions:what<phone> { <what> <who> (.*) }
blaze-x ok, I'll read about proto.
moritz_ token actions:what<buy> { <buy> (.*) }
blaze-x masak: sure, can't see why not :)
moritz_ and then when you simply match against <actions> it matches all the alternatives in parallel
and at some point we'll have introspection to list all available proto tokens 11:30
but that's quite a bit in the future
masak oh, 'proto' works already?
blaze-x moritz_: interesting, I suppose by xmas? ;-)
moritz_ masak: only in STD.pm :/
blaze-x: I hope sooner ;-) 11:31
mberends saran, apparently not, msys-git was enough there. mind you, its bin directory has a lot of tools, but no make
masak moritz_: ah. that squares better with my expectations.
saran mberends : as per the link "www.perlfoundation.org/perl6/index....velopment" .do i need to download haskell as well ?
moritz_ saran: only if you intend to hack on pugs 11:32
which nobody did for the last 1.5 years or so
blaze-x: I fear that proto tokens are badly documented so far, but there are lots of examples in >
mberends saran, not today ;-) you would use it to build pugs, if ever
moritz_ >
> Modified: docs/Perl6/Spec/S04-control.pod
> ===================================================================
> --- docs/Perl6/Spec/S04-control.pod2009-09-07 17:43:11 UTC (rev 28198)
lambdabot not an expression: `'
not an expression: `--- docs/Perl6/Spec/S04-control.pod 2009-09-07 1...
Not in scope: data constructor `Modified'Not in scope: `docs'Not in scope: ...
<no location info>:
parse error on input `============================...
moritz_ > +++ docs/Perl6/Spec/S04-control.pod2009-09-07 17:53:06 UTC (rev 28199)
lambdabot <no location info>: parse error on input `+++'
moritz_ > @@ -823,7 +823,7 @@ 11:33
lambdabot <no location info>: parse error on input `@@'
moritz_ > sets the topic in its signature can be broken out of. At run time,
lambdabot <no location info>: parse error on input `in'
moritz_ > C<break> uses a control exception to scan up the dynamic chain to
lambdabot Not in scope: data constructor `C'Not in scope: `uses'Not in scope: `contro...
moritz_ > find the activation record belonging to that same outer block, and
lambdabot <no location info>: parse error on input `,'
moritz_ > -when it has found that scope, it does a C<.leave> on it to unwinde
lambdabot <no location info>: parse error on input `,'
saran thanks mberends and moritz_ . hw abt haskell ? is it mandatory at this point ?
moritz_ > +when it has found that scope, it does a C<.leave> on it to unwind
lambdabot <no location info>: parse error on input `+'
moritz_ > the contexts. If any arguments are supplied to the C<break> function,
lambdabot <no location info>: parse error on input `,'
moritz_ > they are passed out via the C<leave> method. Since leaving a block is
lambdabot Not in scope: `they'Not in scope: `are'Not in scope: `passed'Not in scope: ...
moritz_ > considered a successful return, breaking out of one is also considered
lambdabot <no location info>: parse error on input `,'
moritz_ >
lambdabot not an expression: `'
moritz_ sorry
saran: no
11:33 lambdabot was kicked by moritz_ (moritz_))
moritz_ sorry for the paste flood 11:33
moritz_ too dumb to work with irssi
blaze-x: what I meant to say was... lots of examples in svn.pugscode.org/pugs/src/perl6/STD.pm 11:34
mberends moritz_ is a n00b at something?
moritz_ sure, at lots of things actually
blaze-x moritz_: thanks, I'll have a look 11:35
11:36 saran left 11:45 synth joined 11:49 saran joined 11:53 iblechbot joined
colomon moritz_: I tried to move your $code.=subst: / ^^ ' ' ** 12 /, '', :g; into a function of its own, but when I do that, I get "too few arguments passed (1) - 3 params expected" when I call it. 12:01
12:01 saran left
colomon rakudo: sub c(Str $s is copy) { $s.=subst: / ^^ ' ' ** 12 /, '', :g; }; my $a = c("This is a test"); say $a; 12:02
p6eval rakudo a9ff30: OUTPUT«This is a test␤»
colomon rakudo: class A { method c(Str $s is copy) { $s.=subst: / ^^ ' ' ** 12 /, '', :g; }; }; my $a = A.new; my $b = $a.c("This is a test"); say $b; 12:03
p6eval rakudo a9ff30: OUTPUT«This is a test␤»
moritz_ colomon: there's a known problem with .subst and mulit subs 12:04
anyway, if you plan to return a modified version there's no reason to all it as $.=subst 12:05
colomon return $code.subst: / ^^ ' ' ** 12 /, '', :g; gets the error too. 12:06
moritz_ rakudo: sub f($x) { $x.subst: / ^^ ' ' ** 12 /, '', :g }; say f((' ' x 14) ~ 'bar' ) 12:07
p6eval rakudo a9ff30: OUTPUT« bar␤»
12:12 saran joined 12:14 takadonet joined
takadonet morning all 12:14
saran mberends : First step completed successfully .. Now trying to run "mingw32-make" 12:15
cognominal rakudo: eval( 'package A; sub ok { print "@{$_[1]}\n" }; bless {}', :lang<perl5> ).ok( ["o", "k"]); 12:17
p6eval rakudo a9ff30: OUTPUT«Sorry, we do not support marshalling most things to Perl 5 yet.␤in Main (/tmp/sxkPQpRSdn:2)␤»
cognominal how much time it takes for p6eval to take the changes on rakudo/blizkost?
moritz_ both are rebuilt hourly 12:18
mberends saran, nice
moritz_ starting at 14:45 for example
but if there's dire need I can trigger one earlier ;-) 12:19
12:20 mikehh joined
moritz_ colomon: it seems the makefile is suboptimal... the last pmc change did not trigger a rebuild 12:21
mikehh rakudo (d1f2d4c) builds on parrot r41292 - make test / make spectest (up to 28250) PASS - Ubuntu 9.04 i386
moritz_ rakudo: eval( 'package A; sub ok { print "@{$_[1]}\n" }; bless {}', :lang<perl5> ).ok( ["o", "k"]);
p6eval rakudo a9ff30: OUTPUT«Sorry, we do not support marshalling most things to Perl 5 yet.␤in Main (/tmp/mahQL0c2vq:2)␤»
colomon moritz_: Eh? 12:22
moritz_ colomon: sorry, menat cognominal
moritz_ + tab fail
saran @mberends : make-test PASS :) <snip> All tests successful. Files=29, Tests=236, 89 wallclock secs ( 0.33 usr + 0.84 sys = 1.17 CPU) Result: PASS <snip> I think the installation part is over..Thanks to mberends,s1n and all monkers 12:26
12:26 payload1 joined, payload left, cai joined
mberends saran: well done! you should also 'make install', and if you have an hour of idle time, 'make spectest' 12:27
saran++, and of course reward yourself with a little "hello world" script in perl6 12:28
saran started with "mingw32-make install" . wat does "make spectest" does.. 12:29
12:30 rfordinal3643 joined
jnthn cognominal: Fancy some debugging? 12:31
12:31 cmv left
jnthn cognominal: If so, see what I just pushed. 12:31
saran mberends : started with "mingw32-make install" . wat does "make spectest" does..Do i need to run "make spectest"
jnthn cognominal: Basically, though, build latest blizkost, add this patch to Rakudo: gist.github.com/188017 12:32
cognominal: After that, just do
mberends saran, 'make spectest' gives rakudo a heavy workout, and ensures that your installation is fully working. but it runs over an hours on most machines.
jnthn use CGI:from<perl5>; print CGI.header # sanity check, works for me, should for you too 12:33
Then
use CGI:from<perl5>; print CGI.new.header # oh noes, explodes
I've spent like, ages trying to work out why.
So if you can crack this one, then we'll be looking real good. :-) 12:34
colomon rakudo: sub clean_and_interpolate_code(Str $code) { return $code.subst(/ ^^ ' ' ** 12 /, '', :g); }; say clean_and_interpolate_code("his is a test"); 12:36
jnthn cognominal: So far as I could see, dSP in the call to .header was setting SP to something bad.
p6eval rakudo a9ff30: OUTPUT«his is a test␤»
jnthn cognominal: So I suspect stack screw...somehow...though I'm lost on how.
jnthn -> dinner 12:41
12:45 rfordinal left 12:48 payload1 left
masak rakudo: class screw {}; class jnthn { method suspect($t) { say "{self.perl} suspects {$t.foo}" } }; role stack[::T] { method foo() { "stack " ~ T.perl } }; jnthn.suspect(stack[screw]) 12:49
p6eval rakudo a9ff30: OUTPUT«jnthn suspects stack screw␤»
masak what could I write instead of the literal Str "stack " inside .foo?
saran mberends : tried h hello world program ..got this error . "C:\rakudo\parrot>perl -e "say 'hello world\n'" String found where operator expected at -e line 1, near "say 'hello world\n'" (Do you need to predeclare say?) syntax error at -e line 1, near "say 'hello world\n'" Execution of -e aborted due to compilation errors. " 12:50
masak saran: perl6, not perl.
moritz_ masak: $?PACKAGE once that's available
masak moritz_: would $?CLASS work as well?
moritz_ masak: $?CLASS evaluates to the class the role is composed into 12:51
masak ah.
saran masak : see the error tried befor <snip> C:\rakudo\parrot>perl6 -e "say 'hello world\n'" 'perl6' is not recognized as an internal or external command, operable program or batch file.</snip> 12:52
moritz_ saran: you have to add C:\rakudo\parrot_install\bin to the PATH environment variable 12:53
mberends saran, change directory to \rakudo
masak rakudo: role A { method foo { self.Str } }; say A.foo
p6eval rakudo a9ff30: OUTPUT«()<0xb6ace1c8>␤»
saran masak : executing this hello world program after successfull "make-install" .. did i missed to install anything ?
masak submits rakudobug
saran: no, it should work. but maybe it's undertested in Windows.
moritz_ saran: probably the installation did work, but windows doesn't know where to search for the perl6.exe 12:54
which is why you have to add the path to the PATH environment variable
mberends ...and then restart the command shell
saran mberends ,masak and moritz : cool!! super!! Got it <snip> C:\rakudo>perl6 -e "say 'hello world'" hello world <snip> 12:56
masak saran++
saran: welcome to the Perl 6 community! \o/ 12:57
Matt-W \o/
saran masak : yes i am so excited to work on perl-6 and contributing my work to the community 12:58
masak saran: it will be great! looking forward to working by your side.
saran mberends : wat does pugs plays a role here ? do i need to checkout pugs from svn 12:59
mberends saran++: Pugs was the earlier Haskell based implementation of Perl 6, unfortunately not actively developed any more. 13:00
moritz_ so you don't really need it (IMHO)
Matt-W There are still some relevant things in the Pugs repository, but Pugs itself isn't required if you're going to work on Rakudo
mberends Rakudo does use the Perl 6 test suite from the Pugs repo 13:01
moritz_ but the pugs repository holds much more than just pugs - there's also the specification, test suite, our standard grammar (STD.pm), elf, smop, mildew and other good things in there
Matt-W elf, smop and mildew are all in there? wow
saran mberends and masak : would like to develop "Data::Dumper" module for perl6 .. Any comments on this ? 13:02
moritz_ and mp6, kp6, the smartlinks package, p6eval, thecode for the IRC logs
saran: there's one built into Perl 6
it's the .perl method
rakudo: say [1, 3, 'foo'].perl
p6eval rakudo a9ff30: OUTPUT«[1, 3, "foo"]␤»
masak saran: however, there's one interesting unsolved problem with .perl that you're very welcome to attack. that of circular references. 13:03
13:03 sm` left, rfordinal3643 left, sm` joined
saran masak : wat do u mean by ".perl" .some documents related to ".perl" to get working on the circular references 13:04
masak saran: I think I can dig up an old RT ticket for you. 13:05
diakopter masak: without allowing assignments into temporary/local hashes, it would need some "special" (exclusive) syntax
masak saran: but the basic problem is that Rakudo hangs when trying to do .perl on circular refs. 13:06
diakopter: not at all. just do 'my %temp1 = ...' inside the .perl expression.
moritz_ that's what diakopter meant by temporary/local hashes, I think 13:07
diakopter moritz_: thnx
masak yes, I realize that.
my reply was a bit... confused. :)
I guess I mean that I think that's an acceptable solution. 13:08
diakopter "not at all" in the sense of "not a problem" as opposed to "you're wrong" :)
masak right.
saran: et voila. rt.perl.org/rt3/Ticket/Display.html?id=58922
saran: that ticket is stalled, mostly because no-one knows what a good solution is. 13:09
13:10 saran left
masak saran: even making Rakudo not hang, and emitting "hey, this structure is circular! you can't do that!" would be a big win, if you ask me. 13:10
moritz_ has a crazy idea about how contextual variables could solve that
13:10 sri_kraih left
mberends saran, at the shallow end, try perl6 -e"my %a = {}; %a<b>={}; %a<b><c>=42;say %a.perl" to see what .perl does 13:10
diakopter moritz_: :) yep
moritz_ %*DOT_PERL_SEEN{$reference}++ 13:11
diakopter that's the solution Data::JavaScript took... I jettisoned that quickly while solving the same problem for vivjs two days ago
(what mberends said I mean)
I'll commit vivjs soon; it does the equiv of what moritz_ just typed 13:12
in Perl 5 tho 13:13
heh; actually it should be vijs, right? ;)
diakopter looks for TimToady
for circular refs it has to stack up "post declaration" member assignments... 13:15
moritz_ vijs, yes
13:15 saran joined
diakopter so it needs to track both "seen" and "inside" 13:15
saran masak : hope i can debug the circular references problem in ".perl" step by step . Is perl6 -d option works ? 13:16
Matt-W Anybody want to show off some Perl 6? thedailywtf.com/Articles/Kirkmans-Ladies.aspx <- even though the problem spec discriminates against functional programmers 13:17
masak saran: unfortunately not.
saran: doing just 'perl6' gets you into a REPL, though.
saran: but be aware that variables don't survive from line to line in the REPL right now, so many programs become one-liners. 13:18
TiMBuS just use global vars
moritz_ how many characters fit into one line in IRC? 255?
Matt-W err
arnsholt Depends a bit on the server IIRC
Matt-W impossible to say
masak TiMBuS: global vars work... to an extent. you have to explicitly initialize global hashes, for example.
moritz_ s/characters/bytes/
Matt-W not sure if the protocol specifies a minimum... 13:19
TiMBuS $*vars used to work too. damn whoever fixed them :(
saran masak : pls give me the details abt ".perl" . Lemme start with the manual debugging to penetrate into circular references 13:20
arnsholt Matt-W: The "it should print not return the list" is fixed by something along the lines of (mapcar #'print (find-arrangment)) (assuming you speak Lisp)
masak saran: start by trying things like this:
rakudo: say [1,2, [3,4,5, []].perl
saran mberends : Glad to be the part of perl6 community. Looking forward to work on some interesting development . Get me to the right direction 13:21
p6eval rakudo a9ff30: OUTPUT«say requires an argument at line 2, near " [1,2, [3,"␤in Main (src/gen_setting.pm:2565)␤»
masak rakudo: say [1,2, [3,4,5, []]].perl
p6eval rakudo a9ff30: OUTPUT«[1, 2, [3, 4, 5, []]]␤»
saran masak : msg incomplete
masak saran: as you see, .perl works much like the old Data::Dumper.
Matt-W arnsholt: that's just wrapping your solution function in another one though - it says that the function that finds the solution should do the printing. It seems a bit ridiculous to me though - it's almost always better to structure algorithms without any output code anyway. 13:22
arnsholt: admittedly that might be my Haskell-derived prejudices coming out :)
13:23 mikehh left
moritz_ hey, it's the daily WTF! 13:23
mberends saran: nice to have you on board. we need contributions at so many levels, you'll just have to try stuff out to find out where you best fit in :)
Matt-W this is true
perhaps they're now encouraging the writing of code which they can feature later so that they don't run out of material
pugs_svn r28251 | colomon++ | [t/spec] Replace the ugly code as qq strings (which required all sorts of nasty escaping) with q strings plus simple hand interpolation using subst. 13:25
saran masak : am testing ".perl" method. will be back in a minute
masak saran: cool! check out src/setting/List.pm, line 42, to see how List.perl is defined. 13:26
saran: Mapping.perl (the one for hashes) isn't translated from PIR to Perl 6 yet. it's on line 243 of src/classes/Mapping.pir. I see no obvious reason why it couldn't be moved into the setting, though. 13:28
masak tries to do that right away
diakopter moritz_: I guess %*seen could store both "seen" and "inside" by distinguishing between existence and zero
moritz_: did you see the p6eval weirdness from (my) last night? 13:29
13:29 mikehh joined
moritz_ diakopter: I did. No idea what went wrong. 13:29
diakopter rakudo: say(say(3))
p6eval rakudo a9ff30: OUTPUT«3␤1␤»
diakopter hm; works now 13:30
carlin Matt-W: github.com/carlins/perl6-examples/t...ter/tdwtf/ :) 13:31
saran masak : Got it. please drop in ur mailid to discuss further when i have some clarifications
Matt-W carlin: cool!
saran masak : will be back after my gym and dinner
13:31 sri_kraih joined
diakopter tinkers with different ways of arranging the ast 13:34
13:35 jaldhar left 13:36 jaldhar joined
moritz_ rakudo: say (1..10).grep(* !% 3).perl 13:38
p6eval rakudo a9ff30: OUTPUT«[]␤»
moritz_ BUG
rakudo: say (1..10).grep({ $_ !% 3}).perl 13:39
p6eval rakudo a9ff30: OUTPUT«[3, 6, 9]␤»
flip913 rakudo: say (1..10).grep({ * !% 3 }).perl 13:40
p6eval rakudo a9ff30: OUTPUT«[]␤»
flip913 rakudo: say (1..10)».{ * %! 3} 13:41
p6eval rakudo a9ff30: OUTPUT«Method 'postcircumfix:{ }' not found for invocant of class 'Int'␤»
13:42 zloyrusskiy left
masak flip913: you need an explicit 'map' or 'grep' there. 13:43
flip913 rakudo: say (1..10)».map({ * %! 3})
p6eval rakudo a9ff30: OUTPUT«!whatever_closure!whatever_closure!whatever_closure!whatever_closure!whatever_closure!whatever_closure!whatever_closure!whatever_closure!whatever_closure!whatever_closure␤» 13:44
diakopter it's odd; sometimes viv/STD will parse in half a second. sometimes it will parse (the same input) in >2 seconds... curiouser&
flip913 rakudo: say (1..10)».map( * %! 3)
p6eval rakudo a9ff30: OUTPUT«12345678910␤»
flip913 rakudo: for ^10 { if * %! 3 { say } } 13:45
p6eval rakudo a9ff30: ( no output )
flip913 rakudo: for ^10 { if $_ %! 3 { say } }
p6eval rakudo a9ff30: OUTPUT«say requires an argument at line 2, near "} }"␤in Main (src/gen_setting.pm:2582)␤» 13:46
flip913 does it?
rakudo: for ^10 { if .%! 3 { .say } }
p6eval rakudo a9ff30: OUTPUT«Confused at line 2, near ".%! 3 { .s"␤in Main (src/gen_setting.pm:3469)␤»
flip913 rakudo: for ^10 { if $_ %! 3 { .say } }
p6eval rakudo a9ff30: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤»
flip913 flip913: confused 13:47
rakudo: for ^10 { say $_ % 3 }
p6eval rakudo a9ff30: OUTPUT«0␤1␤2␤0␤1␤2␤0␤1␤2␤0␤»
flip913 rakudo: for ^10 { say $_ %! 3 }
p6eval rakudo a9ff30: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
flip913 rakudo: for ^10 { say $_ !% 3 }
p6eval rakudo a9ff30: OUTPUT«1␤0␤0␤1␤0␤0␤1␤0␤0␤1␤»
flip913 rakudo: for ^10 { if $_ !% 3 { .say } }
p6eval rakudo a9ff30: OUTPUT«0␤3␤6␤9␤» 13:48
flip913 rakudo: for ^10 { if .!% 3 { .say } }
p6eval rakudo a9ff30: OUTPUT«Confused at line 2, near ".!% 3 { .s"␤in Main (src/gen_setting.pm:3469)␤»
flip913 what's the %! operator?
[particle] you're calling postfix !% on $_. rakudo doesn't understand that
flip913 No, really the <%!> operator. 13:49
It was accepted as "$_ !% 3"
saran Lesson learnt in installing rakudo " we need to make a copy of "copy c:\strawberry\c\bin\mingw32-make.exe c:\strawberry\c\bin\make.exe
[particle] for ^10 { if $_ ! % 3 { .say } }
flip913 <!%> is "not-modulo", "evenly divisable" or whatever it's called.
[particle] rakudo: for ^10 { if $_ ! % 3 { .say } }
p6eval rakudo a9ff30: OUTPUT«Confused at line 2, near "! % 3 { .s"␤in Main (src/gen_setting.pm:3469)␤»
flip913 space too much? 13:50
saran Lesson learnt after installing rakudo : missing make in strawberry perl . then found by mberends that we need to make a copy "copy c:\strawberry\c\bin\mingw32-make.exe c:\strawberry\c\bin\make.exe " .. can someone document this part to avoid errors ?
mberends saran, I'm preparing that for perlfoundation.org/perl6 and also the Rakudo README 13:51
flip913 rakudo: say infix:<%!>.perl
p6eval rakudo a9ff30: OUTPUT«Confused at line 2, near ":<%!>.perl"␤in Main (src/gen_setting.pm:3469)␤»
[particle] mberends: why would you copy make to a different name, rather than config rakudo to recognize the proper make engine? 13:52
mberends [particle]: true, a bit more toolchain detection could sniff out make, nmake or mingw32-make automagically. I'll take a look at that also :) 13:53
[particle]: today's efforts were just a quick and dirty get-started ;) 13:54
Matt-W rakudo: say &infix:<%!>.perl 14:03
p6eval rakudo d1f2d4: OUTPUT«undef␤»
14:04 ruoso joined
ruoso Hello! 14:05
moritz_ wb ruoso 14:06
diakopter ruoso: howdy
Matt-W hey ruso
ruoso, argh
not awake at all today
moritz_ wonders if his comment about not bikeshedding deterred everybody from answering his mail about perl6.org on p6l 14:07
diakopter None Dare Call It Bikeshedding 14:08
(the "considered harmful" meme equivalent of the middle 20th century USA) 14:09
14:12 KyleHa joined 14:17 justatheory joined 14:19 payload joined 14:20 ispy_ joined, ispy_ left
ruoso moritz_, well, you just proposed to drive the effort ;) we're just passengers now ;) 14:20
14:21 nihiliad joined, cai left
moritz_ how stupid of me ;-) 14:23
colomon rakudo: say Inf.Num;
mikehh rakudo (d1f2d4c) builds on parrot r41295 - make test / make spectest (up to 28251) PASS - Ubuntu 9.04 amd64
p6eval rakudo d1f2d4: OUTPUT«Inf␤»
ruoso moritz_, but anyway, sometimes silence just means agreement...
14:26 cdarroch joined
Matt-W or indifference 14:27
diakopter or fatalism :) or relative indifference, related by busyness.
TiMBuS damn. my multimethod is being called three times using '.*' 14:28
14:28 saran left
TiMBuS im guessing this is a bug? 14:28
moritz_ depends on what you do, exactly 14:30
.* calls all matching multi methods
14:30 abra joined, zamolxes left
TiMBuS yep 14:30
moritz_ ... except when you're in a regex ;-)
TiMBuS but its calling the same method
"Dispatching on message. Method called. Method called. Method called. Done dispatching"
is the output
only one of my methods is printing that 14:31
moritz_ well, it's hard to comment on that without seeing the code
TiMBuS say 'Dispatching on message'; $bot.*messaged(~$text, ~$from, ~$channel); say 'Done dispatching';
the matching method is just a one liner 14:32
it is a role, though
colomon rakudo: say cosh(Inf)
p6eval rakudo d1f2d4: OUTPUT«Inf␤»
TiMBuS inherited
moritz_ TiMBuS: if you could reduce that to a minimal example and submit as a bug report, that would be awesome 14:33
TiMBuS ill try.. i was just wondering if this is to be expected using .*
might have something to do with parent.. walking 14:34
i dont know
14:34 abra left
moritz_ if there's just one method messaged defined in your code, it's not expected 14:34
if you have multiple such methods, it depends on the exact declaration
if you just want the best fit, a normal $bot.messaged() call might be best
TiMBuS theres multiple messages, but only one prints 14:35
and only one seems to be called three times
messaged needs to be .* because its a pluggable dispatch
people can add more if they want
i wonder how many OO programmers i have offended using a parent class to call child methods. 14:36
moritz_ in general there's nothing wrong with it 14:37
colomon rakudo: say exp(Inf)
p6eval rakudo d1f2d4: OUTPUT«Inf␤»
moritz_ rakudo: say exp(-Inf) 14:38
p6eval rakudo d1f2d4: OUTPUT«0␤»
colomon oooo...
forgot about that.
moritz_ how very well defined
such a beauty it makes you weep
colomon I'm trying to figure out what the hyperbolic stuff should return when you pass it +-Inf.
I suspect the implementation is currently smarter than my tests. :) 14:39
moritz_ cosh(Inf) ~~ Inf looks right to me
same for cosh(-Inf)
sinh(Inf) ~~ Inf 14:40
sinh(-Inf) ~~ -Inf
colomon rakudo: say tanh(Inf)
p6eval rakudo d1f2d4: OUTPUT«1␤»
moritz_ and tanh(-Inf) == -1 14:41
14:41 payload left
colomon rakudo: say sech(Inf) 14:41
p6eval rakudo d1f2d4: OUTPUT«0␤»
colomon rakudo: say 1.0 / Inf
p6eval rakudo d1f2d4: OUTPUT«0␤»
14:43 Psyche^ joined 14:46 rfordinal joined
pmichaud Good morning, #perl6 14:47
colomon o/
moritz_ \o
jnthn \o/ 14:48
diakopter ]o[
moritz_ õ
pmichaud lol # wave like an egyptian 14:50
colomon Err... just got a weird error. 14:52
I passed too few parameters to .new, and instead of complaining about too few, it said "too many arguments passed (5) - 1 param expected" 14:53
Mind you, I passed four, and should have passed six.
jnthn Parrot can't count. 14:54
moritz_ the 5 can easily be explained - it counts the invocant too 14:55
jnthn aye
colomon That makes sense.
14:55 TiMBuS left 14:56 Patterner left, Psyche^ is now known as Patterner
colomon Is one also a an acceptable number of params for the default .new? So the issue is that it should be one or six, and it only mentions the one in the error message? 14:56
moritz_ yes, the default .new takes only the invocant (1) 14:57
plus optionally named ones
colomon So basically, a less than awesome error message, but a perfectly sensible one. 15:05
moritz_ no 15:06
either it does multi dispatch
then it has to complain that no candidate was found
or it does single dispatch
then the error message has to fit to the candidate it tried to invoke 15:07
colomon Known issue, or should I try to isolate and reproduce it?
moritz_ don't know if it's know 15:08
colomon oooo, another fun issue. Apparently is(cosech(-Inf), -0, "whatever") doesn't work, even though 15:14
rakudo: say cosech(-Inf) 15:15
p6eval rakudo d1f2d4: OUTPUT«-0␤»
15:15 iblechbot left
moritz_ rakudo: use Test; plan 1; is(cosech(-Inf), -0, "whatever") 15:16
p6eval rakudo d1f2d4: ( no output )
colomon just occurred to me that "-0" might work, trying that now.
I think the problem is
moritz_ rakudo: use Test; plan 1; is(cosech(-Inf), -0, "whatever") 15:17
colomon rakudo: say -0
p6eval rakudo d1f2d4: ( no output )
rakudo d1f2d4: OUTPUT«0␤»
colomon need to run exercise now, more later...
moritz_ colomon: comparing with == 0 should work 15:18
15:22 sevvie left
mberends pmichaud, it's tempting to easily replace ~/.perl6lib in @*INC with ~/.perl6/lib leaving the door open for ~/.perl6/bin etc. DO you think that would be a change for the better or worse? The code needs to be adapted a little for Windows, anyway. 15:26
15:30 abra joined
pmichaud mberends: how about just ~/.perl6 ? 15:34
in the Perl world I sometimes have difficulty distinguishing between "lib" and "bin" :-) 15:35
one person's application ends up being another person's library
moritz_ pmichaud: more to the point, the proto hackers also considered putting configuration files into ~/.perl6/proto/ or s 15:36
o
pmichaud I prefer "~/.perl6" or "~/.rakudo" to "~/.perl6lib"
whether that is then subdivided is up to others :)
more to the point, my initial inclination would be that it would be ~/.perl6 in the @*INC path rather than ~/.perl6/lib . I don't know why that's my inclination, but it is. 15:37
But I'm fine with ~/perl6/lib 15:38
er, ~/.perl6/lib
15:39 jrtayloriv joined
mberends ok, there were some other motivations for ~/.perl6/lib, but I don't remember them. I guess we try it out and change it anyway if it's bad. I do know TimToady++ is strongly _against_ any kind of ~/.perl6.conf, as he was in Perl 5 15:41
pmichaud seems to me that a "perl6.conf" is really just a specialized setting 15:42
moritz_ mberends: I think TimToady's point was the running programs should not be affected by a global configuration file - configuration files that organize module installing are just fine, I think
mberends Perl scripts should predeclare how they mutate the default environment or ecosystem, ie they should call modules for everything 15:43
pmichaud exactly. So the equivalent of perl6.conf is ./perl6 -L myconf ... 15:44
mberends moritz_: yes, another way of saying the same thing
pugs_svn r28252 | moritz++ | [perl6.org] start the new site as announced on p6l 15:45
r28252 |
r28252 | It is currently not visisble on perl6.org (and won't be until it all works
r28252 | properly).
r28252 |
r28252 | This commit just adds two pages and a tiny peace of infrastructure.
pmichaud it's always nice to have peaceful infrastructures. :)
moritz_ ouch. 15:46
mberends peace unfortunately tends to be short lived
moritz_ I shouldn't have touched a keyboard today
pmichaud mberends: "short lived? What are you talking about? Wanna fight about it?!?!" :-) 15:47
mberends 45 seconds this time ;) 15:48
pugs_svn r28253 | colomon++ | [t/spec] Expand trig tests to handle Inf and -Inf tests properly. 15:49
huf what do you expect? people cant stand peace with its googly eyes and pores seeping mucus
moritz_ expects world domination, real fast 15:50
mberends peace by peace
huf that's a very small square 15:51
moritz_ "I know there are people in this world who do not love their fellow human people and I *hate* people like that" -- Tom Lehrer
pmichaud (Tom Lehrer)++
moritz_ indeed 15:52
he has lots of cool stuff
pmichaud opens up music player to hear "National Brotherhood Week" again :)
cognominal rakudo: eval( 'package A; sub ok { print "@{$_[1]}\n" }; bless {}', :lang<perl5> ).ok( ["o", "k"]);
p6eval rakudo d1f2d4: ( no output )
cognominal ouch
moritz_ colomon: that died with a segfault 15:53
pmichaud what is that @{$_[1]} supposed to be/do?
oh, it's :perl5
nm
moritz_ rakudo: eval( 'package A; sub ok { print "@{$_[1]}\n" }; bless {}', :lang<perl5> ).ok( ["o", "k"]); # with blizkost freshly recompiled 15:54
p6eval rakudo d1f2d4: OUTPUT«Sorry, we do not support marshalling most things to Perl 5 yet.␤in Main (/tmp/gnk6rRHDKk:2)␤»
masak "World Domination, peace by peace". I like that slogan. :)
15:55 drbean left
dalek kudo: b29506b | masak++ | src/ (2 files):
translated Mapping.perl to the setting
15:55
pmichaud maybe omit the 'return' ? 15:56
mberends pmichaud: that was the documentation ;) 15:57
pmichaud or we can leave it there, and hopefully someday the compiler can optimize it out
moritz_ should we mention blizkost in the Rakudo release announcement?
pmichaud +0.5
15:58 drbean joined
moritz_ it's +0.5 here too ;-) 15:58
masak I like explicit returns. in this case, I also copied-and-modified the code in List.perl, which has a 'return'.
pmichaud (explicit returns) I won't push it yet, just keep in mind that explicit returns do impose some overhead. 15:59
(an extra function call, create an exception, throw the exception, catch the exception, unpack the arguments)
masak nod. 16:02
TimToady the last one in a block should be easy to optimize away
masak usually .perl is made in conjunction with I/O, so here it would probably be premature optimisation to remove it.
but in case it isn't, my claiming it's premature optimisation probably counts as premature dismissal. :P 16:03
16:03 ejs joined
masak my rationale for leaving an explicit 'return' in the code is a bit stronger in long methods. I think I picked up the habit from PBP. 16:04
16:04 payload joined
pmichaud I do understand the desire for explicit return -- it does read better in many cases. 16:04
TimToady might make more sense to put void; at the end of routines that *don't* return :) 16:05
moritz_ I documented it in docs/guide_to_setting.pod anyway (advocation of implicit returns)
masak: as long as you don't dare to complain about rakudo's speed... ;-)
jnthn If the last statement is a return, then yes, I suspect we can optimize that without too much trouble.
masak moritz_: oh, I can complain, if that's called for... :)
jnthn Probably even for Rakudo *.
pmichaud I think it has to be the last statement of the sub block, though. last statement of a nested block might not be so easy
TimToady we don't require consistency here :) 16:06
jnthn pmichaud: Agreed, that's what I had in mind. :-)
moritz_ TimToady: should introspection of attribute allow returning the value?
TimToady I meant last statement in a routine, not block
pmichaud ...and we have to make sure that return() hasn't been overridden. :-P
16:06 abra left
moritz_ I wanted to write Object.perl, and found it quite impossible without that feature 16:06
jnthn pmichaud: ewww.
pmichaud ...and that there's not a CONTROL block in effect
(these are all doable, yes.) 16:07
TimToady moritz_: don't ask hard questions :)
jnthn plz I can retire before we write to optimizer? ;-)
dalek kudo: fa7142a | moritz++ | docs/guide_to_setting.pod:
[docs] recommend implicit return for setting files
jnthn s/to/the/
cognominal moritz_, are you sure that p6eval pulls the last blizkost? 16:08
pmichaud here's my recommend explicit return: #`(return) $value;
:-P
cognominal ho, jonathan had added stuff
jnthn moritz_: Are you meaning .^attributes ?
TimToady moritz_: I suspect we can only gurarantee that we can return a closure that will return the value if called
jnthn cognominal: Aye. Did you fix the SEGV yet? ;-)
moritz_ maybe we can have a 'use speed;' flag that tells the compiler that if certain things are not overridden at compile time they won't be at run time either 16:09
cognominal nope, I am just discovering what you just added
TimToady but my coffee level is still to low
moritz_ jnthn: yes
jnthn cognominal: hehe.
cognominal: I writed some code. ;-)
cognominal nice
moritz_ TimToady: I don't care either way as long as I can obtain those values somehow
jnthn cognominal: If we can fix that SEGV then we can probably about use DBI:from<perl5>; and then be able to actually use it. 16:10
moritz_ cognominal: pretty sure, yes
16:10 sevvie joined
jnthn TimToady: That sounds sensible, but I'm tired. 16:10
TimToady actually, you can introspect an attribute without an object, so I think there's no guarantee
jnthn TimToady: Well, that's the hard part. :-) 16:11
cognominal moritz_, indeed, jnthn had added code, that's why it did not work as I expexted.
jnthn All the introspection we have so far is through the metaclass.
TimToady: And this calls for introspection of an individual object.
TimToady are there desirable MOPs that would not be able to do that? 16:12
jnthn OTOH, it'd be the metaclass that knows how to do this...
TimToady for instance, if it's not provided by the underlying VM
moritz_ we need that anyway, for properly introspecting attributes that were mixed in at run time
jnthn Well, we can make it an optional rather than required part of the MOP.
TimToady though you'd think it could be faked
well, you couldn't suppress side effects, if that's what you mean by "introspect" 16:13
though for common MOPs $!foo should be get-at-able somehow
jnthn yeah, true
Aye.
I think we should provide a way.
If only because we can't write the default .perl otherwise... 16:14
TimToady but it sounds like one of those things that if you try to generalize/standardize, it could slow things down
cognominal jnthn, blizkost : scripting Perl 5 in Perl 6 or "the power of Perl 6 with the speed of Perl 5"
moritz_ ah well, there are other uses for serialization, not only .perl
TimToady well, maybe every MOP has to provide a was to do .perl or the components thereof 16:15
*way
jnthn cognominal: I was aiming more for migration strategy and making CPAN available to languages running on Parrot... :-)
moritz_ TimToady: yes, and the interface to that is $obj.^attributes, no? ;-) 16:16
TimToady the "the" is a lie, I suspect 16:17
16:17 schmalbe left
moritz_ s/the/an/ 16:17
TimToady it might not be the path that $!foo uses 16:18
in fact, I think it's quite unlikely
16:19 payload left
TimToady certainly our brains don't access data via introspection :) 16:19
jnthn aye
The introspection way doesn't have to be nice.
moritz_ right 16:20
jnthn I think it falls into the "everything's possible, but some things are discouraged" camp 16:21
16:23 gabiruh left, gabiruh_ joined 16:24 jauaor joined 16:28 dukeleto left 16:29 stephenlb joined
cognominal jnthn, migration is such a scary word :) 16:30
jnthn cognominal: I already did it twice. ;-)
OK, sleep time here :-) 16:31
night all
moritz_ good night 16:32
16:33 abra joined 16:35 rfordinal left 16:40 masak left
ruoso TimToady, have you seen my comments on the slides you mentioned? 17:13
TimToady yes, and I don't think you've quite got the distinction Guy was trying to make wrt flat lists 17:15
17:16 zloyrusskiy joined
TimToady you're assuming the "divide" has already happened on the divide-and-conquer, while I'm saying that our iterator interface needs to support "divide" 17:20
and not just in the car/cdr sense, which is Guy's point 17:21
ruoso TimToady, er... I was actually assuming that our interface for "get the elements for the first dimenion" is how we ask the split to happen 17:26
there's no need for both APIs
I mean... if the list supports this kind of splitting, it should be able to split itself in the "first dimension" 17:27
TimToady something has to request that explicitly, or we get confused with real multi-dims
ruoso but that's something good
TimToady not for generic code 17:28
ruoso (map {... }, @a, map {...}, @b)
er...
((map {... }, @a),( map {...}, @b))
17:28 stephenl1 joined
TimToady there might be diffulties with ambiguous dispatch too 17:29
*difficulties with spelling too...
ruoso my point is that keeping the same primitives will make regular code more parallelizable 17:30
TimToady anyway, at the iterator level we need some way to tell the iterator to make multiple threads
ruoso In my head, every iterator is associated with a "pipe" (in the unix sense) 17:31
17:31 M_o_C joined
ruoso (but not in the unix implementation) 17:31
I mean...
TimToady pipes single threaded in the "bad" sense Guy is talking about 17:32
ruoso every lazy operation is automatically splitted in several "light threads"
17:32 abra left
ruoso that's the point... they're not single-threaded 17:32
TimToady well, lazy lists are single-threaded more-or-less by definition
it's the eager and hyper you can parallelize 17:33
and hyper explicitly requests it
ruoso but I think I see what you mean now, we need to specifiy what "hyper iterator" means
TimToady yeah, I'm kinda groping for the same kind of thing Guy is talking about there 17:34
he is, of course, much more eloquent on the subject
but I also just want to alert our "design team" to keep a watch for other spots where we might have made Von Neumann assumptions unnecessarily 17:35
ruoso I see...
17:35 zamolxes joined
ruoso basically, we need a parallelizable way to iterate ((map {...},@a),(map {...},@b)) 17:36
TimToady we need a way to turn map {...}, @c into that
and it seems like asking @c to divide itself is close to the right way 17:37
if it degrades to car/cdr, that's no worse than we were :)
abstractly speacking
*speaking, gah, can't type today 17:38
17:38 stephenlb left
pugs_svn r28254 | moritz++ | [new perl6.org] initial menu (not yet styled) 17:38
ruoso TimToady, isn't "divide itself" the same as "car/cdr" implemented in OO? 17:40
TimToady did anyone here grab the #perl6 twitter account? It's "taken"...
I don't understand your question 17:41
did you look at Guy's slides about balanced tree reprs?
17:41 astinus_ is now known as astinus
ruoso TimToady, yeah, but I don't see very much how that fits with lazyness 17:42
17:42 rbaumer left
ruoso he kinda assumes the cost of generating the data structures to be nil 17:42
i.e. the data is already there
TimToady he kinda assumes we're going to have parallism
*parallelism 17:43
ruoso but "balanced tree" doesn't make much sense with lazyness
TimToady we're not talking about lazyness here
we're talking about hyper
17:43 hudnix joined
ruoso I'm talking about mixing both 17:44
how do hypers operate on lazy lists
(trees, actually, if you consider it doesn't flatten)
TimToady hypers are contextual, and bias all the operations away from lazy within their scope 17:45
it's quite possible that hyper and eager are the same thing in the long run 17:46
unless there's a good reason to bias things toward multiple threads vs one thread of eagerness 17:47
ruoso TimToady, that's my point
TimToady well, that's not what you said
you were talking about laziness
ruoso ok... I didn't express myself very well
I was talking about the process of consuming a lazy list inside an hyper operation 17:48
pugs_svn r28255 | moritz++ | [perl6.org] set svn props, convert NOTES and TODO to unix/native line endings
TimToady think more like P5 "there's no such thing as a list in scalar context"
ruoso I should have said capture instead of list 17:49
since it's multidimensional
TimToady I look at it like this, when you start up an iterator, you can "work ahead". and lazy/eager/hyper allocate 0/1/* threads to working ahead 17:50
ruoso right... that's what I have in mind too 17:51
TimToady depending on the data structure coming in, we may have several different ways of divvying up the work 17:53
ruoso right... my idea was to use the multi-dimensionality to do that
TimToady including degrading hyper to eager
where eager is more or less car/cdr
17:53 SmokeMachine left
TimToady that feels like a mistake to me 17:53
ruoso it comes with the benefit that situations like ((map {...},@a),(map {...},@b)) naturally are more parallelizable 17:54
TimToady let's put it this way, the parallelizer can use dimensionality if it's there, but dimensionality is not the only way to do that 17:55
ruoso that'd be fine 17:56
ruoso needs to go extinguish a fire
TimToady hijacking the dimensionality notation for that therefore feels like a mismatch, but then, maybe so is my conjecture 17:57
and it's all done on the make-me-an-iterator level 17:58
but that iterator also has to be dealable-with in a non car/cdr fashion, maybe that's the crux of the problem
ruoso I think then it's the Iterator that would answer the "divide", not the list 17:59
then the Iterator would look "is this multidim?"
and decide the best strategy to parallelize its own consuming
ruoso brb & 18:00
18:08 ejs left, sm^^^ joined 18:11 sevvie left 18:14 stephenl1 is now known as stephenlb 18:18 sm` left 18:32 kent\n left 18:40 meppl left 18:51 PZt left
pugs_svn r28256 | diakopter++ | [std-vijs] initial JS interpreter (emitter, mostly). will add readme soon 18:53
19:01 cmv joined
pugs_svn r28257 | diakopter++ | [std-vijs] oops; forgot comment open when pasting non-copyright notice in json2.js 19:09
19:21 rapacity joined
ruoso back 19:28
TimToady, so, what do you think of letting the decision of parallelization strategy to the iterator? 19:29
instead of the list, that is
TimToady a list might want to choose an alternate implementation (balanced trees) if it knows it will be used by a hyper iterator 19:30
mainly we need to make sure the API will support context propagation 19:33
pugs_svn r28258 | diakopter++ | [std-vijs] added README, for moritz_++ moritz++
ruoso TimToady, there's a detail...
the Iterator is returned by the list
and the context of the iterator is propagated 19:34
(flattening vs non-flatteniing)
I guess an hyper operator would ask for parallel instances of that iterator 19:36
for (1..$max_threads) { my $subiterator = $iterator.parallel; ... } 19:37
TimToady perhaps some kind of hypermap is primitive 19:38
at some point we hit a scheduler, and it will have some notion of threads 19:39
ruoso rewriting the above snippet....
for $iterator.parallel -> $subiterator { async { ... } } 19:40
TimToady and perhaps there's some SIMD interface to the scheduler resembling a hypermap
(not SIMD in the lockstep sense)
ruoso in my head, every iterator has two ends, and two threads are connected to each end... in $iterator.parallel, this iterator will have several outputs, and one thread to each output 19:41
TimToady your .parallel is returning a lazy list of threads?
ruoso a lazy list of iterators to be managed by different threads 19:42
TimToady you're assuming a hyper context there...
ruoso yes
TimToady how do you maintain the order of the thread results?
ruoso getting the results in the order you got the original iterators 19:43
19:43 PZt joined
TimToady still seems like you're assuming the solution in your solutoin 19:43
ruoso hm? 19:44
the result is (@lazy_result_for_p_iterator_1, @lazy_result_for_p_iterator_2, ... ) 19:45
19:45 Intensity left
dalek kudo: 177a379 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 436 files, 15497 (71.5% of 21671) pass, 0 fail
19:46
TimToady okay, if each of those can in turn be lazy results, all autoflattened, then it'll probably work
but we have to be able to divide the problem without inducing extra capture structure 19:49
since the user may be depending on what the user expects :)
ruoso I guess the fact that the List is returning the Iterator allows the list to decide that 19:50
in the end, it's everything in the control of the list
and it might see: This is simply a range object, I can get the first half and the second half as parallel threads...
TimToady my conjecture was aimed at trying to use multiple dispatch to distinguish the splittable from non-splittable cases 19:51
ruoso hmm... 19:52
TimToady but it might be malformed
ruoso trying to see what that really means
TimToady something that distinguishes leaves from branches, basically
ruoso I think it's probably better to avoid exposing that kind of logic 19:53
TimToady but if the hypermap is a primitive, what would you write differently in the body
?
yes
well, let's see how it works out underneath and then talk about exposition :) 19:54
ruoso I think hypermap would replace the for $iterator.parallel -> $subiterator { async { ... } } part
;)
basically, it would implement that logic
19:54 zloyrusskiy left
ruoso hypermap { something() }, @a; 19:55
would result in for @a.Iterator.parallel -> $subiterator { async { while (my $item = $subiterator.get) { something() } } } 19:56
19:56 jaldhar left
TimToady without making separate captures for each result like ordinary map does 19:57
ruoso hmm... I was afraid you'd say that ;)
but yes, it makes sense
19:59 mikehh left
TimToady phone 20:00
20:01 jaldhar joined
ruoso TimToady, but I thought map was already potentially hyper, wasn't it? 20:01
20:02 __ash__ joined 20:03 Intensity joined 20:05 SmokeMachine joined
moritz_ diakopter: does the v8 build-from-source has to be trunk? or is a release new enough? 20:08
(taking trunk now) 20:10
__ash__ moritz_ i have a question about roles, if you have a role that has some attributes, like say role property { has $.type is rw; has $.attr is rw; } can you set that when do a does statement like... my $a does property('foo', 'bar'); ? 20:14
TimToady ruoso: not sure if 'hyper map' is the primitive or not
20:15 iblechbot joined
moritz_ __ash__: I think you need named arguments for that... I have to look it up in S14... 20:15
TimToady arguably the primitive hypermap is more like, "traverse this capture tree and apply code to each node"
moritz_ S14 says "A role applied with does may be parameterized with an initializer in parentheses, but only if the role supplies exactly one attribute to the mixin class:" 20:16
it's silent about the syntax for multiiple attributes 20:17
maybe it's does property[:foo<foo>, :bar<bar>] or so
or maybe the "parameterized" is not the same as in "parameterized role" 20:19
__ash__ well, for now i am just doing it over multiple lines of $a.type = 'foo'; $a.attr = 'bar'; i just was wondering if there was a constructor or something i could override
well, not really a constructor but whatever a role equivilent would be
20:20 jaldhar left, jauaor left
diakopter moritz_: trunk is "stable"... bleeding_edge is not 20:20
moritz_: (pushes to trunk are "releases", essentially) 20:22
moritz_ ok, installing V8 and perl-v8 seemed to work 20:23
ruoso TimToady, but map already has to traverse the sub-captures anyway 20:31
the map closure never sees a branch, it only sees the leafs
20:32 tann joined
tann rakudo: caller; # :) 20:33
p6eval rakudo 177a37: OUTPUT«caller() is not yet implemented in Rakudo, sorry␤in sub caller (src/gen_setting.pm:1842)␤called from Main (/tmp/kJv3Xp4Q50:2)␤»
TimToady but the hyper map may well want to delegate higher level nodes one way or another, so the tree structure ends up as implementation structure, not just solution structure 20:34
ruoso TimToady, I see, but I mean, in terms of execution strategy, are we enforcing that map will run sequentially? 20:35
TimToady makes sense to be sequential when you're lazy 20:36
ruoso if we allow map to run in several threads, it already can behave as the hypermap
TimToady and lazy is the default
ruoso but that's why it's the list that returns the iterator
and the list knows if it makes sense to be parallel or not
TimToady sorry, still trying to pay attention to phone call
ruoso in summary: map already fullfits the purpose of the hypermap you're proposing 20:37
pugs_svn r28259 | moritz++ | [src/perl6] 'make snap' should copy viv, and symlink the js/ directory 20:40
r28260 | moritz++ | [evalbot] vijs target 20:42
20:42 p6eval left 20:43 p6eval joined
diakopter vijs: say(20,3) 20:43
p6eval vijs 28259: OUTPUT«sh: /usr/bin/perlviv: No such file or directory␤»
20:43 alexn_org joined
diakopter WOW it's FAST 20:43
20:44 japhb left 20:45 pmurias joined
pugs_svn r28261 | diakopter++ | fix typo 20:48
diakopter p6eval: restart
p6eval: control restart
evalbot control restart
20:48 p6eval left 20:49 p6eval joined
pmurias vivjs: say "hi" 20:49
diakopter nope
20:49 p6eval left
diakopter tee hee 20:49
moritz_ just a sec
20:49 p6eval joined
moritz_ vivjs: say 'hi' 20:49
vijs: say 'hi' 20:50
p6eval vijs 28259: OUTPUT«Undefined subroutine &ToJS::emit_js called at viv line 154.␤»
pmurias timeout?
diakopter oh it needs ToJS.pm too.
the snap
pugs_svn r28262 | moritz++ | [src/perl6] copy ToJS.pm to snap 20:51
20:51 Lorn_ joined
moritz_ vijs: say 'hi' 20:51
p6eval vijs 28259: OUTPUT«execute(): execute error: Type quote__S_Single_Single not found!␤undefined at viv line 154.␤{"T":"quote__S_Single_Single","BEG":4,"WS":1,"_specific":1,"SYM":"---\n- ''''\n- 20:52
..''''\n","nibble":{"T":"nibbler","TEXT":"hi","BEG":5,"nibbles":[],"END":7},"END":8,"M":{"T":"nibbler","TEXT":"…
diakopter tee hee
moritz_ vijs: say(42)
p6eval vijs 28259: OUTPUT«42␤␤ time in interpreter: 0.009774 s␤»
diakopter it needs a better "not implemented" exception
pmurias diakopter: i'm not sure adding a --js option to viv is a good idea 20:54
diakopter see the readme; it'll be its own Actions override at some point.
till then, --js isn't in anyone's way afaik 20:55
20:56 Lorn left
diakopter vijs: say(3,4) 20:56
p6eval vijs 28259: OUTPUT«34␤␤ time in interpreter: 0.031730 s␤»
pmurias the README doesn't clearly imply that it will be detached from viv at a later point 20:57
diakopter it wouldn't be detached from viv; it would still use Actions from viv 20:58
jrtayloriv TOP is just the "start symbol" for my grammar, correct? If so, is that just a convention, or does TOP have some special meaning in Perl6?
20:58 dakkar left
moritz_ .parse calls TOP - that's the only speciality 20:59
pmichaud TOP is specifically defined as the start symbol in a grammar
moritz_ (and .parsefile does too)
pmurias diakopter: mildew includes stuff from viv using do 'viv'
diakopter ok... I didn't add any dependencies. 21:00
(that aren't string-eval'd) :)
moritz_ I think it's fine for now
diakopter lol at nibbles/nibbler 21:02
moritz_ anyway, diakopter++ for yet another Perl 6 compiler!
diakopter <sigh /> like the 5th [false] start from me.
21:04 alexn_org left
jrtayloriv moritz_, pmichaud -- thanks for clearing that up 21:04
moritz_ diakopter++ # still trying after 4 failed attempts
diakopter hm.
vijs: say(3,4,5) 21:05
p6eval vijs 28262: OUTPUT«345␤␤ time in interpreter: 0.017193 s␤»
diakopter vijs: say(3,4,5,6)
p6eval vijs 28262: OUTPUT«3456␤␤ time in interpreter: 0.020439 s␤» 21:06
moritz_ vijs: say(3, say(5)) 21:07
p6eval vijs 28262: OUTPUT«5␤3␤␤ time in interpreter: 0.017085 s␤»
21:07 sri_kraih left 21:08 jauaor joined
moritz_ vijs: say(5, say(3), say(4)) 21:08
p6eval vijs 28262: OUTPUT«3␤4␤5␤␤ time in interpreter: 0.024220 s␤»
diakopter :) (I dunno) 21:21
moritz_ so say() doesn't return 1 yet, it seems 21:22
21:23 M_o_C left 21:29 payload joined 21:44 japhb joined 21:53 mberends left 21:55 ruoso left 21:58 mikehh joined
mikehh rakudo (177a379) builds on parrot r41308 - make test PASS / make spectest (up to 28262) FAIL - Ubuntu 9.04 amd64 22:01
rakudo - t/spec/S02-magicals/env.rakudo - Failed tests: 7, 10
rakudo - t/spec/S02-names_and_variables/perl.rakudo - Failed tests: 71, 73, 77, 81, 83
rakudo - t/spec/S06-signature/slurpy-and-interplation.t - Failed test: 6
rakudo - t/spec/S10-packages/basic.rakudo - TODO passed: 3
22:02 KyleHa left 22:06 sri_kraih joined
pmichaud yes, I'm seeing failures in Rakudo as well (against Parrot r41267 22:08
running another set of tests... 22:10
pugs_svn r28263 | diakopter++ | [vijs] move some JS out of viv; make say() return 1 22:11
diakopter it's funny how my irc client gets notification of the svn commit before my svn client.
22:18 pmurias left, pmurias joined 22:19 stephenlb left 22:22 stephenlb joined
pmurias perl6: say (say 3) 22:27
p6eval elf 28263, pugs, rakudo 177a37: OUTPUT«3␤1␤»
22:27 pmurias left
mikehh pmichaud: everything passed for me on r41295 - rakudo (d1f2d4c) - make spectest (up to 28251) PASS 22:27
22:29 nihiliad left, synth^2 joined 22:30 synth left, cmv left 22:35 iblechbot left
diakopter TimToady: why is nibbler's SYM == "---\n- '\"'\n- '\"'\n" 22:40
22:46 jrtayloriv left, jrtayloriv joined
mikehh I don't think the rakudo failures are a parrot problen - I re-installed parrot r41295 on which rakudo had previously PASSed make spectest and it gives the same failures 22:52
22:54 hercynium joined 22:56 |Jedai| left
TimToady diakopter: hoistast does that if it sees something it doesn't grok 22:56
pmichaud mikehh: I agree -- they weren't there as of midnight 23:01
diakopter TimToady: what do you mean? it's a valid parse..? 23:04
TimToady well, I assume you wouldn't have got a tree at all if it weren't valid 23:06
diakopter oh
TimToady but I have no idea what you were trying to parse
diakopter say(" ")
pmichaud mikehh: I'm guessing it's the "translate Mapping.perl to the setting" commit that is causing problems. 23:07
TimToady you can probably safely ignore it
23:09 payload left 23:10 synth joined
diakopter TimToady: I don't know how to interpret quote__S_Double_Double 23:11
it has the .nibble member
23:12 synth^2 left, sevvie joined
diakopter so I guess my question is, how do I know when to descend into the .nibble member. 23:12
hrm.
hercynium does the happy dance 23:13
my second system shirt came in today 23:14
pmichaud does it look any good?
hercynium yeah
the printing seems to be a dye instead of screened
Even fine print like the "TM" mark is clear 23:15
pmichaud excellent!
hercynium the material is thicker than this year's YAPC::NA shirt... it's about the same thickness/texture to the 2007 YAPC::NA shirt 23:16
pmichaud this one came from spreadshirt, yes?
hercynium uep
pmichaud okay, good to know.
I'll see about ordering one for me :)
hercynium shipping was quick, shipped the next day from someplace in PA, delivery confirmation was included.
TimToady diakopter: looks like it's loosing the TEXT nodes of the nibbles, probably about the same time it's generating the bad SYM 23:21
*losing
pmichaud a-ha.... the Mapping change forgot to add Mapping.pm to the setting 23:22
diakopter oh...
pmichaud fixes Makefile.in and re-spectests 23:23
diakopter TimToady: it's like SYM got yamlized 23:26
TimToady diakopter: that's from the ::Dump in viv
lisppaste3 diakopter pasted "yamlized" at paste.lisp.org/display/87203
TimToady if you add a -m to the viv you can see the original match too, and the nibbles are all there in that form, so it's another tree-rewrite malformation, probably 23:27
pmichaud diakopter++ # I'm really happy to see vijs 23:28
diakopter pmichaud: thanks :) .oO( someone to pre-debug STD for you ) :P 23:29
23:29 __ash__ left
TimToady hides behind a stop sign 23:29
pmichaud yes, that's part of it, but also because I'm also wanting to evaluate other backends for Perl 6 (i.e., other than Parrot)
diakopter oh.. I read something about parrot morphing into an llvm IR generator? 23:30
pmichaud yes, that's another piece that is gaining momentum
but more to the point I'm also hoping that the PGE rewrite will be retargetable to other platforms (e.g., javascript, jvm, clr) 23:31
or at least that it can be a good starting point for other platforms
so more than simply debugging STD, you're also exploring the javascript vm a fair bit
that might end up being a big Win 23:32
diakopter yeah; V8 works great on i386, amd64, and arm 23:33
vijs: say(say(3),say(4)) 23:34
p6eval vijs 28263: OUTPUT«3␤4␤11␤␤ time in interpreter: 0.019825 s␤»
TimToady diakopter: reproduced the :3 loop here, though it's a large loop, alas, so something probably backtracking badly
23:34 justatheory left
diakopter o 23:37
well, the yamlized thing I pasted got better when I replaced '::Dump($v)' with '$v' in hoistast 23:43
now I can see it's an array of the quotation marks the nibbler nibbled 23:44
23:45 payload joined
diakopter I mean, it doesn't need to be double-yamlized 23:46
or just plain double-serialized/marshalled/whatever
TimToady SYM is not supposed to be there at all
I suspect 23:47
pugs_svn r28264 | lwall++ | [STD] trap malformed :3 radix 23:49
23:53 frew_ joined