Item type |
Trans(1) |
公開日 |
2021-09-30 |
タイトル |
|
|
タイトル |
高水準動的型付け言語間FFIにおけるType Description Helperの構築 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Building Type Description Helper in FFI between High-level Dynamically Typed Languages |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[発表概要, Unrefereed Presentatin Abstract] |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
著者所属 |
|
|
|
東京大学大学院情報理工学系研究科 |
著者所属 |
|
|
|
東京大学大学院情報理工学系研究科 |
著者所属 |
|
|
|
東京大学大学院情報理工学系研究科/情報処理学会プログラミング研究会 |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Information Science and Technology, The University of Tokyo |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Information Science and Technology, The University of Tokyo |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Information Science and Technology, The University of Tokyo / Information Processing Society of Japan Special Interest Group on Programming |
著者名 |
池崎, 翔哉
山崎, 徹郎
千葉, 滋
|
著者名(英) |
Shoya, Ikezaki
Tetsurou, Yamazaki
Shigeru, Chiba
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
他言語インタフェース(FFI)はある言語から他言語のライブラリを使用するための仕組みである.プログラミング言語の実用上,他言語で書かれたライブラリ資産を使用できることが重要である.近年では豊富な型を有する動的型付け言語にライブラリ資産が溜まってきているため,このような言語とのFFIが望まれている.しかし型の豊富さゆえに,ホスト言語とライブラリ言語間の型変換規則が複雑なものとなり型変換規則の記述量が多くなってしまうという問題がある.本発表ではType Description Helperという型変換規則の半自動的な導出器を提案する.これが導出した型変換規則の分,ユーザが記述する必要のある型変換規則の量をおさえることができる.Type Description Helperによる型変換規則の導出の手法として2つの方法を考案した.ログベースド法は他言語関数呼び出し時のログから動的に型変換規則を導出し,型推論ベースド法はソースコードを静的に解析することで型変換規則を導出する.本発表では具体例としてPythonおよびEusLispの2言語を選定し,この間のFFIを作成するとともにType Description Helperの実装を行い,その有用性を確認した. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
A foreign function interface (FFI) is a mechanism that enables a programming language to use libraries written in another foreign language. The FFI is important since the language that does not have access to the rich libraries that already exist is not considered practical. Recently, the FFI between dynamically typed languages that have various types is required because a great number of useful libraries are written in those languages. However, it takes a high cost to describe the type conversion rules between host and library languages since the rules of it are complex on account of type-richness. We propose a Type Description Helper that derives the type conversion rules semi-automatically. The Type Description Helper reduces the number of type conversion rules that users have to write. As the type conversion rules that are derived by Type Description Helper are incomplete, users have to write the type conversion rules that have not yet been derived. Type Description Helper derives the type conversion rules in two ways: log-based approach and type-inference-based approach. The log-based approach derives the type conversion rules dynamically from the log of foreign function calls. The type-inference-based approach derives the type conversion rules by analyzing the source code statically. At the same time, it can detect some invalid arguments that cannot be applied by foreign functions. In this research, we choose Python and EusLisp as an example and implement FFI and Type Description Helper, then checked that it is useful. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AA11464814 |
書誌情報 |
情報処理学会論文誌プログラミング(PRO)
巻 14,
号 4,
p. 1-1,
発行日 2021-09-30
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |