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.
pugs_svn r21245 | Auzon++ | [gsoc_spectest] perl.t is fudged for Rakudo. perl2.t is gone. 03:45
Auzon wow, that was fast of pugs_svn
pmichaud or someone else: t/spec/S02-names_and_variables/perl.t should be ready for spectest_regression. 03:46
I noticed a few other files weren't working, so I'm investigating
of course, it might just be me. 03:47
s1n Auzon: i've been working on something that has been bugging me but i think i'm getting confused. is the test suite _only_ the t/spec folder? 03:53
Auzon Kind of. 03:54
t/spec is the test suite that has been reviewed semi-recently and organized somewhat by synopsis.
Rakudo's spectest_regression pulls a handful of tests from t/spec.
s1n yeah, the spectest_regression.dat file has the list
is the harness script a part of the pugs repo or parrot? 03:55
Auzon The parts of t/ that aren't in t/spec is about twice the size of t/spec, and some of it is Pugs specific. Most of it just isn't reorganized/rechecked yet 03:55
The harness is a part of the Makefile for each project
s1n well, the actual file, i can't remember which repo it's in 03:56
i've got a change to make to it, if it's in pugs, then i'll just do it
Auzon What are you wanting to change? 03:57
s1n well, i'm still working on the actual fix 03:58
uh so is it in the pugs repo or not? 04:03
Auzon Depends what "it" is :) 04:04
s1n t/harness
Auzon That's in parrot
s1n okay
Auzon specifically, languages/perl6/t/
s1n do they still prefer ml patches?
yes
Auzon I think so 04:05
s1n alright, thanks 04:06
s1n Auzon: have you guys been moving a bunch of the tests into spec? 04:45
Files=90, Tests=2164, 510 wallclock secs
Auzon Yes.
www.pmichaud.com/perl6/rakudo-tests...-07-05.png
Look at the previous week 04:46
I'm guessing that I added ~500 tests to the total
Auzon That seems like a lot, but I did add a file with nearly 200 tests last week, another one with 58 tests today, and probably some more that I can't remember 04:48
s1n wow
Auzon oh, a 64 test file too. 04:49
s1n well, i'm still trying to get used to the code, i wanted to find some task to start working on 04:53
Auzon s1n: If you are looking for something to do in the test suite, pugs/t/TASKS has quite a few things 04:54
s1n i noticed 3 things: there are tons of things being skipped, there are a handful of todos that are now passing, and it looks like the tests are mostly only testing the things that should work and not the things that shouldnt
Auzon The things being skipped is a direct result of the fudging 04:56
s1n yes, but are they being worked into not being skipped?
Auzon A lot of files pass except for just one or two tests. Fudging lets us have the benefit of the tests that do work
Yes. Fudged tests are supposed to have an RT issue associated with them somewhere
I'm about to send in a few that I spotted earlier 04:57
s1n checkout assign, tons of skips 04:58
well, you guys are working on the test suite way more actively than i, if i could spend a few hours a week working on this, where would you (or anyone you're working with) prefer the help? 04:59
the todo? writing the rt tickets? adding more tests? 05:00
Auzon TASKS mainly refers to writing new tests. That's helpful, but I find it time consuming since you have to hunt out something that isn't well-tested
One of the most rewarding things, I find, is reorganizing and fudging the tests so that Rakudo will run them. Have you seen the daily graphs of that? 05:01
s1n yes i have
s1n i would rather help work towards a common goal. what you're working on has to be done so we can get on to fixing the skips and adding the missing tests 05:01
so wherever my help is needed most. i just want to help move things along 05:02
Auzon According to my schedule, I'll be hunting for tests in S09 this next week...
s1n okay, i'm not picky about the work i do, i find moving perl6 along as rewarding and that takes all kinds of work 05:04
Auzon I dunno. I guess I'd look for reasons on what causes tests to be skipped
s1n okay, i'll start looking into that. should i file rt BUGs if i figure it out? 05:05
Auzon Definitely, if there isn't a bug already. 05:05
s1n reference the rt ticket number in the skipped comment? 05:06
Auzon Yep.
s1n any area you recommend to start in?
Auzon I'm not sure, honestly. 05:07
s1n okay, well, i'll try to start small
Auzon Part of the problem is that over half of the tests are still not in t/spec. 05:08
S29 might be a decent place
s1n im going to bed for tonight, thanks for the tip, night
Auzon OK, see you next time :)
rakudo_svn r29116 | moritz++ | [rakudo] t/harness warns on no-existiing test files. 07:30
r29116 | moritz++ | Patch curtesy of Jason Switzer [email@hidden.address] j1s++
rakudo_svn r29117 | moritz++ | [rakudo] added .perl tests to spectest_regression, Auzon++ 07:55
pugs_svn r21246 | moritz++ | [spec] more array.t tweaks 08:00
rakudo_svn r29118 | moritz++ | [rakudo] one more test file for spectest_regression 08:23
pmurias re 10:08
pmurias OT: what OpenGL book would people here recommend? 10:53
icwiener RedBook or SuperBible... Both seem pretty complete. 10:54
Or did you mean Perl-related? 10:55
pmurias icwiener: which one do you prefere?
icwiener pmurias: I think the SuperBible. 10:56
pmurias icwiener: is there a Perl-related one?
icwiener I do not know. :)
pmurias both the RedBook and SuperBible have example in c? 10:57
icwiener Yes 10:58
rakudo_svn r29121 | moritz++ | [rakudo] use Test::Diff in autounfudge.pl to avoid non-perl dependencies
icwiener The SuperBible is C++ as well.
pmurias icwiener: RedBook is OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2.1 (6th Edition) (OpenGL) (Paperback)?
icwiener pmurias: Yes.
pmurias i'm ok with small quanties of C++ ;) 10:59
s/i'm ok with/i can tolerate/ 11:00
icwiener: thanks for help
icwiener hehe
no problem.
pmurias does it make sense to buy them both? 11:02
icwiener Hehe, given you do not care much about money. :) 11:03
icwiener I think one of them does it. I have them both borrowed from the library, so I have them both. :) 11:03
But as far as I read them it's basically the same. The bible has more background information and gives more examples from what I saw. 11:05
pmurias icwiener: you have a good library 11:06
icwiener pmurias: Actually I convinced them to buy them. :D
moritz_ ;)
icwiener It's the university's library so they listen to the students. 11:07
icwiener pmurias: I just found out that the errata and code samples pages on the web page of the redbook are not updated although the book is out for ober six month now. That's definitely a plus for the bible. :D 11:27
pmurias icwiener: do you read erratas? 11:35
icwiener pmurias: Yes. In my own books (the one I bought myself) I read them first and correct them on the book. 11:36
*in the book that is. :) 11:39
moritz_ rakudo: my $x = 3; eval 'say $x' 11:55
p6eval rakudo 29121: OUTPUT[Scope not found for PAST::Var '$x'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤]
pmurias rakudo_svn: eval 'say 3' 11:56
rakudo: eval 'say 3'
p6eval rakudo 29121: OUTPUT[3␤]
moritz_ pmurias: it's a problem with accessing variables in outer scopes 11:57
pmurias: pmichaud is working on it irrc
pmurias rindolf: hi 12:07
rindolf Hi pmurias
pmurias rindolf: i haven't noticed you elf/smop question yesterday, sorry ;) 12:08
rindolf pmurias: your
pmurias yes 12:09
elf is mncharity's perl6 to perl5 (hopefully smop too soon) compiler, and smop is rouso's object oriented runtime 12:10
they live in v6/smop and misc/elf (misc/elfish/elfX for my fork) in the pugs repo 12:11
any more questions? 12:14
pmurias rindolf: if you feel like hacking on either elf/smop, and have any question feel free to ask me, although i'll be of more help with elf 12:54
rindolf pmurias: OK. 12:57
pmurias shouldn't propably bother people with "if you want to get involved..." style project propaganda 13:01
rakudo_svn r29123 | moritz++ | [rakudo] reverted r29111 and added a TODO comment, pmichaud++ 13:40
pugs_svn r21247 | moritz++ | [spec] re-fudge S02-names_and_variables.t, 13:51
r21247 | moritz++ | rakudo doesn't escape '{' and '$' in Str.perl
pmurias ruoso: ping 14:10
ruoso pmurias, pong 14:17
pmurias ruoso: i'm trying to add basic io to smop, one problematic thing is that methods need a fair amount of boilerplate 14:25
ruoso yeah... and sm0p blocks 14:26
pmurias food&
rakudo_svn r29124 | pmichaud++ | [rakudo]: spectest-progress.csv update: 90 files, 1618 passing tests 14:27
pmurias the MESSAGE subs need a lot of boilerplate 14:28
ruoso that's where s1p will help
pmurias convert the capture to a native one, convert string identifiers to constant ones, raise an exception if there is no such methods 14:29
...
wouldn't it be better to have the tests in a pure sm0p format instead of mixing sm0p and c?
ruoso pmurias, I think s1p is about that 14:33
pmurias one problem with elf, is that it's current parser (STD_red) won't handle everything in src-s1p 14:33
ruoso it doesn't need to 14:36
pmurias ok
ruoso they don't need to be based on Object and P6Meta
we could even have a q:inline-c { } quasiquote 14:37
to allow native implementations...
pmurias something like class Foo {method foo {use C;\n;int a = 3;printf("%d\n",a);}}? 14:39
ruoso yeah...
but I would arque using the quasiquote syntax
pmurias quasiquotes return c ast to you
syntax is not that important for now ;) 14:41
the thing that bothers me is using the c namespace for storing smop objects 14:42
is that only used because we don't have smop namespaces yet? 14:43
food for real& 14:46
pmurias ruoso: 12_p6opaque hangs, is it expected? 15:01
ruoso nope
run it with valgrind...
are you sure you're up-to-date/
?
pmurias i svn up'ed 15:02
ruoso (misc/sm0p has been changed also)
you need to re-brew
pmurias should i rename brew to compile? 15:03
moritz_ Q: do you usually brew or compile pixies? A: you roast them ;-) 15:04
pmurias :)
ruoso: a clean checkout works 15:07
ruoso there have been some bugfixes in misc/sm0p 15:08
pmurias make clean dosn't remove generated .c files 15:09
ruoso that's a boring thing I simply doesn't understand
pmurias i could make misc/sm0p/sm0p.pm a dependency of each file generated from .sm0p 15:17
ruoso: as i understand we need s1p ASAP? 15:18
ruoso pmurias, maybe even move misc/sm0p inside smop 15:19
pmurias, yes... s1p is really close to be a blocker...
as soon as I finish writing the REPR API in p6opaque it will be a blocker... 15:20
pmurias i have an idea, how to do it, the part i'm unsure about is if the ast should be turned into sm0p nodes(via a workaround untill bootstrap) or sm0p code 15:22
pmurias the big picture would be source->AST->simplified AST->(unsure) 15:23
source->AST is already done in elf
pmurias native strings aren't implemented yet :( 15:33
pugs_svn r21248 | pmurias++ | [smop] start of an io implementation, nothing works properly yet, don't know how to get rid of the memory leak 15:44
pmichaud is there a good way to get an estimate of the total number of tests in t/spec ? 15:47
[particle]1 better than adding digits after 'plan '? 15:48
moritz_ pmichaud: didn't we discuss that the other day? ack '^plan.*?\d+' + sum over all numbers
pmichaud okay, I'll go for that then. 15:48
I didn't think of that conversation in the context of all spectests -- I was only thinking spectest_regression at the time.
[particle] :)
pmichaud I'm thinking I want to chart the size of the spectest suite, as well as spectest_regression
[particle] i'm pretty sure i provided my line here, if you want to check the logs 15:49
pmichaud++ that'd be great to see
moritz_ doubts the usefulnes, at least for the charts
irclog.perlgeek.de/perl6/2008-07-01#i_374835
lambdabot Title: IRC log for #perl6, 2008-07-01
pmichaud it's useful because it gives us an idea of the overall progress of spectest conversion, as opposed to just those that make it into spectest_regression 15:50
moritz_ ok, good point 15:51
5272
pmichaud another way of thinking of it is that Rakudo is currently skipping approximately 3600 tests 15:52
moritz_ d'oh, the search in the IRC logs gives context from wrong channels sometimes
pmichaud it's just that some "skips" are because we didn't include the test file into spectest_regression :-)
I'll probably add it as a column to spectest-progress.csv 15:53
moritz_ please add it at the end, so that existing tools won't be confused ;) 15:54
pmichaud okay. :-)
I thought it'd be more fun to confuse the existing tools :-)
moritz_ heh, you didn't write those tools ;-)
pmichaud hey, if @Larry gets to change the spec (causing me to have to rewrite my code), then when do I get to change something that makes others do work?!? ;-) :-) 15:55
moritz_ pmichaud: @Larry.push('pmichaud') might be acceptable ;-)
pmichaud oh, I suppose I've made a few spec suggestions that have caused others to have to change things, now that you mention it. :-) 15:56
t/spec/S16-io/say.t doesn't use "plan" -- should it?
moritz_ no 15:57
because it doesn't use Test.pm at all
use Test.pm; plan 5; say 'ok 1 - ...'; -> "you planned 5 tests, but only ran 0" 15:58
pmichaud right.
okay. It's just that the total ends up being off by 5 all the time :-)
moritz_ that's 0.1% error only 15:59
as a physicist I have to add that the errors intrisic to our counting method are much larger ;-)
ruoso @tell pmurias if you have literal strings, you can always use the constant identifier, since that string will be available for the end of the execution... there isn't a String API very well defined yet... 16:26
lambdabot Consider it noted.
pugs_svn r21249 | moritz++ | [spec] simple tests for named parameters 16:38
pugs_svn r21250 | moritz++ | [spec] more tests for named parameters, and fudged them for rakudo 16:55
pugs_svn r21251 | moritz++ | [t] more TODO 17:04
rakudo_svn r29128 | moritz++ | [rakudo] one more test file for spectest_regression, +2 pass +1 skip 17:05
japhb @tell pmurias re: OpenGL books, the 4th Ed. Superbible is pretty decent, but I certainly think the Red Book is necessary too -- both are necessarily incomplete (just as a matter of limited page count), and they cover OpenGL from different angles. For example, the Superbible tries to give the reader a taste of more different things, while the red book tries to be more precise about what it does cover. 17:07
lambdabot Consider it noted.
japhb @tell pmurias also, after you've gotten through those, you will probably need to pick up the Orange Book (OpenGL Shading Language, Second Edition). One uber-annoying thing about the Orange Book, however, is that the author is from 3Dlabs (creators of GLSL), and he unashamedly requires features in his examples that only 3Dlabs supports, and no other vendor. After that, you're in GPU Gems territory (1-3 in that series are out so far) 17:10
lambdabot Consider it noted.
moritz_ is (again) amazed at the variety of skills that the various #perl6 hackers have 17:26
pmurias japhb: thanks 19:03
lambdabot pmurias: You have 3 new messages. '/msg lambdabot @messages' to read them.
japhb pmurias: you're welcome! 19:09
Auzon is amused that 'plan Inf' prints '1..' instead of '1..Inf' or crashing 20:32
moritz_ Auzon: it's just passed around as an Int, and rakudo probably thinks it's undef or something 20:33
Auzon If you ever see 'plan Inf' in a committed test, it's probably me forgetting the to add the number at the end :) 20:34
moritz_ ;)
Auzon S09 says "An implementation of Perl is not required to support 64-bit integer types or 128-bit floating-point types unless the underlying architecture supports them". Is there any way to determine if they should be supported? 20:35
[particle] you need to ask runtime-specific questions of perl in order to answer that 20:36
[particle] so, it's worth noting in a comment, at least 20:37
moritz_ and I don't think that's specced yet
[particle] you may be able to get at it via $?RUNTIME or 'defined %?RUNTIME<int64>' or somesuch 20:39
it's not well specced, if at all
Auzon I can just see if the types are supported at all for now
and just skip at runtime if not.
pmurias shouldn't int64 be faked? 21:09
if it's not supported
moritz_ pmurias: why would you fake low-level types? 21:10
pmurias: if you don't care about low-level representation, you just use Int
pmurias: and if you care, you don't want to be fooled
pmurias moritz_: if you port your code it's better to be fooled then to receive an exception 21:16
moritz_ pmurias: if you care about portability you won't use low level types
pmurias moritz_: int32 is portable 21:19
Auzon Int isn't portable, though, I don't think 21:21
and my earlier question was in the context of testing the availability and range of those types
moritz_ isn't Int transparently upgraded to bigint? 21:22
Auzon oh 21:23
Yes, it is. sprintf gave me problems, not Int
pmurias moritz_: int64 is faster than a bigint even on 32bit architectures
moritz_ ok, I wasn't very clear. The implementation is free to chose the most efficient type for Int, and transparently upgrade and downgrade the low level types 21:27
so if a variable is an Int, and it's internall int32, and it overflows, it can transparently upgrade to int64 if available, and bigint otherwise
Auzon Does that mean that "my int1 $foo = 12" is valid? 21:28
or just the Int objects?
moritz_ Auzon: int1 won't upgrade, only Int does 21:29
Auzon ok, great :)
pugs_svn r21252 | Auzon++ | [gsoc_spectest] test for int\d+ and uint\d+ low level types for S09. (added 49 tests) 21:51
Auzon can't count 21:57
it's actually 98 tests
moritz_ a clean factor of 2 ;-)
Auzon yep 21:58
I forgot to count both int and uint in my earlier count
There's only actually 7 tests, just looped for 14 data types
moritz_ sadly no implemention does low level types yet (iirc)
Auzon KP6 and Pugs accept them but don't constrain them
moritz_ I think they just alias them to Int 21:59
which gets some tests pass, but that's hardly what low level types are about ;)
Auzon Right
The ones I wrote specifically test the boundary tests to make sure that it's correct 22:00
moritz_ Auzon++
Auzon: which part of the specs was must fun to test, so far?
Auzon Besides fudging, the objects 22:01
moritz_ ok
getting to a point where a file can be included in spectest_regression is quite satisfactory ;) 22:02
[particle] i wish getting it into spectest was as much fun :( 22:10
moritz_ aye 22:11
rakudo_svn r29129 | pmichaud++ | [rakudo]: Remove obsolete $?PERL6SCALAR from src/parser/actions.pm
pugs_svn r21253 | moritz++ | [t] fixed syntax in builitns/my.t 22:21
rakudo_svn r29130 | pmichaud++ | [rakudo]: Parameter initializations belong in the params node of 22:24
r29130 | pmichaud++ | a block (not in the mainline).
moritz_ rakudo: say if 1 { 1 } 22:25
p6eval rakudo 29129: OUTPUT[Statement not terminated properly at line 1, near "{ 1 }"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤]
pugs_svn r21254 | moritz++ | [t] updated 'my' tests 22:31
r21255 | moritz++ | [t] more updates to t/var/my.t 22:32
moritz_ rakudo: $x; my $x; say 1 22:35
p6eval rakudo 29130: OUTPUT[1␤]
pugs_svn r21256 | moritz++ | [spec] added my.t in spec/, which currently contains tests borrowed 22:41
r21256 | moritz++ | t/var/my.t. TODO: review and and merge the rest of that file, plus
r21256 | moritz++ | blocks/my.t into the one in spec/
r21257 | moritz++ | [t] remove duplicate tests
r21258 | moritz++ | [spec] fudged my.t 22:42
r21259 | moritz++ | [spec] more my.t tests moved 22:48
r21260 | moritz++ | [t] removed duplicate my.t tests
meppl good night 23:01
pugs_svn r21261 | moritz++ | [spec] moved some tests from builtins/my.t to spec/
r21262 | moritz++ | [t] removed duplicate tests
rakudo_svn r29131 | moritz++ | [rakudo] add my.t to spectest_regression, +15 fail, +3 todo, +12 skip 23:04
moritz_ time for bed & 23:08