Questions tagged [scala]

Scala is a general-purpose programming language principally targeting the Java Virtual Machine. Designed to express common programming patterns in a concise, elegant, and type-safe way, it fuses both imperative and functional programming styles. Its key features are: an advanced static type system with type inference; function types; pattern-matching; implicit parameters and conversions; operator overloading; full interoperability with Java; concurrency

scala
Filter by
Sorted by
Tagged with
872 votes
18 answers
116k views

Is the Scala 2.8 collections library a case of "the longest suicide note in history"? [closed]

I have just started to look at the Scala collections library re-implementation which is coming in the imminent 2.8 release. Those familiar with the library from 2.7 will notice that the library, from ...
746 votes
13 answers
243k views

Difference between object and class in Scala

I'm just going over some Scala tutorials on the Internet and have noticed in some examples an object is declared at the start of the example. What is the difference between class and object in Scala?
Steve's user avatar
  • 21.3k
676 votes
6 answers
180k views

Scala vs. Groovy vs. Clojure [closed]

Can someone please explain the major differences between Scala, Groovy and Clojure. I know each of these compiles to run on the JVM but I'd like a simple comparison between them.
James Fassett's user avatar
623 votes
12 answers
179k views

What are the best use cases for Akka framework [closed]

I have heard lots of raving about Akka framework (Java/Scala service platform), but so far have not seen many actual examples of use cases it would be good for. So I would be interested in hearing ...
StaxMan's user avatar
  • 115k
611 votes
7 answers
171k views

What are all the uses of an underscore in Scala?

I've taken a look at the list of surveys taken on scala-lang.org and noticed a curious question: "Can you name all the uses of “_”?". Can you? If yes, please do so here. Explanatory examples are ...
Ivan's user avatar
  • 63.6k
494 votes
17 answers
149k views

What is the difference between Scala's case class and class?

I searched in Google to find the differences between a case class and a class. Everyone mentions that when you want to do pattern matching on the class, use case class. Otherwise use classes and also ...
Teja Kantamneni's user avatar
449 votes
1 answer
14k views

Scalaz iteratees: "Lifting" `EnumeratorT` to match `IterateeT` for a "bigger" monad

If I have an EnumeratorT and a corresponding IterateeT I can run them together: val en: EnumeratorT[String, Task] = EnumeratorT.enumList(List("a", "b", "c")) val it: IterateeT[String, Task, Int] = ...
lmm's user avatar
  • 17.4k
439 votes
2 answers
57k views

Where does Scala look for implicits?

An implicit question to newcomers to Scala seems to be: where does the compiler look for implicits? I mean implicit because the question never seems to get fully formed, as if there weren't words for ...
Daniel C. Sobral's user avatar
438 votes
11 answers
136k views

What do all of Scala's symbolic operators mean?

Scala syntax has a lot of symbols. Since these kinds of names are difficult to find using search engines, a comprehensive list of them would be helpful. What are all of the symbols in Scala, and what ...
0__'s user avatar
  • 67k
422 votes
11 answers
74k views

What is the difference between self-types and trait subclasses?

A self-type for a trait A: trait B trait A { this: B => } says that "A cannot be mixed into a concrete class that does not also extend B". On the other hand, the following: trait B trait A ...
Dave's user avatar
  • 7,629
405 votes
8 answers
108k views

What is the advantage of using abstract classes instead of traits?

What is the advantage of using an abstract class instead of a trait (apart from performance)? It seems like abstract classes can be replaced by traits in most cases.
Ralf's user avatar
  • 14.7k
401 votes
4 answers
210k views

Scala list concatenation, ::: vs ++

Is there any difference between ::: and ++ for concatenating lists in Scala? scala> List(1,2,3) ++ List(4,5) res0: List[Int] = List(1, 2, 3, 4, 5) scala> List(1,2,3) ::: List(4,5) res1: List[...
Luigi Plinge's user avatar
  • 50.9k
390 votes
11 answers
85k views

How do I get around type erasure on Scala? Or, why can't I get the type parameter of my collections?

It's a sad fact of life on Scala that if you instantiate a List[Int], you can verify that your instance is a List, and you can verify that any individual element of it is an Int, but not that it is a ...
Daniel C. Sobral's user avatar
384 votes
1 answer
80k views

What is a TypeTag and how do I use it?

All I know about TypeTags is that they somehow replaced Manifests. Information on the Internet is scarce and doesn't provide me with a good sense of the subject. So I'd be happy if someone shared a ...
Sergey Weiss's user avatar
  • 5,964
381 votes
5 answers
198k views

Difference between a Seq and a List in Scala

I've seen in many examples that sometimes a Seq is being used, while other times is the List... Is there any difference, other than the former one being a Scala type and the List coming from Java?
opensas's user avatar
  • 61.7k
376 votes
6 answers
115k views

What is a sealed trait?

Sealed classes are described in 'Programming in Scala', but sealed traits are not. Where can I find more information about a sealed trait? I would like to know, if a sealed trait is the same as a ...
John Threepwood's user avatar
371 votes
9 answers
63k views

What is the formal difference in Scala between braces and parentheses, and when should they be used?

What is the formal difference between passing arguments to functions in parentheses () and in braces {}? The feeling I got from the Programming in Scala book is that Scala's pretty flexible and I ...
Jean-Philippe Pellet's user avatar
365 votes
7 answers
157k views

What is the apply function in Scala?

I never understood it from the contrived unmarshalling and verbing nouns ( an AddTwo class has an apply that adds two!) examples. I understand that it's syntactic sugar, so (I deduced from context) ...
Jesvin Jose's user avatar
  • 22.7k
362 votes
19 answers
275k views

Read entire file in Scala?

What's a simple and canonical way to read an entire file into memory in Scala? (Ideally, with control over character encoding.) The best I can come up with is: scala.io.Source.fromPath("file.txt&...
Brendan OConnor's user avatar
355 votes
4 answers
29k views

What does "coalgebra" mean in the context of programming?

I have heard the term "coalgebras" several times in functional programming and PLT circles, especially when the discussion is about objects, comonads, lenses, and such. Googling this term gives pages ...
missingfaktor's user avatar
345 votes
11 answers
151k views

What is Scala's yield?

I understand Ruby and Python's yield. What does Scala's yield do?
Geo's user avatar
  • 94.7k
345 votes
7 answers
157k views

Understanding implicit in Scala

I was making my way through the Scala playframework tutorial and I came across this snippet of code which had me puzzled: def newTask = Action { implicit request => taskForm.bindFromRequest.fold( ...
Clive's user avatar
  • 3,991
331 votes
13 answers
132k views

What is the difference between a var and val definition in Scala?

What is the difference between a var and val definition in Scala and why does the language need both? Why would you choose a val over a var and vice versa?
Derek Mahar's user avatar
  • 27.9k
328 votes
11 answers
710k views

How to use java.String.format in Scala?

I am trying to use a .format method of a string. But if I place %1, %2, etc. in the string, java.util.UnknownFormatConversionException is thrown pointing to a confusing Java source code piece: ...
Ivan's user avatar
  • 63.6k
323 votes
17 answers
469k views

How to show full column content in a Spark Dataframe?

I am using spark-csv to load data into a DataFrame. I want to do a simple query and display the content: val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load("my....
tracer's user avatar
  • 3,335
318 votes
1 answer
172k views

Scala: join an iterable of strings

How do I "join" an iterable of strings by another string in Scala? val thestrings = Array("a","b","c") val joined = ??? println(joined) I want this code to output a,b,c (join the elements by ",").
scala_newbie's user avatar
  • 3,455
315 votes
7 answers
108k views

How to model type-safe enum types?

Scala doesn't have type-safe enums like Java has. Given a set of related constants, what would be the best way in Scala to represent those constants?
Jesper's user avatar
  • 205k
315 votes
19 answers
259k views

How do I break out of a loop in Scala?

How do I break out a loop? var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here ...
TiansHUo's user avatar
  • 8,609
306 votes
5 answers
80k views

What is a higher kinded type in Scala?

You can find the following on the web: Higher kinded type == type constructor? class AClass[T]{...} // For example, class List[T] Some say this is a higher kinded type, because it abstracts over ...
Lutz's user avatar
  • 4,695
288 votes
1 answer
42k views

What are Scala context and view bounds?

In a simple way, what are context and view bounds and what is the difference between them? Some easy-to-follow examples would be great too!
chrsan's user avatar
  • 3,390
286 votes
4 answers
48k views

What is "lifting" in Scala?

Sometimes when I read articles in the Scala ecosystem I read the term "lifting" / "lifted". Unfortunately, it is not explained what that exactly means. I did some research, and it seems that lifting ...
user573215's user avatar
  • 4,679
280 votes
12 answers
84k views

Difference between method and function in Scala

I read Scala Functions (part of Another tour of Scala). In that post he stated: Methods and functions are not the same thing But he didn't explain anything about it. What was he trying to say?
Anantha Kumaran's user avatar
274 votes
1 answer
7k views

How to use Shapeless in a Quasiquote?

I'm trying to call a Shapeless macro from inside a quasiquote with Scala and I'm not getting what I would like to get. My macro doesn't return any errors but it doesn't expand Witness(fieldName) ...
Roch's user avatar
  • 21.9k
272 votes
5 answers
43k views

Scala: Abstract types vs generics

I was reading A Tour of Scala: Abstract Types. When is it better to use abstract types? For example, abstract class Buffer { type T val element: T } rather that generics, for example, abstract ...
thatismatt's user avatar
  • 9,832
271 votes
7 answers
126k views

What does a lazy val do?

I noticed that Scala provide lazy vals. But I don't get what they do. scala> val x = 15 x: Int = 15 scala> lazy val y = 13 y: Int = <lazy> scala> x res0: Int = 15 scala> y res1: ...
kiritsuku's user avatar
  • 53.1k
263 votes
9 answers
67k views

Scala Programming for Android

I have followed the tutorial at Scala and Android with Scala 2.7.3 final. The resulting Android App works but even the most basic application takes several minutes (!) to compile and needs 900 kb ...
Lemmy's user avatar
  • 3,177
261 votes
26 answers
161k views

How do I parse command line arguments in Scala? [closed]

What is a good way of parsing command line arguments in Scala? Related: How do I parse command line arguments in Java?
Eugene Yokota's user avatar
257 votes
17 answers
102k views

Call by name vs call by value in Scala, clarification needed

As I understand it, in Scala, a function may be called either by-value or by-name For example, given the following declarations, do we know how the function will be called? Declaration: def f (x:...
James Raitsev's user avatar
256 votes
6 answers
306k views

Appending an element to the end of a list in Scala

I can't add an element of type T into a list List[T]. I tried with myList ::= myElement but it seems it creates a strange object and accessing to myList.last always returns the first element that was ...
Masiar's user avatar
  • 20.9k
256 votes
11 answers
250k views

Task not serializable: java.io.NotSerializableException when calling function outside closure only on classes not objects

Getting strange behavior when calling function outside of a closure: when function is in a object everything is working when function is in a class get : Task not serializable: java.io....
Nimrod007's user avatar
  • 9,885
250 votes
14 answers
129k views

Case objects vs Enumerations in Scala

Are there any best-practice guidelines on when to use case classes (or case objects) vs extending Enumeration in Scala? They seem to offer some of the same benefits.
Alex Miller's user avatar
  • 69.7k
247 votes
7 answers
58k views

Difference between case object and object

Is there any difference between case object and object in scala?
Wojciech Durczyński's user avatar
245 votes
4 answers
341k views

Get item in the list in Scala?

How in the world do you get just an element at index i from the List in scala? I tried get(i), and [i] - nothing works. Googling only returns how to "find" an element in the list. But I ...
Andriy Drozdyuk's user avatar
244 votes
9 answers
71k views

What is the difference between "def" and "val" to define a function

What is the difference between: def even: Int => Boolean = _ % 2 == 0 and val even: Int => Boolean = _ % 2 == 0 Both can be called like even(10).
Amir Karimi's user avatar
  • 5,451
243 votes
4 answers
65k views

What does `:_*` (colon underscore star) do in Scala?

I have the following piece of code from this question: def addChild(n: Node, newChild: Node) = n match { case Elem(prefix, label, attribs, scope, child @ _*) => Elem(prefix, label, attribs, ...
amorfis's user avatar
  • 15.6k
233 votes
5 answers
83k views

How to clone a case class instance and change just one field in Scala?

Let's say I have a case class that represents personas, people on different social networks. Instances of that class are fully immutable, and are held in immutable collections, to be eventually ...
François Beausoleil's user avatar
232 votes
4 answers
39k views

Scala 2.8 breakOut

In Scala 2.8, there is an object in scala.collection.package.scala: def breakOut[From, T, To](implicit b : CanBuildFrom[Nothing, T, To]) = new CanBuildFrom[From, T, To] { def apply(from: ...
oxbow_lakes's user avatar
227 votes
1 answer
35k views

How to get started with Akka Streams? [closed]

The Akka Streams library already comes with quite a wealth of documentation. However, the main problem for me is that it provides too much material - I feel quite overwhelmed by the number of concepts ...
kiritsuku's user avatar
  • 53.1k
223 votes
4 answers
61k views

Akka Kill vs. Stop vs. Poison Pill?

Newbie question of Akka - I'm reading over Akka Essentials, could someone please explain the difference between Akka Stop/Poison Pill vs. Kill ? The book offers just a small explaination "Kill is ...
LaloInDublin's user avatar
  • 5,379
219 votes
8 answers
77k views

difference between foldLeft and reduceLeft in Scala

I have learned the basic difference between foldLeft and reduceLeft foldLeft: initial value has to be passed reduceLeft: takes first element of the collection as initial value throws exception if ...
Rajesh Pitty's user avatar
  • 2,833

1
2 3 4 5
2248