(\__/)
(='.'=)
(")_(")
As some guys who reviewed Nxt code already noticed it's quite easy to add new features to Nxt core. All that required is to add a new type/subtype and some code that processes it. After we start testing Asset Exchange I'll have a couple of weeks when I'll be fixing possible bugs mostly. It's quite a boring task and I have to switch to other (more interesting) things time to time to keep working at near-100% effectiveness. We (community) could add our own (not BCNext's one) feature to Nxt. I'm thinking of cloning main Ethereum feature - contracts powered with Turing-complete language. I ask the community if there is anyone who understands Ether concept deeply enough and could consult us.
PS: If Turing-complete language is a too tough task then we could pick some other feature.
I recommend not targeting a specific VM. Instead, use the model outlined by Michael Franz: efficient space encoding of the last stage of a abstract syntax tree. Let the loader do the last step of emitting the platform-specific code.
It has the benefits of allowing for true target platform independence, and the program will be much smaller than one distributed as a either byte-code or even a binary.
It is a very powerful idea.
For an overview, please see:
A Tree-Based Alternative to Java Byte-Codes, M. Franz & T. Kistler, PDF:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.103.9056Slim Binaries, M. Franz & T. Kistler, PDF:
https://anonfiles.com/file/51fc0b41959dac4870ceb10ffeca6631For more specifics, please see:
ETH 10497 - Code-Generation On-the-Fly -- A Key to Portable Software, M. Franz, PDF:
https://anonfiles.com/file/d377ba4014d5cb3c8ff06dbdf464a597