The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.9629 - 2022-07-26

  • New Features
    • Add copy_object_address to Array class.
    • Add copy_range_object_address to Array class.
    • Add copy_range_string_address to Array class.
    • Add copy_string_address to Array class.
    • Add equals_object_address to Array class.
    • Add equals_string_address to Array class.
    • Add %p specifier to Format->sprintf method.
  • Document Fix
    • Add the doc of clear method of Point class.
    • Add the doc of clear method of Point3D class.
    • Remove the doc of the methods of Fn class. These remains wrongly.
    • Remove the doc of memmove_byte, memmove_double, memmove_float, memmove_int, memmove_long, memmove_short, new_array_proto memset_byte, memset_double, memset_float, memset_int, memset_long, memset_short, memset_object, memcpy_short, memcpy_long memcpy_int, memcpy_float, memcpy_double, memcpy_byte, equals_array_string, equals_array_short, equals_array_object equals_array_long, equals_array_int, equals_array_float, equals_array_double, equals_array_byte, dump_array_unsigned_short, dump_array_unsigned_int, dump_array_unsigned_byte, dump_array_string, dump_array_short, dump_array_object, dump_array_unsigned_short, dump_array_long, dump_array_int, dump_array_float, dump_array_double, dump_array_byte, copy_array_string, copy_array_short, copy_array_range_string, copy_array_range_short, copy_array_range_object, copy_array_range_long, copy_array_range_int, copy_array_range_float, copy_array_range_double, copy_array_range_byte, copy_array_object, copy_array_long, copy_array_int, copy_array_float, copy_array_double, copy_array_byte in Fn class. This remained wrongly.
    • Remove the doc of memmove, in Array class.
    • Add the doc of Array->memmove_string, Array->memcpy_string.
    • Fix the document that equals_byte, equals_short, equals_int, equals_long, equals_float, equals_double, equals_object, equals_string throw exception.
  • New Document
    • Add Fields section to Point class
    • Add Super Class section to Point3D class
    • Add Fields section to Point3D class
  • Changes
    • Remove "SPVM/" from native file name.
    • Array->equals_object can recieve undef equality checker, and check address equality.
    • Add exception logic to memset_byte, memset_double, memset_float, memset_int, memset_long, memset_object, memset_short, memset_string of Array class.
    • Add exception logic to memcpy_object_address of Array class.
  • Incompatible Changes
    • Change the following method definition of Array class. Sorry. This is my simple definition mistake.
      • Before
        • static method copy_range_object : object[] ($array : object[], $offset : int, $length : int) {
      • After
        • static method copy_range_object : object[] ($array : object[], $offset : int, $length : int, $cloner : Cloner);
        • The original behaivior can be used by copy_range_object_address.
    • copy_range_string copies the value of the string, not address. This is my simple implement mistake. The original behaivior can be used by copy_range_string_address.
    • Remove Fn->memcpy_object, Fn->memmove_object. This remained wrongly.
    • Rename Remove Fn->memcpy_object, Fn->memmove_object. This remained wrongly.
    • Remove Array->dump_byte, Array->dump_short, Array->dump_int, Array->dump_long, Array->dump_float, Array->dump_double, Array->dump_string Array->dump_object. Use the dump operator instead.
    • The output of Array->dump_unsigned_byte, Array->dump_unsigned_short, Array->dump_unsigned_int, Array->dump_unsigned_long is same as the dump operator except for the unsigned elements.
  • Deprecation
    • Array->memcpy_object is deprecated. Use memcpy_object_address instead. This method will be removed at 0.9630.
    • Array->memcpy_string is deprecated. Use memcpy_string_address instead. This method will be removed at 0.9630.
    • Array->memmove_object is deprecated. Use memmove_object_address instead. This method will be removed at 0.9630.
    • Array->memmove_string is deprecated. Use memmove_string_address instead. This method will be removed at 0.9630.
    • Rename EqualityChecker::SameObject class to EqualityChecker::Address

Documentation

SPVM compiler to create exe file
Generating SPVM Distribution

Modules

SPVM Language
Array Utilities
Blessed object base class
Array based blessed object
Class based blessed object
String based blessed object
Bool object
Build SPVM program
SPVM Builder Public APIs
Compiler and Linker of Native Sources
Link Information
Configurations of Compile and Link of Native Sources
Configurations of creating excutable files.
Create a Executable File
Library Information
Link Information
Object file information
Resourceurations of Compile and Link of Native Sources
Build Utilities
Public APIs of the utility of SPVM Builder
Byte object
Dynamic byte Array
A Interface Type to Clone a Object
Interface Type for the Callback to Clone a Object
Command Line Information
Interface Type for Object Comparation Callback
Interface Type for byte Comparation Callback
Interface Type for double Comparation Callback
Interface Type for float Comparation Callback
Interface Type for int Comparation Callback
Interface Type for long Comparation Callback
Interface Type for short Comparation Callback
Interface Type for String Comparation Callback
double Complex Type
float Complex Type
$class_name is a SPVM module
SPVM Performance Benchmark
SPVM Exchange API
SPVM Language Specification
SPVM Standard Modules
SPVM Native APIs
SPVM Allocator Native APIs
SPVM Compiler Native APIs
SPVM Precompile Native APIs
SPVM Runtime Native APIs
SPVM String Buffer Native APIs
How to write the native module
How to write the resource module
SPVM Performance Tutorial
Double object
Dynamic double Array
Interface Type for Object Equality Checking Callback
a callback implementation of EqualityChecker to check if the memory addresses of the two objects are equal.
Error
System Error
SPVM Exchange API
Float object
Dynamic float Array
SPVM Starndard Functions
Format Utilities
Hash Data Structure
Hash entry
Int object
Dynamic int Array
Dynamic Object Array
Long object
Dynamic long Array
Point
Point 3D
Short object
Dynamic short Array
Sorting Functions
String Buffer
Dynamic string array
A Interface Type to Stringify a Object
Interface Type for Stringing Callback
Time Manipulation
Time information

Examples