The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

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

SYNOPSIS

  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

DESCRIPTION

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.

DOCUMENT

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

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

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

DON'T PANIC!

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.

SUPPORT

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.

http://irclog.perlgeek.de/perl11/

AUTHOR

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

CONTRIBUTERS

COPYRIGHT AND LICENSE

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.