scala

Is there an easy way to get the Scala REPL to reload a class or package?

I almost always have a Scala REPL session or two open, which makes it very easy to give Java or Scala classes a quick test. But if I change a class and recompile it, the REPL continues with the old one loaded. Is there a way to get it to reload the class, rather than having to restart the REPL? Just to give a concrete example, suppose...

method names with fluent interface

I have a Permissions class in Java with methods in fluent style like this: somePermissions.setRead(true).setWrite(false).setExecute(true) The question is, whether I should name these methods set{Property} or only {property}. The latter would look like this: somePermissions.read(true).write(false).execute(true) If I look at these me...

Using Option all over the place feels a bit awkward. Am I doing something wrong?

As a result of articles I read about the Option class which helps you avoid NullPointerException's, I started to use it all over the place. Imagine something like this: var file:Option[File] = None and later when I use it: val actualFile = file.getOrElse(new File("nonexisting")) if(actualFile.getName.equals("nonexisting")) { // inste...

How do I create an XML root node in Scala without a literal element name?

I'm looking to create a document like this: <root/> That I can add children to programatically. Theoretically, it would look like this: val root_node_name = "root" val doc = <{root_node_name}/> But that doesn't seem to work: error: not found: value < So, what I tried instead was this: val root_node_name = "root" val doc = new s...

Why are so many new languages written for the Java VM?

There are more and more programming languages (Scala, Clojure,...) coming out that are made for the Java VM and are therefore compatible with the Java Byte-Code. I'm beginning to ask myself: Why the Java VM? What makes it so powerful or popular that there are new programming languages, which seem gaining popularity too, created for it...

parameter extends a class

Hello, I want to do a class thats accepts anything ordered and prints greater. (I'm just learning so I know it's a bit useless) class PrinterOfGreater[T extends Ordered](val a:T, val b:T){println(a > b)} I know that it can't be written by this style in scala, but I don't know how to write it properly... Do anybody know? and why this ...

How well does Scala Perform Comapred to Java?

The Question actually says it all. The reason behind this question is I am about to start a small side project and want to do it in Scala. I am learning scala for the past one month and now I am comfortable working with it. The scala compiler itself is pretty slow (unless you use fsc). So how well does it perform on JVM? I previously w...

Why does `Array(0,1,2) == Array(0,1,2)` not return the expected result?

As far as I understand, Scala's == defines the natural equality of two objects. I expected that Array(0,1,2) == Array(0,1,2) compares the natural equality e. g. checks if all elements of the array return true when compared with the corresponding elements of the other array. People told me that Scala's Array is just a Java [] which only...

implicit parameter definition in class

implicit val odkaz = head; def vypis(implicit odkaz:Prvek):String = { odkaz match{ case null => "" case e => e.cislo + " " + e.pocet + "\n" + vypis(e.dalsi) } } ... def main(args:Array[String]){ val q = new MyQueue() // insert some values println(q.vypis) } This method(vypis) is a member of an queue-c...

Why is there no string interpolation in Scala?

This is not just an idle quip... I wonder if anybody knows if there's an actual design reason why Scala does not support interpolation similar to Groovy and other "syntactically better Javas"? e.g. var str1 = "World"; var str2 = "Hello, ${str1}"; ...

Convert Option[Object] to Option[Int] Implicitly

I'm working with legacy Java code which returns java.lang.object. I'm passing it into a function and I'd like to do some implicit conversions as such: implicit def asInt( _in:Option[Object] ) = _in asInstanceOf[ Option[Int] ] implicit def asDouble( _in:Option[Object] = _in asInstanceOf[ Option[Double] ] private def parseEntry( _name:S...

The cost of nested methods

In Scala one might define methods inside other methods. This limits their scope of use to inside of definition block. I use them to improve readability of code that uses several higher-order functions. In contrast to anonymous function literals, this allows me to give them meaningful names before passing them on. For example: class Agg...

Automated Java to Scala source code conversion?

(Yes I know I can call Java code from Scala; but that is pointless; I want to DELETE the Java code, not keep it around and have to look at it and maintain it forever!) Are there any utilities out there to convert Java source to Scala source? I believe theoretically it should be possible to accomplish with minimal lossage. I have found...

Another Java vs. Scala perspective - is this typical?

I have been reading about Scala for a while and even wrote some small programs to better understand some of the more exoteric features. Today I decided to do my first "real project", translating some 60 lines of ugly Java code to Scala to rewrite it using the better pattern-matching features (why? because the Java version was becoming h...

http(/* argument here */) How is this Object (Http) being used without an explicit or implicit method?

In the example for coding with Json using Databinder Dispatch Nathan uses an Object (Http) without a method, shown here: import dispatch._ import Http._ Http("http://www.fox.com/dollhouse/" >>> System.out ) How is he doing this? Thank you for all of the answers unfortunatly I was not specific enough... It looks like it is simply pas...

Self-modify the classpath within a Scala script?

I'm trying to replace a bunch of Linux shell scripts with Scala scripts. One of the remaining challenges is how to scan an entire directory of JARs and place them into the classpath. Currently this is done in the shell script prior to invoking the scala JVM. I'd like to eliminate the shell script completely. Is there an elegant scala i...

Scala type inference failure on "? extends" in Java code

I have the following simple Java code: package testj; import java.util.*; public class Query<T> { private static List<Object> l = Arrays.<Object>asList(1, "Hello", 3.0); private final Class<? extends T> clazz; public static Query<Object> newQuery() { return new Query<Object>(Object.class); } public Query(Class<? ext...

Repeating a List in Scala

I am a Scala noob. I have decided to write a spider solitaire solver as a first exercise to learn the language and functional programming in general. I would like to generate a randomly shuffled deck of cards containing 1, 2, or 4 suits. Here is what I came up with: val numberOfSuits = 1 (List["clubs", "diamonds", "hearts", "spades"].t...

scala event swing :: chicken or egg

hello, how can I handle a situation, where a filed listens to a buttons that is not declared yet? val detail = new BoxPanel(Orientation.Vertical){ listenTo(button) } val seznam = new BoxPanel(Orientation.Vertical){ val button = new Button("But"){ reactions += { case ButtonClicked(_) => detail.conten...

Scala 2.8 Actors

Hi, We're looking at using actors in our Scala code quite soon. We're also thinking of moving to Scala 2.8 in the next few weeks. We've been keeping an eye on Akka but it doesn't currently support 2.8 and plans for it have slipped from the 0.7 release to 0.8 We would like distributed, supervised actors. Is there an alternative to Akka?...