Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-05-23

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:09 cmarcelo joined #perl6
00:20 donaldh joined #perl6
00:43 stevan_ joined #perl6
00:49 cognominal__ joined #perl6
01:13 cognominal__ joined #perl6
01:25 Ched- joined #perl6
02:35 eternaleye joined #perl6
02:45 Eevee joined #perl6
03:04 rindolf joined #perl6
03:38 snooper joined #perl6
05:23 alester joined #perl6
05:23 bsb_ joined #perl6
05:24 alc joined #perl6
05:35 pmichaud perl:  my @a = 1, 2, 3;   say @a.WHAT;
05:35 pmichaud perl6:  my @a = 1, 2, 3;   say @a.WHAT;
05:35 exp_evalbot kp6: OUTPUT[syntax error at position 9, line 1 column 9:␤my @a = 1, 2, 3;   say @a.WHAT␤         ^ HERE␤]
05:35 exp_evalbot ..pugs: OUTPUT[Array␤]
05:35 exp_evalbot ..rakudo: OUTPUT[Int␤]
05:35 pmichaud perl6:  say (1,2,3).WHAT;
05:36 exp_evalbot kp6: OUTPUT[Out of memory!␤Out of memory!␤]
05:36 exp_evalbot ..pugs: OUTPUT[Array␤]
05:36 exp_evalbot ..rakudo: OUTPUT[List␤]
05:46 meppl joined #perl6
06:00 donaldh joined #perl6
06:37 vixey joined #perl6
06:48 vixey In rakudo/perl6, who creates perl6str.c?
06:48 vixey oops sorry, it says right here This file is generated automatically from './perl6str.pmc'
07:31 pmurias joined #perl6
07:35 pmurias what's the right phrase for "the ways a implementation differs from the spec, adding some things in a different worse way"
07:35 vixey distasteful deviations
07:37 pmurias ;)
07:46 moritz_ good morning
07:46 IllvilJa joined #perl6
07:52 bsb_ left #perl6
07:53 elmex joined #perl6
08:03 iblechbot joined #perl6
08:17 vixey I wonder why elf_f has got sub initialize_notes{my $self=CORE::shift;(do{$self->notes({});
08:17 vixey but elf_f0 has sub initialize_notes{my $self=CORE::shift;(do{($self->notes() = {});
08:18 moritz_ vixey: maybe that's part of the move to a different accessor syntax
08:24 pmurias vixey: it was changed
08:24 pmurias well, i changed it
08:24 pmurias use elf_f_faster instead of elf_f
08:24 vixey so Can't modify non-lvalue subroutine call at ../elf_f0 line 2655. is supposed to happen?
08:24 pmurias elf_f is broken
08:25 donaldh left #perl6
08:26 vixey How will $self->notes() = {} be able to work in the future?
08:26 vixey is this autobox?
08:26 pmurias it works in the elf_f_faster
08:27 pmurias using lvalue subroutines
08:27 vixey % ../elf_f_faster -x -o ../elf_f0 Elf.pm  % ../elf_f0 -x -o ../elf_f1 Elf.pm  work
08:28 vixey but % ../elf_f1 -x -o ../elf_f2 Elf.pm still has Can't modify non-lvalue subroutine call
08:28 pmurias there are 2 elfs
08:28 zamolxes joined #perl6
08:28 pmurias the old broken and moosish elf_f, and the slighly newer faster elf_f_faster
08:29 vixey Oh, I see!
08:31 vixey cool Elf_Faster.pm actually bootstrapped
08:45 laye joined #perl6
08:56 cognominal_ joined #perl6
09:05 masak joined #perl6
09:27 Juerd moritz_: Apache2 upgrade appears to help. I'm changing the auto kill to 12 hours instead of 3
09:27 moritz_ Juerd: it still leaks; I vote for 6 hours ;)
09:28 Juerd It leaks less than 4 times what it did
09:28 Juerd I'll do 6 hours now; can always increase it if the chart stays linear
09:32 [particle] joined #perl6
09:33 moritz_ Juerd: I suppose you already tried to decrease the min and max spare server processes?
09:35 Juerd No
09:35 vixey I think I fixed for in elf
09:35 vixey t/kp6/45-for.t works now but didn't befor
09:35 Juerd I assume that a spare server does not leak. It might use memory, but a constant amount that can relatively safely be swapped away.
09:35 moritz_ vixey: commit it, ship it!
09:35 Juerd ship it?
09:35 Juerd :)
09:35 Juerd In a shrinkwrapped box?
09:36 vixey hehe
09:36 moritz_ vixey: do you have a commit bit already?
09:36 vixey I did..
09:37 wknight8111 joined #perl6
09:38 moritz_ uhm, commitbit is down :(
09:38 vixey can't remember my password though
09:39 moritz_ vixey: I'll resend it as soon as somebody (/me glances over his shoulder in Juerd's direction) re-enables commitbit
09:39 vixey ok ty :)
09:40 moritz_ but first I have to get some food &
09:44 pugs_svnbot r20501 | fax++ | [elf] Small fix to EmitSimpleP5 to make kp6 for loop test work
09:46 vixey svn remembers my pw in my other user somehow.
09:50 moritz_ very good ;)
09:50 moritz_ vixey++
09:50 vixey ooh I got it back
09:50 vixey ty :)
09:56 pmurias vixey: did you ci the executable?
09:56 vixey no :S
09:56 vixey It turns out I made the test work but this interferes with bootstrapping
09:57 pmurias revert ;)
10:02 moritz_ obra: could you please try to fix commitbit? it's down, and I don't know what to do
10:05 pmurias vixey: you may have uncovered a bug, as the you commit seems to be correct
10:06 pmurias i'm looking into it
10:07 vixey I am trying to figure it out too
10:12 ruoso joined #perl6
10:15 obra moritz_: what's wrong?
10:16 moritz_ obra: 503 service temp. unavailable
10:17 pmurias vixey: for $array -> $var {} and for $array {}, have different ast
10:17 obra so. I've logged into feather exactly twice. what's the apache errro log say?
10:17 vixey how do you look at the AST ?
10:17 vixey It's the same as with kp6?
10:17 pmurias if you use the -v option it prints out the ast
10:17 vixey oh cool
10:17 pmurias the format it prints ast out in actually sucks
10:18 moritz_ obra: I just saw in /etc/sudoers that your name was associated with commit bit, so I thought you knew :/
10:18 pmurias as it prints attribiutes as positionals in the order they are specified in nodes_create.pl
10:19 obra moritz_: at one point, I helped audrey triage it
10:19 moritz_ [Fri May 23 12:19:40 2008] [error] proxy: HTTP: disabled connection for (commitbit.pugscode.org)
10:20 obra did feather's ssh key change?
10:20 moritz_ yes
10:20 obra new key starts 44:88?
10:21 moritz_ how do I find out? ;-)
10:23 moritz_ 1024 cf:8c:46:ff:41:f5:b5:e0:07:73:3d:6b:30:7c:2f:56 /etc/ssh/ssh_host_dsa_key.pub
10:23 moritz_ 2048 44:88:fb:48:cb:79:72:da:67:bd:18:4f:84:d9:2a:cf /etc/ssh/ssh_host_rsa_key.pub
10:23 obra moritz_: poking
10:26 obra moritz_: it looks like someone upgraded perl and didn't install jifty. any chance that'swhat happened?
10:27 moritz_ obra: yes, possible
10:27 moritz_ obra: debian unstable had the ->5.10.0 transition the other day
10:28 obra oh jesus.
10:28 moritz_ if that's the only problem I can probably fix it
10:28 obra feather just takes debian stable update?
10:28 obra well, that's the first problem
10:28 obra s/stable/unstable/
10:29 pmurias vixey: want be to fix the bug, or are you doing it yourself
10:29 pmurias ?
10:29 vixey I think I just fixed it
10:29 obra assuming that jifty is nstalled, as www-data, you need to
10:29 obra cd /data/svn/commitbit
10:29 obra ./bin/jifty server 6666 &
10:29 moritz_ ok, I'll try that
10:30 vixey pmurias: the test works again, if this bootstraps shall I commit
10:30 vixey ?
10:30 pmurias ;)
10:30 pmurias yes
10:30 obra moritz_: I have my password and a small timeslice, so may be able to help as you try to get it going
10:31 pmurias you may also try mncharity's misc/elfish/showcode
10:31 pugs_svnbot r20502 | fax++ | [elf] bootstrapping again *phew*
10:33 vixey hm :S
10:34 ruoso obra, are the modules installed using cpan? or using dh-make-perl/cpanplus-dist-deb?
10:34 moritz_ ruoso: I'm just now building them with dh-make-perl
10:34 * ruoso have the update pending because of the whole lot of modules that needs to be recompiled
10:35 pmurias vixey: what does the :S refer to?
10:35 ruoso ruoso@pitombeira:~$ ls -1 /home/ruoso/devel/perlmodules/*.deb | wc -l
10:35 ruoso 56
10:35 ruoso pmurias, usually :S is a smiley ;) ;)
10:35 vixey pmurias: it turns out that $n.block.WHAT eq 'SubDecl' doesn't get triggered
10:36 moritz_ moritz@trudi:~>ls install/lib*perl*.deb debian/lib*perl*.deb|wc -l
10:36 moritz_ 86
10:36 moritz_ ruoso: I won ;)
10:36 ruoso geez
10:36 ruoso are you upgrading already?
10:37 moritz_ that was my local machine
10:37 moritz_ I'm currently working on feather
10:37 ruoso that was my local too
10:38 ruoso but this upgrade makes me regret not taking the time to package the modules properly and upload to debian...
10:38 ruoso the transition would come for free
10:38 moritz_ aye
10:39 pmurias vixey: got to run for lunch&
10:40 vixey (I got it bootstrapping and the test working now)
10:40 moritz_ ruoso: are you a debian developer?
10:41 pmurias i guess that "if it bootstraps you can commit" is the guideline
10:41 ruoso moritz_, yes...
10:41 ruoso moritz_, one of the "debian perl group" founders.. ;)
10:43 moritz_ ruoso: my dream would be a cpan mirror that automagically builds debian packages from all modules
10:44 ruoso I was thinking...
10:44 ruoso and I think it should be possible to do a debian source repository directly from cpan
10:44 ruoso and then use apt-build
10:45 moritz_ problem is that some modules have external dependencies that aren't declared anywhere
10:46 ruoso moritz_, that's the main reason why debian packages for perl modules are always human-reviewed
10:48 ruoso the other is proper copyright proof-reading
10:48 pugs_svnbot r20503 | fax++ | [elf] bootstrapping again and for working with SubDecls
10:52 ruoso moritz_, are you aware that you can work with packaging of perl modules for debian without being a debian developer?
10:52 moritz_ ruoso: I am, but atm I lack tuits and (skill/practice)
10:53 ruoso moritz_, when you have any time... get to #debian-perl@oftc..
10:53 ruoso people there are usually very helpful
10:53 ruoso you can also register in alioth and ask for membership...
10:53 ruoso memberships on the debian perl group usually follows the same policy as pugs commitbit
10:53 moritz_ ;)
11:03 icwiener joined #perl6
11:06 * vixey thinks that .. STD_red std.rb doesn't parse post if?
11:09 moritz_ obra: I installed all dependencies (d'oh what a mess) and now I get
11:09 moritz_ bind: Permission denied at /usr/share/perl5/HTTP/Server/Simple.pm line 697, <DATA> line 16.
11:10 moritz_ (after './bin/jifty server 6666')
11:10 Juerd obra: Yes, feather's ssh key changed. No, feather does not take from Debian Stable, but instead Unstable (sid). Stable is not up-to-date enough for feather's purpose.
11:26 obra oh. it may be --port 6666
11:28 moritz_ YaY, works!
11:29 moritz_ commitbit is up again
11:31 Juerd obra++
11:33 obra moritz_++ # did all the work
11:33 Juerd Oh, moritz
11:33 Juerd Oh, moritz++ then
11:33 Juerd (+ is too close to enter on dvorak)
11:34 Juerd (Or maybe someone with inaccurate fingers just shouldn't type)
11:34 obra I just logged in and looked at where it was installed :)
11:37 pugs_svnbot r20504 | fax++ | [elf] for loop is now sane
11:38 vixey what does .pm stand for?
11:38 Juerd Perl Module
11:39 moritz_ or "perl mongers group" (depending on context)
11:50 FurnaceBoy joined #perl6
11:51 pmurias joined #perl6
12:01 pugs_svnbot r20505 | pmurias++ | [elf] propagated working for's (vixey++) into the executable
12:04 pugs_svnbot r20506 | fax++ | [elf] added a bit to Match.pm making t/kp6/30-prelude-match.t pass
12:16 vixey tests are supposed to print out like
12:16 vixey 1..4
12:16 vixey ok 1
12:16 vixey ok 2
12:16 vixey if a test prints
12:16 vixey 1..4
12:16 vixey ok
12:16 vixey ok
12:17 vixey is that a bad test?
12:17 vixey (e.g. ../../../v6/v6-KindaPerl6/t/kp6/45-for.t)
12:17 moritz_ don't know, maybe it's described here? http://en.wikipedia.org/wiki/Test_Anything_Protocol
12:18 vixey oh I didn't know it was an actual format, thanks
12:18 moritz_ TAP expects the ok or not ok to be followed by a test point number. If there is no number the harness must maintain its own counter until the script supplies test numbers again. So the following test output
12:18 ispy_ joined #perl6
12:18 moritz_ 1..6
12:18 moritz_ not ok
12:18 moritz_ ok
12:18 moritz_ not ok
12:18 moritz_ ok
12:18 moritz_ ok
12:18 moritz_ has five tests. The sixth is missing. Test::Harness will generate
12:18 moritz_ FAILED tests 1, 3, 6
12:18 moritz_ Failed 3/6 tests, 50.00% okay
12:18 moritz_ http://search.cpan.org/~petdance/TAP-1.00/TAP.pm
12:18 lambdabot Title: TAP - The Test Anything Protocal - search.cpan.org
12:20 moritz_ to summarize: it's ok, but it's not nice ;)
12:23 moritz_ does run_tests use elf_f_faster by default?
12:23 vixey no I think it's got to be make run_tests_faster for elf_f_faster
12:24 vixey it'll use elf_f otherwise
12:25 moritz_ ./run-tests elf_f_faster
12:25 vixey but I think that it's not checking the test results perfectly
12:25 vixey (when it doesn't have numbers after each ok)
12:26 moritz_ it uses its own parser?
12:33 vixey yes
12:38 moritz_ @karma vixey
12:38 lambdabot vixey has a karma of 1
12:38 moritz_ @karma fax
12:38 lambdabot fax has a karma of 26
12:40 pmichaud pugs:  say(1, 2, c=>3, 4);
12:40 exp_evalbot OUTPUT[*** Named argument found where no matched parameter expected: ("c",Ann (Pos (MkPos "/tmp/DkyrPI9Zgf" 1 14 1 15)) (Val (VInt 3)))␤    at /tmp/DkyrPI9Zgf line 1, column 1-19␤]
12:41 pmichaud pugs: say((1, 2, c=>3, 4))
12:41 exp_evalbot OUTPUT[12c      34␤]
12:41 moritz_ pugs: say \(1, 2, c => 3, 4)
12:41 exp_evalbot OUTPUT[CaptSub {c_feeds = [:MkFeed {f_positionals = [:IFinite 1,IFinite 2,IFinite 4:], f_nameds = fromList [("c",[:IFinite 3:])]}:]}␤]
12:41 pmichaud pugs: say(list(1, 2, c=>3, 4))
12:41 exp_evalbot OUTPUT[12c      34␤]
12:42 wknight8111 joined #perl6
12:43 pmichaud okay.... why does list(1, 2, c=>3, 4)  work?
12:43 pmichaud but say(1, 2, c=>3, 4)  doesnt?
12:43 moritz_ pmichaud: because c=>3 is a named argument
12:44 moritz_ pmichaud: whereas list(...) is a single list
12:44 pmichaud yes, that's kinda my point.  why isn't it a named argument to list?
12:44 moritz_ pmichaud: it is, but I guess that list() has a slurpy signature
12:44 pmichaud say has a slurpy signature.
12:45 moritz_ uhm
12:45 moritz_ maybe list() is a "magic" operator?
12:46 pmichaud pugs:  (1, 2, c=>3, 4).say
12:46 exp_evalbot OUTPUT[12c      34␤]
12:47 moritz_ pugs: say (1, 2, c=>3, 4).WHAT
12:47 exp_evalbot OUTPUT[Array␤]
12:48 cmarcelo joined #perl6
12:52 pmichaud pugs:  my &sub = &list;   say  &sub(1, 2, c=>3, 4).WHAT;
12:52 exp_evalbot OUTPUT[*** Can't modify constant item: VStr "MkCode {isMulti = True, subName = \"&\", subType = SubPrim, subOuterPads = [], subInnerPad = MkPad (padToList []), subPackage = , subAssoc = AIrrelevantToParsing, subParams = [], subBindings = [], subSlurpLimit = [], subReturns = (mkType \"Any\"),
12:52 exp_evalbot ..subLValue = False, subBody = Prim ([Pugs.AST.Internals...
12:52 pmichaud my &f = &list;   say  f(1, 2, c=>3, 4).WHAT;
12:52 pmichaud pugs:  my &f = &list;   say  f(1, 2, c=>3, 4).WHAT;
12:52 exp_evalbot OUTPUT[*** Can't modify constant item: VStr "MkCode {isMulti = True, subName = \"&\", subType = SubPrim, subOuterPads = [], subInnerPad = MkPad (padToList []), subPackage = , subAssoc = AIrrelevantToParsing, subParams = [], subBindings = [], subSlurpLimit = [], subReturns = (mkType \"Any\"),
12:52 exp_evalbot ..subLValue = False, subBody = Prim ([Pugs.AST.Internals...
12:53 moritz_ pugs: my &f := &list; say f(1, 2, c=>3, 4).WHAT;
12:53 exp_evalbot OUTPUT[*** Named argument found where no matched parameter expected: ("c",Ann (Pos (MkPos "/tmp/dNAFlSgTTm" 1 32 1 33)) (Val (VInt 3)))␤    at /tmp/dNAFlSgTTm line 1, column 21-42␤]
12:53 pmichaud looks like perhaps list is "special"
12:53 moritz_ so list *is* special in pugs
12:54 pmichaud (thanks for the := hint)
12:55 moritz_ I never understood why you need it, though ;)
12:56 pmichaud because in list(), the order of "named arguments" (pairs) and positionals is significant
12:56 pmichaud but in other functions, it's not.
12:56 pmichaud foo(1, 2, c=>3, 4)    is the same as foo(1, 2, 4, c=>3)
12:56 pmichaud but not for "list"
12:56 moritz_ aye
12:57 pmichaud so I was wondering how that worked
12:57 moritz_ so do we need the ability to flatten a capture in order?
12:57 moritz_ or special case list() parsing?
12:58 pmichaud I don't know.  Probably a question for TimToady and p6l.  I'm hoping that "list" is special
12:58 pmichaud because if we need the ability to keep track of position of named arguments, then that's going to throw Parrot's named argument handling for a loop
12:59 alester joined #perl6
13:00 moritz_ and I could imagine it would complicate MMD even further
13:00 pmichaud I'm not going there this morning until I've had a Dr. Pepper.  :-)
13:01 moritz_ going where? p6l? or MMD?
13:01 pmichaud MMD.
13:12 cmarcelo left #perl6
13:24 pmichaud pugs:  say(1, (2, 3,), 4);
13:24 exp_evalbot OUTPUT[1234␤]
13:24 pmichaud pugs:  say(1, (c=>2), 3);
13:24 exp_evalbot OUTPUT[1c       23␤]
13:25 pmichaud pugs:  my @a = (2, 3);   say(1, @a, 4);
13:25 exp_evalbot OUTPUT[1234␤]
13:42 meppl joined #perl6
14:03 rindolf joined #perl6
14:05 rdice joined #perl6
14:19 alester joined #perl6
14:24 chris2 joined #perl6
14:40 TJCRI joined #perl6
14:50 sscaffidi joined #perl6
15:14 jhorwitz joined #perl6
15:17 cjfields joined #perl6
15:21 Ched- joined #perl6
15:26 justatheory joined #perl6
15:42 [particle1 joined #perl6
15:43 cjfields_ joined #perl6
15:45 kaether joined #perl6
15:47 Auzon Hi all. Does anyone have Elf running on Debian stable? It's complaining about a strscan library somehow, but strscan's web page says it should be built in all modern Rubys.
15:49 moritz_ Auzon: debian stable doesn't have suficciently new ruby
15:49 moritz_ Auzon: but try install libstrscan-ruby nonetheless
15:50 Auzon The Ruby I'm using is compiled from source
15:50 moritz_ Auzon: would you care to join #parrot on irc.perl.org?
15:50 Auzon Sure
15:50 moritz_ Auzon: we're currently discussing your weekly reports ;)
15:50 pmichaud I propose we move the discussion here.  :-)
15:51 pmichaud we might need to wait for particle -- he may be comcast lagged again :-)
15:51 moritz_ I don't insist on regular interactive meetings
15:51 [particle] Auzon: it's probably a good idea for you to keep #parrot open always
15:51 Auzon ok, [particle]
15:52 moritz_ as long as we have sufficient conversation here, which has so far always been the case
15:52 Auzon Hm. Was I in there before?
15:52 moritz_ Auzon: do you have a soc channel/tag/whatever that can tracked via rss?
15:52 moritz_ Auzon: then it could be aggregated on planet{perl6,parrot}
15:53 Auzon I have a blogger account, which I'm currently planning on using it.
15:53 pmichaud probably not planetparrot.
15:53 [particle] Auzon: i'm not sure. but there is cross-talk about rakudo and testing in #parrot and #perl6, so it might help if you are available in both channels
15:53 Auzon It's http://auzon.blogspot.com -- let me find the tag
15:53 lambdabot Title: Auzon's Blog
15:54 [particle] Auzon: we've been talking about weekly interactive meetings for your project. would you benefit from that, or do you think informal #perl6 communication + email + blog is enough?
15:54 Auzon http://auzon.blogspot.com/search/label/gsoc2008 <--- Strictly related to SoC
15:54 lambdabot Title: Auzon's Blog: gsoc2008
15:54 Auzon [particle]: What do you mean by weekly interactive meetings?
15:55 moritz_ either phone or IRC conference
15:55 moritz_ with fixed times
15:55 moritz_ like #parrotsketch and "design minutes"
15:55 [particle] every tuesday, there's a parrot status meeting in #parrotsketch on irc.perl.org
15:55 Auzon I think that the informal stuff works better, even though I can easily be available at fixed times.
15:55 [particle] in previous years, parrot gsoc-ers attended
15:56 [particle] they would report their status, and be able to ask questions of the core committers
15:56 [particle] i plan on continuing that this year for the parrot projects
15:56 pmichaud from my experience as a mentor (both gsoc and other academic projects), it's much easier if there's a regular set time for meeting.
15:56 pmichaud s/easier/better/
15:56 [particle] but your project is a bit different, since it's not directly parrot-related
15:57 [particle] yes, i prefer a regularly-scheduled meeting
15:57 eternaleye joined #perl6
15:57 pmichaud even if the meeting consists of nothing more than "well, I was busy this week so didn't get much done", it's worth having the meeting.
15:57 Auzon Alright. We can do that then.
15:58 pmichaud in one of my gsoc projects we didn't have weekly meetings, and as a result we didn't get a good feel for the progress (or slowness of it)
15:58 moritz_ ok. When?
15:58 pmichaud you all can set the time that's convenient for you.  My schedule is fairly open.
15:58 moritz_ tuesday to thursdeay would be fine by me
15:58 pmichaud (I'd like to attend, but obviously that's not a requirement.)
15:58 moritz_ ideally GMT+2 waking times ;)
15:59 Auzon Well, I think we have some timezones to coordinate :)
15:59 Auzon moritz_: What's $localtime in ~2 hours?
15:59 [particle] how about wednesday, plan on 30m meetings
15:59 pmichaud I'm GMT-5, but my schedule is flexible enough that it doesn't really matter.
15:59 [particle] just before the perl 6 design concall
15:59 moritz_ Auzon: it's 8pm localtime in 2 hours, which is fine by me
16:00 [particle] pmichaud: does that work for you?
16:00 pmichaud perl6 design concal is UTC 20h00, fwiw
16:00 pmichaud so this would put test meetings at UTC 19h30 ?
16:00 [particle] so, wednesday 1930UTC
16:00 [particle] yep
16:00 moritz_ where?
16:00 pmichaud I may have to miss next week's meeting due to picking up kids, but other than that it's okay.
16:00 pmichaud (after that is no school so won't matter.)
16:01 [particle] heh, cool.
16:01 Auzon That works for me.
16:01 [particle] #perl6-soc on freenode
16:01 pmichaud that also works out well because if there are any significant Perl 6 design issues then we can carry those over to the design meeting.
16:01 moritz_ [particle]: ok
16:01 pmichaud works for me.
16:01 [particle] pmichaud: precisely my thoughts
16:01 pmichaud will #perl6-soc be logged?
16:01 pmichaud (if not, can it be?)
16:01 [particle] if anybody has tuits, it'd be nice to have it logged
16:01 moritz_ yes
16:02 moritz_ I have the logger up anyway
16:02 [particle] moritz_++
16:02 pmichaud sounds like a plan.
16:02 pmichaud moritz++ particle++ Auzon++
16:02 moritz_ and pmichaud++
16:02 [particle] thanks all!
16:03 [particle] feel free to join #perl6-soc now, everyone reporting, and wishing just to watch
16:04 pbuetow joined #perl6
16:04 ilbot2 joined #perl6
16:04 Topic for #perl6is now http://pugscode.org/ | nopaste: http://sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: http://irc.pugscode.org/
16:05 Auzon I have a mild dislike for DST after trying to calculate those times. It works better than I thought though.
16:08 moritz_ Auzon: same here ;)
16:08 moritz_ Auzon: btw did you see eric's call for a first report?
16:08 Auzon Yes.
16:08 moritz_ good.
16:08 Auzon I decided against typing something up at 1am localtime.
16:09 moritz_ hehe
16:11 pugs_svnbot r20507 | moritz++ | [irclog]
16:11 pugs_svnbot r20507 | moritz++ |  * allow '-' in channel names
16:11 pugs_svnbot r20507 | moritz++ |  * few more abbreviations
16:12 pugs_svnbot r20508 | moritz++ | [irclog] allow '-' in channel names in .htaccess
16:12 Juerd I'm impressed with how fast you people discussed the weekly meetings and reached concensus and already took action by setting up a logged channel.
16:12 pmichaud you missed some of the pre-discussion on #parrot, maybe?
16:12 Juerd I did
16:12 moritz_ yeah, but that was only about 5 additional minutes
16:12 moritz_ if at all
16:12 Juerd Should I be less impressed? :)
16:13 pmichaud particle started discussion at 15:39, we had conclusion and logging bot at 16:04
16:13 pmichaud so, 25m  :-)
16:13 Juerd Still nice.
16:13 pmichaud yes, I agree.
16:13 armagad joined #perl6
16:14 pmichaud you'd be more impressed if you saw the parrot discussion, though, because we disposed of some options and possibilities fairly quickly :-)
16:14 Juerd Sometimes it takes me a few hours to reach a similar decision, in business context.
16:14 Juerd And I really hate that waste of time, but it's often necessary.
16:14 Juerd pmichaud: Hehe.
16:20 [particle] (waste of time)--
16:26 wknight8111_ joined #perl6
16:28 wknight8111 joined #perl6
16:30 Psyche^ joined #perl6
16:37 FurnaceBoy joined #perl6
16:42 smtms joined #perl6
17:00 pugs_svnbot r20509 | Auzon++ | Adding elf support to exp_evalbot
17:00 Auzon moritz_: I just need to put Ruby in $PATH, and I think we're ready to go
17:00 Auzon and I forgot to prefix that commit message with []. :-/
17:01 moritz_ Auzon: ok, tell me where ruby lives ;)
17:01 eternaleye_ joined #perl6
17:01 Auzon /home/evalenv/ruby/ is the prefix, so /home/evalenv/ruby/bin. I don't know if Ruby is relocatable
17:02 moritz_ Auzon: or should we just update the chroot to testing and run it with that?
17:02 Auzon Elf runs, given that addition to PATH. I don't see a reason to upgrade the whole chroot yet
17:02 moritz_ ok
17:02 Auzon Compiling Ruby was easy enough. Just ./configure; make; make install
17:03 Auzon The problems I had was because I compiled it outside of the chroot, then moved it inside
17:03 moritz_ ok, what should I add to path?
17:03 Auzon /home/evalenv/ruby/bin
17:03 Auzon (or I can have ruby install in /usr/local/bin)
17:04 moritz_ no, that's fine
17:04 exp_evalbot joined #perl6
17:04 moritz_ elf: say "hi"
17:04 exp_evalbot OUTPUT[/usr/bin/env: perl: No such file or directory␤]
17:05 moritz_ pugs: say "hi"
17:05 exp_evalbot OUTPUT[hi␤]
17:06 moritz_ /usr/bin/env perl -wle 'print "foo"'
17:06 moritz_ foo
17:06 Auzon env can't find perl? That's bizarre.
17:06 moritz_ works in evalbot environment
17:06 moritz_ indeed
17:07 Auzon elf: say "hi"
17:07 exp_evalbot OUTPUT[/usr/bin/env: perl: No such file or directory␤]
17:07 kanru joined #perl6
17:08 Auzon elf: say "hi"
17:08 exp_evalbot OUTPUT[Can't exec "cat": No such file or directory at ./elf_f line 217.␤Permission denied at ./elf_f line 219.␤]
17:09 Auzon We should also switch to elf_f_faster so we get sub-5s runtimes
17:09 Auzon Seems like evalbot's environment is wrong
17:10 moritz_ yes
17:10 exp_evalbot joined #perl6
17:10 moritz_ rakudo: say "hi"
17:10 exp_evalbot OUTPUT[hi␤]
17:10 moritz_ elf: say "hi"
17:11 [particle] can you include nqp in exp_evalbot, but not have it respond to perl6: ?
17:11 exp_evalbot OUTPUT[Permission denied at ./elf_f line 219.␤]
17:11 moritz_ nqp: say("hi")
17:11 exp_evalbot OUTPUT[hi␤]
17:11 [particle] perl6: say "hi"
17:11 exp_evalbot kp6: OUTPUT[hi␤]
17:11 exp_evalbot ..pugs: OUTPUT[hi␤]
17:11 exp_evalbot ..rakudo: OUTPUT[hi␤]
17:11 exp_evalbot ..elf: OUTPUT[Permission denied at ./elf_f line 219.␤]
17:11 moritz_ Auzon: where does elf keep its temporary files?
17:11 [particle] ah, perfect :)
17:11 Tene perl6: say "particle++"
17:11 Auzon pugs/misc/elf has a bunch of deleteme files.
17:11 exp_evalbot kp6: OUTPUT[particle++␤]
17:11 exp_evalbot ..pugs: OUTPUT[particle++␤]
17:11 exp_evalbot ..rakudo: OUTPUT[particle++␤]
17:11 exp_evalbot ..elf: OUTPUT[Permission denied at ./elf_f line 219.␤]
17:12 moritz_ Auzon: evalbot (the user) doesn't have write permissions anywhere in evalenv's home
17:12 Auzon Let me look at evalbot.pl again then
17:12 moritz_ Auzon: so either change the permissions to be somewhat more permissive (preferred) or generate temp files in /tmp/
17:13 Auzon oh ok
17:13 Auzon elf: say "hi"
17:13 exp_evalbot OUTPUT[hi␤]
17:13 [particle] pugs: my @a = 1,2,3; say @a.perl
17:13 exp_evalbot OUTPUT[[1, 2, 3]␤]
17:14 Auzon elf: say "hi"
17:14 exp_evalbot OUTPUT[hi␤]
17:15 moritz_ Auzon++
17:15 pugs_svnbot r20510 | Auzon++ | [evalbot] use elf_f_faster instead of elf_f for speed reasons.
17:15 Auzon elf: say "hi"
17:15 exp_evalbot OUTPUT[hi␤]
17:15 Auzon Try restarting it. It should finish in ~1s now
17:15 * moritz_ restarts evalbot to make the changes effective
17:16 exp_evalbot joined #perl6
17:16 Auzon elf: say "hi"
17:16 exp_evalbot OUTPUT[hi␤]
17:16 moritz_ w00t
17:16 * [particle] wants an evalbot on parrot that works for all pct-based hlls
17:16 [particle] moritz_++ Auzon++
17:17 Tene Can we do sockets on parrot yet?
17:17 moritz_ [particle]: feel free to shamelessly plagiarize evalbot (although it's a quick'n'dirty hackery)
17:17 Tene Get me sockets on parrot and I'll do it this weekend.
17:17 moritz_ Tene: you don't need sockets for that ;)
17:17 Tene Wait, did you want an evalbot that *runs* on parrot, or just an evalbot that runs parrot *languages*?
17:18 [particle] runs parrot languages
17:18 moritz_ Tene: nqp, rakudo, kp6 and elf don't support sockets ;)
17:18 [particle] don't care how it's implemented, as long as it's stable
17:18 Tene moritz_: it was the "on parrot" that got me.
17:19 moritz_ Tene: ah, ok ;)
17:19 [particle] oops, i meant on #parrot
17:19 Tene Sure, I'll look at that this weekend.  Where's exp_evalbot?
17:19 [particle] pugs repo
17:19 Tene and is exp_evalbot stable?
17:19 Auzon Tene: pugs/misc/evalbot
17:20 [particle] seems to be stable enough for me
17:20 Tene I see several reconnects in the scrollback...
17:20 Auzon That was to make changes happen.
17:20 [particle] right.
17:20 Tene Oh, okay.
17:20 Tene Alright, then.  Sure.
17:21 [particle] does it reconnect when one of the languages is rebuilt?
17:21 Auzon It doesn't need to. It only needs to reconnect when its source changed.
17:21 moritz_ it launches HLLs through external processes
17:21 [particle] ah, ok
17:21 [particle] is there a way to tell what revisions of the hlls are built for evalbot?
17:22 moritz_ no, you'd have to provide that by external means
17:22 [particle] ok
17:22 Auzon sn updates are provided by a cronjob.
17:22 Auzon *svn
17:22 moritz_ for example make the build script store the revision in some file
17:23 Auzon lunch &
17:23 Auzon Thanks for your help moritz_ :)
17:24 moritz_ Auzon: np
17:25 * moritz_ can either host parrots evalbot on the same server as Perl 6's evalbot runs now
17:25 moritz_ or Juerd offered root access to a dedicated evalbot-VM on feather (feather2)
17:55 [particle] pugs: say (1,2).perl
17:55 exp_evalbot OUTPUT[(1, 2)␤]
17:57 rindolf joined #perl6
17:58 moritz_ @karma particle
17:58 lambdabot particle has a karma of 11
17:58 moritz_ @karma [particle]
17:58 lambdabot [particle] has a karma of 5
17:58 moritz_ (dual nicks)-- ;)
17:58 * [particle] blames nickserv
18:05 TJCRI joined #perl6
18:06 vixey joined #perl6
18:12 pmurias joined #perl6
18:17 [particle] pugs: say (1).perl
18:17 exp_evalbot OUTPUT[1␤]
18:17 pmurias moritz_: re sockets you can have sockets in elf if you use eval_perl5('use IO::Socket')
18:19 vixey elf: say "foo'.WHAT
18:19 exp_evalbot OUTPUT[Parse error in: /tmp/wUnLokqqi4␤panic at line 1 column 5 (pos 5): Error in quotesnabber␤WHERE: say "foo'.WHAT␤WHERE:     /\<-- HERE␤  STD_red/prelude.rb:98:in `panic'␤  STD_red/std.rb:1281:in `quotesnabber'␤  (eval):1:in `__quote_1581796'␤  STD_red/prelude.rb:404:in `block in
18:19 exp_evalbot ..longest_token_match'␤  STD_red/prelude.rb:400:in `each'␤  STD_r...
18:19 vixey elf: say "foo".WHAT
18:19 exp_evalbot OUTPUT[Str␤]
18:20 vixey why is WHAT all caps?
18:20 vixey elf: my $foo = "foo"; say $foo.WHAT
18:20 exp_evalbot OUTPUT[Str␤]
18:21 Tene perl6: my $foo  "foo"; say $foo.WHAT
18:21 exp_evalbot kp6: OUTPUT[Undef␤]
18:21 exp_evalbot ..pugs: OUTPUT[*** ␤    Unexpected "\""␤    expecting "?", "!", trait, "=", infix assignment or operator␤    at /tmp/V7FCbODK55 line 1, column 10␤]
18:21 exp_evalbot ..rakudo: OUTPUT[Statement not terminated properly at line 1, near "\"foo\"; say"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;statementlist' pc 18329 (src/gen_grammar.pir:2735)␤called from Sub
18:22 exp_evalbot ..'parrot;Perl6::Grammar;statement_block' pc 15175 (src/gen_grammar.pir:1613)␤called...
18:22 exp_evalbot ..elf: OUTPUT[Parse error in: /tmp/q0mDk8jJhH␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: my $foo  "foo"; say $foo.WHAT␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:98:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤
18:22 exp_evalbot ..STD_red/std.rb:210:in `_UNIT'␤  ./../STD_red/STD_red_run:108:in `m...
18:22 Tene perl6: my $foo = "foo"; say $foo.WHAT.WHAT
18:22 exp_evalbot kp6: OUTPUT[Str␤]
18:22 exp_evalbot ..pugs: OUTPUT[Str␤]
18:22 exp_evalbot ..rakudo: OUTPUT[Str␤]
18:22 exp_evalbot ..elf: OUTPUT[Str␤]
18:23 [particle] rakudo: say (1,2).perl
18:23 exp_evalbot OUTPUT[Method 'perl' not found for invocant of class 'List'␤current instr.: '_block11' pc 49 (EVAL_11:20)␤
18:23 [particle] rebuild rakudo you silly bot :P
18:24 * moritz_ acts as silly bot and rebuilds rakudo
18:25 moritz_ rakudo: say (1,2).perl
18:25 Auzon Dang, beat me to it ;)
18:25 exp_evalbot OUTPUT[(1, 2)␤]
18:25 moritz_ ;)
18:25 [particle] \o/
18:26 Auzon [particle]: Parrot and friends are updated on the hour. Anything living in Pugs is updated every few minutes.
18:26 moritz_ Auzon: if you feel like it you could make another cron job that rebuilds rakudo every 5 minutes or so
18:26 moritz_ Auzon: rakudo compiles fairly fast compared to parrot
18:26 [particle] hourly! how am i supposed to show off if i have to wait that long :)
18:26 moritz_ the fast pugs updates are an artifact from the times of fast kp6 development
18:27 Auzon We probably could reduce it to 10 minutes without issue.
18:27 Auzon Better yet, we could have the svnbot(s) use the same repo.
18:28 moritz_ but svnbot should poll far more often than the languages should rebuild
18:28 [particle] svnbot on parrot is every 6m iirc
18:28 Auzon We could have it trigger rebuilds when new updates are found.
18:29 moritz_ Auzon: but only if you can find a scheme that interups already running updates
18:29 moritz_ Auzon: I don't want to stack builds on the CPU
18:29 [particle] where's the svnbot here?
18:30 moritz_ good question
18:30 Auzon We have pugs_svnbot and speckbot
18:30 [particle] ah, there's pugs_svnbot... wasn't there one for rakudo?
18:30 moritz_ [particle]: yes, i'll restart it in a bit...
18:30 [particle] kk
18:30 Tene Looke like I can build rakudo in 17s
18:30 rakudo_svn joined #perl6
18:31 rakudo_svn r27769 | particle++ | [rakudo] classes must respect their own apis. converted all C<elements self> to C<self.'elements'()> in List
18:31 Auzon What do you say, moritz_? Build rakudo and svn up pugs every 5 minutes?
18:31 moritz_ Auzon: sounds good
18:34 pmurias vixey: re WHAT to reasons, not to conflict with the .what method, secondly all the introspection/metaprogramming methods are all caps to stand out as they are unusual
18:34 Auzon moritz_: Are any of the helper scripts in a repository?
18:35 pmurias Tene: 17s, that's fast
18:36 rakudo_svn r27770 | particle++ | [rakudo] List.perl should use square brackets. pmichaud++
18:36 Tene real    0m16.704s
18:36 Tene user    0m21.158s
18:36 Tene sys     0m0.593s
18:37 moritz_ user > real? how can that happen?
18:37 moritz_ multi core?
18:37 Tene yeah
18:37 [particle] multicore++
18:37 Auzon New cronjobs should be running.
18:37 moritz_ funny, I have a dual core myself and never noticed it
18:37 Tene moritz_: make -j
18:37 Tene well, -j 3
18:38 moritz_ Tene: I used 'make -j $num' quite often, but I seldom time it (or I don't look at the output close enough to notice)
18:38 [particle] that's because it's too fast to care about
18:39 Auzon multicore++ indeed. I use TAP::Harness for parallelized testing in Perl 5.
18:39 [particle] perl 5's make -j test rocks
18:39 moritz_ aye
18:39 pmurias vixey: if you have any elf questions/requests, feel free to ask
18:39 Tene Looks like I can also build parrot in 17s
18:39 moritz_ and parrots works also
18:39 [particle] tene: ccache?
18:39 Tene no
18:39 moritz_ Tene: how many cores? ;-)
18:40 Tene 8
18:40 Auzon :O
18:40 [particle] oh.
18:40 moritz_ Tene: or is 'make' an alias to 'sleep 17'? ;-)
18:40 Tene Heh.
18:40 Tene no, it takes 1m16s user
18:40 vixey pmurias: well I'm curious about where it's going next
18:41 Auzon vixey: As I understand it, elf's featureset is growing on a request and "what gets us more progress?" basis
18:41 Auzon I believe "more progress" is currently tests.
18:42 * moritz_ would wish passing t/01-sanity/*
18:42 vixey ok cool
18:42 vixey oh
18:42 pmurias hard question, mncharity will propably pursue the test suit, i'm more interested in removing hacks and getting the sm0p grammar to work
18:42 vixey How would := be implemented ?
18:42 moritz_ vixey: typically assignment to containers
18:43 moritz_ perl 5's 'make -j 4' finished for me
18:43 moritz_ real    1m37.455s
18:43 moritz_ user    2m47.604s
18:43 moritz_ multicore++ indeed ;)
18:43 tobeya joined #perl6
18:43 moritz_ vixey: are you familiar with containers/values?
18:44 vixey moritz_: I haven't seen it done in p5
18:44 moritz_ vixey: well, perl 5 doesn't natively support binding
18:45 moritz_ (though Data::Alias and Data::Bind seem to be pretty good)
18:45 moritz_ but you can achieve things with glob hackery
18:46 pmurias globs work on globals only
18:47 moritz_ yes, that's the drawback
18:50 pmurias Data::Alias sounds clever/fast
18:50 pmurias s/sounds/looks
18:51 pmurias moritz_: why is passing sanity tests important to you?
18:52 vixey hehe
18:52 moritz_ pmurias: the features used there are also used all over the test suite
18:53 moritz_ pmurias: at least mot of them
18:53 moritz_ pmurias: and I think it would help get elf wildly accepted as a "serious" implementation
18:54 Auzon Would it be bad for me to start writing/committing test cases for gsoc2008 now?
18:54 moritz_ Auzon: why should it? because the program starts on monday officially?
18:54 Auzon Yep. That's the only thing I can think of.
18:55 moritz_ Auzon: go right ahead with writing/commiting ;)
18:56 moritz_ Auzon: above all perl 6 development should be fun, and we don't care very much for formalism (except where we want ;)
18:56 Auzon Sounds good.
18:58 rakudo_svn r27772 | jkeenan++ | Set SVN properties; tag.  Add copyright statement.
18:59 moritz_ Tene: re 8 cores, I've seen a presentation on how fast one can rebuild the entire debian distribution if one has unlimited number of machines... turns out to be less than three hours ;)
19:00 moritz_ turns out it blocks on the huge openoffice.org packages that can't be easily build across multiple machines
19:01 Auzon perl6: use strict;
19:01 exp_evalbot kp6: RESULT[DISPATCH: calling  on invalid object:$VAR1 = 'perl';␤␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128␤  main::DISPATCH('perl') called at - line 11␤]
19:01 exp_evalbot ..pugs: OUTPUT[pugs: *** Unsafe function 'use' called under safe mode␤    at /tmp/E8YdZmozVJ line 1, column 1␤]
19:01 exp_evalbot ..rakudo: OUTPUT[Error: file cannot be read: strict.pm␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤called from Sub 'require' pc 7614 (src/gen_builtins.pir:5348)␤called from Sub 'use' pc 7580 (src/gen_builtins.pir:5329)␤called from Sub '_block11' pc 28
19:01 exp_evalbot ..(EVAL_9:15)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 78...
19:01 exp_evalbot ..elf: OUTPUT[Cant locate strict in ( . ).␤]
19:02 Auzon Are there any sort of strictures implemented so far?
19:02 [particle] auzon: there's no strict in perl 6
19:02 [particle] they're on by default
19:02 moritz_ unless on the -e command line
19:02 Auzon OK. So...
19:03 Auzon perl6: $test = 5; say $test;
19:03 exp_evalbot kp6: OUTPUT[5␤]
19:03 exp_evalbot ..pugs: OUTPUT[*** ␤    Unexpected " ="␤    expecting "::"␤    Variable "$test" requires predeclaration or explicit package name␤    at /tmp/5Pm3VOXURb line 1, column 6␤]
19:03 exp_evalbot ..rakudo: OUTPUT[Scope  not found for PAST::Var '$test'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤called from Sub 'parrot;PAST::Compiler;post_children' pc 1671 (src/PAST/Compiler.pir:362)␤called from Sub 'parrot;PAST::Compiler;inline' pc 5069
19:03 exp_evalbot ..(src/PAST/Compiler.pir:1437)␤called from Sub 'parrot;PAST::Compiler;pos...
19:03 exp_evalbot ..elf: OUTPUT[Global symbol "$test" requires explicit package name at (eval 10) line 3.␤Global symbol "$test" requires explicit package name at (eval 10) line 4.␤ at ./elf_f_faster line 4353␤]
19:03 [particle] and context sensitive.  Perl 5 code is not strict by default, while
19:03 [particle] Perl 6 code is.   But it should be easy to relax with C<-e> or
19:03 [particle] a bare version number:
19:03 [particle] --S01
19:03 Auzon Right. I'm looking for a way to write a test for that.
19:04 moritz_ I'd except a "no strict;" to still work
19:04 moritz_ Auzon: take a look at ext/Test/lib/Test.pm
19:04 moritz_ Auzon: you'll probably want eval_dies_ok
19:05 [particle] auzon; it's a little difficult to write tests for failures now, as we don't have standard error messages
19:05 [particle] moritz_: is eval_dies_ok fudge-approved?
19:05 moritz_ [particle]: for now it's enough to test for failur
19:05 moritz_ [particle]: dunno
19:05 [particle] ah, apparently it is
19:06 [particle] we'll need to implement that in rakudo's Test.pm
19:06 rakudo_svn r27773 | jkeenan++ | Change filename to conform to 'no multiple-dot filenames' coding standard.
19:06 moritz_ [particle]: jonathan++ thought about implementing $/, $! and the like
19:06 moritz_ [particle]: once you've got $! working that shouldn't be hard
19:06 [particle] moritz_: yes, indeed
19:07 moritz_ rakudo: eval 'say "foo";';
19:07 exp_evalbot OUTPUT[foo␤]
19:07 [particle] i'd look at it this weekend, but i'll be on an island with bikes, a kayak, a tent, and a mini cooper :)
19:07 rakudo_svn r27774 | jkeenan++ | Fix POD formatting error:  '=over' without corresponding '=back'.
19:07 * moritz_ envies [particle] a great deal
19:07 moritz_ but we'll visit Norway this summer/autumn ;)
19:08 [particle] ooooooh
19:08 moritz_ my girlfriend is half-Norwegian ;)
19:11 Tene I'll be in a cabin in the mountains of Idaho this weekend.
19:12 [particle] tene: in the panhandle?
19:22 Tene somewhere outside of twin falls somewhere.
19:22 Tene I don't know yet.
19:28 pugs_svnbot r20511 | moritz++ | [t] t/oo/from_moose: remove some tests that don't correspond to Perl 6
19:31 Auzon moritz_: All tests should be migrating from t/ to t/spec/, correct?
19:31 [particle] yes
19:32 moritz_ right
19:34 Auzon Should all of t/01-sanity be moved to t/spec/01-overview, or should t/spec/01-overview only contain new tests that are specific to S01? Currently there is some overlap.
19:35 moritz_ Auzon: I'm not really convinced of what to do with 01-sanity and 02-test-pm
19:35 moritz_ Auzon: I'd suggest to leave them for now
19:35 [particle] i think they should stay
19:36 moritz_ and 01-sanity isn't necessarily connected with S01
19:36 pmurias neither is 02-test-pm
19:37 moritz_ sadly 02-test-pm isn't enough for running Test.pm
19:37 moritz_ which could be considered a defect of Test.pm
19:37 pmurias ?
19:38 [particle] well, i think it's enough to run *a* Test.pm, but not the one that's there currently
19:38 pmurias 02-test-pm tests if Test.pm runs correctly
19:38 Auzon I'm inclined to move t/01-sanity/01-tap.t to t/spec/S01-overview/ and also create other relevant tests there in t/spec/S01-overview
19:38 [particle] pmurias: it doesn't have complete coverage
19:38 [particle] auzon: leave 01-sanity alone, it's for baby baby implementations
19:39 Auzon Alright.
19:39 [particle] 01-tap is intended to make sure we can print valid TAP
19:39 [particle] not related to the perl 6 spec
19:39 pmurias [particle]: that's a different matter
19:39 pmurias moritz_: you meant 01-sanity?
19:40 moritz_ actually it tests say, string literals and line comments
19:40 moritz_ pmurias: probably, yes
19:40 * moritz_ is a bit confused
19:40 pmurias use the source ;)
19:41 [particle] Auzon: i see now there's a smartlink in 01-tap to S01, that looks unrelated and should probably be removed
19:41 Auzon Yes, sorry, the smartlink is why I thought about moving it
19:41 [particle] i don't think we need 'use v6;' in that test, either
19:42 moritz_ I think we do
19:42 pmurias 01-sanity is a bit arbitrary
19:42 moritz_ [particle]: otherwise it's not valid perl6 subset
19:43 [particle] you don't need to be able to parse 'use' on day 1 of your implementation, do you?
19:43 [particle] you're saying 'yes'
19:43 moritz_ yes
19:43 [particle] k.
19:44 pmurias moritz_: p6 dosn't have to have a 'use v6'
19:44 moritz_ pmurias: every source file is considered to be perl 5 unless it has a 'use v6', a 'class' or a 'module' keyword
19:45 pmurias unless it's run by the perl6 executable
19:45 pmurias #!/usr/bin/perl6 is enough
19:46 moritz_ pmurias: the #!-Line is a good point
19:47 moritz_ pmurias: the executable name isn't, though. The correctness of the test suite shouldn't depend on that
19:48 pmurias as it's the perl6 test suit we can assume there is no perl5 lurking there
19:57 pmurias sleep&
19:59 Auzon pugs: module Foo; say $?PACKAGE;
19:59 exp_evalbot OUTPUT[Foo␤]
19:59 Auzon pugs: module Foo; say $?MODULE;
19:59 exp_evalbot OUTPUT[Main␤]
19:59 Auzon pugs: module Foo {say $?MODULE};
19:59 exp_evalbot OUTPUT[Main␤]
19:59 Auzon rakudo: module Foo {say $?MODULE};
19:59 exp_evalbot OUTPUT[Scope  not found for PAST::Var '$MODULE'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤
20:00 Auzon kp6: module Foo {say $?MODULE};
20:00 exp_evalbot r20511: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib/KindaPerl6/Grammar/Sub.pm line 753, <> line 1.␤*** Syntax Error in Block: missing closing curly bracket  ␤]
20:00 Auzon elf: module Foo {say $?MODULE};
20:00 exp_evalbot OUTPUT[Global symbol "$MODULE" requires explicit package name at (eval 10) line 6.␤ at ./elf_f_faster line 4353␤]
20:00 Auzon pugs: module Foo {say $?PACKAGE};
20:00 exp_evalbot OUTPUT[Foo␤]
20:00 moritz_ I think that pugs is wrong there (but it's a long time since I read the right synopsis)
20:01 Auzon Looks like everyone is wrong :)
20:01 moritz_ pugs is the only one that implements $?MODULE at all
20:02 moritz_ it's specced in S01:1942
20:02 Auzon $?MODULE should be set to the block's module. I suspect $?PACKAGE should be set to $?MODULE as well, since "they're still just packages with extra behaviors."
20:02 Auzon S02, rather.
20:03 moritz_ a package is just class|module
20:03 moritz_ pugs: class Foo { say $?PACKAGE }
20:03 exp_evalbot OUTPUT[Foo␤]
20:03 moritz_ that's right
20:03 moritz_ pugs: module Foo { say $?PACKAGE }
20:03 exp_evalbot OUTPUT[Foo␤]
20:03 moritz_ that's also right
20:03 moritz_ pugs: module Foo { say $?MODULE }
20:03 exp_evalbot OUTPUT[Main␤]
20:03 moritz_ that's wrong
20:05 Auzon pugs: class Foo {say $?CLASS; say $?MODULE; say $?PACKAGE}
20:05 exp_evalbot OUTPUT[Foo␤Main␤Foo␤]
20:05 Auzon Is that correct?
20:05 Auzon Seems like $?MODULE just never gets set.
20:05 moritz_ I don't know about $?MODULE in a class, but I think it's fine
20:06 mncharity joined #perl6
20:06 moritz_ module {} should set $?MODULE and $?PACKAGE, and class {} should set $?CLASS and $?PACKAGE
20:08 ruoso joined #perl6
20:13 sri_work joined #perl6
20:13 lisppaste3 joined #perl6
20:18 Auzon What's the difference between package, class, and module? Classes are for objects, but the other two don't seem different. Do they have other differences?
20:20 moritz_ modules are just there for packaging non-object stuff into a namespace
20:21 moritz_ and a package is the old, perl 5 style notion of a namespace that can either be introduced with a class or a module
20:21 moritz_ see S11 for details
20:28 mncharity Wowww... what a backlog.  what a day. ++everyone.
20:29 Auzon Hi mncharity.
20:31 Psyche^ joined #perl6
20:32 mncharity hi Auzon
20:35 Auzon Did you see elf in evalbot?
20:35 moritz_ elf: say "hi mncharity"
20:35 exp_evalbot OUTPUT[hi mncharity␤]
20:37 mncharity re 'what to test before committing', elf itself intentionally uses only a small portion of currently supported p6, so it's worth running test_faster (or test_faster2, if you haven't copied your candidate build to elf_faster yet), and eyeball the diff's to see if anything obviously regressed.
20:37 mncharity re evalbot, ! :)
20:37 mncharity elf: "Hello, world!  Now N days until Christmas"
20:37 exp_evalbot RESULT[syntax error at (eval 11) line 3, near "GLOBAL::statement_prefix:"␤ at ./elf_f_faster line 4353␤]
20:37 mncharity :/
20:38 moritz_ mncharity: you should produce output in your statement, otherwise it's being wrapped in ((...).eval).say or something along these lines
20:38 moritz_ s/eval/perl/
20:39 Auzon It's updated every 5 minutes, and uses elf_f_faster since elf_f takes ~5s for a say "hi"
20:41 mncharity moritz_: ah, ok.  todo list: determine the evalbot wrapper phrase and make it work in elf.
20:42 Auzon mncharity: evalbot's code is in pugs/misc/evalbot. elf_f_faster is run as-is.
20:42 mncharity re ~5s, which perl version?  5.10 is half the Mooseish startup time of 5.8.
20:42 moritz_ $program = '( ( do { ' . $program . "\n} ).perl ).print";
20:42 Auzon 5.8.8, I think. Debian stable
20:43 moritz_ misc/evalbot/lib/EvalbotExecuter line 81
20:43 moritz_ mncharity: you're welcome to find a robuster wrapper ;)
20:44 mncharity moritz_: :)  elf should be able to adapt.
20:44 mncharity re 5.8.8, ah, ok.
20:45 mncharity moritz_:  thanks for the line. :)
20:56 donaldh joined #perl6
20:59 pmurias joined #perl6
21:01 pmurias mncharity: re intentionally using a small portion of p6, is there anything which would help that we don't use intentionaly
21:02 mncharity yay, no test_faster regressions vs run-tests.result_faster's t/ -r20475.  updating run-tests.result_faster with current t/ ...
21:03 peepsalot joined #perl6
21:04 pmurias mncharity: is x01.pl still of any use?
21:04 mncharity re intentionally, it's been more "use the same constructs for new stuff that we used previously, so our exposure to 'the last change broke stuff" breaking the bootstrap doesn't increase".  and "yay, new feature or removed hack!  wait a day or two before editing the elf sources, just to make it more stable".
21:04 mncharity or some such
21:04 mncharity x01.pl should be svn rm x01.pl.
21:05 mncharity re help, good question, not sure...
21:06 mncharity multimethods at some point.  but that probably means grabing a copy of Class::Multimethods and forking it.
21:10 pugs_svnbot r20512 | pmurias++ | [elf] removed an old file
21:15 pmurias mncharity: with regards to Call being a hack it has *both* and $.invocant and $.capture
21:15 pmurias s/and/an/
21:16 mncharity re Call, hmm, perhaps FromAST should combine them...
21:18 mncharity re $n.foo = 3, why the switch to lvalue subs?
21:18 mncharity err, in elf_f_faster
21:19 pmurias it's more proper
21:19 pmurias and the switch in the emitter happend by accident
21:20 mncharity hmm.  I have lvalue subs on my "flakey p5 things that don't really work and are going to bite you later" list. :)
21:20 Auzon pugs: say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE;
21:20 exp_evalbot OUTPUT[*** ␤    Unexpected "\65279"␤    expecting ";", identifier, Doc block, block declaration, declaration, construct or expression␤    at /tmp/zdBJPxpxgv line 1, column 55␤]
21:20 Auzon rakudo: say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE;
21:20 exp_evalbot OUTPUT[Syntax error at line 1, near "\x{ef}\x{bb}\x{bf}say $?P"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤
21:20 moritz_ Auzon: you've got a byte order makr in your code
21:20 Auzon boo
21:20 moritz_ that's the \65279 pugs is complaining about
21:21 mncharity re emitter, yeah, it looks like isa(Var) should be isa(IRx1::Var)... I need to fix it for elf_f, but that will revert elf_f_faster to the old convention.
21:21 moritz_ just before the second 'say'
21:21 Auzon pugs: say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE;
21:21 exp_evalbot OUTPUT[Main␤Test␤Main␤]
21:21 Auzon perl6: say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE;
21:21 exp_evalbot kp6: OUTPUT[syntax error at position 4, line 1 column 4:␤say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE␤    ^ HERE␤]
21:21 exp_evalbot ..pugs: OUTPUT[Main␤Test␤Main␤]
21:21 exp_evalbot ..rakudo: OUTPUT[Scope  not found for PAST::Var '$PACKAGE'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤called from Sub 'parrot;PAST::Compiler;post_children' pc 1671 (src/PAST/Compiler.pir:362)␤called from Sub 'parrot;PAST::Compiler;call' pc 2766
21:21 exp_evalbot ..(src/PAST/Compiler.pir:780)␤called from Sub 'parrot;PAST::Compiler;pos...
21:21 exp_evalbot ..elf: OUTPUT[Global symbol "$PACKAGE" requires explicit package name at (eval 11) line 3.␤Global symbol "$PACKAGE" requires explicit package name at (eval 11) line 5.␤ at ./elf_f_faster line 4353␤]
21:21 pmurias mncharity: would the bug ealier when vixey made a similiar one
21:21 pmurias s/found/
21:21 pmurias was just going to fix it
21:23 Auzon pugs: say $?MODULE; eval('package Test; say $?MODULE;'); say $?MODULE;
21:23 exp_evalbot OUTPUT[Main␤Main␤Main␤]
21:23 Auzon pugs: say $?MODULE; eval('module Test; say $?MODULE;'); say $?MODULE;
21:23 exp_evalbot OUTPUT[Main␤Main␤Main␤]
21:26 sscaffidi joined #perl6
21:26 pugs_svnbot r20513 | putter++ | [elf] Update run-tests.result_faster to r20512.
21:27 mncharity re fix it, err, how... it will break the lvalue api in EmitFasterP5...
21:27 mncharity s/it will/working, it will/
21:28 pmurias it's just used in too places
21:28 pmurias s/too/2
21:28 IllvilJa joined #perl6
21:28 mncharity oh, another thing on the list of things to check: bootstrap, regressions, and if it seems likely to have performance impacts, a quick check of how large the hit is.
21:29 pmurias mncharity: removing the offending bit seems like a fix
21:30 pmurias you would have to add an additional hack to handle the '$obj.foo = ...' case
21:30 pmurias performance impact checking would be cool
21:31 mncharity re hack, have one ready to go.  hit the "but it would break the lvalue api".  stuck...
21:32 mncharity how about I commit, regressing lvalues, and you can reintroduce them?
21:33 pmurias hm
21:33 mncharity hmm, maybe we need a Compiler variable to distinguish faster from non, rather than using inheritance...
21:33 pmurias we can use an .is_faster()
21:34 pmurias or .use_heretical_accessors
21:34 Auzon pugs: eval({say "hi"})
21:35 exp_evalbot RESULT["SubBlock(<anon>)"]
21:35 Auzon pugs: eval {say "hi"}
21:35 exp_evalbot RESULT["SubBlock(<anon>)"]
21:35 moritz_ pugs: try { say "hi" }
21:35 exp_evalbot OUTPUT[hi␤]
21:35 Auzon pugs: try {module Test; say $?MODULE;}
21:35 exp_evalbot OUTPUT[Main␤]
21:36 moritz_ perl 5's "eval BLOCK" is now "try BLOCK"
21:36 Auzon pugs: try {module Test; say $?PACKAGE;}
21:36 exp_evalbot OUTPUT[Test␤]
21:36 Auzon Thanks moritz_ :)
21:37 moritz_ yw :)
21:38 Auzon rakudo: try {module Test; say $?PACKAGE;}
21:38 exp_evalbot OUTPUT[Scope  not found for PAST::Var '$PACKAGE'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤
21:39 Auzon rakudo: try {module Test; say $?MODULE;}
21:39 exp_evalbot OUTPUT[Scope  not found for PAST::Var '$MODULE'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤
21:39 pmurias mncharity: are there any things we actually need moose for?
21:39 pmurias s/moose/Moose/
21:39 stevan_ you really do hate Moose dont you :P
21:39 pmurias stevan_: i rather like it
21:39 stevan_ I am just kidding
21:41 Auzon Does the "#?implementation ..." syntax in the test have a way to specify more than one implementation? Or should I just use :todo?
21:42 pmurias stevan_: are there many people who hate Moose?
21:42 mncharity sigh.  have to go.  my todo list is () get elf_f working again, () commit hash and array literals patch.  should have a block of time over the weekend.
21:42 mncharity re
21:42 stevan_ pmurias: I dont know, if they do they dont talk to me about it
21:43 Auzon See you, mncharity.
21:43 mncharity good night all &  great work.  hi stevan_ - we should do lunch sometime your up in boston.
21:44 pmurias mncharity: good night
21:44 stevan_ mncharity: I will be in beantown on 6/3 actually
21:44 moritz_ Auzon: take a look at fudge's doc (or implementation), I don't know it
21:44 moritz_ Auzon: atm you should mainly fudge for rakudo, for pugs only parse failures
21:46 ludan joined #perl6
21:46 Auzon So it's ok to make failing tests for Pugs and the others?
21:46 moritz_ you
21:46 moritz_ erm
21:46 moritz_ yes
21:47 moritz_ ;)
21:47 moritz_ I expect 80% or more of your tests to fail on existing implementations, actually
21:47 Auzon Should I prefer :todo<...> to failing tests?
21:48 Auzon assuming no parsefail or similar.
21:48 moritz_ if an implementation has parse errors for one syntax, but passes most other tests in that file, fudge the parse errors
21:48 moritz_ if the majority of tests fail, it's not worth the trouble
21:48 moritz_ Auzon: no, :todo<> is not cross-implementation
21:49 Auzon Alright.
21:49 Auzon I think I have an idea of the general testing rules now :)
21:49 moritz_ ok
21:50 moritz_ use Common::Sense;
21:50 Auzon :)
21:50 moritz_ ask @mentors, @larray;
21:53 Juerd L-array? :)
21:53 moritz_ ;)
21:53 Juerd And I think it'd have to be Sense::Common
21:54 moritz_ c'mon Juerd, don't spoil all of my bad jokes ;)
21:54 Juerd .oO( and what was that about *@foo for flattening? )
22:22 pmurias gn/exit
22:24 Auzon pugs: package Foo {say $?PACKAGE}
22:24 exp_evalbot OUTPUT[Foo␤]
22:24 Auzon Should that be Main::Foo, per S11?
22:31 Auzon hm... but then module Foo {module Bar{}} would be Main::Foo::Bar.
22:32 moritz_ Auzon: in S11: module Foo; # rest of scope is in module Foo
22:32 rakudo_svn r27775 | infinoid++ | [rakudo] Fix compilation (RT #54734), moritz++.
22:32 moritz_ it doesn't say "rest of scope is in module Main::Foo"
22:32 moritz_ Auzon: I guess the same holds for packages as well
22:34 Auzon ah, ok.
22:35 moritz_ Auzon: btw try to "commit early, commit often" - then it's easier for us to catch stupid mistakes before you do them multiple times ;)
22:35 Auzon Alright.
22:35 moritz_ and you will make stupid mistakes, everybody does ;)
22:36 Auzon Yep. My local commit logs can attest to that. :)
22:36 moritz_ ;)
22:37 meppl joined #perl6
22:44 Eevee if your commit messages degenerate into profanity, you may be committing a little too early
22:44 FurnaceBoy joined #perl6
22:44 Auzon I've never had that happen. Is there a story behind that? ;)
22:45 Eevee well, I've done it more than once  :P
22:45 Eevee "fixed X"  "actually fixed X"  "unbroke my fix for X"  "fucking dammit"
22:45 moritz_ "fixed previous commit" "really fixed it" ...
22:45 Eevee with the diffs getting smaller each time
22:45 Auzon "oops, previous commit broke $x"
22:46 Eevee after three or four useless and/or trunk-breaking commits I don't think it's necessary to explain what I'm doing any more
22:47 Auzon My personal project has a test suite for the core of it, so I can be reasonably confident on it.
22:48 Eevee pah, I don't need a test suite!  this commit is perfect
22:48 Eevee okay, THIS commit is perfect
22:49 Eevee there cannot possibly be anything left wrong with this commit
22:49 moritz_ after all it's trivial, isn't it? ;)
22:49 Eevee forgetting a semicolon is trivial too  :(
22:58 moritz_ good night everybody, happy hacking ;)
22:58 Eevee night
22:58 Auzon good night...
22:58 * Auzon is about ready to commit
23:01 Auzon and my first gsoc_code is in :)
23:01 pugs_svnbot r20514 | Auzon++ | [gsoc_spectest] basic S11 tests. (first commit in gsoc_spectest)
23:01 Eevee Auzon++
23:02 Auzon I'll have to make sure the smartlinks work, and they're failing everywhere I think.
23:02 Auzon supper &
23:14 Tene I always do local commits with git, so I can go back and make nice working patch series.
23:15 Tene commit --amend and rebase -i are awesome
23:16 Eevee I don't know git well enough so I get to use svn, which is the source control equivalent of a plastic squeaky hammer
23:20 Auzon I use svk locally. On this Perl6 stuff, I haven't decided if I should use it instead of svn, because I don't really know svk all that well.
23:21 Eevee svk is mostly the same, with somewhat less ghastly branch merging
23:21 meppl good night
23:22 Auzon good night, meppl.
23:22 Auzon Eevee: I always seem to develop in trunk, so it's not a big deal ;)
23:22 Eevee branching is for losers who don't write perfect code!
23:23 meppl ;)
23:26 Juerd Eevee: That's how I feel about testing! :)
23:27 Eevee hear hear
23:27 Eevee rakudo seems to more or less work, we should just release it now
23:28 Auzon :( What about Perl's legendary testing history?
23:28 Auzon supper for real &
23:36 Juerd Auzon: Obviously required because they don't write perfect code.
23:43 spinclad elf: "hi world!".perl.say;}; say 'oops'; do { "back again"
23:43 exp_evalbot OUTPUT[Parse error in: /tmp/S8345pTJ4I␤panic at line 1 column 21 (pos 21): Can't understand next input--giving up␤WHERE: "hi world!".perl.say;}; say 'oops'; do { "back agai␤WHERE:                     /\<-- HERE␤  STD_red/prelude.rb:98:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤
23:43 exp_evalbot ..STD_red/std.rb:224:in `comp_unit'␤  STD_red/std.rb:210:in...
23:43 spinclad pugs: "hi world!".perl.say;}; say 'oops'; do { "back again"
23:44 exp_evalbot OUTPUT[*** ␤    Unexpected ";"␤    expecting ";", identifier, Doc block, block declaration, declaration, construct or expression␤    at /tmp/ZpuW3SEIgS line 1, column 23␤]
23:45 spinclad (seeing if i could do some code injection...)
23:51 iMaTh joined #perl6
23:51 iMaTh left #perl6
23:57 spinclad re to distinguish _faster from non, i take it Emit*P5 is too late to notice the lval-accessor idiom?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo