參考文獻 |
[1] Bainomugisha, E., Carreton, A. L., Cutsem, T. V., Mostinckx, S., & Meuter, W. D. (2013). A survey on reactive programming. ACM Computing Surveys (CSUR), 45(4), 1-34.
[2] Kambona, K., Boix, E. G., & De Meuter, W. (2013, July). An evaluation of re- active programming and promises for structuring collaborative web applications. In Proceedings of the 7th Workshop on Dynamic Languages and Applications (pp. 1-9).
[3] Horowitz, E. (2012). Fundamentals of programming languages. Springer Science & Business Media.
[4] Hudak, P. (1989). Conception, evolution, and application of functional programming languages. ACM Computing Surveys (CSUR), 21(3), 359-411.
[5] Lloyd, J. W. (1994, September). Practical Advtanages of Declarative Programming. In GULP-PRODE (1) (pp. 18-30).
[6] Hughes, J. (1989). Why functional programming matters. The computer journal, 32(2), 98-107.
[7] SABRY, A. (1998). What is a purely functional language? Journal of Functional Programming, 8(1), 1–22. doi:10.1017/S0956796897002943
[8] Gifford, D. K., & Lucassen, J. M. (1986, August). Integrating functional and im- perative programming. In Proceedings of the 1986 ACM Conference on LISP and Functional Programming (pp. 28-38).
[9] Lucassen, J. M. (1987). Types and effects: Towards the integration of functional and imperative programming (Doctoral dissertation, Massachusetts Institute of Technol- ogy, Dept. of Electrical Engineering and Computer Science.).
[10] Wegner, P. (1990). Concepts and paradigms of object-oriented programming. ACM Sigplan Oops Messenger, 1(1), 7-87.
[11] Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1993). Design patterns: Ab- straction and reuse of object-oriented design. In ECOOP’93—Object-Oriented Pro- gramming: 7th European Conference Kaiserslautern, Germany, July 26–30, 1993 Proceedings 7 (pp. 406-431). Springer Berlin Heidelberg.
[12] Eales, A., & Eales, A. (2005). The observer pattern revisited. Educating, Innovating & Transforming: Educators in IT: Concise paper.
[13] Ferg, S. (2006). Event-driven programming: Introduction, tutorial, history. vailable online at: http://eventdrivenpgm.sourceforge.net.
[14] Paykin,J.,Krishnaswami,N.R.,&Zdancewic,S.(2016).Theessenceofevent-driven programming. Leibniz, Leibniz International Proceedings in Informatics.
[15] Szallies, C. (1997). On using the observer design pattern. XP-002323533,(Aug. 21, 1997), 9.
[16] Sun, H., Bonetta, D., Schiavio, F., & Binder, W. (2019, February). Reasoning about the Node. js event loop using Async Graphs. In 2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) (pp. 61-72). IEEE.
[17] Gallaba, K., Mesbah, A., & Beschastnikh, I. (2015, October). Don’t call us, we’ll call you: Characterizing callbacks in JavaScript. In 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (pp. 1- 10). IEEE.
[18] Salvaneschi, G., & Mezini, M. (2013, March). Reactive behavior in object-oriented applications: an analysis and a research roadmap. In Proceedings of the 12th annual international conference on Aspect-oriented software development (pp. 37-48).
[19] Brilliant, S. S., & Wiseman, T. R. (1996, March). The first programming paradigm and language dilemma. In Proceedings of the twenty-seventh SIGCSE technical sym- posium on Computer science education (pp. 338-342).
[20] Spinellis, D. (1994). Programming paradigms as object classes: a structuring mech- anism for multiparadigm programming (Doctoral dissertation, University of London 1994.).
[21] Gabbrielli, M., & Martini, S. (2023). Programming languages: principles and paradigms. Springer Nature.
[22] Van Roy, P. (2009). Programming paradigms for dummies: What every programmer should know. New computational paradigms for computer music, 104, 616-621.
[23] Salvaneschi, G., & Mezini, M. (2014). Towards reactive programming for object- oriented applications. Transactions on Aspect-Oriented Software Development XI, 227-261.
[24] Mogk, R. (2015). Reactive interfaces: Combining events and expressing signals. In Workshop on Reactive and Event-based Languages & Systems (REBLS).
[25] Perez, I., & Nilsson, H. (2015, August). Bridging the GUI gap with reactive values and relations. In Proceedings of the 2015 ACM SIGPLAN Symposium on Haskell (pp. 47-58).
[26] Meyerovich, L. A., Guha, A., Baskin, J., Cooper, G. H., Greenberg, M., Bromfield, A., and Krishnamurthi, S. (2009, October). Flapjax: a programming language for Ajax applications. In Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications (pp. 1-20).
[27] Salvaneschi, G., Hintz, G., and Mezini, M. (2014, April). REScala: Bridging between object-oriented and functional style in reactive applications. In Proceedings of the 13th international conference on Modularity (pp. 25-36).
[28] Maier, I., and Odersky, M. (2013). Higher-order reactive programming with incre- mental lists. In ECOOP 2013–Object-Oriented Programming: 27th European Con- ference, Montpellier, France, July 1-5, 2013. Proceedings 27 (pp. 707-731). Springer Berlin Heidelberg.
[29] Vue core team and contributors. Vue.js - The Progressive JavaScript Framework,
https://vuejs.org/
[30] Zhuang, Y. Y., and Chiba, S. (2016). Expanding Event Systems to Support Signals by Enabling the Automation of Handler Bindings. Journal of Information Processing, 24(4), 620-634.
[31] Elliott, C. M. (2009, September). Push-pull functional reactive programming. In Proceedings of the 2nd ACM SIGPLAN symposium on Haskell (pp. 25-36).
[32] Zhuang, Y. (2019). A lightweight push-pull mechanism for implicitly using signals in imperative programming. Journal of Computer Languages, 54, 100903.
[33] Schuster, C., and Flanagan, C. (2016, March). Reactive programming with reac- tive variables. In Companion Proceedings of the 15th International Conference on Modularity (pp. 29-33).
[34] React team and contributors. React. https://react.dev/
[35] lexical scope, Computer and Program Organization, Part 3, p. 18, at Google Books, University of Michigan. Engineering Summer Conferences, 1967
[36] The compiler for next generation JavaScript, https://babeljs.io/
[37] T. Nicolini, A. Hora and E. Figueiredo, ”On the Usage of New JavaScript Features Through Transpilers: The Babel Case,” in IEEE Software, vol. 41, no. 1, pp. 105-112, Jan.-Feb. 2024, doi: 10.1109/MS.2023.3243858.
[38] Knoop, J., Rüthing, O., and Steffen, B. (1994). Partial dead code elimination. ACM Sigplan Notices, 29(6), 147-158.
[39] Software Technology Group, Technical University of Darmstadt, REScala, https:// www.rescala-lang.com/
[40] Wan, Z., & Hudak, P. (2000, May). Functional reactive programming from first principles. In Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation (pp. 242-252).
[41] Nilsson, H., Courtney, A., & Peterson, J. (2002, October). Functional reactive pro- gramming, continued. In Proceedings of the 2002 ACM SIGPLAN workshop on Haskell (pp. 51-64).
[42] Elliott, C., and Hudak, P. (1997, August). Functional reactive animation. In Pro- ceedings of the second ACM SIGPLAN international conference on Functional pro- gramming (pp. 263-273).
[43] Peterson, J., Cleary, A., & Roe, K. (2015). PyFRP: Function Reactive Programming in Python.
[44] Courtney, A. (2001, March). Frappé: Functional reactive programming in Java. In International Symposium on Practical Aspects of Declarative Languages (pp. 29-44). Berlin, Heidelberg: Springer Berlin Heidelberg.
[45] Cooper, G. H., & Krishnamurthi, S. (2006, March). Embedding dynamic dataflow in a call-by-value language. In European symposium on programming (pp. 294-308). Berlin, Heidelberg: Springer Berlin Heidelberg.
[46] Jeffrey, A. (2013, September). Functional reactive programming with liveness guar- antees. In Proceedings of the 18th ACM SIGPLAN international conference on Func- tional programming (pp. 233-244).
[47] Cooper, G. H. (2008). Integrating dataflow evaluation into a practical higher-order call-by-value language. Brown University.
[48] Ohshima,Y.,Lunzer,A.,Freudenberg,B.,andKaehler,T.(2013,October).KScript and KSWorld: A time-aware and mostly declarative language and interactive GUI framework. In Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming and software (pp. 117-134).
[49] Czaplicki, E. (2012). Elm: Concurrent frp for functional guis. Senior thesis, Harvard University, 30.
[50] Czaplicki, E., & Chong, S. (2013). Asynchronous functional reactive programming for GUIs. ACM SIGPLAN Notices, 48(6), 411-422.
[51] Demetrescu, C., Finocchi, I., & Ribichini, A. (2011). Reactive imperative program- ming with dataflow constraints. ACM SIGPLAN Notices, 46(10), 407-426.
[52] Sant’Anna, F., & Ierusalimschy, R. (2009). LuaGravity, a reactive language based on implicit invocation. Proc. of SBLP, 89-102.
[53] Berry, G., & Serrano, M. (2020, June). Hiphop. js:(a) synchronous reactive web pro- gramming. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 533-545).
[54] ReactiveX, https://reactivex.io/
[55] Liberty, J., Betts, P. (2011). Reactive Extensions for JavaScript. In: Programming Reactive Extensions and LINQ. Apress.
[56] McDirmid, S., and Hsieh, W. C. (2006, July). Superglue: Component programming with object-oriented signals. In European Conference on Object-Oriented Program- ming (pp. 206-229). Berlin, Heidelberg: Springer Berlin Heidelberg.
[57] Felgentreff, T., Borning, A., and Hirschfeld, R. (2014). Babelsberg: Specifying and Solving Constraints on Object Behavior. Journal of Object Technology, 13(4).
[58] Disney, T., Faubion, N., Herman, D., and Flanagan, C. (2014, October). Sweeten your JavaScript: Hygienic macros for ES5. In Proceedings of the 10th ACM Sympo- sium on Dynamic languages (pp. 35-44).
[59] SolidJS ·Reactive Javascript Library, https://www.solidjs.com/
[60] Meyerovich, L. Flapjax: Functional Reactive Web Programming. See http://www.
cs. brown. edu/l̃meyerov/thesis8. pdf. |