Show HN: インラインGoネイティブ関数を備えたインタープリタ型動的言語「Tiny」
Show HN: Tiny – An interpeted dynamic langauge with inline Go native functions
Goで書かれた高性能・並行バイトコード仮想マシンおよび言語である「Tiny」が公開された。動的コーディングの開発速度と堅牢なマルチスレッドランタイムエンジンを組み合わせている。Tinyは、スタックベースのバイトコード命令(.tbc)にソースファイルをコンパイルし、スロットベースのローカルストレージを使用した最適化された仮想マシン上で実行する。ランタイムエンジンは、一般的なロジックのための効率的なインタープリタと、パフォーマンス重視のコードのためのJITコンパイラを備えている。OSレベルの並列スレッド、ホストミラーリングされたパック配列、連鎖可能なスキーマ検証ライブラリ、ネイティブWebAssembly拡張、組み込み言語サーバー(LSP)などの機能を備える。動的型付けがデフォルトだが、静的型ヒントもオプションで適用可能。構造的型付け(形状ベースの検証)をサポートし、オブジェクトは実行時にインターフェースに対して検証される。また、オブジェクトと配列の分割代入、埋め込みによるコンポジション、matchブロックによる分岐処理、defer文によるスコープ終了時の処理実行、OSレベルマルチスレッドによる並列処理、mutexとlockブロックによる共有状態の同期、WebAssemblyへのJITコンパイル、Goコードの直接記述(native fn)、連鎖可能なスキーマ検証API、URLのエンコード/デコード、タイマー機能、配列操作のネイティブ操作、HTTPサーバー/クライアント、デスクトップUIコンテナ、自動化ツールなども提供する。コマンドラインツールとして、スクリプトのコンパイル・実行(tiny run)、スタンドアロンネイティブ実行可能ファイルへのバンドル(tiny pack)、アプリケーションとプラグイン・アセットのパッケージ化(tiny dist)、言語サーバーの起動(tiny lsp)がある。
- Goで書かれた動的言語「Tiny」が公開された。
本記事は新しいプログラミング言語「Tiny」の公開を取り上げている。Go言語で書かれたインタプリタ型言語で、動的型付けと静的型ヒントの両対応、OSレベルマルチスレッド、JITコンパイル、WebAssembly対応など技術的に興味深い設計だが、現時点では個人/小規模プロジェクトの公開段階であり、企業としての資金調達実績や商用採用のエコシステムは存在しない。投資家視点では、言語そのものより、Goエコシステム上で動的言語の実行環境を提供するアプローチや、Wasm対応によるブラウザ/エッジ活用の可能性に将来性を見出せるが、現状ではフェーズが極めて初期で投資判断の材料には乏しい。