Unity 勉強メモ

ゲームエンジンのUnityを勉強するブログです。

二週間でオレオレ言語を作るプロジェクト (構想編)

突然ですが、ここで宣言します。 今日から二週間かけてオリジナルのプログラミング言語の 設計と実装に挑戦するプロジェクトを始めたいと思います。 二週間という限られた期間の中で、自分が本気で頑張ったとき、 いったいどの程度のものを作ることができるのか確かめるのが 目的です。

以下にどんなプログラミング言語を作りたいかの構想をメモしておきたいと思います。

概要

言語はF#やOCamlHaskellのような静的型付けを行う関数型言語にしたいと 考えています。文法はオリジナルで既存のさまざまな言語を参考にデザインします。とりあえず言語名(コードネーム)はMokkosu (もっこす)です。 動作環境としては.NET Frameworkを想定しています。

コンセプト

Mokkosuは関数型の機能を使って、2Dの描画を行うインタラクティブなプログラムを 手軽に実装できるプログラミング言語です。 ちょうどProsessingを手続型言語から関数型言語に、 JVMから.NETに置き換えたものというイメージです。

機能

  • ラムダ式
  • 多相の型推論 (Hindley-Milner型推論 + Value Restriction)
  • 代数的データ型
  • パターンマッチ
  • リスト内包表記
  • 2D描画用ライブラリ
  • .NETのメソッドを呼び出す機能

実装

その他

  • GitHub上で開発。
  • リファレンスマニュアルと初心者向けチュートリアルを用意する。
  • 公式サイトも作る。
  • 進捗を毎日ブログに記載する。
  • 最後までやりきる。

日程

前半(言語の実装)

後半(デバッグと環境整備)

  • 2/12(木): リファレンスマニュアル執筆
  • 2/13(金): チュートリアル執筆
  • 2/14(土): デモプログラムを実装 (1) ブロック崩し
  • 2/15(日): デモプログラムを実装 (2) 未定
  • 2/16(月): 公式サイトを制作
  • 2/17(火): 予備日
  • 2/18(水): 完成