Abstract
Scala unifies traditionally disparate programming-language philosophies to develop new components and component systems.
- Allen, E.E., Hallett, J.J., Luchangco, V., Ryu, S., and Steele, G.L., Jr. Modular multiple dispatch with multiple inheritance. In Proceedings of the 2007 ACM Symposium on Applied Computing, Y. Cho, R.L. Wainwright, H. Haddad, S.Y. Shin, and Y.W. Koo, Eds. (Seoul, Mar. 11--15). ACM Press, New York, 2007, 1117--1121. Google ScholarDigital Library
- Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R.H., Konwinski, A., Lee, G., Patterson, D.A., Rabkin, A., Stoica, I., and Zaharia, M. A view of cloud computing. Commun. ACM 53, 4 (Apr. 2010), 50--58. Google ScholarDigital Library
- Bracha, G. and Cook, W.R. Mixin-based inheritance. In Proceedings of OOPSLA/ECOOP, A. Yonezawa, Ed. (Ottawa, Oct. 21--25). ACM Press, New York, 1990, 303--311. Google ScholarDigital Library
- Brown, K.J., Sujeeth, A.K., Lee, H., Rompf, T., Chafi, H., Odersky, M., and Olukotun, K. A heterogeneous parallel framework for domain-specific languages. In Proceedings of the 20th International Conference on Parallel Architectures and Compilation Techniques (Galveston Island, TX, Oct. 10--14), IEEE Computer Society Press, 2011, 89--100. Google ScholarDigital Library
- Chakrabarti, D., Zhan, Y., and Faloutsos, C. R-MAT: A recursive model for graph mining. In Proceedings of the Fourth SIAM International Conference on Data Mining, M.W. Berry, U. Dayal, C. Kamath, and D.B. Skillicorn, Eds. (Lake Buena Vista, FL, Apr. 22--24). SIAM, 2004, 442--446.Google ScholarCross Ref
- Fulgham, B. The Computer Language Benchmark Game, 2013; http://benchmarksgame.alioth.debian.org/Google Scholar
- Hong, S., Chafi, H., Sedlar, E., and Olukotun, K. Greenmarl: A DSL for easy and efficient graph analysis. In Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems (London, Mar. 3--7). ACM Press, New York, 2012, 349--362. Google ScholarDigital Library
- Hudak, P. The Haskell School of Expression: Learning Functional Programming Through Multimedia. Cambridge University Press, Cambridge, U.K., 2000. Google ScholarDigital Library
- Lee, H., Brown, K.J., Sujeeth, A.K., Chafi, H., Rompf, T., Odersky, M., and Olukotun, K. Implementing domain-specific languages for heterogeneous parallel computing. IEEE Micro 31, 1 (Jan.-Feb. 2011), 42--53. Google ScholarDigital Library
- Low, Y., Gonzalez, J., Kyrola, A., Bickson, D., Guestrin, C., and Hellerstein, J.M. Graphlab: A new framework for parallel machine learning. In Proceedings of the 26th Conference on Uncertainty in Artificial Intelligence, P. Grünwald and P. Spirtes, Eds. (Catalina Island, CA, July 8--11). AUAI Press, 2010, 340--349.Google Scholar
- Odersky, M. The Scala Language Specification, Version 2.9. EPFL, Lausanne, Switzerland, Feb. 2011; http://www.scala-lang.org/docu/manuals.htmlGoogle Scholar
- Odersky, M. and Moors, A. Fighting bit rot with types (experience report: Scala collections). In Proceedings of the Annual Conference on Foundations of Software Technology and Theoretical Computer Science, Vol. 4 of LIPIcs Leibniz International Proceedings in Informatics, R. Kannan and K.N. Kumar, Eds. (Kanpur, India, Dec. 15--17). Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2009, 427--451.Google Scholar
- Odersky, M. and Zenger, M. Scalable component abstractions. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, R.E. Johnson and R.P. Gabriel, Eds. (San Diego, Oct. 16--20). ACM Press, New York, 2005, 41--57. Google ScholarDigital Library
- Odersky, M., Zenger, M., and Zenger, C. Colored local type inference. In Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, C. Hankin and D. Schmidt, Eds. (London, Jan. 17--19). ACM Press, New York, 2001, 41--53. Google ScholarDigital Library
- Oliveira, B.C.d.S., Moors, A., and Odersky, M. Type classes as objects and implicits. In Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, W.R. Cook, S. Clarke, and M.C. Rinard, Eds. (Reno, NV, Oct. 17--21). ACM Press, New York, 2010, 341--360. Google ScholarDigital Library
- Pierce, B.C. and Turner, D.N. Local type inference. In Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, D.B. McQueen and L. Cardelli, Eds. (San Diego, Jan. 19--21). ACM Press, New York, 1998, 252--265. Google ScholarDigital Library
- Prokopec, A., Bagwell, P., Rompf, T., and Odersky, M. A generic parallel collection framework. In Proceedings of the 17th International Conference on Parallel Processing, Vol. 6853 of Lecture Notes in Computer Science, E. Jeannot, R. Namyst, and J. Roman, Eds. (Bordeaux, France, Aug. 29--Sept. 2). Springer, New York, 2011, 136--147. Google ScholarDigital Library
- Roestenburg, R. and Bakker, R. Akka in Action. Manning Publications Co., Shelter Island, NY, 2013.Google Scholar
- Rompf, T., Amin, N., Moors, A., Haller, P., and Odersky, M. Scala-virtualized: Linguistic reuse for deep embeddings. Higher-Order and Symbolic Computation (Sept. 2013), 1--43.Google Scholar
- Rompf, T. and Odersky, M. Lightweight modular staging: A pragmatic approach to runtime code generation and compiled DSLs. Commun. ACM 55, 6 (June 2012), 121--130. Google ScholarDigital Library
- Rompf, T., Sujeeth, A.K., Amin, N., Brown, K., Jovanovic, V., Lee, H., Jonnalagedda, M., Olukotun, K., and Odersky, M. Optimizing data structures in high-level programs. In Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, R. Giacobazzi and R. Cousot, Eds. (Rome, Italy, Jan. 23--25). ACM Press, New York, 2013, 497--510. Google ScholarDigital Library
- Schärli, S. Ducasse, Nierstrasz, O., and Black, A.P. Traits: Composable units of behaviour. In Proceedings of the 17th European Conference on Object-Oriented Programming, Vol. 2743 of Lecture Notes in Computer Science, L. Cardelli, Ed. (Darmstadt, Germany, July 21--25). Springer, New York, 2003, 248--274.Google Scholar
- Sujeeth, A.K., Rompf, T., Brown, K.J., Lee, H., Chafi, H., Popic, V., Wu, M., Prokopec, A., Jovanovic, V., Odersky, M., and Olukotun, K. Composition and reuse with compiled domain-specific languages. In Proceedings of the 27th European Conference on Object-Oriented Programming, Vol. 7920 of Lecture Notes in Computer Science, G. Castagna, Ed. (Montpellier, France, July 1--5). Springer, New York, 2013, 52--78. Google ScholarDigital Library
- Twitter. Open source projects; http://twitter.github.comGoogle Scholar
- Twitter. Scala-school!; http://twitter.github.com/scala.schoolGoogle Scholar
Index Terms
- Unifying functional and object-oriented programming with Scala
Recommendations
From functional to object-oriented programming: a smooth transition for beginners
FDPE '05: Proceedings of the 2005 workshop on Functional and declarative programming in educationMany Computer Science curricula at universities start programming with a functional programming language (for instance, SML, Haskell, Scheme) and later change to the imperative programming paradigm. For the latter usually the object-oriented programming ...
A Tutorial on Object-Oriented Functional Programming
Central European Functional Programming SchoolThis paper forms the notes of a two-hours lecture introducing Object-Oriented Functional Programming with Lisp as a support language. We start by remembering the key concepts of functional programming, imperative programming and object-oriented ...
Comments