skip to main content
research-article
Open Access

Unifying functional and object-oriented programming with Scala

Published:01 April 2014Publication History
Skip Abstract Section

Abstract

Scala unifies traditionally disparate programming-language philosophies to develop new components and component systems.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarCross RefCross Ref
  6. Fulgham, B. The Computer Language Benchmark Game, 2013; http://benchmarksgame.alioth.debian.org/Google ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. Hudak, P. The Haskell School of Expression: Learning Functional Programming Through Multimedia. Cambridge University Press, Cambridge, U.K., 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. Odersky, M. The Scala Language Specification, Version 2.9. EPFL, Lausanne, Switzerland, Feb. 2011; http://www.scala-lang.org/docu/manuals.htmlGoogle ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Roestenburg, R. and Bakker, R. Akka in Action. Manning Publications Co., Shelter Island, NY, 2013.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Twitter. Open source projects; http://twitter.github.comGoogle ScholarGoogle Scholar
  25. Twitter. Scala-school!; http://twitter.github.com/scala.schoolGoogle ScholarGoogle Scholar

Index Terms

  1. Unifying functional and object-oriented programming with Scala

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image Communications of the ACM
            Communications of the ACM  Volume 57, Issue 4
            April 2014
            97 pages
            ISSN:0001-0782
            EISSN:1557-7317
            DOI:10.1145/2580723
            • Editor:
            • Moshe Y. Vardi
            Issue’s Table of Contents

            Copyright © 2014 Owner/Author

            Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 April 2014

            Check for updates

            Qualifiers

            • research-article
            • Popular
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format