Dicks Language
Dicks Languageは、独自に設計した静的検査付きのスタック言語です。ソースで使えるのは 8=D~ とASCIIの空白だけです。長さで命令を選び、末尾の波の有無と長さで即値オペランドを選びます。空白の置き方で命令の意味が変わることはありません。
コンパイラ自身もDicks Languageで書き、保存したRustシードからブートストラップします。Cloudflare Workersで使える、単独動作する構造化ES2022モジュールを生成します。TypeScript実装は、実運用のコンパイラ経路から独立した開発時の比較用実装として残しています。プロジェクトの正規ドメインは https://dicks.pink で、所有者がCloudflareで取得・管理しています。ドメインを所有していることは、サイトをデプロイしたことを意味しません。リポジトリは非公開です。README、リポジトリの説明、コミットメッセージには、意図的にASCIIアートだけを使います。
0.2のセルフホストコンパイラには、57命令、不変の名目的なリストとレコード、網羅的なResultのパターン分岐を実装しています。コンパイラ自身の状態にも、これらのデータ型を使います。dicks コマンドから、複数ファイルの静的リンク、ライブラリパッケージ、LSP、意味に沿ったステップ実行デバッガーを利用できます。ジェネリクス、任意の代数的バリアント、最適化IRは今後の課題です。他言語に対する性能の優位性は立証していません。
- ライセンスと再配布
- 導入とデプロイの境界
- 0.2の規範的な言語仕様
- 名目的なデータ型
- 複数ファイルと再利用可能なパッケージ
- 標準ライブラリ
- 公開パッケージレジストリ
- リポジトリ構成とライブラリの更新
- エディター補完とステップ実行デバッガー
- Discord Botとモジュール式ハンドラー
- 非同期実行の契約
- 日本語のクイックスタート
- 調査・プロファイリングとリポジトリ構成
- コンパイラの構成とランタイムABI
- ライブラリ・互換性・セルフホストの設計
- セルフホストの起動・検証・復旧
- 設計上の選択と検証の対応表
- 検証と貢献時の規則
DaaSは別のアプリケーションとリポジトリです。計画中の多言語ドキュメントとCloudflareデータベースとの連携はDaaS側で扱います。このリポジトリからDaaSのデプロイや移行は行いません。