開発に参加


ぜひ, 開発に参加してください!!

minilangの内部

内部の特徴は,

  • C++ で作った. C++11 (C++0x) コンパイラが必要.
  • AST (Abstract Syntax Tree) ベース。バイトコードは使っていない。
  • 参照カウンタ + GCの組み合わせ
  • 末尾呼び出しの最適化. See 実装Note - 末尾呼び出しの最適化

目標

安全で, 信頼性のあるプログラムを書けるようにしたいです。

当面 (v1.0まで) の目標

  • Ruby 1.9 とのある程度の互換性. 飽きたら止める. ただし, C APIは互換にはしません (できません)。
  • FFI
  • 変数の型チェック
  • 本物のマクロ
  • メソッドのオーバーロード
  • コードをmarshaling (serialize) して, ネットワーク越しにやり取りできるようにする。

将来の目標

プログラミング言語のパワー (Arcからの挑戦) という観点からは, もはや Rubyはトップ集団の一つでもありません。

Ruby v1.8.0 のリリースが2003年, v1.6.0 のリリースが2000年。Scala (The Scala Programming Language), Groovy (Groovy - Home) のような新しいプログラミング言語, あるいは進化が続いている C++ の方がよっぽどパワーがあります。

あるいは, Haskellのような関数型言語。

もっとコンパイル時にエラーを検出できるように, もっと並列に動作できるようにしたい。

実装ノート。

作業場

minilangは, Assemblaプロジェクトマネジメントツールを使っています。

Active by Milestone Tickets | minilang Space | Assembla

まずはユーザ登録してください。(無料)

バグ報告

Assembla にユーザ登録後, minilangスペースでチケットを作成してください。

コミッタになる

コミッタも大募集。

貢献者ライセンス同意書 (Contributor License Agreement) にサインしてお送りください。