Typed template engine based on partially dynamic records

Typed template engine based on partially dynamic records
复制标题

基于部分动态记录的类型化模板引擎

DOI:
10.11309/jssst.35.3_79
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
大堀淳
大堀淳
中科院分区:
--
文献类型:
--
作者:
逢坂美冬;上野雄大;大堀淳

文献摘要

相似文献

一般に Web アプリケーションにおける Web ページの動的生成は, テンプレートエンジンを用い, 事前に用意されたテンプレートに対して動的に値を埋め込むことで行う. テンプレートはテキストファイルとして用意され, 実行時に読み込まれる. そのため, テンプレートに対する操作は一般に型無しの文字列操作となる. 従って, たとえホスト言語が強い型付けを持つ関数型言語であったとしても, 実際のテンプレート構造とプログラムの想定の間の不整合は静的に検出されない. 本論文では, 動的に読み込まれるテンプレートに対して, 部分動的レコードに基づく動的型検査を行うことで, 型付きのテンプレート操作を実現する言語機構を提案する. この機構は, テンプレートにホール名をラベルとする ML の部分動的レコード型を与え, テンプレートに値を埋め込む操作をレコードの更新演算と同様に型付けする. テンプレートに存在しないホールへの値の埋め込みは型エラーとなる. プログラムが想定するテンプレートの型と実際のテンプレートの構造の整合性は, テンプレートファイル読み込み時に動的に検査する. 本論文ではさらに, この機構を ML 系関数型言語 SML# のコンパイラを拡張することで実装し, 実例を通じて実用性を検証するとともに, 実用上の課題について議論する.