SPVM 0.9676がリリースされました
SPVM 0.9676がリリースされました。
新機能と強化点
0.9676 2022-01-03
[新機能]
* ネイティブAPIの下記の定数値を追加しました。
1 SPVM_NATIVE_C_TYPE_FLAG_REF
2 SPVM_NATIVE_C_TYPE_FLAG_MUTABLE
* 下記のネイティブAPIを追加しました。
void* (*get_compile_type_name_raw)(SPVM_ENV* env, SPVM_VALUE* stack, int32_t basic_type_id, int32_t dimension, int32_t flag);
void* (*get_compile_type_name)(SPVM_ENV* env, SPVM_VALUE* stack, int32_t basic_type_id, int32_t dimension, int32_t flag);
* get_method_is_enumランタイムネイティブAPIを追加しました。
int32_t SPVM_API_RUNTIME_get_method_is_enum(SPVM_RUNTIME* runtime, int32_t method_id);
* 下記のランタイムネイティブAPIを追加しました。
int32_t (*get_type_flag)(SPVM_RUNTIME* runtime, int32_t type_id);
[警告修正]
* FreeBSD上の下記の警告を修正しました。
warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
if (!strcmp(dumpc, "undef") == 0) {
[互換性のないバグ修正]
* get_type_name_rawおよびget_type_nameネイティブAPIのSPVMオブジェクトの返り値の型を修正しました。
[修正前]
byte[]
[修正後]
string
* concat_rawおよびconcatネイティブAPIのSPVMオブジェクトの返り値の型を修正しました。
[修正前]
byte[]
[修正後]
string
* new_string_nolen_rawおよびnew_string_nolenネイティブAPIのSPVMオブジェクトの返り値の型を修正しました。
[修正前]
byte[]
[修正後]
string
[テスト改善]
* get_class_parent_class_id、get_method_required_args_length、get_method_required_args_lengthランタイムネイティブAPIのテストを追加しました。
[例外メッセージ改善]
* Exchange APIの例外メッセージを改善しました。
全画面モードに入る 全画面モードを終了
プログラミング初心者のために
SPVMとは何か?
SPVMは静的型付けプログラミング言語で、Perl/CPANからインストールできます。
SPVMの将来性はどうか?
バイオテクノロジー、AI/ML、Apple/iPhone/iPadアプリ、Google/Androidアプリ、IoTデバイス、コネクテッドカー、スマートデバイス、スマートホームなどの分野で成長が期待されています。
これは、SPVMがクロスプラットフォームに対応した実行ファイルの作成を容易にし、配列計算とC/C++との連携を容易にするためです。
こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/yukikimoto/spvm-09676-is-released-j4k