Changes for version 0.0370 - 2018-09-14

  • fix check object type null segumentation fault bug
  • fix new array length is minus segfalt bug
  • rename SPVM::Byte->set_value to SPVM::Byte->set_val
  • rename SPVM::Short->set_value to SPVM::Short->set_val
  • rename SPVM::Int->set_value to SPVM::Int->set_val
  • rename SPVM::Long->set_value to SPVM::Long->set_val
  • rename SPVM::Float->set_value to SPVM::Float->set_val
  • rename SPVM::Double->set_value to SPVM::Double->set_val
  • rename SPVM::Byte->get_value to SPVM::Byte->val
  • rename SPVM::Short->get_value to SPVM::Short->val
  • rename SPVM::Int->get_value to SPVM::Int->val
  • rename SPVM::Long->get_value to SPVM::Long->val
  • rename SPVM::Float->get_value to SPVM::Float->val
  • rename SPVM::Double->get_value to SPVM::Double->val
  • free runtime memory
  • Interface must have only one method
  • fix mortal stack bug. mortal stack is extended to count of PUSH_MORTAL opcode
  • fix array init type bug
  • fix type semantics. Can't assign Class[] to object[]
  • fix narrowing convertion bug
  • remove anon subroutine. This is mistake of class design
  • add anon package syntax for which have one subroutine
    • my $comparator = sub compare : long ($self : self, $x1 : long, $x2 : long) { return $x1 * $x2; };
  • isa can check interface
  • can cast (object)
  • can cast to interface

Documentation

C/C++ Binding using SPVM Extension(BETA before 1.0)
SPVM Standard Functions
SPVM Language
SPVM Native Interface
SPVM Perl API
SPVM compiler to create exe file

Modules

Fast array and numeric operation, and provide easy way to C/C++ Binding
Bool Utility
build config
Build Utilities
Byte object
SPVM data structure
Array object
Double object
Float object
Int object
Long object
SPVM data structure
Short object

Provides

in lib/SPVM/Builder.pm
in lib/SPVM/Builder/C.pm
in lib/SPVM/Builder/Exe.pm
in lib/SPVM/Builder/Info.pm
in lib/SPVM/BuildDir.pm
in lib/SPVM/PerlAPI.pm