The Behavior of Gradual Types: A User Study

被引:10
作者
Wilson, Preston Tunnell [1 ]
Greenman, Ben [2 ]
Pombrio, Justin [1 ]
Krishnamurthi, Shriram [1 ]
机构
[1] Brown Univ, Providence, RI 02912 USA
[2] Northeastern Univ, Boston, MA 02115 USA
来源
DLS'18: PROCEEDINGS OF THE 14TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON DYNAMIC LANGUAGES | 2018年
关键词
gradual typing; deep gradual typing; erasure gradual typing; shallow gradual typing; user studies;
D O I
10.1145/3276945.3276947
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
There are several different gradual typing semantics, reflecting different trade-offs between performance and type soundness guarantees. Notably absent, however, are any data on which of these semantics developers actually prefer. We begin to rectify this shortcoming by surveying professional developers, computer science students, and Mechanical Turk workers on their preferences between three gradual typing semantics. These semantics reflect important points in the design space, corresponding to the behaviors of Typed Racket, TypeScript, and Reticulated Python. Our most important finding is that our respondents prefer a runtime semantics that fully enforces statically declared types.
引用
收藏
页码:1 / 12
页数:12
相关论文
共 39 条
[1]   Gradual typing for Smalltalk [J].
Allende, Esteban ;
Callau, Oscar ;
Fabry, Johan ;
Tanter, Eric ;
Denker, Marcus .
SCIENCE OF COMPUTER PROGRAMMING, 2014, 96 :52-69
[2]  
[Anonymous], 2015, LEIBNIZ INT P INFORM, DOI DOI 10.4230/LIPICS.SNAPL.2015.274
[3]  
Barik Titus, 2018, Error Messages as Rational Reconstructions
[4]  
BIERMAN G, 2010, EUR C OBJ OR PROGR, V6183, P76
[5]  
BIERMAN G, 2014, ECOOP 2014 OBJ OR, V8586, P257
[6]   Practical Optional Types for Clojure [J].
Bonnaire-Sergeant, Ambrose ;
Davies, Rowan ;
Tobin-Hochstadt, Sam .
PROGRAMMING LANGUAGES AND SYSTEMS (ESOP 2016), 2016, 9632 :68-94
[7]  
BRACHA G, 1993, SIGPLAN NOTICES, V28, P215, DOI 10.1145/167962.165893
[8]  
Chung Benjamin W., 2018, ECOOP
[9]   Automatically Generating the Dynamic Semantics of Gradually Typed Languages [J].
Cimini, Matteo ;
Siek, Jeremy G. .
ACM SIGPLAN NOTICES, 2017, 52 (01) :789-803
[10]  
Dimoulas C, 2012, LECT NOTES COMPUT SC, V7211, P214, DOI 10.1007/978-3-642-28869-2_11