ログイン 新規登録
言語:

WEKO3

  • トップ
  • ランキング
To
lat lon distance
To

Field does not validate



インデックスリンク

インデックスツリー

メールアドレスを入力してください。

WEKO

One fine body…

WEKO

One fine body…

アイテム

  1. 論文誌(トランザクション)
  2. プログラミング(PRO)
  3. Vol.16
  4. No.3

構造体をより柔軟に扱うための新たなプログラミング言語の開発

https://ipsj.ixsq.nii.ac.jp/records/227543
https://ipsj.ixsq.nii.ac.jp/records/227543
77ca95bf-9fe7-4eef-bd84-400f6c349264
名前 / ファイル ライセンス アクション
IPSJ-TPRO1603011.pdf IPSJ-TPRO1603011.pdf (123.0 kB)
Copyright (c) 2023 by the Information Processing Society of Japan

WEKO

オープンアクセス
Item type Trans(1)
公開日 2023-08-28
タイトル
タイトル 構造体をより柔軟に扱うための新たなプログラミング言語の開発
タイトル
言語 en
タイトル Development of a New Programming Language for Handling Structures More Flexibly
言語
言語 jpn
キーワード
主題Scheme Other
主題 [発表概要, Unrefereed Presentatin Abstract]
資源タイプ
資源タイプ識別子 http://purl.org/coar/resource_type/c_6501
資源タイプ journal article
著者所属
東邦大学情報科学科
著者所属
東邦大学情報科学科
著者所属(英)
en
Department of Information Science, Toho University
著者所属(英)
en
Department of Information Science, Toho University
著者名 横山, 航基

× 横山, 航基

横山, 航基

Search repository
木村, 大輔

× 木村, 大輔

木村, 大輔

Search repository
著者名(英) Koki, Yokoyama

× Koki, Yokoyama

en Koki, Yokoyama

Search repository
Daisuke, Kimura

× Daisuke, Kimura

en Daisuke, Kimura

Search repository
論文抄録
内容記述タイプ Other
内容記述 構造体は複数のデータをまとめて格納し,扱うことを可能にする基本的なデータ構造であり,C言語のstructなど様々なプログラミング言語でサポートされている.通常は型の定義時にフィールド名とその個数は固定され,途中で変更されることがない.このような構造体の設計を前提とすることで,プログラマは構造体の内容を把握しやすくなるなどの利点がある.その一方で,既存の構造体に新たなフィールドを追加する必要が発生したときは,その構造体が関わっているすべての箇所を変更する必要があるなど,修正に手間がかかることもある.そこで,構造体の処理をより柔軟にするための新たなプログラミング言語Qsitory(シトリー)を提案する.特徴としては,関数型言語がベースで高階関数や再帰関数が扱えて型推論もできる.それに加えて手続き型言語の特徴も持ち,for文などが扱える.具体的な特徴としては,「基本的なコレクション(リスト,タプルなど)の操作が演算子で可能」,「Javaの拡張for文,Pythonのfor文,Haskellのzipwithを拡張し,n個のリストから1つずつ要素を取ってくり返しを行うようにした(多次元拡張for文)」,「構造体メンバ参照,メンバ代入の際にフィールド名を文字列として使用できる」,「構造体に動的にフィールドを追加することが可能」などがある.本発表では提案内容を実現するための評価アルゴリズム・型推論アルゴリズムを与え,これらに基づくインタープリタのOCaml上でのプロトタイプ実装を紹介する.
論文抄録(英)
内容記述タイプ Other
内容記述 Structures are basic data structures that enables to store and handle multiple pieces of data altogether, and are supported by various programming languages such as the structs in C. Normally, field names of members of a struct and the number of them are fixed in a definition of the struct and remains unchanged during an execution of a program. In designing a programming language, this convention of structs has advantages such as making it easier for the programmer to grasp the contents of the structure. However, when a programmer wants to add a new field to an existing structure, he has to update all the parts related to the structure. We propose a new programming language, Qsitory, which enables to handle structures more flexible. Qsitory has features of functional languages such as higher-order functions, recursive functions, and type inference. It equips basic collections like lists and tuples, multi-dimensional extended-for-statement, which is a further extension of the extended-for in Java and Python, field names as independent string data, and dynamically extendable structs. In this presentation, we give our evaluation algorithms and type inference algorithms to develop Qsitory, and introduce a prototype implementation of a Qsitory interpreter written in OCaml.
書誌レコードID
収録物識別子タイプ NCID
収録物識別子 AA11464814
書誌情報 情報処理学会論文誌プログラミング(PRO)

巻 16, 号 3, p. 34-34, 発行日 2023-08-28
ISSN
収録物識別子タイプ ISSN
収録物識別子 1882-7802
出版者
言語 ja
出版者 情報処理学会
戻る
0
views
See details
Views

Versions

Ver.1 2025-01-19 12:08:58.077519
Show All versions

Share

Mendeley Twitter Facebook Print Addthis

Cite as

エクスポート

OAI-PMH
  • OAI-PMH JPCOAR
  • OAI-PMH DublinCore
  • OAI-PMH DDI
Other Formats
  • JSON
  • BIBTEX

Confirm


Powered by WEKO3


Powered by WEKO3