<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Sorry for being late with the report, I got confused and thought the report was due by Wednesday instead of thursday. :(</span><div style="font-family:arial,sans-serif;font-size:13px">
<font face="arial, sans-serif"><br></font><div><br></div><div>Here is the report. Also avalible at (<a href="http://www.parrot.org/content/gsoc-weekly-raport-my-rakudo-breaking-adventure" target="_blank">http://www.parrot.org/content/gsoc-weekly-raport-my-rakudo-breaking-adventure</a>)</div>
<div><br></div><div><p style="margin-top:5px;margin-bottom:5px;color:rgb(29,45,69);font-family:'Trebuchet MS',Trebuchet,Arial,Verdana,sans-serif;line-height:17px">I tried to mimick the way subroutines are wrapped on rakudo and make test passed on parrot I commited the code.<br>
And it broke nqp on the jvm. And I realised that rakudo on the jvm uses the HEAD revision on nqp and not a version specified in tools/build/NQP_REVISION. And after my commit make test broke on nqp.<br>I reverted the commit, and Jonathan Worthington figured out that I misunderstood what p6capture_lex did.<br>
NQP opcodes propably need some kind of docs. I encoutered a crazy one called locallifetime which is some optimalisation thing I can ignore (<a href="https://github.com/pmurias/rakudo-js/commit/a4dbf654f54dfddb0731aaf2605a0a8450c4f634" title="https://github.com/pmurias/rakudo-js/commit/a4dbf654f54dfddb0731aaf2605a0a8450c4f634" target="_blank" style="color:rgb(129,157,38);text-decoration:none">https://github.com/pmurias/rakudo-js/commit/a4dbf654f54dfddb0731aaf2605a...</a>). Which one of the primary rakudo/nqp authors wasn't sure what I does, just explaining it's some kind of ignorable optimalisation opcode.<br>
(As a side note p6capture_lex sets the outer of code ref stored in $!do of it's arguement) to the current frame of lexicals.)<br>I implemented a version of that creatively called capture_lex for nqp (which was slightly more generic way as it didn't assume it's argument was a Perl6 Code).<br>
I implemented the capture_lex opcode on parrot and nqp, and once make test passed, I happlily commited it (<a href="https://github.com/perl6/nqp/commit/afa84b8365c51822a7c9d8fe703c02919ce57a2b" title="https://github.com/perl6/nqp/commit/afa84b8365c51822a7c9d8fe703c02919ce57a2b" target="_blank" style="color:rgb(129,157,38);text-decoration:none">https://github.com/perl6/nqp/commit/afa84b8365c51822a7c9d8fe703c02919ce5...</a>)...<br>
And I broke rakudo. My commits where reverted and put on a branch. I realised that the sensible things was to just work on the more complex role.t test rather then spend a ton of time on hairy nqp refactors.<br>I'm currently doing that.</p>
<p style="margin-top:5px;margin-bottom:5px;color:rgb(29,45,69);font-family:'Trebuchet MS',Trebuchet,Arial,Verdana,sans-serif;line-height:17px">One quick solution I'm using to make the generated JavaScript easier to read (which is a large part of debugging) is to emit vim folds (<a href="https://github.com/pmurias/rakudo-js/commit/964b22911bd17ff253ea3381841f5783e7dfde36" title="https://github.com/pmurias/rakudo-js/commit/964b22911bd17ff253ea3381841f5783e7dfde36" target="_blank" style="color:rgb(129,157,38);text-decoration:none">https://github.com/pmurias/rakudo-js/commit/964b22911bd17ff253ea3381841f...</a>).</p>
<p style="margin-top:5px;margin-bottom:5px;color:rgb(29,45,69);font-family:'Trebuchet MS',Trebuchet,Arial,Verdana,sans-serif;line-height:17px">Example:</p><p style="margin-top:5px;margin-bottom:5px;color:rgb(29,45,69);font-family:'Trebuchet MS',Trebuchet,Arial,Verdana,sans-serif;line-height:17px">
/* deserialization code {{{*/<br>A couple of dense screens mostly consisting of a large sha1 encoded string literal<br>/* }}}*/</p><p style="margin-top:5px;margin-bottom:5px;color:rgb(29,45,69);font-family:'Trebuchet MS',Trebuchet,Arial,Verdana,sans-serif;line-height:17px">
/* main {{{*/<br>/* {{{ */<br>Things can be arbitrarly nested to provide increasing levels of increasingly ugly details.<br>/* }}} */<br>/* }}} */</p><p style="margin-top:5px;margin-bottom:5px;color:rgb(29,45,69);font-family:'Trebuchet MS',Trebuchet,Arial,Verdana,sans-serif;line-height:17px">
As I no longer have an distracting exams at university work on my project should be now picking up a faster pace.</p></div></div></div>