Perlテックブログ

ITエンジニアの成長意欲を刺激する技術考察、モジュール開発の日記。Perlイベントや国内や海外のPerlの記事の紹介。

SPVMは文字列型を実装しない予定

「えー、今どき文字列型のない言語なんてあるのか...」

なんて思うかもしれない。普通の言語だったらありえないんだけど、SPVMはPerlにできないことに特化するという方針なので、文字列処理は、Perlにお任せしようと思う。パフォーマンス的にも、C言語カリカリと最適化された正規表現Perlから使ったほうがいいと思う。

文字列はconstなバイト配列で表現

ちなみに現在のバージョンはString型があるんだけど、削除しちゃう。文字列はC言語と同じ「constバイト配列」で表現しようと考えています。

強制的なconstバイト配列ではなくって、変更可能なbyte配列に型変換できるバイト列。C言語と同じ実装。SPVMの最優先の目標の一つはC言語バインディングを簡単にすることだ。

Perlから受け取るときは、単なるバイト列にしていれば、非常にC言語バインディングと相性がよいような気がしている。constを指定できるようにして、知らない間に変更しちゃったということが起こりにくくする。強制しないで、間違いを防ぐ程度にしておこうかと考えている。

PerlC/C++言語をつなぐ

Perl --- SPVM ---- C/C++

Perlに足りないものは、連続した配列の領域。

C言語に足りないものは、メモリ安全性。

この間をきれいに埋めることができたらよいね。