The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.9510 - 2021-04-05

  • CHANGE
    • Add alias syntax
    • Improve the error messages of object-to-numeric type conversion
    • Add type comment syntax
    • Support cast from class array to interface array
    • Support cats from class array to callback array
  • BUG FIX
    • Fix the bug that the runtime is not freed.
    • Fix the bug that SPVM::new_object_array can't recieve object[] type correctly.
    • Fix the bug that Exchange API call_spvm_method can recieve from object[] to element[].
    • Fix the bug that spvmcc "-B|--build-dir" option is ignored.
  • NON BACKWORD COMPATIBLE CHANGES
    • Remove implicte type convertion Perl array reference to SPVM object and element[] This is a bug fix because the right convesion is impossible, but the following code raise an exception, and the code must be rewirtten.
      • Before
        • my $list = SPVM::List->new([]);
      • After
        • my $list = SPVM::List->new(SPVM::new_object_array("Int[]", []));
    • The type of argument of Hash->new is changed. Sorry, this is merely my bad mistake. The type of value of hash is any object type.
      • Before
        • static method new : Hash ($key_values : element[]);
      • After
        • static method new : Hash ($key_values : object[]);
    • Remove oarray type that is deprecated at 0.9509.
    • The feature of element[] type is merged to object[] type and remove element[] type.

Documentation

SPVM compiler to create exe file
The Command to Generate SPVM Native Modules

Modules

Static Perl Virtual Machine. Fast Calculation, Fast Array Operation, and Easy C/C++ Binding.
Blessed object base class
Array based blessed object
Class based blessed object
String based blessed object
Bool in SPVM | Bool object
Build SPVM program
SPVM Builder Public APIs
Compiler and Linker of Native Sources
Configurations of Compile and Link of Native Sources
Configurations of creating excutable files.
Create a Executable File
Object file information
Object file information
Build Utilities
Public APIs of the utility of SPVM Builder
Byte in SPVM | Byte object
ByteList in SPVM | Dynamic Byte Array
A Interface Type to Clone a Object
A Callback Type to Clone a Object
A Callback Type for byte Comparation
A Callback Type for double Comparation
A Callback Type for float Comparation
A Callback Type for int Comparation
A Callback Type for long Comparation
A Callback Type for Object Comparation
A Callback Type for short Comparation
A Callback Type for string Comparation
Complex_2d in SPVM | double complex type
Complex_2f in SPVM | float complex type
SPVM Performance Benchmark
SPVM Exchange API
SPVM Language Specification
SPVM Standard Modules
SPVM Native APIs
SPVM Performance Tutorial
Double in SPVM | Double object
DoubleList in SPVM | Dynamic double array
A Callback Type to Check the Object Equality
EqualityChecker::SameObject in SPVM | a callback implementation of EqualityChecker to check if the memory addresses of the two objects are equal.
SPVM Exchange API
Float in SPVM | Float object
FloatList in SPVM | Dynamic float array
SPVM Starndard Functions
Hash in SPVM | Hash Data Structure
Hash::Entry in SPVM | Hash entry
Int in SPVM | Int object
IntList in SPVM | Dynamic int array
List in SPVM | Dynamic object array
Long in SPVM | Long object
LongList in SPVM | Dynamic long array
Regex in SPVM | Regular expression
Regex::Pattern in SPVM | Regular expression pattern
Regex::Replacer in SPVM | a callback type for the regex replacement
Short in SPVM | Short object
ShortList in SPVM | Dynamic short array
StringBuffer in SPVM | String buffer
StringList in SPVM | Dynamic string array
A Interface Type to Stringify a Object
A Callback Yype to Stringify a Object
Time in SPVM | Time manipulation
Time::Info in SPVM | Time information
SPVM Unicode Utilities.

Provides

in lib/SPVM/Builder/Generator/Lib.pm

Examples