Changes for version 0.9704 - 2023-04-11

  • Prerequirement Changes
    • JSON::PP 2.27105+ is required.
  • New Features
    • Added the --interface option to the spvmdist command.
    • The module doc that is generated by the spvmdist command by --resource option outputs the doc for resources.
    • Added the get_native_include_dir method in the SPVM::Builder::Config class.
    • Added the get_native_src_dir method in the SPVM::Builder::Config class.
    • Added the get_loaded_config_files in the SPVM::Builder::Config class.
    • Added the load_config in the SPVM::Builder::Config class.
    • Added the load_base_config in the SPVM::Builder::Config class.
    • Added the load_mode_config in the SPVM::Builder::Config class.
    • Added the before_compile_cbs fields in the SPVM::Builder::Config class.
    • Added the before_each_compile_cbs fields in the SPVM::Builder::Config::Exe class.
    • Added the before_link_cbs fields in the SPVM::Builder::Config class.
    • Added the clone method in the SPVM::Builder::Config class.
    • Added the config_bootstrap field in the SPVM::Builder::Config::Exe class.
    • Added the config_spvm_core field in the SPVM::Builder::Config::Exe class.
    • Added the create_default_config function in the SPVM::Builder::Util::API module.
    • Added the -r, --required-resources option in the spvmcc command.
  • Document Changes
    • Renamed SPVM::Document::NativeModule to SPVM::Document::NativeClass.
  • Incompatible Canges
    • Removed the builder_include_dir field in the SPVM::Builder::Config.
    • Removed the builder_src_dir field in the SPVM::Builder::Config.
    • Removed the own_include_dir field in the SPVM::Builder::Config. Use native_include_dir method instead.
    • Removed the own_src_dir field in the SPVM::Builder::Config. Use native_src_dir method instead.
    • Removed the deprecated add_ccflags method in the SPVM::Builder::Config class.
    • Removed the deprecated add_include_dirs method in the SPVM::Builder::Config class.
    • Removed the deprecated add_ldflags method in the SPVM::Builder::Config class.
    • Removed the deprecated add_lib_dirs method in the SPVM::Builder::Config class.
    • Removed the deprecated add_libs method in the SPVM::Builder::Config class.
    • Removed the deprecated add_static_libs method in the SPVM::Builder::Config class.
    • Removed the deprecated add_source_files method in the SPVM::Builder::Config class.
    • Removed the before_link method in the SPVM::Builder::Config class. Use add_before_link_cb instead.
    • Removed the before_compile method in the SPVM::Builder::Config class. Use add_before_compile_cb instead.
    • The all methods in SPVM product is renamed by the following rule s/module_dir/class_path/g s/modules/classes/g s/module/class/g s/Modules/Classes/g s/MODULES/CLASSES/g s/MODULE/CLASS/g s/Module file/Class file/g s/Module searching directries/Class paths/g s/Module not found/Class not found/g s/Module found/Class found/g s#L<class\|/"Module"> file#class file#g s/Loading Module/Loading Class/g s/Load Module/Load Class/g s/Loaded Modules/Loaded Classes/g s/Module searching directries/Class paths/g s/Module searching directries/Class paths/g s/Module searching directries/Class paths/g s/NativeModules/NativeClasses/g s/Native Modules/Native Classes/g s/Native modules/Native classes/g s/native modules/native classes/g s/NativeModule/NativeClass/g s/Native Module/Native Class/g s/Native module/Native class/g s/native module/native class/g
    • The --module-dir option in the spvmcc command is renamed to the --class-path.
    • The regex that remove extention from config file is changed to (\.[^\.]+)?\.config$.
    • The args field in the SPVM::Builder::Resource is renamed to the argv field.

Documentation

Generating Excutable File
Generating SPVM Distribution

Modules

SPVM Language
Address
Array Utilities
SPVM object
Bool object
Build SPVM program
SPVM Builder Public APIs
Compiler and Linker of Native Sources
Link Information
SPVM Builder Compiler
SPVM Compiler Utilities
Configurations of Compile and Link of Native Sources
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
Public Functions for SPVM Builder Utilities
Byte Class
Dynamic byte Array
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
Compiler
double Complex Type
float Complex Type
SPVM Performance Benchmark
SPVM Exchange API
SPVM Language Specification
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 class
How to write the resource class
SPVM Performance Tutorial
Double Class
Dynamic double Array
Execution Environment
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
Float Class
Dynamic float Array
SPVM Starndard Functions
Format Utilities
SPVM Global Instance for Perl Interpreter
Hash Data Structure
Hash entry
Int Class
Dynamic int Array
Dynamic Object Array
Long Class
Dynamic long Array
Point
Point 3D
Runtime
Executing Handler at End of Scope
Handler of Scope::Guard
Short Class
Dynamic short Array
Sorting Functions
Call Stack
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