[1] HUDAK P. Conception, evolution, and application of functional programming languages [J]. ACM Computing Surveys, 1989, 21(3): 359-411. [2] VENNERS B. Twitter on Scala [EB/OL]. [2016-01-08]. http://www.artima.com/scalazine/articles/twitter_on_scala.html. [3] O'CONNELL A. Inside Erlang, the rare programming language behind WhatsApp's success [EB/OL]. [2016-01-08]. http://www.fastcompany.com/3026758/inside-erlang-the-rare-programming-language-behind-whatsapps-success. [4] MENG X, BRADLEY J, YAVUZ B, et al. MLlib: machine learning in Apache Spark [EB/OL]. [2015-12-08]. http://www.jmlr.org/papers/volume17/15-237/15-237.pdf. [5] KRILL P. Microsoft to big data programmers: try F# [EB/OL]. [2015-11-22]. http://www.infoworld.com/article/2613049/development-tools/article.html. [6] TRELFORD P. Learning with F# [C]// CUFP '07: Proceedings of the 4th ACM SIGPLAN Workshop on Commercial Users of Functional Programming. New York: ACM, 2007: Article No. 7. [7] ZAHARIA M, CHOWDHURY M, FRANKLIN M J, et al. Spark: cluster computing with working sets [C]// Proceedings of the 2nd USENIX Conference on Hot Topics in Cloud Computing. Berkeley, CA: USENIX Association, 2010: 10. [8] CEJTIN H, JAGANNATHAN S, WEEKS S. Flow-directed closure conversion for typed languages [C]// ESOP '00: Proceedings of the 9th European Symposium on Programming Languages and Systems. London: Springer, 2000: 56-71. [9] EISENBERG R A, STOLAREK J. Promoting functions to type families in Haskell [C]// Haskell '14: Proceedings of the 2014 ACM SIGPLAN Symposium on Haskell. New York: ACM, 2014: 95-106. [10] KUAN G, MACQUEEN D. Engineering higher-order modules in SML/NJ [C]// Proceedings of the 21st International Conference on Implementation and Application of Functional Languages. Berlin: Springer, 2009: 218-235. [11] LANDIN P J. The mechanical evaluation of expressions [J]. Computer Journal, 1964, 6(4): 308-320. [12] DANVY O, NIELSEN L R. Defunctionalization at work [C]// Proceedings of the 3rd ACM SIGPLAN international Conference on Principles and Practice of Declarative Programming. New York: ACM, 2001: 162-174. [13] HANSEN M R, RISCHEL H. Functional Programming Using F# [M]. Cambridge: Cambridge University Press, 2013. [14] APPEL A W, JIM T. Continuation-passing, closure-passing style [C]// Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. New York: ACM, 1989: 293-302. [15] MORRISETT G, WALKER D, CRARY K, et al. From system F to typed assembly language [J]. ACM Transactions on Programming Languages and Systems, 1999, 21(3): 527-568. [16] PERCONTI J T, AHMED A. Verifying an open compiler using multi-language semantics [M]// SHAO Z. Programming Languages and Systems, LNCS 8410. Berlin: Springer, 2014: 128-148. [17] REYNOLDS J C. Definitional interpreters for higher-order programming languages [J]. Higher-Order and Symbolic Computation, 1998, 11(4): 363-397. [18] FOURTOUNIS G, PAPASPYROU N S. Supporting separate compilation in a defunctionalizing compiler [EB/OL]. [2015-12-05]. http://www.softlab.ntua.gr/~gfour/files/slate-2013.pdf. [19] BELL J M, BELLEGARDE F, HOOK J. Type-driven defunctionalization [C]// Proceedings of the 2nd ACM SIGPLAN International Conference on Functional Programming. New York: ACM, 1997: 25-37. [20] APPEL A W. Compiling with Continuations [M]. New York: Cambridge University Press, 1992: 1-64. |