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.989051 - 2023-10-11

  • New Feature
    • Add the Callback class.
    • Add the defer method to the Fn class.
    • Add the SPVM_NATIVE_GET_POINTER macro function to the Native APIs.
    • Add the SPVM_NATIVE_SET_POINTER macro function to the Native APIs.
  • Incompatible Changes
    • The handler field in the Scope::Guard class is renamed to the callback field.
    • Remove the Scope::Guard::Handler.
    • Change the definition of the new method in the Scope::Guard class.
      • before
        • static method new : Scope::Guard ($handler : Scope::Guard::Handler);
      • after
        • static method new : Scope::Guard ($callback : Callback);
    • Remove the Native::MethodCall::Callback class.
    • Change the definition of the new method in the Scope::Guard class.
      • before
        • static method call_callback : void ($callback : Native::MethodCall::Callback, $error_id : int*, $stack : Native::Stack = undef);
      • after
        • static method call_callback : void ($callback : Callback, $error_id : int*, $stack : Native::Stack = undef);
    • Rename the SPVM_API_new_env function in spvm_native.h to SPVM_NATIVE_new_env. This is undocumented function.
    • Remove the SPVM_API_free_env function. This is undocumented function.
  • Internal Changes
    • The pointer member is moved to the beginning of spvm_object structure.

Documentation

Generating Excutable File
Generating SPVM Distribution

Modules

SPVM Language
Address
Array Utilities
SPVM object
Bool object
Build Dynamic Libraries for SPVM Distribution
Defining Public Functions of SPVM::Builder
Compilation and Link of Native Class
Compilation Information
SPVM Builder Compiler
Configurations of creating excutable files.
SPVM Builder Environment
Creating Executable File
Library Information
Link Information
Object File Information
SPVM Builder Runtime
SPVM Builder Stack
Builder Utilities
Defining Public Functions of SPVM::Builder::Util
The byte Object
Dynamic byte Array
Callback interface
Interface Type to Clone Object
Interface Type for the Callback to Clone a Object
Command Line Information
Interface Type for Object 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 String Comparation Callback
Renamed
double Complex Type
float Complex Type
SPVM Exchange API
SPVM Language Specification
SPVM Language Specification
SPVM Standard Modules
Allocator Native APIs
Basic Type Native APIs
Class File Native APIs
Class Variable Native APIs
Class File Native APIs
String Buffer Native APIs
Document of Native Class
How to write the resource class
The double Object
Dynamic double Array
Renamed
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
Not Supported Error
System Error
SPVM Exchange API
The float Object
Dynamic float Array
SPVM Starndard Functions
Format Utilities
SPVM Global Instance for Perl Interpreter
Hash (Associative Array)
Hash entry
Immutable byte Array
Immutable double Array
Immutable float Array
Immutable int Array
Immutable long Array
Immutable short Array
Immutable string array
The int Object
Dynamic int Array
Dynamic Object Array
The long Object
Dynamic long Array
Native Class Utilities
Information of Arguments
Information of Basic Types
Information of Class Files
Information of Class Variables
Native::Compiler
Execution Native::Environment
Information of Fields
Information of Methods
Native::Runtime
Call Native::Stack
Point
Point 3D
Renamed
Executing Callback at End of Scope
The short Class
Dynamic short Array
Sorting Functions
Renamed
String Buffer
Dynamic string array
A Interface Type to Stringify a Object
Interface Type for Stringing Callback
Time Manipulation (Removed)
struct tm in C language (Removed)

Provides

in lib/SPVM/Dist.pm

Examples