hi, having used NQP a bit, I feel like I'm missing a few things. I'm not entirely sure what the fate of NQP is; will it always be a bootstrap stage for Perl 6,or is it a tool for now and will it be discarded later on. Anyway, if NQP is to stay, the following features would come in handy, IMHO. I understand that NQP is designed to be small, but these features won't clutter the implementation that much, and are pretty easy to implement, I think.
* other relational operators, such as <, <=, > and >=. I keep writing these, but NPQ only has == and !=. * postincrement/decrement ops, or at least +=. Often you need syntax like $index := $index + 1; Writing += 1 is so much nicer. * the ternary operator ?: This allows for shorter/easier notation when both the Then and Else part of an ifstatement are 1 line. Typical for this in the PCT is writing: if $?BLOCK.symbol($name) { $scope := 'lexical'; } else { $scope := 'package'; } which could be nicely written as $scope := $?BLOCK.symbol($name) ? 'lexical' : 'package'; * list ops ( I think this is meant by list ops? ) All languages that have some kind of scope mechanism now have to define a class "List", which has an unshift and shift method, which are just wrappers for the equally named parrot ops. Being able to write unshift @?BLOCK, $?BLOCK; would be useful, as it prevents the need for creating the List class over and over again. I feel that these ops are so basic, it would be well worth it to have them around. * MAIN support: this feature is a nice-to-have, but not that important. I don't think it's there already: when writing an NQP script, I'd like to have access to the command line options. To be precise, I'd like to write the compiler driver in NQP instead of in PIR. So, creating a new HLLCompiler, setting the grammar stuff and invoking the command_line method on it with the commandline args. How do I get access to these args from NQP? Comments most welcome. kjs