/note/tech

WebAssemblyへのコンパイルだけに特化した新言語「Onyx」登場、Wasmerが発表

米Wasmer社は、WebAssemblyへのコンパイルだけに特化した新しいプログラミング言語「Onyx」を発表しました。

同社はWebAssemblyにかつてのCGIの仕組みを取り込んだ「WCGI」や、WebAssemblyでBashのコマンドプロンプトなどをを実装可能にするWebAssemblyを拡張してPOSIX対応にした「WASIX」など、WebAssemblyをベースとしたさまざまな技術を発表し実装しています。今回のOnyxもそうした技術の1つとなります。

構文はGo言語など命令型プログラミング言語をベースにしていると、次のように説明されています。「Onyx, a new programming language powered by WebAssembly」から引用します。

こんな感じ↓の言語らしい(公式サイトより引用)

use core { printf, iter }

main :: () {
    for i: 1 .. 10 {
        fact := factorial(i);
        printf("{}! = {}\n", i, fact);
    }
}

factorial :: (n: i32) -> i32 {
    return iter.as_iter(1 .. n)
        |> iter.fold(1, (x, y) => x * y);
}

関連: