<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.lang.scala.user">
    <title>gmane.comp.lang.scala.user</title>
    <link>http://blog.gmane.org/gmane.comp.lang.scala.user</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63401"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63398"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63395"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63391"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63383"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63367"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63363"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63356"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63349"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63343"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63332"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63328"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63319"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63316"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63309"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63302"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63301"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63300"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63286"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala.user/63282"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63401">
    <title>New Functional Programming Job Opportunities</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63401</link>
    <description>&lt;pre&gt;Here are some functional programming job opportunities that were posted

recently:



Test Engineer at Klarna

http://functionaljobs.com/jobs/146-test-engineer-at-klarna



Cheers,

Sean Murphy

FunctionalJobs.com


&lt;/pre&gt;</description>
    <dc:creator>Functional Jobs</dc:creator>
    <dc:date>2013-05-20T06:00:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63398">
    <title>new warnings in 2.10 for enumerations</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63398</link>
    <description>&lt;pre&gt;I just upgraded from 2.9.2 to 2.10.1, and I am getting warnings that I did 
not get before. Here's the relevant code:

sealed trait ManeuverType

object ManeuverType { // enumeration of maneuver types

    case object alt extends ManeuverType // altitude maneuver
    case object vec extends ManeuverType // horizontal "vector" maneuver
    case object spd extends ManeuverType // speed manevuer
    }

And here are the warnings:

[warn] /home/Maneuver.scala:12: dead code following this
construct
[warn]     case object alt extends ManeuverType // altitude maneuver
[warn]                 ^
[warn] /home/Maneuver.scala:13: dead code following this
construct
[warn]     case object vec extends ManeuverType // horizontal "vector" 
maneuver
[warn]                 ^
[warn] /home/Maneuver.scala:14: dead code following this
construct
[warn]     case object spd extends ManeuverType // speed manevuer
[warn] 

What changed in the language or compiler to cause these warnings? Thanks.

--Russ P.                ^

&lt;/pre&gt;</description>
    <dc:creator>Russ P.</dc:creator>
    <dc:date>2013-05-20T03:33:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63395">
    <title>Variable-length tuple?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63395</link>
    <description>&lt;pre&gt;I've started an open-source project (SNMP4S&amp;lt;https://github.com/barnesjd/snmp4s&amp;gt;if you're interested), and I've run into a snag trying to accomplish my 
type-safety goals.  I *think* what I need is some kind of variable-length 
tuple.  A list won't work because the type of the contents are 
parameterized with different.  A tuple accomplishes what I need, but I have 
to hand-write a function for every number of arguments I hope to support. 
 It is much like Scala's limit on functions having at most 22 parameters.

To avoid gory details of my project, suppose I wanted to have this Tuplizerclass below.  I really like what the 
Consumer class looks like because each variable returned infers the correct 
type.  However, I'd like to avoid hand-writing the 3 different functions 
and be able to support an arbitrary number of Options passed to f.

class Tuplizer {
  def f[A](a:Option[A]):A = ???
  def f[A, B](a:Option[A], b:Option[B]):(A,B) = ???
  def f[A, B, C](a:Option[A], b:Option[B], c:Option[C]):(A,B,C) = ???
  // ...
  
}

class Consumer {
  def t:Tuplizer = new Tuplizer
  
  def use = {
    val a = t.f(Some(1))
    val (b, c) = t.f(Some("String"), Some(5))
    val (d, e, f) = t.f(Some(7), Some("Other"), Some(true))
  }
}

The best hint I've found towards accomplishing this is to use shapeless per this 
post &amp;lt;http://stackoverflow.com/a/10487475&amp;gt;.  But I don't think that helps 
me get a varying number of args.  Any good ideas?

&lt;/pre&gt;</description>
    <dc:creator>Joe Barnes</dc:creator>
    <dc:date>2013-05-19T20:58:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63391">
    <title>Scala 2.11 compiler response speed improved?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63391</link>
    <description>&lt;pre&gt;Hi all,

it seems to me that ScalaLab based on the latest 2.11 build has improved
response ("startup") time.

Does compiler improvements introduced recently (after 2.11 M2) in 2.11?

Stergios

&lt;/pre&gt;</description>
    <dc:creator>Stergios Papadimitriou</dc:creator>
    <dc:date>2013-05-19T13:02:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63383">
    <title>[ANNOUNCE] mysql-async and postgresql-async 0.2.2 released</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63383</link>
    <description>&lt;pre&gt;I have just released a newer version of the postgresql-async project,
an async database connector for PostgreSQL written in Scala and I'm
happy to announce that now there is also a mysql-async project that
also offers an async connector for MySQL. Both projects use Netty as
their network communication framework.

The project aims to offer a simple way to talk to both PostgreSQL and
MySQL in an async way and with a simple "send a statement, get a
future result back" approach. It is not supposed to be a full
replacement for JDBC or anything like that, it's just direct database
access as simple as possible. Scala 2.10 is required due to the use of
the new scala.concurrent.Promise and scala.concurrent.Future objects.

Both drivers offer basic and prepared statement support,
transformations for commonly used types and support for most of the
types offered by the database. You can read the README's available to
see how types are translated between db -&amp;gt; Scala.

You can read more about this release here -&amp;gt;
http://mauricio.github.io/2013/05/18/mysql-async-and-posrgresql-async-0.2.2-released.html

And the Github project repo is here -&amp;gt;
https://github.com/mauricio/postgresql-async

In case you're in a hurry, there is a small sample app using Play 2 +
postgresql-async and deploying on Heroku here -&amp;gt;
http://mauricio.github.io/2013/04/29/async-database-access-with-postgresql-play-scala-and-heroku.html

Feedback, bug reports, bug fixes and other improvements are all welcome :)

-
Maurício Linhares
http://mauricio.github.io/ - http://twitter.com/#!/mauriciojr

&lt;/pre&gt;</description>
    <dc:creator>Maurício Linhares</dc:creator>
    <dc:date>2013-05-18T14:58:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63367">
    <title>help with regex, forward slash is skipped</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63367</link>
    <description>&lt;pre&gt;Hello,
I'm trying to parse ftp URI using scala regular expressions. My URI looks 
like this:
val uri="ftp://user:password-WQCBuIXaXYjQT0dZR+AlfA&amp;lt; at &amp;gt;public.gmane.org/directory/file.xml"

My regex looks like this (according to URI spec):
val Regex = """^ftp://(.*):(.*)&amp;lt; at &amp;gt;(.*)/(.*)""".r

However when I match by this regex URI is not parsed correctly:
uri match {
case Regex(userName,password,host,fileName) =&amp;gt; ...
}

userName &amp;gt; user
password &amp;gt; password
host &amp;gt; server.com/directory
fileName &amp;gt; file.xml

I'm not sure why regex recognizes two forward slashes, but not one forward 
slash?
I'd like to get this back:

host &amp;gt; server.com
fileName &amp;gt; directory/file.xml

I'd appreciate any help in this matter.
Regards,

M

&lt;/pre&gt;</description>
    <dc:creator>mc</dc:creator>
    <dc:date>2013-05-17T18:19:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63363">
    <title>Best way to declare a typeclass having a superclass</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63363</link>
    <description>&lt;pre&gt;I Haskell you can declare a typeclass Bar having a “superclass” Foo as 
follows:

class Foo a =&amp;gt; Bar a

See 
http://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-750004.3 for 
reference.

What is the best way to model this kind of relationship in Scala?

We could use inheritance (as it is done in scalaz, IIRC):

trait Foo[A]
trait Bar[A] extends Foo[A]

But to implement Bar you also would have to implement Foo’s members…

Instead we’d like to reuse any available Foo implementation, maybe 
something like:

class Bar[A : Foo]

But then Foo wouldn’t be a superclass of Bar, the following wouldn’t 
compile:

def f[A : Bar](a: A) = g(a)
def g[A : Foo](a: A) = a

I tried by defining an implicit conversion from Bar to Foo in Bar’s 
companion object but that doesn’t work either. Even if we explicitly import 
the conversion.

Any other idea?

&lt;/pre&gt;</description>
    <dc:creator>Julien Richard-Foy</dc:creator>
    <dc:date>2013-05-17T15:24:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63356">
    <title>Any interest in keeping octal escape literals?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63356</link>
    <description>&lt;pre&gt;Hi everyone,

in my quest to make Scala-the-language a bit smaller and simpler, I intend 
to deprecate and remove octal escape literals. The corresponding ticket is 
https://issues.scala-lang.org/browse/SI-7292.

Some of the reasoning:

   - Considering that we live in a Unicode world, the usefulness of special 
   syntactical shortcuts for characters between 0 and 255 is greatly 
   diminished.
   - We already removed octal literals which are similarly confusing. I 
   have never heard a *single* person complaining (or even asking) about 
   what happened with octal literals. It's reasonable to assume that it will 
   be the same for an even more obscure feature.
   - The parsing rules of octal escapes are unintuitive and misleading for 
   unaware readers (e. g. it's not fixed-length like \uXXXX, but stops 
   accepting symbols as soon as it encounters some char it doesn't like. 
   Example: \377 parses as one octal escape literal, \378 parses as an 
   octal escape and 8 (because 8 is not octal, duh), 400 parses as an octal 
   escape and a 0 (400 would be valid octal number, but–for whatever 
   reasons–the literal is capped to the first 255 numbers)).
   - Those who want it, can implement it via string interpolation
   - If one looks at some of our "competitors", they don't bothered to 
   include it in the first place (and their literal syntax is even further 
   removed from Java syntax).
   - In general, we need less magic to happen between 
   what-the-developer-writes and what-the-compiler-sees. See the famous 
   let's-convert-unicode-escapes-in-comments puzzler for a similar case where 
   we are trying too hard to be Java. (Which–again–no other languages even 
   considers emulating.)

If you have never heard about them, all is fine.
If you have a use-case where you think octal escape literals are absolutely 
critical, please speak up!

Thanks,

Simon

&lt;/pre&gt;</description>
    <dc:creator>Simon Ochsenreither</dc:creator>
    <dc:date>2013-05-17T13:01:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63349">
    <title>Group 2 case classes</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63349</link>
    <description>&lt;pre&gt;Hi group.

I have a question about grouping 2 lists of case classes together, and in 
this example sorting employees into EmployeeDepartment.

1. case class EmployeeDepartment( &amp;lt; at &amp;gt;Key("_id") id:ObjectId, name:String)
2. case class Employees( &amp;lt; at &amp;gt;Key("_id") id:ObjectId, name:String, 
employeeDepartmentName:String)

Basically, gettin a new list or map (don't know what would be better) 
looking like this:

(EmployeeDepartment(12456, "Marketing department"), List( 123456, "Michael 
Larsson" ), List( 123456, "etc" ))

Thanks

&lt;/pre&gt;</description>
    <dc:creator>Michael Larsson</dc:creator>
    <dc:date>2013-05-17T08:43:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63343">
    <title>Type aliases and implicit not found annotation</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63343</link>
    <description>&lt;pre&gt;Dear all,

Sometimes I alias my type on existing classes for readability, ex :

Type Hasher[T,K] = (T=&amp;gt;K)

And use it in class constructor as an implicit parameter.

Would it be possible to annotate the type with an &amp;lt; at &amp;gt;implicitNotFound ?

Thanks

Best Regards


Edmondo Porcu



______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

&lt;/pre&gt;</description>
    <dc:creator>Edmondo Porcu</dc:creator>
    <dc:date>2013-05-16T07:32:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63332">
    <title>Worst bug ever</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63332</link>
    <description>&lt;pre&gt;Hi,

This summer:
Worst Bug Ever Part II - The Scala Version

object listeners {


A candy for the first person to find it.

Cheers,
David

&lt;/pre&gt;</description>
    <dc:creator>David Miguel Antunes</dc:creator>
    <dc:date>2013-05-15T18:40:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63328">
    <title>swing: scale &amp; translate mouse position</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63328</link>
    <description>&lt;pre&gt;Hello,

I use graphics2d to draw graphics. These graphics are scaled and translated 
with g.scale and g.translate.
Also, I have a mouse click listener. I want to click at points in the 
graphics. To identify the correct position, I have to take into account the 
scaling and translating I've done to draw the graphics. How can this be 
done?

    listenTo(mouse.clicks)
    focusable = true
    reactions += {
        case event.MouseClicked(_, point, _, _, _) =&amp;gt; {
            // need to scale &amp;amp; translate point.x, point.y to corresponding 
position
            ...
            repaint
        }
    }

&lt;/pre&gt;</description>
    <dc:creator>Boris Hollas</dc:creator>
    <dc:date>2013-05-15T10:41:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63319">
    <title>ANNOUNCE - Geodude &amp; Uber-SBT template</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63319</link>
    <description>&lt;pre&gt; 

Announcing Geodude + SBT Uber: 

I am announcing some very small open source projects. Over the last year 
developing Sportaneous, our team used an all Scala stack and wanted to 
contribute back a few simple utilities:
Geodude 

*a library for reverse geocoding* 

This library makes it easy to reverse geo code and cache those values. Or 
use different providers for those values.

Check out the github &amp;lt;https://github.com/hjast/geodude&amp;gt; for more 
information and examples

import geodude._
val str = googleMaps.location("690 Prospect PL, Brooklyn, NY")
                    .map(loc =&amp;gt; "%s is at %s lat and %s lng" format(loc.name, loc.lat, loc.lng))
                    .getOrElse("Geocoding could not find address")

println(str)


Über sbt template G8 &amp;amp; Go 

*A highly opinionated sbt template with tons of nice plugins, an admin 
console and dependencies ready to go!*

Check it out on github &amp;lt;https://github.com/hjast/uber-sbt.g8&amp;gt;
Motivation 
   
   - Easy way to upgrade libraries, easy access all the libraries (I use, 
   but I expect to include more). 
   - Since I use less than 20-30 libraries in my projects, actually having 
   dependency listing part of template. This way it is both more readable and 
   dependencies are autocompletable. 
   - A console (since I go down into the console a lot). Basically any 
   method you add to AdminConsole, you can call directly from console without 
   having to import anything 
   - Latest version of sbt + sbt plugins which I use 
   - A way to basically let new programmers know which libraries they *
   should* use (anything in the Dependencies.scala) 
   - logback + resource files for most scala projects 

To use 

g8r hjast/uberSBT
cd uberSBT
sbt
gen-idea
//Open up in IntelliJ

To change dependencies either change in the Build.scala file. 

/** You can use any of the predefined dependencies or you can do traditional dep. adding **/
dependencies = Seq(lift.webkit, akka.actor, akka.camel)


or in build.sbt

libraryDependencies ++= akka.all

To use console at sbt prompt

console-admin

Now anything added in AdminConsole can be called directly.
List of Dependencies Included 

Please send a pull request to add any other dependencies to see missing 
(high quality libraries which could be used outside there own ecosystem.)
Akka 
   
   - akka.all [Seq] 
   - akka.actor 
   - akka.agent 
   - akka.camel 
   - akka.dataflow 
   - akka.fileMailbox 
   - akka.kernel 
   - akka.mailboxesCommon 
   - akka.osgi 
   - akka.osgiAries 
   - akka.remote 
   - akka.slf4j 
   - akka.transactor 
   - akka.testkit 
   - akka.zeromq 

Spray 
   
   - spray.all [Seq] 
   - spray.caching 
   - spray.can 
   - spray.client 
   - spray.http 
   - spray.httpx 
   - spray.io 
   - spray.routing 
   - spray.servlet 
   - spray.testkit 
   - spray.util 

Lift 
   
   - lift.all [Seq] 
   - lift.webkit 
   - lift.mapper 
   - lift.record 
   - lift.wizard 
   - lift.json 
   - lift.mongo 
   - lift.mongoRecord 

Shapeless 
   
   - shapeless.core 
   - shapeless.spire 
   - shapeless.scalaz 
   - shapeless.scalacheck 

Testing 
   
   - specs2 
   - junit 

Java 
   
   - commonLang 
   - servlet 
   - jodaTime 

Numerical 
   
   - saddle 
   - spire 

NoSql 
   
   - rogueAll [Seq] 
   - rogueField 
   - rogueCore 
   - rogueLift 

Util 
   
   - scalaLogging 
   - scalaTime 
   - logback 
   - slf4j 
   - logLady


   

&lt;/pre&gt;</description>
    <dc:creator>Reuben Doetsch</dc:creator>
    <dc:date>2013-05-14T23:33:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63316">
    <title>Extending Function with an implicit parameter</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63316</link>
    <description>&lt;pre&gt;I'm attempting to extend the Function class with an implicit parameter, but 
I've not managed to appease the compiler.  This is the code that I want to 
work:

class MyFun extends ((Int, Int) =&amp;gt; Int) {
  def apply(a:Int)(implicit b:Int):Int = a + b
}

And it doesn't compile:

[error] MyFun.scala:21: class MyFun needs to be abstract, since method 
apply in trait Function2 of type (v1: Int, v2: Int)Int is not defined
[error] class MyFun extends ((Int, Int) =&amp;gt; Int) {
[error]       ^

I've tried a few variants without success:

class MyFun extends ((Int, implicit Int) =&amp;gt; Int) {
  def apply(a:Int)(implicit b:Int):Int = a + b
}

[error] MyFun.scala:21: identifier expected but 'implicit' found.
[error] class MyFun extends ((Int, implicit Int) =&amp;gt; Int) {
[error]                            ^
[error] MyFun.scala:40: ')' expected but eof found.

class MyFun extends ((Int)(implicit Int) =&amp;gt; Int) {
  def apply(a:Int)(implicit b:Int):Int = a + b
}

[error] MyFun.scala:21: ')' expected but '(' found.
[error] class MyFun extends ((Int)(implicit Int) =&amp;gt; Int) {
[error]                           ^
[error] MyFun.scala:21: ';' expected but '=&amp;gt;' found.
[error] class MyFun extends ((Int)(implicit Int) =&amp;gt; Int) {
[error]                                          ^


Does anyone know how to do this?

Thanks,
Joe

&lt;/pre&gt;</description>
    <dc:creator>Joe Barnes</dc:creator>
    <dc:date>2013-05-14T21:02:45</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63309">
    <title>ANNOUNCE: Akka 2.1.4 is released!</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63309</link>
    <description>&lt;pre&gt;Dear hAkkers,

We—the Akka committers—are pleased to be able to announce the availability of Akka 2.1.4. This is the fourth maintenance release of the 2.1 branch, containing documentation improvements and fixing several issues including:

 * CallingThreadDispatcher deadlock problems
 * Stack overflow while loading messages from persistent mailbox
 * More robust recovery in remoting in case of malformed messages
 * Proper deployment of typed actors

... and several smaller fixes

IMPORTANT NOTE:

Release 2.1.3 was broken due to a bug in the release scripts and build process, please use this release instead. There were no code changes between 2.1.3 and 2.1.4.

This release is backwards binary compatible with version 2.1.0, 2.1.1, and 2.1.2, which means that the new JARs are a drop-in replacement for the old ones (but not the other way around). Always make sure to use at least the latest version required by any of your project’s dependencies.
Known Issues

Due to the restriction imposed by binary compatibility—which is kept for the patch releases within a minor release such as 2.1.x—not all known issues can be fixed. The currently known issues in the 2.1.x series are:

 * ActorSystem.shutdown() does not terminate all threads if akka.remote.netty.use-dispatcher-for-io is set to true

&lt;/pre&gt;</description>
    <dc:creator>Roland Kuhn</dc:creator>
    <dc:date>2013-05-14T14:10:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63302">
    <title>Scala on Java SE Embedded</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63302</link>
    <description>&lt;pre&gt;Hi,
I watched "Raspberry Pi: Developing with Java Embedded Technology" ( 
https://www.youtube.com/watch?v=7DSp77OxzLg ) and just wondering whether 
AKKA and Scala are able to run in such devices?

Mic

&lt;/pre&gt;</description>
    <dc:creator>Mic</dc:creator>
    <dc:date>2013-05-14T04:48:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63301">
    <title>Alternative to ScalaObject</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63301</link>
    <description>&lt;pre&gt;Hopefully this is a really simple question. How should one check if an 
object is a Scala object?

The way I would do it before was "base.isInstanceOf[scala.ScalaObject]" but 
ScalaObject is deprecated.

Regards,
Thomas

&lt;/pre&gt;</description>
    <dc:creator>Thomas Suckow</dc:creator>
    <dc:date>2013-05-14T02:06:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63300">
    <title>Kiama 1.5.0 released</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63300</link>
    <description>&lt;pre&gt;Kiama (http://kiama.googlecode.com) is a Scala library for language processing including attribute grammars, term rewriting, abstract state machines and pretty printing.

The Kiama team are pleased to bring you the next release of the library which is now available from the SonaType OSS repository and should appear in Maven Central soon.

Apart from the usual small enhancements and bug fixes, this release refactors the rewriting library to support different kinds of rewriters, notably a version that always memoises results. The big ticket item is a macro-based implementation of the core rewriting and attribution APIs to support improved debugging as well as domain-specific profiling (see https://code.google.com/p/kiama/wiki/Profiling for examples).

The full release notes are available at:

   http://wiki.kiama.googlecode.com/hg/doc/1.5.0/notes.html

cheers,
Tony

&lt;/pre&gt;</description>
    <dc:creator>Tony Sloane</dc:creator>
    <dc:date>2013-05-14T01:56:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63286">
    <title>macro troubles, trying to produce multiple expressions (class def + block)</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63286</link>
    <description>&lt;pre&gt;Hi,

I want a macro used like `query("select * from foo")` to generate code
like:

       case class Row( /* fields from DB */)
       val buf = new ListBuffer[Row]
       val rs = conn.prepareStatement(sql).executeQuery()
       while (rs.next) {
          buf += Row(rs.getString(1), rs.getInt(2), ... fields from
DB ... )    // ***
       }
       lb.toList

But from what I know so far, I must put that all in a single block
expression, and that is generating type errors that I don't
understand. The compilation failed with:

    MacroTests.scala:25: error: type mismatch;
       found   : Row
       required: Row.type

I can deduce that this comes from the line marked with *** above. So
it didn't like my ListBuffer[Row] declaration.  My tree looks like:

    Apply(
          Select(
             New(
                 AppliedTypeTree(
                   Ident(listBufferSym),
                   List(Ident("Row"))
                   // List(Ident(typeOf[Any].typeSymbol))   -- this
get's it to run, but without desired type
                 )
             ),
             nme.CONSTRUCTOR
          ),
          List()
       )

To understand why it failed I tried to reify this:

     reify({ case class R(id: Int); val lb = new ListBuffer[R](); lb
+= R(1)  })

In response, It printed a short story...

     &amp;lt;console&amp;gt;:12: error: Cannot materialize {
           [ lots of internally generated scala code ]
     } because:
         scala.reflect.macros.TypecheckException: type mismatch;
          found   : $u.TypeTag[(some other)lb.type(in value res4)
forSome { type (some other)lb.type(in value res4) &amp;lt;:
scala.collection.mutable.ListBuffer[(some other)R(in value res4)] with
Singleton; type (some other)R(in value res4) &amp;lt;: Product with
Serializable{val id: Int; def copy(id: Int): (some other)R(in value
res4); def copy$default$1: Int} }]
          required: $u.WeakTypeTag[lb.type(in value res4) forSome
{ type lb.type(in value res4) &amp;lt;:
scala.collection.mutable.ListBuffer[R(in value res4)] with Singleton;
type R(in value res4) &amp;lt;: Product with Serializable{val id: Int; def
copy(id: Int): R(in value res4); def copy$default$1: Int} }]

I don't understand that. I haven't learned about 'forSome' yet.

Any suggestions? Is there a way for the macro to introduce multiple
expressions without wrapping them in a block? (And let me know if
there a more appropriate mailing list for this.)

thank you,
Rob

&lt;/pre&gt;</description>
    <dc:creator>Rob Nikander</dc:creator>
    <dc:date>2013-05-13T20:12:05</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63282">
    <title>What is this "CASEACCESSOR" modifier reported by showRaw(reify(expr)) ?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63282</link>
    <description>&lt;pre&gt;Hi,

It seems like the reflection function showRaw is reporting a modifier
that doesn't exist. I'm trying to write a macro that generates a case
class definition, among other things. To see what the AST should look
like, I open a scala prompt and run:

    scala&amp;gt; import scala.reflect.runtime.universe._
    scala&amp;gt; reify( { case class Foo(name: String, id: Long, count:
Int) } )
    res2: ...
    scala&amp;gt; showRaw(res2)
    res3: String = Expr(Block(List(ClassDef(Modifiers(CASE),
newTypeName("Foo"), List(),
        Template(List(Ident(scala.Product),
Ident(scala.Serializable)), emptyValDef,
        List(ValDef(Modifiers(CASEACCESSOR | PARAMACCESSOR),
newTermName("name"), ...

But there is nothing called CASEACCESSOR or PARAMACCESSOR in:

    http://www.scala-lang.org/api/2.10.1/index.html#scala.reflect.api.FlagSets$FlagValues

How do I build this tree? Any ideas? Thank you,

Rob

&lt;/pre&gt;</description>
    <dc:creator>Rob Nikander</dc:creator>
    <dc:date>2013-05-13T17:34:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala.user/63280">
    <title>another type mismatch.</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala.user/63280</link>
    <description>&lt;pre&gt;
  
*trait *Elt[Element &amp;lt;: Elt[Element,Ret],Ret] { self:Element=&amp;gt; }
  
*trait *EltBuilder[Element&amp;lt;:Elt[Element,Ret],Ret] {
  *def *apply(parent: Element, childBuilder: EltBuilder[Element,Ret]): 
Element
}
*trait *Motor[-Element&amp;lt;:Elt[_,Ret],Ret] {
  *def *onEnd(self: Element): Ret
}

*class *Core[R] {
  *type *Bld    = EltBuilder[Element,Ret]
  *type *Ret    = R
  
  *trait *Element *extends *Elt[Element,Ret] {
    *val *parent:Element
    *val *childBuilder:Bld
  }
  
  *trait *Mot *extends *Motor[Element,Ret] *with *Access {
    *class *Elt(val parent:Element, val childBuilder:Bld) extends Element {
      def onEnd(): Ret = Mot.this.onEnd(this)
    }
    *val *builder:Bld = *new *Bld {
      *def *apply(parent: Element, childBuilder:Bld) = *new *
Elt(parent,childBuilder)
    }
  }
  
  *trait *Access {
    *type *Ret     = Core.*this*.Ret
    *type *Bld     = Core.*this*.Bld
    *type *Element = Core.*this*.Element
    /** To define! */
    *type *Elt&amp;lt;:Element
    *def *builder:Bld
  }
}  

*trait *ExtCore[R] *extends *Core[R] {
  *type *Data
  *def *getData(parent:Element):Data
  
  *trait *Element extends *super*.Element {
    *val *data:Data
  }
  
  *trait *Mot *extends super*.Mot *with *Motor[Element,Ret] *with *Access {
    *class *Elt(parent:Element, childBuilder:Bld, *val *data:Data)
          *extends* *super*.Elt(parent,childBuilder) *with *ExtCore.*this*
.Element
    *override val *builder:Bld = *new *Bld {
      *def *apply(parent: Element, childBuilder:Bld)  =
          *new *Elt(parent,childBuilder, getData(parent))
    }
  }
  
}

The line is red shows for the parent parameter:
*type mismatch;
found : Mot.this.Element (which expands to) ExtCore.this.Element
required: ExtCore.this.Element*

Elt is a generic element type
EltBuilder is a generic builder for Elt
Motor is a processor class for Elt

Core is a simple implementation, containing trait Mot with an almost full 
implementation
ExtCore is a refinement of Core, which adds some information to the basic 
Elt defined in Core.

For various reasons, it is difficult to impossible to change variances 
(i.e. Elt is not covariant)

I'm stuck on this.

Thanks.
Yves

&lt;/pre&gt;</description>
    <dc:creator>yves</dc:creator>
    <dc:date>2013-05-13T14:27:09</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lang.scala.user">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lang.scala.user</link>
  </textinput>
</rdf:RDF>
