Programming in Scala is the definitive book on Scala, the new language for the Java Platform that blends object-oriented and functional programming concepts into a unique and powerful tool for developers. Coauthored by the designer of the Scala language, this authoritative book will teach you, one step at a time, the Scala language and the ideas behind it. The book is carefully crafted to help you learn. The first few chapters will give you enough of the basics that you can already start using Scala for simple tasks. The entire book is organized so that each new concept builds on concepts that came before - a series of steps that promises to help you master the Scala language and the important ideas about programming that Scala embodies. A comprehensive tutorial and reference for Scala, this book covers the entire language and important libraries.
Cited By
- Paulweber P, Pescosta E and Zdun U Structuring the State and Behavior of ASMs: Introducing a Trait-Based Construct for Abstract State Machine Languages Rigorous State-Based Methods, (237-243)
- Shukla N, Pandey M and Srivastava S (2019). Formal modeling and verification of software‐defined networks, International Journal of Network Management, 29:5, Online publication date: 12-Sep-2019.
- Filatov A and Mikheev V (2019). Quantitative Evaluation of Thread-Local Garbage Collection Efficiency for Java, Programming and Computing Software, 45:1, (1-11), Online publication date: 1-Jan-2019.
- Newton J and Verna D Recognizing heterogeneous sequences by rational type expression Proceedings of the 3rd ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection, (5-14)
- Madhavan R, Kulal S and Kuncak V (2017). Contract-based resource verification for higher-order functions with memoization, ACM SIGPLAN Notices, 52:1, (330-343), Online publication date: 11-May-2017.
- Madhavan R, Kulal S and Kuncak V Contract-based resource verification for higher-order functions with memoization Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, (330-343)
- Lippe T, Smith T, Pelsmaeker D and Visser E A scalable infrastructure for teaching concepts of programming languages in Scala with WebLab: an experience report Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala, (65-74)
- Lorenzen F and Erdweg S (2016). Sound type-dependent syntactic language extension, ACM SIGPLAN Notices, 51:1, (204-216), Online publication date: 8-Apr-2016.
- Lorenzen F and Erdweg S Sound type-dependent syntactic language extension Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, (204-216)
- Kordjamshidi P, Roth D and Wu H Saul Proceedings of the 24th International Conference on Artificial Intelligence, (1844-1851)
- Deligiannis P, Donaldson A, Ketema J, Lal A and Thomson P (2015). Asynchronous programming, analysis and testing with state machines, ACM SIGPLAN Notices, 50:6, (154-164), Online publication date: 7-Aug-2015.
- Deligiannis P, Donaldson A, Ketema J, Lal A and Thomson P Asynchronous programming, analysis and testing with state machines Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, (154-164)
- Arslan M, Kuchcinski K, Gruian F and Liu Y Programming support for reconfigurable custom vector architectures Proceedings of the Sixth International Workshop on Programming Models and Applications for Multicores and Manycores, (49-57)
- Schellhorn G, Ernst G, Pfähler J, Haneberg D and Reif W Development of a Verified Flash File System Proceedings of the 4th International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z - Volume 8477, (9-24)
- Ray B, Posnett D, Filkov V and Devanbu P A large scale study of programming languages and code quality in github Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (155-165)
- Jonnalagedda M, Coppey T, Stucki S, Rompf T and Odersky M (2014). Staged parser combinators for efficient data processing, ACM SIGPLAN Notices, 49:10, (637-653), Online publication date: 31-Dec-2015.
- Jonnalagedda M, Coppey T, Stucki S, Rompf T and Odersky M Staged parser combinators for efficient data processing Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, (637-653)
- Béguet E and Jonnalagedda M Accelerating parser combinators with macros Proceedings of the Fifth Annual Scala Workshop, (7-17)
- Weiher M and Hirschfeld R (2013). Polymorphic identifiers, ACM SIGPLAN Notices, 49:2, (61-72), Online publication date: 5-Feb-2014.
- Darulova E and Kuncak V (2014). Sound compilation of reals, ACM SIGPLAN Notices, 49:1, (235-248), Online publication date: 13-Jan-2014.
- Bodden E, Tanter É and Inostroza M (2014). Join point interfaces for safe and flexible decoupling of aspects, ACM Transactions on Software Engineering and Methodology, 23:1, (1-41), Online publication date: 1-Feb-2014.
- Darulova E and Kuncak V Sound compilation of reals Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, (235-248)
- Madhavan R and Kuncak V Symbolic Resource Bound Inference for Functional Programs Proceedings of the 16th International Conference on Computer Aided Verification - Volume 8559, (762-778)
- De Koster J, Marr S, D'Hondt T and Van Cutsem T Tanks Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control, (61-68)
- Weiher M and Hirschfeld R Polymorphic identifiers Proceedings of the 9th symposium on Dynamic languages, (61-72)
- Isradisaikul C and Myers A (2013). Reconciling exhaustive pattern matching with objects, ACM SIGPLAN Notices, 48:6, (343-354), Online publication date: 23-Jun-2013.
- Isradisaikul C and Myers A Reconciling exhaustive pattern matching with objects Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, (343-354)
- Koksal A, Pu Y, Srivastava S, Bodik R, Fisher J and Piterman N (2013). Synthesis of biological models from mutation experiments, ACM SIGPLAN Notices, 48:1, (469-482), Online publication date: 23-Jan-2013.
- Ichikawa K Powerful and seamless syntax extensions on a statically typed language Proceedings of the 12th annual international conference companion on Aspect-oriented software development, (41-42)
- Koksal A, Pu Y, Srivastava S, Bodik R, Fisher J and Piterman N Synthesis of biological models from mutation experiments Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (469-482)
- Kuncak V, Mayer M, Piskac R and Suter P (2013). Functional synthesis for linear arithmetic and sets, International Journal on Software Tools for Technology Transfer (STTT), 15:5-6, (455-474), Online publication date: 1-Oct-2013.
- Köksal A, Kuncak V and Suter P Constraints as control Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (151-164)
- Köksal A, Kuncak V and Suter P (2012). Constraints as control, ACM SIGPLAN Notices, 47:1, (151-164), Online publication date: 18-Jan-2012.
- Fouquet F, Nain G, Morin B, Daubert E, Barais O, Plouzeau N and Jézéquel J An eclipse modelling framework alternative to meet the models@runtime requirements Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems, (87-101)
- Wies T, Muñiz M and Kuncak V Deciding functional lists with sublist sets Proceedings of the 4th international conference on Verified Software: theories, tools, experiments, (66-81)
- Kuncak V, Mayer M, Piskac R and Suter P (2012). Software synthesis procedures, Communications of the ACM, 55:2, (103-111), Online publication date: 1-Feb-2012.
- Rodriguez J and Lhoták O Actor-based parallel dataflow analysis Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software, (179-197)
- Köksal A, Kuncak V and Suter P Scala to the power of Z3 Proceedings of the 23rd international conference on Automated deduction, (400-406)
- Gvero T, Kuncak V and Piskac R Interactive synthesis of code snippets Proceedings of the 23rd international conference on Computer aided verification, (418-423)
- Suter P, Köksal A and Kuncak V Satisfiability modulo recursive programs Proceedings of the 18th international conference on Static analysis, (298-315)
- Rolf C and Kuchcinski K Distributed constraint programming with agents Proceedings of the Second international conference on Adaptive and intelligent systems, (320-331)
- Matiello P and Melo A PiStache Proceedings of the 14th Brazilian Symposium on Formal Methods, Foundations and Applications - Volume 7021, (76-91)
- Roverso R, El-Ansary S, Gkogkas A and Haridi S Mesmerizer Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques, (506-515)
- Kästner C, Giarrusso P, Rendel T, Erdweg S, Ostermann K and Berger T (2011). Variability-aware parsing in the presence of lexical macros and conditional compilation, ACM SIGPLAN Notices, 46:10, (805-824), Online publication date: 18-Oct-2011.
- Darulova E and Kuncak V (2011). Trustworthy numerical computation in Scala, ACM SIGPLAN Notices, 46:10, (325-344), Online publication date: 18-Oct-2011.
- Allende E and Fabry J Application optimization when using gradual typing Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, (1-6)
- Kästner C, Giarrusso P, Rendel T, Erdweg S, Ostermann K and Berger T Variability-aware parsing in the presence of lexical macros and conditional compilation Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications, (805-824)
- Darulova E and Kuncak V Trustworthy numerical computation in Scala Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications, (325-344)
- Bodden E Closure joinpoints Proceedings of the tenth international conference on Aspect-oriented software development, (117-128)
- Grech N, Rathke J and Fischer B (2010). JEqualityGen, ACM SIGPLAN Notices, 46:2, (177-186), Online publication date: 26-Jan-2011.
- Ducournau R (2011). Implementing statically typed object-oriented programming languages, ACM Computing Surveys, 43:3, (1-48), Online publication date: 1-Apr-2011.
- Miller J, Han J and Hybinette M Using domain specific language for modeling and simulation Proceedings of the Winter Simulation Conference, (741-752)
- Hamza J, Jobstmann B and Kuncak V Synthesis for regular specifications over unbounded domains Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design, (101-109)
- Bracha G, von der Ahé P, Bykov V, Kashai Y, Maddox W and Miranda E Modules as objects in newspeak Proceedings of the 24th European conference on Object-oriented programming, (405-428)
- Haller P and Odersky M Capabilities for uniqueness and borrowing Proceedings of the 24th European conference on Object-oriented programming, (354-378)
- Günther S and Cleenewerck T Design principles for internal domain-specific languages Proceedings of the 17th Conference on Pattern Languages of Programs, (1-35)
- Brown R, Shoop E, Adams J, Clifton C, Gardner M, Haupt M and Hinsbeeck P Strategies for preparing computer science students for the multicore world Proceedings of the 2010 ITiCSE working group reports, (97-115)
- Matsakis N and Gross T (2010). A time-aware type system for data-race protection and guaranteed initialization, ACM SIGPLAN Notices, 45:10, (634-651), Online publication date: 17-Oct-2010.
- Ducournau R and Morandat F Towards a full multiple-inheritance virtual machine Proceedings of the Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, (1-6)
- Matsakis N and Gross T A time-aware type system for data-race protection and guaranteed initialization Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (634-651)
- Grech N, Rathke J and Fischer B JEqualityGen Proceedings of the ninth international conference on Generative programming and component engineering, (177-186)
- Kuncak V, Mayer M, Piskac R and Suter P (2010). Complete functional synthesis, ACM SIGPLAN Notices, 45:6, (316-329), Online publication date: 12-Jun-2010.
- Kuncak V, Mayer M, Piskac R and Suter P Complete functional synthesis Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, (316-329)
- Suter P, Dotta M and Kuncak V (2010). Decision procedures for algebraic data types with abstractions, ACM SIGPLAN Notices, 45:1, (199-210), Online publication date: 2-Jan-2010.
- Rudolph J and Thiemann P Mnemonics Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation, (15-24)
- Suter P, Dotta M and Kuncak V Decision procedures for algebraic data types with abstractions Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (199-210)
- Kuncak V, Piskac R, Suter P and Wies T Building a calculus of data structures Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation, (26-44)
- Cook W On understanding data abstraction, revisited Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, (557-572)
- Cook W (2009). On understanding data abstraction, revisited, ACM SIGPLAN Notices, 44:10, (557-572), Online publication date: 25-Oct-2009.
- Dubochet G and Odersky M Compiling structural types on the JVM Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems, (34-41)
- Naeem N and Lhoták O Efficient alias set analysis using SSA form Proceedings of the 2009 international symposium on Memory management, (79-88)
- Falcon J and Cook W Gel Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages, (58-77)
- Cunningham H and Church J (2009). Multiparadigm programming in Scala, Journal of Computing Sciences in Colleges, 24:5, (99-100), Online publication date: 1-May-2009.
- Ducournau R (2008). Perfect hashing as an almost perfect subtype test, ACM Transactions on Programming Languages and Systems, 30:6, (1-56), Online publication date: 1-Oct-2008.
Index Terms
- Programming in Scala: A Comprehensive Step-by-step Guide