Roscala.Void release plan

Goals:

To develop a working 'empty VM' by way of porting essential functions of the Rosette code base.   Set up a Continuous integration and Unit testing system for the VM Codebase.  See tickets for details regarding this.

This Milestone will be done when:

A developer can take the jar file, provide binary programs for the VM to parse and execute using just the opcodes below, and then check the log output to verify expected behavior.  

In more detail:

  • The VM will build and run on Unix.
  • Read from a stdin a list of bytes (binary input)
  • Pretty print the AST that it parses from the bytes.
  • Use log messages in the code to demonstrate that the opcodes work.  

Included OpCodes:

We will start by developing an executable that supports the following Op codes:

  • OpPush()
  • OpPop()
  • OpHalt()
  • OpUnknown()

Stretch Goals

OpNargs
OpAlloc
OpPushAlloc
OpOutstanding
OpFork
OpXmit
OpSend
OpRtn
OpJmp
OpJmpFalse
OpXferGlobalToArg
OpXferGlobalToReg
OpXferArgToArg
OpXferRsltToArg
OpXferArgToRslt
OpXferRsltToReg
OpXferRegToRslt
OpXferRsltToDest
OpXferSrcToRslt
OpImmediateLitToArg
OpImmediateLitToReg

Tickets in the Milestone:

Stakeholders

NameRoleReviewed
Lucius MeredithCEO- CoOp 
  •  
Nash FosterCEO- Pyrofex 
  •  
Former user (Deleted)Compiler Dev 
  •  
Griff McClellan (Unlicensed)Storage Dev 
  •  
Chris Kirkwood-WattsComms Dev 
  •