Pen 言語の紹介

自己紹介

  • 名前:とやま ようた
  • GitHub, Twitter: raviqqe
  • 趣味:プログラミング言語開発
  • 普段は Web 系エンジニア

新しい言語を作り始めました

目的

  • スケーラブルな開発を支える言語
    • 多人数、長期間での開発

  • 初心者もベテランも一緒に効率よく開発できる
  • 忘れっぽい人でもソフトウェアを長期に渡ってメンテナンスできる

目的

向いていないもの

  • システムプログラミング
  • スクリプティング
  • プログラミングコンテスト

特徴

  • 小さな言語仕様
    • Go に似ている
    • Go より小さい
    • 関数型寄り
    • 言語仕様の美しさより簡潔さを重視
  • ソフトウェアアーキテクチャの考えを取り入れている
    • クリーンアーキテクチャ
    • 依存性注入

特徴

その他諸々...

  • 静的型付け
  • 不変な値
  • 関数はデフォルトで純粋
  • クロスコンパイル
  • Result 型
    • 例外無し
  • 決定的なユニットテスト
  • 末尾呼び出し最適化
  • 参照カウント

開発状況

  • 基本的な言語機能・基礎技術は実装済み
    • 前に開発していた言語から色々持ってきたので

開発中の機能

  • OS ライブラリ
  • WASM (WASI) バックエンド
  • ビルドシステムのリファクタリング

開発状況

今後開発予定の機能

  • テストフレームワーク
  • 非同期処理
    • CPS は実装済み
    • スケジューラ周りをどうするか?
  • 並列計算
    • スレッドセーフ
    • ストリームプロセッシング

一緒に開発してくれるひと募集中です!