本文へスキップ
新しい製品に最初に出会う場所

Wyzer Programming Language

メモリもスレッドも通信も、所有権の規則ひとつで扱う実験的な言語

カテゴリー
開発ツール
ウェブサイト
github.com
言語
英語
登録日
16日前
スター
241
フォーク
7

Wyzer-Lang/wyzer ↗· OCaml· Apache-2.0· 最終コミット 1日前

規則はひとつだけ。資源は一度使ったら二度は使えない。Wyzer はこの一行でメモリもスレッドも通信もまとめて扱おうとする静的型付けのコンパイル言語で、コンパイラは OCaml 製、ガベージコレクタも Rust 流の借用チェッカも持ちません。メモリは Koka と Lean 4 から取り入れた Perceus 参照カウントに従い、持ち主がひとつしかない値は関数型に書いてもその場で書き換えられます。

分散処理を担うのは振り付けプログラミングです。書くのは普通の関数で、型が誰のデータかを示し、そこからコンパイラが通信の規則を導き出して検査します。狙いは、デッドロックやメッセージの取りこぼしを実行前に見つけること。文法は素直で、let は不変、var は可変、失敗は Result で返して match で受け、async と await の区別もありません。未解決の課題が複数残る初期段階の研究だと、作者自身が明言しています。

この製品が気に入りましたか?