A lightweight approach to datatype-generic rewriting

被引:5
|
作者
Van Noort, Thomas [1 ]
Yakushev, Alexey Rodriguez [2 ]
Holdermans, Stefan [2 ]
Jeuring, Johan [3 ,4 ]
Heeren, Bastiaan [4 ]
Magalhaes, Jose Pedro [3 ]
机构
[1] Radboud Univ Nijmegen, Inst Comp & Informat Sci, NL-6500 GL Nijmegen, Netherlands
[2] Vector Fabr, NL-5611 KN Eindhoven, Netherlands
[3] Univ Utrecht, Dept Informat & Comp Sci, NL-3508 TB Utrecht, Netherlands
[4] Open Univ Netherlands, Sch Comp Sci, NL-6401 DL Heerlen, Netherlands
关键词
LANGUAGE;
D O I
10.1017/S0956796810000183
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Term-rewriting systems can be expressed as generic programs parameterised over the shape of the terms being rewritten. Previous implementations of generic rewriting libraries require users to either adapt the datatypes that are used to describe these terms or to specify rewrite rules as functions. These are fundamental limitations: the former implies a lot of work for the user, while the latter makes it hard if not impossible to document, test, and analyze rewrite rules. In this article, we demonstrate how to overcome these limitations by making essential use of type-indexed datatypes. Our approach is lightweight in that it is entirely expressible in Haskell with GADTs and type families and can be readily packaged for use with contemporary Haskell distributions.
引用
收藏
页码:375 / 413
页数:39
相关论文
共 50 条
  • [41] An approach to declarative programming based on a rewriting logic
    González-Moreno, JC
    Hortalá-González, MT
    López-Fraguas, FJ
    Rodríguez-Artalejo, M
    [J]. JOURNAL OF LOGIC PROGRAMMING, 1999, 40 (01): : 47 - 87
  • [42] A Query Rewriting Approach for Web Service Composition
    Barhamgi, Mahmoud
    Benslimane, Djamal
    Medjahed, Brahim
    [J]. IEEE TRANSACTIONS ON SERVICES COMPUTING, 2010, 3 (03) : 206 - 222
  • [43] Lightweight Forensics Application: Lightweight Approach to Securing Mobile Devices
    Brumfitt, Helen Angela
    Askwith, Bob
    Zhou, Bo
    [J]. CIT/IUCC/DASC/PICOM 2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY - UBIQUITOUS COMPUTING AND COMMUNICATIONS - DEPENDABLE, AUTONOMIC AND SECURE COMPUTING - PERVASIVE INTELLIGENCE AND COMPUTING, 2015, : 795 - 800
  • [44] A Lightweight Approach to GPU Resilience
    Baird, Max
    Fensch, Christian
    Scholz, Sven-Bodo
    Sinkarovs, Artjoms
    [J]. EURO-PAR 2018: PARALLEL PROCESSING WORKSHOPS, 2019, 11339 : 826 - 838
  • [45] A lightweight approach to formal methods
    Agerholm, S
    Larsen, PG
    [J]. APPLIED FORMAL METHODS - FM-TRENDS 98, 1999, 1641 : 168 - 183
  • [46] Lightweight and Generic RDMA Engine Para-Virtualization for the KVM Hypervisor
    Mouzakitis, Angelos
    Pinto, Christian
    Nikolaev, Nikolay
    Rigo, Alvise
    Raho, Daniel
    Aronis, Babis
    Marazakis, Manolis
    [J]. 2017 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS), 2017, : 737 - 744
  • [47] A Lightweight Approach for Loop Summarization
    Seghir, Mohamed Nassim
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, 2011, 6996 : 351 - 365
  • [48] The Lightweight Natural Design Approach
    Hennicke, Juergen W.
    [J]. TENSINET SYMPOSIUM 2007: EPHEMERAL ARCHITECTURE TIME AND TEXTILES, 2007, : 165 - 175
  • [49] New approach to virtualization is a lightweight
    Vaughan-Nichols, Steven J.
    [J]. COMPUTER, 2006, 39 (11) : 12 - 14
  • [50] A Generic Approach for Video Indexing
    Gayathri, N.
    Mahesh, K.
    [J]. PROCEEDING OF THE INTERNATIONAL CONFERENCE ON COMPUTER NETWORKS, BIG DATA AND IOT (ICCBI-2018), 2020, 31 : 701 - 708