Howdy, Yes, daily reports would be appreciated!
Generating "vim folds" is a nice trick. Clever! I am not sure if you have considered it, but will your code be able to easily target JavaScript OR the low-level subset of JS called "asm.js" [0] ? It is gaining wide support and is backed by Mozilla. Asm.js is essentially a simple flavor of JavaScript that JIT engines can optimize more efficiently than normal JavaScript. Duke [0] http://asmjs.org On Wed, Jul 3, 2013 at 11:11 AM, Paweł Murias <pawelmur...@gmail.com> wrote: > I could do a daily report of my activities on the blog, if you want to > ensure such incidents won't occur again. > > > 2013/7/3 Paweł Murias <pawelmur...@gmail.com> >> >> Sorry for being late with the report, I got confused and thought the >> report was due by Wednesday instead of thursday. :( >> >> >> Here is the report. Also avalible at >> (http://www.parrot.org/content/gsoc-weekly-raport-my-rakudo-breaking-adventure) >> >> I tried to mimick the way subroutines are wrapped on rakudo and make test >> passed on parrot I commited the code. >> 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. >> I reverted the commit, and Jonathan Worthington figured out that I >> misunderstood what p6capture_lex did. >> NQP opcodes propably need some kind of docs. I encoutered a crazy one >> called locallifetime which is some optimalisation thing I can ignore >> (https://github.com/pmurias/rakudo-js/commit/a4dbf654f54dfddb0731aaf2605a...). >> Which one of the primary rakudo/nqp authors wasn't sure what I does, just >> explaining it's some kind of ignorable optimalisation opcode. >> (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.) >> 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). >> I implemented the capture_lex opcode on parrot and nqp, and once make test >> passed, I happlily commited it >> (https://github.com/perl6/nqp/commit/afa84b8365c51822a7c9d8fe703c02919ce5...)... >> 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. >> I'm currently doing that. >> >> 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 >> (https://github.com/pmurias/rakudo-js/commit/964b22911bd17ff253ea3381841f...). >> >> Example: >> >> /* deserialization code {{{*/ >> A couple of dense screens mostly consisting of a large sha1 encoded string >> literal >> /* }}}*/ >> >> /* main {{{*/ >> /* {{{ */ >> Things can be arbitrarly nested to provide increasing levels of >> increasingly ugly details. >> /* }}} */ >> /* }}} */ >> >> As I no longer have an distracting exams at university work on my project >> should be now picking up a faster pace. > > > > _______________________________________________ > http://lists.parrot.org/mailman/listinfo/parrot-dev > -- Jonathan "Duke" Leto <jonat...@leto.net> Leto Labs LLC http://letolabs.com 209.691.DUKE http://duke.leto.net @dukeleto _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev