pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
00:09 cmarcelo joined 00:20 donaldh left 00:21 donaldh joined 00:27 ruoso left 00:32 explorer left 00:43 stevan_ left, stevan_ joined 00:49 cognominal__ joined, cognominal_ left 00:50 tobeya left 00:59 elmex left 01:12 cognominal__ left 01:13 cognominal__ joined 01:25 Ched- left, Ched- joined 02:10 nipotan is now known as nipotaway 02:19 jiing left 02:35 eternaleye joined 02:40 Eevee left 02:45 Eevee joined 03:05 rindolf joined 03:39 snooper joined 03:49 pbuetow_ left 04:09 cmarcelo left 04:47 justatheory left 05:23 alester joined, bsb_ joined 05:24 alc joined 05:30 rindolf left 05:35 wknight8111 left
pmichaud perl: my @a = 1, 2, 3; say @a.WHAT; 05:35
perl6: my @a = 1, 2, 3; say @a.WHAT;
exp_evalbot kp6: OUTPUT[syntax error at position 9, line 1 column 9:␤my @a = 1, 2, 3; say @a.WHAT␤ ^ HERE␤]
..pugs: OUTPUT[Array␤]
..rakudo: OUTPUT[Int␤]
pmichaud perl6: say (1,2,3).WHAT; 05:36
exp_evalbot kp6: OUTPUT[Out of memory!␤Out of memory!␤]
..pugs: OUTPUT[Array␤]
..rakudo: OUTPUT[List␤]
05:39 bsb left 05:40 mncharity left 05:42 zamolxes left 05:47 meppl joined 06:00 donaldh left, donaldh joined 06:08 cognominal__ left 06:11 alester left 06:37 vixey joined
vixey In rakudo/perl6, who creates perl6str.c? 06:48
oops sorry, it says right here This file is generated automatically from './perl6str.pmc' 06:49
07:31 pmurias joined
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
pmurias ;) 07:37
moritz_ good morning 07:46
07:47 IllvilJa joined 07:53 bsb_ left, elmex joined 08:03 iblechbot joined
vixey I wonder why elf_f has got sub initialize_notes{my $self=CORE::shift;(do{$self->notes({}); 08:17
but elf_f0 has sub initialize_notes{my $self=CORE::shift;(do{($self->notes() = {});
moritz_ vixey: maybe that's part of the move to a different accessor syntax 08:19
pmurias vixey: it was changed 08:24
well, i changed it
use elf_f_faster instead of elf_f
vixey so Can't modify non-lvalue subroutine call at ../elf_f0 line 2655. is supposed to happen?
pmurias elf_f is broken 08:25
08:26 donaldh left
vixey How will $self->notes() = {} be able to work in the future? 08:26
is this autobox?
pmurias it works in the elf_f_faster 08:27
using lvalue subroutines
vixey % ../elf_f_faster -x -o ../elf_f0 Elf.pm % ../elf_f0 -x -o ../elf_f1 Elf.pm work 08:28
but % ../elf_f1 -x -o ../elf_f2 Elf.pm still has Can't modify non-lvalue subroutine call
pmurias there are 2 elfs
08:28 zamolxes joined
pmurias the old broken and moosish elf_f, and the slighly newer faster elf_f_faster 08:29
vixey Oh, I see!
cool Elf_Faster.pm actually bootstrapped 08:31
08:32 [particle] left 08:45 laye joined 08:56 cognominal_ joined 09:06 masak joined 09:11 meppl left 09:23 jjore is now known as zz_jjore, zz_jjore is now known as jjore
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
I'll do 6 hours now; can always increase it if the chart stays linear 09:29
09:32 [particle] joined
moritz_ Juerd: I suppose you already tried to decrease the min and max spare server processes? 09:33
Juerd No 09:35
vixey I think I fixed for in elf
t/kp6/45-for.t works now but didn't befor
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.
moritz_ vixey: commit it, ship it!
Juerd ship it? 09:36
:)
In a shrinkwrapped box?
vixey hehe
moritz_ vixey: do you have a commit bit already?
vixey I did.. 09:37
09:37 wknight8111 joined
moritz_ uhm, commitbit is down :( 09:38
vixey can't remember my password though
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 &
pugs_svnbot r20501 | fax++ | [elf] Small fix to EmitSimpleP5 to make kp6 for loop test work 09:45
vixey svn remembers my pw in my other user somehow. 09:46
moritz_ very good ;) 09:50
vixey++
vixey ooh I got it back
ty :)
pmurias vixey: did you ci the executable? 09:56
vixey no :S
It turns out I made the test work but this interferes with bootstrapping
pmurias revert ;) 09:57
09:57 lisppaste3 left
moritz_ obra: could you please try to fix commitbit? it's down, and I don't know what to do 10:02
pmurias vixey: you may have uncovered a bug, as the you commit seems to be correct 10:05
i'm looking into it 10:07
vixey I am trying to figure it out too
10:13 ruoso joined
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
obra so. I've logged into feather exactly twice. what's the apache errro log say?
vixey how do you look at the AST ?
It's the same as with kp6?
pmurias if you use the -v option it prints out the ast
vixey oh cool
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 :/
pmurias as it prints attribiutes as positionals in the order they are specified in nodes_create.pl
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?
moritz_ yes
obra new key starts 44:88? 10:21
moritz_ how do I find out? ;-)
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
2048 44:88:fb:48:cb:79:72:da:67:bd:18:4f:84:d9:2a:cf /etc/ssh/ssh_host_rsa_key.pub
obra moritz_: poking
10:25 wknight8111 left
obra moritz_: it looks like someone upgraded perl and didn't install jifty. any chance that'swhat happened? 10:27
moritz_ obra: yes, possible
obra: debian unstable had the ->5.10.0 transition the other day
obra oh jesus. 10:28
moritz_ if that's the only problem I can probably fix it
obra feather just takes debian stable update?
well, that's the first problem
s/stable/unstable/
pmurias vixey: want be to fix the bug, or are you doing it yourself 10:29
?
vixey I think I just fixed it
obra assuming that jifty is nstalled, as www-data, you need to
cd /data/svn/commitbit
./bin/jifty server 6666 &
moritz_ ok, I'll try that 10:30
vixey pmurias: the test works again, if this bootstraps shall I commit
?
pmurias ;)
yes
obra moritz_: I have my password and a small timeslice, so may be able to help as you try to get it going
pmurias you may also try mncharity's misc/elfish/showcode 10:31
pugs_svnbot r20502 | fax++ | [elf] bootstrapping again *phew* 10:32
vixey hm :S 10:33
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
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?
ruoso ruoso@pitombeira:~$ ls -1 /home/ruoso/devel/perlmodules/*.deb | wc -l
56
pmurias, usually :S is a smiley ;) ;) 10:36
vixey pmurias: it turns out that $n.block.WHAT eq 'SubDecl' doesn't get triggered
moritz_ moritz@trudi:~>ls install/lib*perl*.deb debian/lib*perl*.deb|wc -l
86
ruoso: I won ;)
ruoso geez
are you upgrading already?
moritz_ that was my local machine 10:37
I'm currently working on feather
ruoso that was my local too
but this upgrade makes me regret not taking the time to package the modules properly and upload to debian... 10:38
the transition would come for free
moritz_ aye
pmurias vixey: got to run for lunch& 10:39
vixey (I got it bootstrapping and the test working now) 10:40
moritz_ ruoso: are you a debian developer?
pmurias i guess that "if it bootstraps you can commit" is the guideline 10:41
ruoso moritz_, yes...
10:41 pmurias left
ruoso moritz_, one of the "debian perl group" founders.. ;) 10:41
moritz_ ruoso: my dream would be a cpan mirror that automagically builds debian packages from all modules 10:43
ruoso I was thinking... 10:44
and I think it should be possible to do a debian source repository directly from cpan 10:45
and then use apt-build
moritz_ problem is that some modules have external dependencies that aren't declared anywhere
ruoso moritz_, that's the main reason why debian packages for perl modules are always human-reviewed 10:46
the other is proper copyright proof-reading 10:49
pugs_svnbot r20503 | fax++ | [elf] bootstrapping again and for working with SubDecls
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)
ruoso moritz_, when you have any time... get to #debian-perl@oftc.. 10:53
people there are usually very helpful
you can also register in alioth and ask for membership...
memberships on the debian perl group usually follows the same policy as pugs commitbit
moritz_ ;) 10:54
11:03 icwiener joined
vixey thinks that .. STD_red std.rb doesn't parse post if? 11:06
11:09 laye left
moritz_ obra: I installed all dependencies (d'oh what a mess) and now I get 11:10
bind: Permission denied at /usr/share/perl5/HTTP/Server/Simple.pm line 697, <DATA> line 16.
(after './bin/jifty server 6666')
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.
obra oh. it may be --port 6666 11:26
moritz_ YaY, works! 11:29
commitbit is up again
Juerd obra++ 11:32
obra moritz_++ # did all the work 11:33
Juerd Oh, moritz
Oh, moritz++ then 11:34
(+ is too close to enter on dvorak)
(Or maybe someone with inaccurate fingers just shouldn't type)
obra I just logged in and looked at where it was installed :)
pugs_svnbot r20504 | fax++ | [elf] for loop is now sane 11:37
vixey what does .pm stand for? 11:38
Juerd Perl Module 11:39
moritz_ or "perl mongers group" (depending on context) 11:40
11:50 FurnaceBoy joined 11:51 pmurias joined 11:53 alc left
pugs_svnbot r20505 | pmurias++ | [elf] propagated working for's (vixey++) into the executable 12:01
12:03 pmurias left
pugs_svnbot r20506 | fax++ | [elf] added a bit to Match.pm making t/kp6/30-prelude-match.t pass 12:04
vixey tests are supposed to print out like 12:16
1..4
ok 1
ok 2
if a test prints 12:17
1..4
ok
is that a bad test?
(e.g. ../../../v6/v6-KindaPerl6/t/kp6/45-for.t)
moritz_ don't know, maybe it's described here? en.wikipedia.org/wiki/Test_Anything_Protocol 12:18
vixey oh I didn't know it was an actual format, thanks
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
moritz_ 1..6 12:18
not ok
ok
not ok
ok
has five tests. The sixth is missing. Test::Harness will generate
FAILED tests 1, 3, 6 12:19
Failed 3/6 tests, 50.00% okay
search.cpan.org/~petdance/TAP-1.00/TAP.pm
lambdabot Title: TAP - The Test Anything Protocal - search.cpan.org
moritz_ to summarize: it's ok, but it's not nice ;) 12:20
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
it'll use elf_f otherwise 12:24
moritz_ ./run-tests elf_f_faster 12:25
vixey but I think that it's not checking the test results perfectly
(when it doesn't have numbers after each ok)
moritz_ it uses its own parser? 12:26
vixey yes 12:33
moritz_ @karma vixey 12:38
lambdabot vixey has a karma of 1
moritz_ @karma fax
lambdabot fax has a karma of 26
pmichaud pugs: say(1, 2, c=>3, 4); 12:41
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␤]
pmichaud pugs: say((1, 2, c=>3, 4))
exp_evalbot OUTPUT[12c 34␤]
moritz_ pugs: say \(1, 2, c => 3, 4)
exp_evalbot OUTPUT[CaptSub {c_feeds = [:MkFeed {f_positionals = [:IFinite 1,IFinite 2,IFinite 4:], f_nameds = fromList [("c",[:IFinite 3:])]}:]}␤]
pmichaud pugs: say(list(1, 2, c=>3, 4))
exp_evalbot OUTPUT[12c 34␤]
12:42 wknight8111 joined
pmichaud okay.... why does list(1, 2, c=>3, 4) work? 12:43
but say(1, 2, c=>3, 4) doesnt?
moritz_ pmichaud: because c=>3 is a named argument 12:44
pmichaud: whereas list(...) is a single list
pmichaud yes, that's kinda my point. why isn't it a named argument to list?
moritz_ pmichaud: it is, but I guess that list() has a slurpy signature
pmichaud say has a slurpy signature.
moritz_ uhm 12:45
maybe list() is a "magic" operator?
pmichaud pugs: (1, 2, c=>3, 4).say 12:46
exp_evalbot OUTPUT[12c 34␤]
moritz_ pugs: say (1, 2, c=>3, 4).WHAT 12:47
exp_evalbot OUTPUT[Array␤]
12:48 cmarcelo joined
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\"),
..subLValue = False, subBody = Prim ([Pugs.AST.Internals...
pmichaud my &f = &list; say f(1, 2, c=>3, 4).WHAT;
pugs: my &f = &list; say f(1, 2, c=>3, 4).WHAT;
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\"),
..subLValue = False, subBody = Prim ([Pugs.AST.Internals...
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␤]
pmichaud looks like perhaps list is "special"
moritz_ so list *is* special in pugs
pmichaud (thanks for the := hint) 12:54
moritz_ I never understood why you need it, though ;) 12:55
pmichaud because in list(), the order of "named arguments" (pairs) and positionals is significant 12:56
but in other functions, it's not.
foo(1, 2, c=>3, 4) is the same as foo(1, 2, 4, c=>3)
but not for "list"
moritz_ aye 12:57
pmichaud so I was wondering how that worked
moritz_ so do we need the ability to flatten a capture in order?
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
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, alester left
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?
pmichaud MMD.
13:09 vixey left 13:12 cmarcelo left
pmichaud pugs: say(1, (2, 3,), 4); 13:24
exp_evalbot OUTPUT[1234␤]
pmichaud pugs: say(1, (c=>2), 3);
exp_evalbot OUTPUT[1c 23␤]
pmichaud pugs: my @a = (2, 3); say(1, @a, 4); 13:25
exp_evalbot OUTPUT[1234␤]
13:43 meppl joined 14:01 snooper is now known as pbuetow 14:03 rindolf joined 14:06 rdice joined 14:16 eternaleye left 14:18 FurnaceBoy left 14:19 alester joined 14:25 chris2 joined, IllvilJa left 14:40 TJCRI joined 14:50 sscaffidi joined 15:07 TimToady left 15:15 jhorwitz joined 15:17 cjfields joined, Ched- left 15:20 rindolf left 15:21 Ched- joined 15:27 justatheory joined 15:36 ispy_ left 15:42 [particle1 joined 15:43 cjfields_ joined 15:44 [particle] left, [particle1 is now known as [particle] 15:45 kaether joined
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:48
moritz_ Auzon: debian stable doesn't have suficciently new ruby 15:49
Auzon: but try install libstrscan-ruby nonetheless 15:50
Auzon The Ruby I'm using is compiled from source
moritz_ Auzon: would you care to join #parrot on irc.perl.org?
Auzon Sure
moritz_ Auzon: we're currently discussing your weekly reports ;)
pmichaud I propose we move the discussion here. :-)
we might need to wait for particle -- he may be comcast lagged again :-) 15:51
moritz_ I don't insist on regular interactive meetings
[particle] Auzon: it's probably a good idea for you to keep #parrot open always 15:52
Auzon ok, [particle]
moritz_ as long as we have sufficient conversation here, which has so far always been the case
Auzon Hm. Was I in there before?
moritz_ Auzon: do you have a soc channel/tag/whatever that can tracked via rss?
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.
pmichaud probably not planetparrot.
[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
Auzon It's auzon.blogspot.com -- let me find the tag
lambdabot Title: Auzon's Blog
[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 auzon.blogspot.com/search/label/gsoc2008 <--- Strictly related to SoC
lambdabot Title: Auzon's Blog: gsoc2008
Auzon [particle]: What do you mean by weekly interactive meetings? 15:55
moritz_ either phone or IRC conference
with fixed times
like #parrotsketch and "design minutes"
[particle] every tuesday, there's a parrot status meeting in #parrotsketch on irc.perl.org
Auzon I think that the informal stuff works better, even though I can easily be available at fixed times. 15:56
[particle] in previous years, parrot gsoc-ers attended
they would report their status, and be able to ask questions of the core committers
i plan on continuing that this year for the parrot projects
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.
s/easier/better/
[particle] but your project is a bit different, since it's not directly parrot-related 15:57
yes, i prefer a regularly-scheduled meeting
15:57 eternaleye joined
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.
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?
pmichaud you all can set the time that's convenient for you. My schedule is fairly open.
moritz_ tuesday to thursdeay would be fine by me 15:59
pmichaud (I'd like to attend, but obviously that's not a requirement.)
moritz_ ideally GMT+2 waking times ;)
Auzon Well, I think we have some timezones to coordinate :)
moritz_: What's $localtime in ~2 hours?
[particle] how about wednesday, plan on 30m meetings
pmichaud I'm GMT-5, but my schedule is flexible enough that it doesn't really matter.
[particle] just before the perl 6 design concall 16:00
moritz_ Auzon: it's 8pm localtime in 2 hours, which is fine by me
16:00 cjfields left
[particle] pmichaud: does that work for you? 16:00
pmichaud perl6 design concal is UTC 20h00, fwiw
so this would put test meetings at UTC 19h30 ?
[particle] so, wednesday 1930UTC
yep
moritz_ where?
pmichaud I may have to miss next week's meeting due to picking up kids, but other than that it's okay.
(after that is no school so won't matter.) 16:01
[particle] heh, cool.
Auzon That works for me.
16:01 cjfields_ is now known as cjfields
[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.
moritz_ [particle]: ok
pmichaud works for me.
[particle] pmichaud: precisely my thoughts
pmichaud will #perl6-soc be logged? 16:02
(if not, can it be?)
[particle] if anybody has tuits, it'd be nice to have it logged
moritz_ yes
I have the logger up anyway
[particle] moritz_++
pmichaud sounds like a plan.
moritz++ particle++ Auzon++
moritz_ and pmichaud++
[particle] thanks all!
feel free to join #perl6-soc now, everyone reporting, and wishing just to watch 16:03
16:04 pbuetow left, pbuetow joined, ilbot2 left 16:05 ilbot2 joined
Auzon I have a mild dislike for DST after trying to calculate those times. It works better than I thought though. 16:05
moritz_ Auzon: same here ;) 16:08
Auzon: btw did you see eric's call for a first report?
Auzon Yes.
moritz_ good.
Auzon I decided against typing something up at 1am localtime. 16:09
moritz_ hehe
pugs_svnbot r20507 | moritz++ | [irclog] 16:12
r20507 | moritz++ | * allow '-' in channel names
r20507 | moritz++ | * few more abbreviations
r20508 | moritz++ | [irclog] allow '-' in channel names in .htaccess
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.
pmichaud you missed some of the pre-discussion on #parrot, maybe?
Juerd I did
moritz_ yeah, but that was only about 5 additional minutes
if at all
Juerd Should I be less impressed? :)
pmichaud particle started discussion at 15:39, we had conclusion and logging bot at 16:04 16:13
so, 25m :-)
Juerd Still nice.
pmichaud yes, I agree.
16:13 armagad joined
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.
And I really hate that waste of time, but it's often necessary.
pmichaud: Hehe.
[particle] (waste of time)-- 16:20
16:25 pbuetow left, wknight8111 left 16:26 wknight8111_ joined 16:28 wknight8111_ left 16:29 wknight8111 joined 16:30 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner 16:37 FurnaceBoy joined 16:40 smtms left 16:42 smtms joined 16:51 FurnaceBoy left 16:56 masak left
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
and I forgot to prefix that commit message with []. :-/ 17:01
moritz_ Auzon: ok, tell me where ruby lives ;)
17:01 eternaleye_ joined
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?
Auzon Elf runs, given that addition to PATH. I don't see a reason to upgrade the whole chroot yet
moritz_ ok 17:03
Auzon Compiling Ruby was easy enough. Just ./configure; make; make install
The problems I had was because I compiled it outside of the chroot, then moved it inside
moritz_ ok, what should I add to path?
Auzon /home/evalenv/ruby/bin
17:04 exp_evalbot left
Auzon (or I can have ruby install in /usr/local/bin) 17:04
moritz_ no, that's fine
17:04 exp_evalbot joined
moritz_ elf: say "hi" 17:04
exp_evalbot OUTPUT[/usr/bin/env: perl: No such file or directory␤]
moritz_ pugs: say "hi" 17:05
exp_evalbot OUTPUT[hi␤]
moritz_ /usr/bin/env perl -wle 'print "foo"' 17:06
foo
Auzon env can't find perl? That's bizarre.
moritz_ works in evalbot environment
indeed
Auzon elf: say "hi" 17:07
exp_evalbot OUTPUT[/usr/bin/env: perl: No such file or directory␤]
17:07 kanru joined
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:08 armagad left
Auzon We should also switch to elf_f_faster so we get sub-5s runtimes 17:09
Seems like evalbot's environment is wrong 17:10
moritz_ yes
17:10 exp_evalbot left, exp_evalbot joined
moritz_ rakudo: say "hi" 17:11
exp_evalbot OUTPUT[hi␤]
moritz_ elf: say "hi"
[particle] can you include nqp in exp_evalbot, but not have it respond to perl6: ?
exp_evalbot OUTPUT[Permission denied at ./elf_f line 219.␤]
moritz_ nqp: say("hi")
exp_evalbot OUTPUT[hi␤]
[particle] perl6: say "hi"
exp_evalbot kp6: OUTPUT[hi␤]
..pugs: OUTPUT[hi␤]
..rakudo: OUTPUT[hi␤]
..elf: OUTPUT[Permission denied at ./elf_f line 219.␤]
moritz_ Auzon: where does elf keep its temporary files?
[particle] ah, perfect :)
Tene perl6: say "particle++"
Auzon pugs/misc/elf has a bunch of deleteme files.
exp_evalbot kp6: OUTPUT[particle++␤] 17:12
..pugs: OUTPUT[particle++␤]
..rakudo: OUTPUT[particle++␤]
..elf: OUTPUT[Permission denied at ./elf_f line 219.␤]
moritz_ Auzon: evalbot (the user) doesn't have write permissions anywhere in evalenv's home
Auzon Let me look at evalbot.pl again then
moritz_ Auzon: so either change the permissions to be somewhat more permissive (preferred) or generate temp files in /tmp/
Auzon oh ok 17:13
elf: say "hi"
exp_evalbot OUTPUT[hi␤]
[particle] pugs: my @a = 1,2,3; say @a.perl
exp_evalbot OUTPUT[[1, 2, 3]␤]
Auzon elf: say "hi" 17:14
exp_evalbot OUTPUT[hi␤]
moritz_ Auzon++ 17:15
pugs_svnbot r20510 | Auzon++ | [evalbot] use elf_f_faster instead of elf_f for speed reasons.
Auzon elf: say "hi"
exp_evalbot OUTPUT[hi␤]
Auzon Try restarting it. It should finish in ~1s now
moritz_ restarts evalbot to make the changes effective
17:15 exp_evalbot left 17:16 exp_evalbot joined
Auzon elf: say "hi" 17:16
exp_evalbot OUTPUT[hi␤]
moritz_ w00t
[particle] wants an evalbot on parrot that works for all pct-based hlls
moritz_++ Auzon++ 17:17
Tene Can we do sockets on parrot yet?
moritz_ [particle]: feel free to shamelessly plagiarize evalbot (although it's a quick'n'dirty hackery)
Tene Get me sockets on parrot and I'll do it this weekend.
moritz_ Tene: you don't need sockets for that ;) 17:18
Tene Wait, did you want an evalbot that *runs* on parrot, or just an evalbot that runs parrot *languages*?
[particle] runs parrot languages
17:18 eternaleye left
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
Tene moritz_: it was the "on parrot" that got me. 17:19
moritz_ Tene: ah, ok ;)
[particle] oops, i meant on #parrot
Tene Sure, I'll look at that this weekend. Where's exp_evalbot?
[particle] pugs repo 17:20
Tene and is exp_evalbot stable?
Auzon Tene: pugs/misc/evalbot
[particle] seems to be stable enough for me
Tene I see several reconnects in the scrollback...
Auzon That was to make changes happen.
[particle] right. 17:21
Tene Oh, okay.
Alright, then. Sure.
[particle] does it reconnect when one of the languages is rebuilt?
Auzon It doesn't need to. It only needs to reconnect when its source changed.
moritz_ it launches HLLs through external processes
[particle] ah, ok
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
[particle] ok
Auzon sn updates are provided by a cronjob. 17:23
*svn
moritz_ for example make the build script store the revision in some file
Auzon lunch &
Thanks for your help moritz_ :) 17:24
moritz_ Auzon: np
moritz_ can either host parrots evalbot on the same server as Perl 6's evalbot runs now 17:25
or Juerd offered root access to a dedicated evalbot-VM on feather (feather2)
17:29 nipotaway is now known as nipotan 17:49 TJCRI left
[particle] pugs: say (1,2).perl 17:55
exp_evalbot OUTPUT[(1, 2)␤]
17:57 rindolf joined
moritz_ @karma particle 17:58
lambdabot particle has a karma of 11
moritz_ @karma [particle]
lambdabot [particle] has a karma of 5
moritz_ (dual nicks)-- ;)
[particle] blames nickserv 17:59
18:05 TJCRI joined 18:06 vixey joined 18:13 pmurias joined
[particle] pugs: say (1).perl 18:17
exp_evalbot OUTPUT[1␤]
pmurias moritz_: re sockets you can have sockets in elf if you use eval_perl5('use IO::Socket')
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:20
..longest_token_match'␤ STD_red/prelude.rb:400:in `each'␤ STD_r...
vixey elf: say "foo".WHAT
exp_evalbot OUTPUT[Str␤]
vixey why is WHAT all caps?
elf: my $foo = "foo"; say $foo.WHAT
exp_evalbot OUTPUT[Str␤]
Tene perl6: my $foo "foo"; say $foo.WHAT 18:22
exp_evalbot kp6: OUTPUT[Undef␤]
..pugs: OUTPUT[*** ␤ Unexpected "\""␤ expecting "?", "!", trait, "=", infix assignment or operator␤ at /tmp/V7FCbODK55 line 1, column 10␤]
..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
..'parrot;Perl6::Grammar;statement_block' pc 15175 (src/gen_grammar.pir:1613)␤called...
..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'␤
..STD_red/std.rb:210:in `_UNIT'␤ ./../STD_red/STD_red_run:108:in `m...
Tene perl6: my $foo = "foo"; say $foo.WHAT.WHAT
exp_evalbot kp6: OUTPUT[Str␤]
..pugs: OUTPUT[Str␤]
..rakudo: OUTPUT[Str␤]
..elf: OUTPUT[Str␤]
[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)␤
[particle] rebuild rakudo you silly bot :P
moritz_ acts as silly bot and rebuilds rakudo 18:25
rakudo: say (1,2).perl
Auzon Dang, beat me to it ;)
exp_evalbot OUTPUT[(1, 2)␤]
moritz_ ;)
[particle] \o/
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
Auzon: rakudo compiles fairly fast compared to parrot
[particle] hourly! how am i supposed to show off if i have to wait that long :)
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.
Better yet, we could have the svnbot(s) use the same repo.
moritz_ but svnbot should poll far more often than the languages should rebuild 18:28
[particle] svnbot on parrot is every 6m iirc 18:29
Auzon We could have it trigger rebuilds when new updates are found.
moritz_ Auzon: but only if you can find a scheme that interups already running updates
Auzon: I don't want to stack builds on the CPU
[particle] where's the svnbot here? 18:30
moritz_ good question
Auzon We have pugs_svnbot and speckbot
[particle] ah, there's pugs_svnbot... wasn't there one for rakudo?
moritz_ [particle]: yes, i'll restart it in a bit...
[particle] kk
Tene Looke like I can build rakudo in 17s 18:31
18:31 rakudo_svn joined
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?
moritz_ Auzon: sounds good
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++
Tene real 0m16.704s
user 0m21.158s
sys 0m0.593s
moritz_ user > real? how can that happen? 18:37
multi core?
Tene yeah
[particle] multicore++
Auzon New cronjobs should be running.
moritz_ funny, I have a dual core myself and never noticed it
Tene moritz_: make -j
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)
[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.
[particle] perl 5's make -j test rocks
moritz_ aye
pmurias vixey: if you have any elf questions/requests, feel free to ask
Tene Looks like I can also build parrot in 17s
moritz_ and parrots works also
[particle] tene: ccache? 18:40
Tene no
moritz_ Tene: how many cores? ;-)
Tene 8
Auzon :O
[particle] oh.
moritz_ Tene: or is 'make' an alias to 'sleep 17'? ;-)
Tene Heh.
no, it takes 1m16s user
vixey pmurias: well I'm curious about where it's going next
Auzon vixey: As I understand it, elf's featureset is growing on a request and "what gets us more progress?" basis 18:41
I believe "more progress" is currently tests. 18:42
moritz_ would wish passing t/01-sanity/*
vixey ok cool
oh
pmurias hard question, mncharity will propably pursue the test suit, i'm more interested in removing hacks and getting the sm0p grammar to work
vixey How would := be implemented ?
moritz_ vixey: typically assignment to containers
perl 5's 'make -j 4' finished for me 18:43
real 1m37.455s
user 2m47.604s
multicore++ indeed ;)
18:43 tobeya joined
moritz_ vixey: are you familiar with containers/values? 18:44
vixey moritz_: I haven't seen it done in p5
moritz_ vixey: well, perl 5 doesn't natively support binding 18:45
(though Data::Alias and Data::Bind seem to be pretty good)
but you can achieve things with glob hackery
pmurias globs work on globals only 18:46
moritz_ yes, that's the drawback 18:48
pmurias Data::Alias sounds clever/fast 18:50
s/sounds/looks
18:51 meppl left
pmurias moritz_: why is passing sanity tests important to you? 18:52
vixey hehe
moritz_ pmurias: the features used there are also used all over the test suite 18:53
pmurias: at least mot of them
pmurias: and I think it would help get elf wildly accepted as a "serious" implementation
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?
Auzon Yep. That's the only thing I can think of. 18:55
moritz_ Auzon: go right ahead with writing/commiting ;)
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:57
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 ;)
18:59 ruoso left
moritz_ turns out it blocks on the huge openoffice.org packages that can't be easily build across multiple machines 19:00
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␤]
..pugs: OUTPUT[pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/E8YdZmozVJ line 1, column 1␤]
..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
..(EVAL_9:15)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 78...
..elf: OUTPUT[Cant locate strict in ( . ).␤]
Auzon Are there any sort of strictures implemented so far? 19:02
[particle] auzon: there's no strict in perl 6
they're on by default
moritz_ unless on the -e command line 19:03
Auzon OK. So...
perl6: $test = 5; say $test;
exp_evalbot kp6: OUTPUT[5␤]
..pugs: OUTPUT[*** ␤ Unexpected " ="␤ expecting "::"␤ Variable "$test" requires predeclaration or explicit package name␤ at /tmp/5Pm3VOXURb line 1, column 6␤]
..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
..(src/PAST/Compiler.pir:1437)␤called from Sub 'parrot;PAST::Compiler;pos...
..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␤]
[particle] and context sensitive. Perl 5 code is not strict by default, while
Perl 6 code is. But it should be easy to relax with C<-e> or
a bare version number:
--S01
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
Auzon: take a look at ext/Test/lib/Test.pm
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
moritz_: is eval_dies_ok fudge-approved?
moritz_ [particle]: for now it's enough to test for failur
[particle]: dunno
[particle] ah, apparently it is
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.
moritz_ [particle]: jonathan++ thought about implementing $/, $! and the like
[particle]: once you've got $! working that shouldn't be hard
[particle] moritz_: yes, indeed 19:07
moritz_ rakudo: eval 'say "foo";';
exp_evalbot OUTPUT[foo␤]
[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 :)
rakudo_svn r27774 | jkeenan++ | Fix POD formatting error: '=over' without corresponding '=back'.
moritz_ envies [particle] a great deal
but we'll visit Norway this summer/autumn ;) 19:08
[particle] ooooooh
moritz_ my girlfriend is half-Norwegian ;)
19:08 cjfields left
Tene I'll be in a cabin in the mountains of Idaho this weekend. 19:11
[particle] tene: in the panhandle? 19:12
Tene somewhere outside of twin falls somewhere. 19:22
I don't know yet.
pugs_svnbot r20511 | moritz++ | [t] t/oo/from_moose: remove some tests that don't correspond to Perl 6 19:28
Auzon moritz_: All tests should be migrating from t/ to t/spec/, correct? 19:31
[particle] yes
moritz_ right 19:32
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:34
moritz_ Auzon: I'm not really convinced of what to do with 01-sanity and 02-test-pm 19:35
Auzon: I'd suggest to leave them for now
[particle] i think they should stay 19:36
moritz_ and 01-sanity isn't necessarily connected with S01
pmurias neither is 02-test-pm
moritz_ sadly 02-test-pm isn't enough for running Test.pm 19:37
which could be considered a defect of Test.pm
pmurias ? 19:38
[particle] well, i think it's enough to run *a* Test.pm, but not the one that's there currently
pmurias 02-test-pm tests if Test.pm runs correctly
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
[particle] pmurias: it doesn't have complete coverage
auzon: leave 01-sanity alone, it's for baby baby implementations 19:39
Auzon Alright.
[particle] 01-tap is intended to make sure we can print valid TAP
not related to the perl 6 spec
pmurias [particle]: that's a different matter
moritz_: you meant 01-sanity? 19:40
moritz_ actually it tests say, string literals and line comments
pmurias: probably, yes
moritz_ is a bit confused
pmurias use the source ;)
[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
[particle] i don't think we need 'use v6;' in that test, either 19:42
moritz_ I think we do
pmurias 01-sanity is a bit arbitrary
moritz_ [particle]: otherwise it's not valid perl6 subset
[particle] you don't need to be able to parse 'use' on day 1 of your implementation, do you? 19:43
you're saying 'yes'
moritz_ yes
[particle] k. 19:44
pmurias moritz_: p6 dosn't have to have a 'use v6'
moritz_ pmurias: every source file is considered to be perl 5 unless it has a 'use v6', a 'class' or a 'module' keyword
pmurias unless it's run by the perl6 executable 19:45
#!/usr/bin/perl6 is enough 19:46
moritz_ pmurias: the #!-Line is a good point
pmurias: the executable name isn't, though. The correctness of the test suite shouldn't depend on that 19:47
pmurias as it's the perl6 test suit we can assume there is no perl5 lurking there 19:48
19:49 rindolf left
pmurias sleep& 19:57
19:57 pmurias left, chris2 left
Auzon pugs: module Foo; say $?PACKAGE; 19:59
exp_evalbot OUTPUT[Foo␤]
Auzon pugs: module Foo; say $?MODULE;
exp_evalbot OUTPUT[Main␤]
Auzon pugs: module Foo {say $?MODULE};
exp_evalbot OUTPUT[Main␤]
Auzon rakudo: module Foo {say $?MODULE}; 20:00
exp_evalbot OUTPUT[Scope not found for PAST::Var '$MODULE'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤
Auzon kp6: module Foo {say $?MODULE};
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 ␤]
Auzon elf: module Foo {say $?MODULE};
exp_evalbot OUTPUT[Global symbol "$MODULE" requires explicit package name at (eval 10) line 6.␤ at ./elf_f_faster line 4353␤]
Auzon pugs: module Foo {say $?PACKAGE};
exp_evalbot OUTPUT[Foo␤]
moritz_ I think that pugs is wrong there (but it's a long time since I read the right synopsis)
Auzon Looks like everyone is wrong :) 20:01
moritz_ pugs is the only one that implements $?MODULE at all 20:02
it's specced in S01:1942
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."
S02, rather. 20:03
moritz_ a package is just class|module
pugs: class Foo { say $?PACKAGE }
exp_evalbot OUTPUT[Foo␤]
moritz_ that's right
pugs: module Foo { say $?PACKAGE }
exp_evalbot OUTPUT[Foo␤]
moritz_ that's also right 20:04
pugs: module Foo { say $?MODULE }
exp_evalbot OUTPUT[Main␤]
moritz_ that's wrong
Auzon pugs: class Foo {say $?CLASS; say $?MODULE; say $?PACKAGE} 20:05
exp_evalbot OUTPUT[Foo␤Main␤Foo␤]
Auzon Is that correct?
Seems like $?MODULE just never gets set.
moritz_ I don't know about $?MODULE in a class, but I think it's fine
20:06 mncharity joined
moritz_ module {} should set $?MODULE and $?PACKAGE, and class {} should set $?CLASS and $?PACKAGE 20:06
20:08 ruoso joined 20:13 sri_work joined 20:14 lisppaste3 joined
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:18
moritz_ modules are just there for packaging non-object stuff into a namespace 20:21
and a package is the old, perl 5 style notion of a namespace that can either be introduced with a class or a module
see S11 for details
mncharity Wowww... what a backlog. what a day. ++everyone. 20:29
Auzon Hi mncharity.
20:32 Psyche^ joined
mncharity hi Auzon 20:32
20:34 sri_work left
Auzon Did you see elf in evalbot? 20:35
moritz_ elf: say "hi mncharity"
exp_evalbot OUTPUT[hi mncharity␤]
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
re evalbot, ! :)
elf: "Hello, world! Now N days until Christmas"
exp_evalbot RESULT[syntax error at (eval 11) line 3, near "GLOBAL::statement_prefix:"␤ at ./elf_f_faster line 4353␤]
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
s/eval/perl/
Auzon It's updated every 5 minutes, and uses elf_f_faster since elf_f takes ~5s for a say "hi" 20:40
mncharity moritz_: ah, ok. todo list: determine the evalbot wrapper phrase and make it work in elf. 20:41
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.
moritz_ $program = '( ( do { ' . $program . "\n} ).perl ).print";
Auzon 5.8.8, I think. Debian stable
moritz_ misc/evalbot/lib/EvalbotExecuter line 81 20:43
mncharity: you're welcome to find a robuster wrapper ;)
20:43 Patterner left, Psyche^ is now known as Patterner
mncharity moritz_: :) elf should be able to adapt. 20:44
re 5.8.8, ah, ok.
moritz_: thanks for the line. :) 20:45
20:53 sscaffidi left 20:57 donaldh joined 20:59 pmurias joined
pmurias mncharity: re intentionally using a small portion of p6, is there anything which would help that we don't use intentionaly 21:01
mncharity yay, no test_faster regressions vs run-tests.result_faster's t/ -r20475. updating run-tests.result_faster with current t/ ... 21:02
21:04 peepsalot joined
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".
or some such
x01.pl should be svn rm x01.pl. 21:05
re help, good question, not sure...
multimethods at some point. but that probably means grabing a copy of Class::Multimethods and forking it. 21:06
pugs_svnbot r20512 | pmurias++ | [elf] removed an old file 21:10
pmurias mncharity: with regards to Call being a hack it has *both* and $.invocant and $.capture 21:15
s/and/an/
mncharity re Call, hmm, perhaps FromAST should combine them... 21:16
re $n.foo = 3, why the switch to lvalue subs? 21:18
err, in elf_f_faster
pmurias it's more proper 21:19
and the switch in the emitter happend by accident
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;
exp_evalbot OUTPUT[*** ␤ Unexpected "\65279"␤ expecting ";", identifier, Doc block, block declaration, declaration, construct or expression␤ at /tmp/zdBJPxpxgv line 1, column 55␤]
Auzon rakudo: say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE;
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)␤
moritz_ Auzon: you've got a byte order makr in your code
Auzon boo
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.
moritz_ just before the second 'say'
Auzon pugs: say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE;
exp_evalbot OUTPUT[Main␤Test␤Main␤]
Auzon perl6: say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE;
exp_evalbot kp6: OUTPUT[syntax error at position 4, line 1 column 4:␤say $?PACKAGE; eval('package Test; say $?PACKAGE;'); say $?PACKAGE␤ ^ HERE␤]
..pugs: OUTPUT[Main␤Test␤Main␤]
..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
..(src/PAST/Compiler.pir:780)␤called from Sub 'parrot;PAST::Compiler;pos...
..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␤]
pmurias mncharity: would the bug ealier when vixey made a similiar one
s/found/ 21:22
was just going to fix it
Auzon pugs: say $?MODULE; eval('package Test; say $?MODULE;'); say $?MODULE; 21:23
exp_evalbot OUTPUT[Main␤Main␤Main␤]
Auzon pugs: say $?MODULE; eval('module Test; say $?MODULE;'); say $?MODULE;
exp_evalbot OUTPUT[Main␤Main␤Main␤]
21:26 sscaffidi joined
pugs_svnbot r20513 | putter++ | [elf] Update run-tests.result_faster to r20512. 21:26
mncharity re fix it, err, how... it will break the lvalue api in EmitFasterP5... 21:27
s/it will/working, it will/
pmurias it's just used in too places 21:28
s/too/2
21:28 IllvilJa joined
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:28
pmurias mncharity: removing the offending bit seems like a fix 21:29
you would have to add an additional hack to handle the '$obj.foo = ...' case 21:30
21:30 TJCRI left
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...
how about I commit, regressing lvalues, and you can reintroduce them? 21:32
pmurias hm 21:33
mncharity hmm, maybe we need a Compiler variable to distinguish faster from non, rather than using inheritance...
pmurias we can use an .is_faster() 21:34
or .use_heretical_accessors
Auzon pugs: eval({say "hi"}) 21:35
exp_evalbot RESULT["SubBlock(<anon>)"]
Auzon pugs: eval {say "hi"}
exp_evalbot RESULT["SubBlock(<anon>)"]
moritz_ pugs: try { say "hi" }
exp_evalbot OUTPUT[hi␤]
Auzon pugs: try {module Test; say $?MODULE;} 21:36
exp_evalbot OUTPUT[Main␤]
moritz_ perl 5's "eval BLOCK" is now "try BLOCK"
Auzon pugs: try {module Test; say $?PACKAGE;}
exp_evalbot OUTPUT[Test␤]
Auzon Thanks moritz_ :)
moritz_ yw :) 21:37
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)␤
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)␤
pmurias mncharity: are there any things we actually need moose for?
s/moose/Moose/
stevan_ you really do hate Moose dont you :P
pmurias stevan_: i rather like it 21:40
stevan_ I am just kidding
Auzon Does the "#?implementation ..." syntax in the test have a way to specify more than one implementation? Or should I just use :todo? 21:41
21:42 rdice left
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.
re
stevan_ pmurias: I dont know, if they do they dont talk to me about it 21:43
Auzon See you, mncharity. 21:44
mncharity good night all & great work. hi stevan_ - we should do lunch sometime your up in boston.
pmurias mncharity: good night
stevan_ mncharity: I will be in beantown on 6/3 actually
21:44 mncharity left
moritz_ Auzon: take a look at fudge's doc (or implementation), I don't know it 21:44
Auzon: atm you should mainly fudge for rakudo, for pugs only parse failures
21:46 ludan joined
Auzon So it's ok to make failing tests for Pugs and the others? 21:46
moritz_ you 21:47
erm
yes
;)
I expect 80% or more of your tests to fail on existing implementations, actually
Auzon Should I prefer :todo<...> to failing tests? 21:48
assuming no parsefail or similar.
moritz_ if an implementation has parse errors for one syntax, but passes most other tests in that file, fudge the parse errors
if the majority of tests fail, it's not worth the trouble
Auzon: no, :todo<> is not cross-implementation
Auzon Alright. 21:49
I think I have an idea of the general testing rules now :)
moritz_ ok 21:50
use Common::Sense;
Auzon :)
moritz_ ask @mentors, @larray;
Juerd L-array? :) 21:53
moritz_ ;)
Juerd And I think it'd have to be Sense::Common
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:15 iblechbot left 22:17 donaldh left
pmurias gn/exit 22:22
22:22 pmurias left
Auzon pugs: package Foo {say $?PACKAGE} 22:24
exp_evalbot OUTPUT[Foo␤]
Auzon Should that be Main::Foo, per S11? 22:25
hm... but then module Foo {module Bar{}} would be Main::Foo::Bar. 22:31
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++.
moritz_ it doesn't say "rest of scope is in module Main::Foo"
Auzon: I guess the same holds for packages as well 22:33
Auzon ah, ok. 22:34
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.
moritz_ and you will make stupid mistakes, everybody does ;)
Auzon Yep. My local commit logs can attest to that. :) 22:36
moritz_ ;) 22:37
22:37 sscaffidi left, meppl joined
Eevee if your commit messages degenerate into profanity, you may be committing a little too early 22:44
22:44 FurnaceBoy joined
Auzon I've never had that happen. Is there a story behind that? ;) 22:44
Eevee well, I've done it more than once :P 22:45
"fixed X" "actually fixed X" "unbroke my fix for X" "fucking dammit"
moritz_ "fixed previous commit" "really fixed it" ...
Eevee with the diffs getting smaller each time 22:46
Auzon "oops, previous commit broke $x"
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
Auzon My personal project has a test suite for the core of it, so I can be reasonably confident on it. 22:47
Eevee pah, I don't need a test suite! this commit is perfect 22:49
okay, THIS commit is perfect
there cannot possibly be anything left wrong with this commit
moritz_ after all it's trivial, isn't it? ;)
Eevee forgetting a semicolon is trivial too :(
22:51 tobeya left
moritz_ good night everybody, happy hacking ;) 22:58
Eevee night
Auzon good night...
Auzon is about ready to commit 22:59
and my first gsoc_code is in :) 23:01
pugs_svnbot r20514 | Auzon++ | [gsoc_spectest] basic S11 tests. (first commit in gsoc_spectest)
Eevee Auzon++
Auzon I'll have to make sure the smartlinks work, and they're failing everywhere I think. 23:02
supper &
23:07 peepsalot left
Tene I always do local commits with git, so I can go back and make nice working patch series. 23:14
commit --amend and rebase -i are awesome 23:15
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:16
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:20
Eevee svk is mostly the same, with somewhat less ghastly branch merging 23:21
meppl good night
Auzon good night, meppl. 23:22
Eevee: I always seem to develop in trunk, so it's not a big deal ;)
Eevee branching is for losers who don't write perfect code! 23:23
meppl ;)
23:23 meppl left
Juerd Eevee: That's how I feel about testing! :) 23:27
Eevee hear hear
rakudo seems to more or less work, we should just release it now
Auzon :( What about Perl's legendary testing history? 23:28
supper for real &
Juerd Auzon: Obviously required because they don't write perfect code. 23:37
spinclad elf: "hi world!".perl.say;}; say 'oops'; do { "back again" 23:44
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'␤
..STD_red/std.rb:224:in `comp_unit'␤ STD_red/std.rb:210:in...
spinclad pugs: "hi world!".perl.say;}; say 'oops'; do { "back again"
exp_evalbot OUTPUT[*** ␤ Unexpected ";"␤ expecting ";", identifier, Doc block, block declaration, declaration, construct or expression␤ at /tmp/ZpuW3SEIgS line 1, column 23␤]
spinclad (seeing if i could do some code injection...) 23:45
23:51 iMaTh joined, iMaTh left
spinclad re to distinguish _faster from non, i take it Emit*P5 is too late to notice the lval-accessor idiom? 23:57