Item type |
Trans(1) |
公開日 |
2020-10-23 |
タイトル |
|
|
タイトル |
高水準動的型付け言語間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 |
著者名 |
池崎, 翔哉
山崎, 徹郎
千葉, 滋
|
著者名(英) |
Shoya, Ikezaki
Tetsurou, Yamazaki
Shigeru, Chiba
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
他言語インタフェース(FFI)はある言語から他の言語のライブラリを使用するための仕組みである.プログラミング言語が実用的であるために,すでに他言語で書かれたライブラリ資産を使用可能であることが重要である.近年では豊富な型を有する動的型付け言語にライブラリ資産が溜まってきているため,このような言語とのFFIが望まれている.しかし型が豊富であるがゆえに,ホスト言語とライブラリ言語間の型変換規則が複雑なものとなり型変換規則の記述量が多くなってしまうという問題がある.本発表はType Description Helperという型変換規則の半自動的な導出器を提案する.このType Description Helperを用いることでユーザが記述する必要のある型変換規則の量をおさえることができる.Type Description Helperによる導出は不完全であるため,一部の導出できない型変換規則を手動で記述する必要がある.Type Description Helperによる型変換規則の導出にはLog-based法とType-inference-based法の2種類の方法がある.Log-based法は他言語関数呼び出し時のログから動的に型変換規則を導出する.Type-inference-based法はソースコードを静的に解析することで型変換規則を導出する.また,この静的解析によって明らかに適用不可能な型の引数を検出することも可能である.本発表では具体例として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 rule of type conversion between host and library languages since the rule of it is complex on account of type-richness. This presentation proposes Type Description Helper that derives the rule of type conversion semi-automatically. The Type Description Helper reduces the amount of the rule of type conversion that users have to write. As the rule of type conversion that is derived by Type Description Helper is incomplete, users have to write the rule of type conversion that has not yet derived. Type Description Helper derives the rule of type conversion in two ways: log-based approach and type-inference-based approach. The log-based approach derives the rule of type conversion dynamically from the log of foreign function calls. The type-inference-based approach derives the rule of type conversion by analyzing the source code statically. At the same time, it can detect some invalid argu- ments that cannot be applied by foreign function. In this presentation, 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)
巻 13,
号 4,
p. 24-24,
発行日 2020-10-23
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |