[[
設計目標
]]
TaTTa Wiki サイト
トレース:
»
fib関数をcps変換_closure変換してみる
»
cのマクロを用いた例外処理の実現
»
tattaブログ
»
トップページ
»
meadowメモ
»
c_.net_はまり道
»
start
»
設計目標
ソースの表示
以前のリビジョン
最近の変更
索引
ログイン
索引
playground
tatta
wiki
トップページ
技術情報
核言語仕様
検討メモ
設計目標
cのマクロを用いた例外処理の実現
c_.net_はまり道
fib関数をcps変換_closure変換してみる
meadowメモ
preccs開発サイト
start
tattaブログ
Preccs設計目標
C言語との相互運用性を高める
できる限り効率的な生成コードを出力する
方針
(1) サポートするスタイル
関数型言語のスタイル
クロージャ,一級関数,一級継続
パタンマッチ
命令型言語のスタイル
代入演算
for, whileなどの制御構文
⇒ オブジェクト指向(クラスベースの?)
並行プロセスのサポート
一級継続を用いたライブラリとして実現する
型システム
多相型,型推論,型パラメータ
モジュールシステム
分割コンパイル
相互運用性
Cの関数の呼び出し.
あるいはCプログラムからの呼び出し.
(2) C言語のコードを出力する.
命令型スタイルのプログラムは自然なCのコードに出力される.
関数呼び出しはCの関数呼び出し.
for, whileはCのforやwhile(もしくはgotoも可)
call/ccを用いた場合は,関数呼び出しは,CPSに変換される.
Cをターゲット言語とすることの利点は以下のとおり
移植性が高くなる.様々なアーキテクチャをサポートしている.
レジスタ割り付けや命令セット選択,最適化などをいちいち実装しなくても済む.
効率の良いマシンコードを生成してくれる.
設計目標.txt · 最終更新: 2009/07/02 11:25 by hattori
ソースの表示
以前のリビジョン
文書の先頭へ