• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 前のページに戻る

自己反映言語への型の導入

研究課題

研究課題/領域番号 13780201
研究種目

若手研究(B)

配分区分補助金
研究分野 計算機科学
研究機関お茶の水女子大学

研究代表者

淺井 健一  お茶の水女子大学, 理学部, 助教授 (10262156)

研究期間 (年度) 2001 – 2002
研究課題ステータス 完了 (2002年度)
配分額 *注記
2,400千円 (直接経費: 2,400千円)
2002年度: 700千円 (直接経費: 700千円)
2001年度: 1,700千円 (直接経費: 1,700千円)
キーワード自己反映言語 / 型 / 部分評価 / インタプリタ / コンパイラ / 関数型言語
研究概要

前年度には、型のある言語(OCam1)で実装されてはいるが、その型はユーザには見えていないような自己反映言語を作成した。本年度は、このシステムをユーザから型が見えており、かつ変更ができるようにするべく研究を進めた。しかし、結論から書くと、変更可能とするには本質的な問題があり、難しいことがわかった。以下、その概要を述べる。
インタプリタ中の関数に(型も含めて)アクセスするためには、まずインタプリタを構成する関数の型をユーザから見えるデータ型で表現する必要がある。これには普通通り、OCam1のデータ型を使用することで対応できる。次に、このように表現された型を持つインタプリタ中の関数にアクセスしようと思うと、ユーザから見えるデータ型をインタプリタ中で実際に使われている型に変換してやる必要がある。しかし、この変換は現在の関数型言語では不可能である。というのは、この変換の型は、ユーザから見えるデータ型を受け取ってきて、それが表す型を返すことになり、返り値の型が定まらないからである。この問題は、依存型などのより複雑な型を使えば可能と予想されるが、依存型はまだまだ研究段階である。
一般的な解は現在のところ難しいことがわかったが、このインタプリタに現れる関数のみを扱えるような限定的なシステムなら構築できそうな感触を得た。一般的に、ユーザから見えるデータ型をインタプリタ中で使われている型に変換するのではなく、このインタプリタに現れる関数全てについてのみ、あらかじめその対応する型を登録しておけば、型変換の困難は回避できる。しかし、これでは関数やその型を見ることはできても変更することはできず、当初の目的であった型システムの変更には結び付きそうにはなく、実用性は疑問である。

報告書

(2件)
  • 2002 実績報告書
  • 2001 実績報告書
  • 研究成果

    (2件)

すべて その他

すべて 文献書誌 (2件)

  • [文献書誌] Kenichi Asai: "Online Partial Evaluation for Shift and Reset"Partial Evaluation and Semantics-Based Program Manipulation (PEPM'02). 19-30 (2002)

    • 関連する報告書
      2002 実績報告書
  • [文献書誌] Kenichi Asai: "Online Partial Evaluation for Shift and Reset"Partial Evaluation and Semantics-Based Program manipulation (PEPM102). 19-30 (2002)

    • 関連する報告書
      2001 実績報告書

URL: 

公開日: 2001-04-01   更新日: 2016-04-21  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi