このアイテムのアクセス数: 154

このアイテムのファイル:
ファイル 記述 サイズフォーマット 
978-3-030-34175-6_3.pdf394.29 kBAdobe PDF見る/開く
完全メタデータレコード
DCフィールド言語
dc.contributor.authorNishida, Yukien
dc.contributor.authorIgarashi, Atsushien
dc.contributor.alternative西田, 雄気ja
dc.contributor.alternative五十嵐, 淳ja
dc.date.accessioned2020-03-09T04:56:45Z-
dc.date.available2020-03-09T04:56:45Z-
dc.date.issued2019-
dc.identifier.urihttp://hdl.handle.net/2433/245913-
dc.descriptionProgramming Languages and Systems: 17th Asian Symposium, APLAS 2019, Nusa Dua, Bali, Indonesia, December 1–4, 2019. Part of the Lecture Notes in Computer Science book series (LNCS, volume 11893). Also part of the Programming and Software Engineering book sub series (LNPSE, volume 11893).en
dc.description.abstractWe present a manifest contract system PCFv ΔH with intersection types. A manifest contract system is a typed functional calculus in which software contracts are integrated into a refinement type system and consistency of contracts is checked by combination of compile- and run-time type checking. Intersection types naturally arise when a contract is expressed by a conjunction of smaller contracts. Run-time contract checking for conjunctive higher-order contracts in an untyped language has been studied but our typed setting poses an additional challenge due to the fact that an expression of an intersection type τ1∧τ2 may have to perform different run-time checking whether it is used as τ1 or τ2. We build PCFv ΔH on top of the Δ-calculus, a Church-style intersection type system by Liquori and Stolze. In the Δ-calculus, a canonical expression of an intersection type is a strong pair, whose elements are the same expressions except for type annotations. To address the challenge above, we relax strong pairs so that expressions in a pair are the same except for type annotations and casts, which are a construct for run-time checking. We give a formal definition of PCFv ΔH and show its basic properties as a manifest contract system: preservation, progress, and value inversion. Furthermore, we show that run-time checking does not affect essential computation.en
dc.format.mimetypeapplication/pdf-
dc.language.isoeng-
dc.publisherSpringeren
dc.relation.ispartof9783030341756-
dc.rightsThis is a post-peer-review, pre-copyedit version of an article published in Programming Languages and Systems. The final authenticated version is available online at: http://dx.doi.org/10.1007/978-3-030-34175-6_3.en
dc.rightsThe full-text file will be made open to the public on 18 November 2020 in accordance with publisher's 'Terms and Conditions for Self-Archiving'.en
dc.rightsThis is not the published version. Please cite only the published version.en
dc.rightsこの論文は出版社版でありません。引用の際には出版社版をご確認ご利用ください。ja
dc.titleManifest contracts with intersection typesen
dc.typeconference paper-
dc.type.niitypeConference Paper-
dc.identifier.jtitleProgramming Languages and Systemsen
dc.identifier.spage33-
dc.identifier.epage52-
dc.relation.doi10.1007/978-3-030-34175-6_3-
dc.textversionauthor-
dc.addressGraduate School of Informatics, Kyoto Universityen
dc.addressGraduate School of Informatics, Kyoto Universityen
dcterms.accessRightsopen access-
datacite.date.available2020-11-18-
datacite.awardNumber17H01723-
jpcoar.funderName日本学術振興会ja
jpcoar.funderName.alternativeJapan Society for the Promotion of Science (JSPS)en
出現コレクション:学術雑誌掲載論文等

アイテムの簡略レコードを表示する

Export to RefWorks


出力フォーマット 


このリポジトリに保管されているアイテムはすべて著作権により保護されています。