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 r19697 | cosimo++ | [t] Test suite refactoring. 00:30
r19697 | cosimo++ | Moved sign-sqrt math functions under t/spec/S29-num
r19697 | cosimo++ | Applied slight fugdeification of pod sections and
r19697 | cosimo++ | removed redundant main::is_approx() test function.
cosimo_ almost all existing S29 tests are now moved to t/spec ... 00:32
TimToady yay! 00:34
cosimo_ of course, more tests are needed to cover all of S29, ... :-) 00:35
TimToady I need to convince someone to make a specsmoke target for rakudo... 00:36
cosimo_ would be useful 00:37
TimToady I think we should probably have 40,000 tests by the time 6.0 comes out
cosimo_ 40k is a looong way, but adding 1 test is 1 less to go. :-) 00:39
TimToady well, I'd be happy if anything ran all the tests we have now :) 00:41
(except for the incorrect ones, of course :)
cosimo_ I was trying yesterday to run single test scripts 00:42
TimToady using prove6?
cosimo_ ehm
no
manually with t/harness 00:43
TimToady main problem with prove6 is I think it has to run in top-level dir
but maybe that has been fixed 00:44
oh, t/harness is parrotland
cosimo_ yes, maybe it's not the proper way of doing 00:45
TimToady perhaps t/harness should be taught about fudge
cosimo_ is it possible to run prove6 without pugs? 00:46
TimToady oh, perl6/t/harness is already taught
looks like you have to use --fudge
cosimo_ yep, sorry I was referring to parrot/languages/perl6/t/harness
TimToady I mostly just "make spectest" or run the *.rakudo file directly 00:47
cosimo_ spectest doesn't work on win32. I hadn't yet time to look at that. 00:48
One of the things I want to do is 00:50
to try to run single tests (ex.: S29-trig/e.t) which currently fail for me
and try to implement/fix the missing/broken functions. 00:51
I'd like to learn more about parrot and perl6 grammar/pir
TimToady I noticed that rakudo doesn't seem to do eval yet, through try seems to work most of the time
todo() required two arguments till earlier today, and fudge only gives the reason argument 00:52
since it marks each test individually
and it looks like the only way to have default arguments is via multi 00:53
cosimo_ can now properly do a 'make spectest'...
cosimo_ Is #?rakudo todo 'notimplemented' a correct syntax? Probably I should use skip? 01:00
TimToady todo should work now, as long as you have the most recent Test.pm 01:04
if it blows up the parse, use skip
since eval doesn't work yet
try works at least some of the time, but doesn't help with parsefails 01:05
meppl good night 01:09
cosimo_ meppl: night 01:10
meppl ;) 01:14
cosimo_ TimToady: would you mind looking at a fudge "patch"? seems to correct the 'todo' problem I've seen 01:16
This one -> nopaste.ch/0a4ccce41a6efab.html 01:18
or probably I have totally missed the point... :-) 01:19
TimToady the point of the if is that there might be a sequence of tests interspersed with non-test statements, and we only want to mark the test statements, which are recognized by putting is/ok/etc at the beginning of the line 01:23
cosimo_ mmh, let me recheck. I'm trying with S29-str\index.t 01:24
TimToady looks like it's working okay to me 01:25
cosimo_ works for me, even though vim doesn't understand `;#' without spaces 01:27
you mean that it works, but with or without the change? 01:28
TimToady I mean fudge looks like it's doing the right thing. my perl6 blows up on the first index call 01:29
without the change
the correct 2 tests are commented out 01:30
so the $IS is recognizing the "is" on each line
suppose some test had "say '# comment'" in between those lines. It would mark the say rather than the 2nd is with your change 01:32
cosimo_ I'm too tired to go on, of course... :-) Going to sleep. Thanks for your support! 01:34
TimToady night!
cosimo_ Tomorrow is another day!
dlocaus . 02:05
TimToady decommuting & 02:11
mncharity late night rehi. btw, if anyone would like to bang on the ruby backend, you would be most welcome. rather non-Ofun to work solo. 04:58
pugs_svn r19698 | putter++ | [kp6] ruby backend: Emit/Ruby5Regex.pm created, copied from Emit/Perl5Regex.pm. 05:23
pugs_svn r19699 | putter++ | [kp6] fix name: Ruby5Regex.pm -> Emit/RubyRegex.pm 05:27
mncharity I'm puzzling over kp6's regex support. It looks like main options are Visitor/Token.pm and Visitor/Emit/Perl5Regex.pm. Yes? Or have I missed something? The first appears to be used (script/kp6) by default, but lacks the emit_foo support for alternate backends which the second provides. 06:12
They both seem an easy transliteration. They seem to implement a very simple subset of regex? Which should I be using? Are both believe to support parsing of kp6? Is either the focus of future development? 06:15
avar they both work, Token is the p6 one and p5rx uses the p5 engine
mncharity I'm a bit surprised by how minimal the regex engine implementations seem to be... ^.^ 06:18
avar: ah, ok. let's see..
hmm, so if Token is just another p6 part of kp6, why am I getting 'emit_ruby not found for Token' errors in -Cruby? 06:21
Auzon pugs: 10 % 2 06:28
exp_evalbot RESULT[0]
Auzon pugs: 5.5 % 1 06:29
exp_evalbot RESULT[1/2]
Auzon cute.
mncharity Ok. I thought my task for tonight was going to be starting support for Token. But it sounds like that should not be necessary. That Token should *just work* by default. In which case I note it doesn't. script/kp6 -Cruby 'grammar A{token b{c}};' fails with Can't locate object method "emit_ruby" via package "Token" at compiled/perl5-kp6-mp6/lib/KindaPerl6/Visitor/Emit/Ruby.pm line 298. 06:36
but -Cperl5 works, suggesting there's an implicit emit_perl5 somewhere? 06:37
mncharity An Emit/RubyRegexp might be higher performance than using Token.pm. But the current objective is 'get to bootstrap as soon as possible', so if Token.pm should be working, then a RubyRegexp is a task for post-bootstrap. 06:40
mncharity avar: regards your earlier comments about Pad and common backend code, perhaps there are really two flavors of bootstrap. Compiler bootstrap, where p6 code becomes able to parse itself, generate an ast, and emit to a runtime *not* included in the bootstrap. And a runtime bootstrap, where the runtime is mostly implemented in p6, with a very small non-p6 footprint. 06:44
Pad and the common backend code would be the latter? Does that make sense?
mncharity ah well. I'm going to punt for the evening, pending clarification from kp6 folks. Which may seem rather odd. But I've been defining my scope to exclude kp6 stuff as much as possible, delegating such work, in part as a reality check on there being people who care about any of this. 07:01
Faster kp6 doesn't matter if kp6 isn't critical path to getting p6. Creating a ruby backend may simply not make sense. Hacking time, like life, is precious and limited. With things like OLPC where it can have a clear and immediate impact on peoples' lives. So if anyone doesn't think this a useful exercise, please, I'd appreciate hearing about it. Repeatedly. :) 07:07
g'night all :) & 07:08
Auzon night ;0
;)
mncharity lol 07:10
pugs_svn r19700 | pmurias++ | [kp6-ruby] added Token to the default visitor sequence 09:41
spinclad @tell mncharity debian doesn't seem to have ruby 1.9 at all, only 1.8 (at least on etch, lenny, sid). how stable is 1.9 these days? -- it sounds like it was full of bleeding edges in redsix times. 12:33
lambdabot Consider it noted.
pugs_svn r19701 | cosimo++ | [t] Test suite refactoring. 12:37
r19701 | cosimo++ | Moved undef,undefine tests under t/spec/S29-scalar
r19702 | cosimo++ | [t] Test suite: refactored some operators/numify.t tests 12:38
r19702 | cosimo++ | under S29-num/int.t
pugs_svn r19703 | cosimo++ | [t] Refactored cmp tests under t/spec/S29-any 12:47
r19704 | cosimo++ | Fixed typos 12:49
agentzh cosimo_: thanks for your work on test suite refactoring :) 12:51
cosimo_ agentzh: my pleasure. I'm doing that to get involved in the project and learn along the way 12:55
agentzh cosimo_: i used to do exactly the same thing one and a half year ago for exactly the same reason ;) 12:56
cosimo_: then i got distracted to work on smartlinks.pl and other things ;) 12:57
cosimo_ I'm happy to think that this is *also* a way to speed up perl6 1.0 release :-) 12:58
I meant: I *like* to think
agentzh *nod*
cosimo_ Not that it is true, of course... 12:59
:-)
agentzh in fact it *is* ;)
one of the biggest problems i was facing was how to verify the newly added tests. 13:01
in those days, audreyt was very responsive and can hack in features so that i can test the tests by "running" them ;)
*could
riffraff hi 13:23
cosimo_ hi! 13:26
moritz_ good localtime() all 13:27
pmurias hi
cj hihi 17:00
pmurias: hi ho 17:01
if I wanted to make a kp6 IL emitter, what should I get familiar with? the p5 emitter, probably... but I tried reading the p5 emitter, and I was very confused :) 17:02
cj does anyone have docs on the code in this directory? 20:12
svn.pugscode.org/pugs/v6/v6-KindaPe...itor/Emit/
lambdabot Title: Revision 19704: /v6/v6-KindaPerl6/src/KindaPerl6/Visitor/Emit, tinyurl.com/ynqqq3
pmurias cj: docs/ruby_backend.txt 21:15
pmurias cj: if you have any questions ask 21:23
pugs_svn r19705 | cosimo++ | [t] Test suite refactoring 21:34
r19705 | cosimo++ | Moved pugs-specific system() tests under t/spec/S29-os
r19705 | cosimo++ | Most likely these tests are not relevant (or might be
r19705 | cosimo++ | modified for rakudo)...
cj pmurias: what is AST, and are there any docs on it? 21:35
pugs_svn r19706 | cosimo++ | [t] Test suite: refactored `eqv' tests under S29-any/eqv.t 21:40
pmurias cj: src/KindaPerl6/Ast.pm 21:58
you can try script/kp6 -Cast on a piece of code to see what it compiles to
cosimo_ hi there! 22:04
pmurias cosimo_: hi 22:16
pmurias cj: AST is Abstract Syntax Tree, the representation of code as a data structure 22:18
pugs_svn r19707 | cosimo++ | [t] Test suite refactoring. 22:26
r19707 | cosimo++ | Moved builtins/type_declarations.t under t/spec/S29-type.
r19707 | cosimo++ | Don't know if it's really correct, but we can change it later.
cj hurm... anyone know what my svn username is? /me checks the AUTHORS file log 23:50