研究課題/領域番号 |
11780217
|
研究種目 |
奨励研究(A)
|
配分区分 | 補助金 |
研究分野 |
計算機科学
|
研究機関 | 京都大学 |
研究代表者 |
GARRIGVE Jacqves (GARRIGUE Jacques) 京都大学, 数理解析研究所, 助手 (80273530)
|
研究期間 (年度) |
1999 – 2000
|
研究課題ステータス |
完了 (2000年度)
|
配分額 *注記 |
2,100千円 (直接経費: 2,100千円)
2000年度: 900千円 (直接経費: 900千円)
1999年度: 1,200千円 (直接経費: 1,200千円)
|
キーワード | 関数型言語 / 型システム / 操作意味論 / オーバーローディング / 相互利用 / ソフトウェア |
研究概要 |
本年度は他言語との接続部の開発を続けながら、主に型システムと操作意味論の改良に務めた。 特に成果を収めた分野は次の二つである。 多相ヴァリアント型 他言語との接続を型安全にするために、各部品固有の細いデータの使い方を型に反映させなければならないが、多相ヴァリアント型が不可欠になる。関数型言語で使われる型推論は型システムに単項性という性質を求めており、従来のヴァリアント型ではそれが完全に得られていなかったので、従来のシステムを局所制約という概念を用いて拡張し、それを形式化した。 オプショナル引数の意味論 C++や動的型付言語において、オーバーローディング(多重意味)がライブラリの簡素化のために大きな役割を果している。ただし、そういうアプローチを用いると型非依存性という重要な性質が失われる。オーバーローディングの重要な使い方であるオプショナル引数に型非依存な操作意味論を与え、それをObjective Camlで実現した。 それぞれの進歩は当方で作ったLablTk、LablGL、LablGTKという他言語接続ライブラリで使われる他、Objective Camlの利用者に幅広く新しいライブラリの開発に使われている。
|