++ed by:

2 PAUSE users
2 non-PAUSE users.

Yuki Kimoto
and 1 contributors


SPVM - Fast calculation, GC, static typing, VM with perlish syntax

SPVM is under development! I will change implementation and specification without warnings.


  use FindBin;
  use lib "$FindBin::Bin/lib";

  use SPVM 'MyModule2';

  my $total = SPVM::MyModule2::foo(3, 5);
  print $total . "\n";

Module file

  # lib/SPVM/MyModule1.spvm
  package MyModule1 {
    has x : int;
    has y : int;

    sub sum ($a : int, $b : int) : int {

      my $total = $a + $b;

      return $total;

  # lib/SPVM/MyModule2.spvm
  use MyModule1;
  package MyModule2 {

    sub foo ($a : int, $b : int) : int {

      my $total = ($a * $b) + MyModule1::sum(2, 4);

      return $total;

If you want to know more syntax, see solo/SPVM/Test.spvm.

If you want to know SPVM language, see solo/README.md


Do you need faster Perl? SPVM provides fast calculation to Perl.

  • Fast calculation - The Perl's biggest weak point is the calculation performance. SPVM provides fast calculations.

  • GC - You don't need to care about freeing memory

  • Static typing - Static typing for performance

  • VM - Byte codes are generated so that you can run them on SPVM language

  • Perlish syntax - SPVM syntax is very similar to Perl

  • Perl module - SPVM function can be called from Perl itself.

SPVM only work on the Perl which support 64 bit integer.


  1. SPVM::Document::Tutorial - SPVM Tutorial

  2. SPVM::Document::PerlAPI - API to exchange Perl value to SPVM value.

  3. SPVM::Document::Specification - SPVM Specification


We are constantly working on new documentation. Follow us on GitHub or join the official IRC channel #perl11 on irc.perl.org to get all the latest updates.


If you have any questions the documentation might not yet answer, don't hesitate to ask on the the official IRC channel #perl11 on irc.perl.org (chat now!).

You can see #perl11 log.



Yuki Kimoto <kimoto.yuki@gmail.com<gt>



Copyright (C) 2017 by Yuki Kimoto

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.16.3 or, at your option, any later version of Perl 5 you may have available.