Direct Interpretation of Functional Programs for Debugging

被引:1
作者
Whitington, John [1 ]
Ridge, Tom [1 ]
机构
[1] Univ Leicester, Leicester, England
来源
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE | 2019年 / 294期
关键词
D O I
10.4204/EPTCS.294.3
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We make another assault on the longstanding problem of debugging. After exploring why debuggers are not used as widely as one might expect, especially in functional programming environments, we define the characteristics of a debugger which make it usable , thus widely used. We present initial work towards a new debugger for OCaml which operates by direct interpretation of the program source, allowing the printing out of individual steps of the program's evaluation. We present OCamli, a standalone interpreter , propose a mechanism by which the interpreter could be integrated into compiled executables, allowing part of a program to be interpreted in the same fashion as OCamli whilst the rest of the program runs natively. We show how such a mechanism might create a source -level debugging system that has the characteristics of a usable debugger (such as being independent of its environment) and so may eventually be expected to be suitable for widespread adoption.
引用
收藏
页码:41 / 73
页数:33
相关论文
共 48 条
[1]  
[Anonymous], 2004, PROC 3 PROGRAM VISUA
[2]  
Auguston Mikhail, 1994, SOFTWARE ED C 1994 P, P198, DOI [10.1109/SEDC.1994.475337, DOI 10.1109/SEDC.1994.475337]
[3]  
Balzer R.M., 1969, Proceeding of the May 14-16, 1969, spring joint computer conference, AFIPS '69 (Spring), P567, DOI DOI 10.1145/1476793.1476881
[4]   WRITING AN ONLINE DEBUGGING PROGRAM FOR EXPERIENCED USER [J].
BRADY, PT .
COMMUNICATIONS OF THE ACM, 1968, 11 (06) :423-&
[5]  
Burstall RodM., 1980, P 1980 LISP C STANFO, P136, DOI 10.1145/800087.802799
[6]   JS']JSExplain: A Double Debugger for Java']JavaScript [J].
Chargueraud, Arthur ;
Schmitt, Alan ;
Wood, Thomas .
COMPANION PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE 2018 (WWW 2018), 2018, :691-699
[7]  
Chitil O., 2003, Implementation of Functional Languages. 14th International Workshop, IFL 2002. Revised Selected Papers (Lecture Notes in Computer Science Vol.2670), P165
[8]  
Clements J, 2001, LECT NOTES COMPUT SC, V2028, P320
[9]  
Cong Y, 2016, SOFTWARE SCI, P42, DOI DOI 10.29007/L2WB
[10]  
Contorer Aaron, 2015, WHAT HASKELLERS WANT