The progress of the SPVM language 2022
Hi, I write the progress of the SPVM module 2022.
SPVM is a programming language that is build on top of the Perl ecosystem and provides fast calculation and array operation to Perl.
SPVM can be transpiled to C language, and it can be compiled to shared libraries and executable files.
SPVM can call C/C++/Cuda libraries by writing pure C/C++/Cuda language without XS.
I wrote SPVM from 2016. I finally implement the all features that I think they are needed for modern applications.
Next, I need to do many tests of SPVM module by creating modules and applications.
The following are the official documentations of SPVM.
SPVM Language Specification.
SPVM Standard Functions
SPVM Standard Modules.
SPVM Performance Benchmark.
SPVM Exchange API converts Perl data structures to SPVM data structures, and vice versa.
SPVM Native API is C API used in SPVM native method.
Generate Execution File
spvmcc is a compiler to compile SPVM source codes to a execution file. The execution file can be run by itself.
Generate SPVM Modules
spvmgenlib is the command to generate SPVM native modules.
Modules and Applications that is being tested
The following are the modules and applications that is being tested.
C99 math functions.
zlib library of C language. This is reusable from other modules.
libpng library of C language. This is reusable from other modules and resolve zlib dependency cleanly.
Socket, select, HTTP, Base64
Tests of Socket, select, HTTP, Base64
I wrote the basic of MNIST Deep Learning using SPVM.
Build Windows Application using Direct2D and UTF-8. Current SPVM can output windows executable file using spvmcc command.
spvmcc -o cotton -c cotton.config -I lib/SPVM Cotton::Browser::Win
Modules and Applications that will be tested
SpreadSheet like Excel
Charts for data science
iphone applications/ipad applications
As my first experimentation, I want to create gaming application for education.
I want to keep backword compatible of SPVM as possible, but when doing tests of modern libraries and applications, some adjustment will be needed.
I will try to make the adjustment reasonable as possible.
Well stable SPVM 1.0 will be released after finishing many testing of libraries and application.