<?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://permalink.gmane.org/gmane.comp.lang.scala">
    <title>gmane.comp.lang.scala</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala</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://permalink.gmane.org/gmane.comp.lang.scala/29453"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29452"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29451"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29450"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29449"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29448"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29447"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29446"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29445"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29444"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29443"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29442"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29441"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29440"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29439"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29438"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29437"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29435"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29434"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.scala/29433"/>
      </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://permalink.gmane.org/gmane.comp.lang.scala/29453">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29453</link>
    <description>&lt;pre&gt;

For real? I've never seen anyone try to handle those explicitly, with the
intent to "keep on trucking", because it indicates a bug or poorly
configured JVM. The solution is the either fix the bug or configure the JVM
properly.



&lt;/pre&gt;</description>
    <dc:creator>Nils Kilden-Pedersen</dc:creator>
    <dc:date>2013-05-24T16:52:22</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29452">
    <title>Re: Study on security and safety in functional programming languages</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29452</link>
    <description>&lt;pre&gt;very valuable guidelines.

Thanks a lot!

On Friday, 24 May 2013 11:44:45 UTC+1, fanf wrote:

&lt;/pre&gt;</description>
    <dc:creator>Fernando Racca</dc:creator>
    <dc:date>2013-05-24T16:38:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29451">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29451</link>
    <description>&lt;pre&gt;

Are you serious?

If so, that's a security issue. You should have bounded request sizes --
above which requests are rejected before any parsing happens. If your
requests require unbounded memory or processing then that's a problem at
an even deeper level, but I digress...



&lt;/pre&gt;</description>
    <dc:creator>Bardur Arantsson</dc:creator>
    <dc:date>2013-05-24T16:34:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29450">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29450</link>
    <description>&lt;pre&gt;Hi Lex

This makes sense for a disposable app like a compiler instance or worker.
But for a long running app you just can't let it crash because of user  
submitting a large number in his input.
OOME and SOE are the ways to prevent hard crash. Do you suggest to halt  
the vm immediately like if it was a segfault instead of Error? Bypassing  
shutdown hooks as well because the vm is possibly broken?

If the handler crashes with OOM then fine, we did our best. That is still  
better than crashing right away.

Thanks for the info on Squeak. If i understand correctly it is mainly used  
for single-user systems so there is probably not much use for protection  
against malicious actions.

Thanks, Aleh

On Fri, 24 May 2013 19:00:23 +0300, Lex Spoon &amp;lt;lex&amp;lt; at &amp;gt;lexspoon.org&amp;gt; wrote:


&lt;/pre&gt;</description>
    <dc:creator>Aleh Aleshka</dc:creator>
    <dc:date>2013-05-24T16:30:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29449">
    <title>Re: Calling a method with one argument with type of Any.. Interesting behavior</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29449</link>
    <description>&lt;pre&gt;Thanks!

&lt;/pre&gt;</description>
    <dc:creator>Ranie Jade Ramiso</dc:creator>
    <dc:date>2013-05-24T16:17:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29448">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29448</link>
    <description>&lt;pre&gt;The GWT team went around and around about this for OutOfMemory errors
in its compiler. My first instinct was not to bother handling OOM, but
we tried a few ways anyway, and it's just insanely difficult. We
ultimately gave up. Java is not designed for to support manual memory
management. On the contrary, Java is expressly designed for you *not*
to control memory usage.

One of the problems is that your OOM handler cannot itself allocate
any memory. This is because you don't know that the handler is running
on the thread that is the memory hog. How do you write an OOM handler,
though, without allocating memory? That's an unreasonable constraint
for programming on the JVM. You can't add to a list. You can't
allocate an array. You can't do string appends. You can't call into
library routines.

Another consequence of not knowing which thread will get the OOM is
that it might be a thread you don't control. In such a case, the JVM
is just going to exit and you can't do anything about it. As such,
from a management &lt;/pre&gt;</description>
    <dc:creator>Lex Spoon</dc:creator>
    <dc:date>2013-05-24T16:00:23</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29447">
    <title>Re: Calling a method with one argument with type of Any.. Interesting behavior</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29447</link>
    <description>&lt;pre&gt;     Hello,

  It's called automatic tupling and apparently it is an obscure feature:

  "Spec doesn't mention automatic tupling"
  https://issues.scala-lang.org/browse/SI-3583

     Take care
     Oliver

On Fri, May 24, 2013 at 11:06 AM, Ranie Jade Ramiso &amp;lt;
raniejaderamiso&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:




&lt;/pre&gt;</description>
    <dc:creator>Oliver Ruebenacker</dc:creator>
    <dc:date>2013-05-24T15:35:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29446">
    <title>Re: Calling a method with one argument with type of Any.. Interesting behavior</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29446</link>
    <description>&lt;pre&gt;Not an answer, but this might give some hints:

scala -Ywarn-adapted-args

a(1, "String", "Hello")
&amp;lt;console&amp;gt;:9: warning: Adapting argument list by creating a 3-tuple: this 
may not be what you want.
        signature: a(x: Any): Unit
  given arguments: 1, "String", "Hello"
 after adaptation: a((1, "String", "Hello"): (Int, String, String))
              a(1, "String", "Hello")
               ^

Bye,

Simon

&lt;/pre&gt;</description>
    <dc:creator>Simon Ochsenreither</dc:creator>
    <dc:date>2013-05-24T15:32:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29445">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29445</link>
    <description>&lt;pre&gt;



Well, you have seen the failing tests and can look into the implementation 
of HotSpot if you like. I'm also not happy with the current situation, but 
my unhappiness won't fix the issues.

&lt;/pre&gt;</description>
    <dc:creator>Simon Ochsenreither</dc:creator>
    <dc:date>2013-05-24T15:29:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29444">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29444</link>
    <description>&lt;pre&gt;Hi Victor

I've seen catching regular Exceptions leading to data corruption, but 
haven't ever seen someone terminating the vm because of SOE or OOME (except 
the mentioned kill -9 %p trick for hadoop workers)
On the other hand user input in a regular web application may lead to OOME 
or even SOE while handling e.g. http request and it is unsound to assume 
that we should abandon processing the request without a regular exception 
handling or kill the vm.

Aleh


On Wednesday, May 22, 2013 10:26:54 PM UTC+3, √iktor Klang wrote:
 

&lt;/pre&gt;</description>
    <dc:creator>Aleh Aleshka</dc:creator>
    <dc:date>2013-05-24T15:08:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29443">
    <title>Calling a method with one argument with type of Any.. Interesting behavior</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29443</link>
    <description>&lt;pre&gt;Given this method:

def a(x: Any) {
    println(x)
}

You could call the method a with multiple parameters.

e.g: a(1, "String", "Hello") # same as a((1, "String", "Hello"))


I'm curious about the handling of this. Is it a language feature? I can't 
find any online resource pertaining to it.

&lt;/pre&gt;</description>
    <dc:creator>Ranie Jade Ramiso</dc:creator>
    <dc:date>2013-05-24T15:06:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29442">
    <title>Re: Backport accepted SIPs to ease cross compilation</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29442</link>
    <description>&lt;pre&gt;
AFAIK https://github.com/sbt/sbt-scalashim provides just the sys package for 2.8 and nothing
more. Last changes have been a year ago.

What I would like are officially supported backports.


&lt;/pre&gt;</description>
    <dc:creator>wookietreiber</dc:creator>
    <dc:date>2013-05-24T14:39:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29441">
    <title>Re: Backport accepted SIPs to ease cross compilation</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29441</link>
    <description>&lt;pre&gt;On Fri, May 24, 2013 at 4:27 PM, wookietreiber &amp;lt;
kizkizzbangbang&amp;lt; at &amp;gt;googlemail.com&amp;gt; wrote:


Why is sbt-scalashim not a solution for this problem for most cases?

&lt;/pre&gt;</description>
    <dc:creator>Johannes Rudolph</dc:creator>
    <dc:date>2013-05-24T14:33:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29440">
    <title>Backport accepted SIPs to ease cross compilation</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29440</link>
    <description>&lt;pre&gt;Dear all,

This may come a little late (but hopefully not too late):

Would it be possible to backport certain / all SIPs which have been accepted for 2.10 to 2.9 to ease
cross compilation? (like SIP-14 already has to 2.9.3)

If someone uses, say language imports and implicit classes in a 2.10 project and wants to cross
compile and release for 2.9, one would have to change back the code to full 2.9 compatibility to
make this possible (drop all implicit classes and use the old class + implicit def, drop all
language imports) or -- even worse -- create a separate branch with the alternate code (aka
maintenance hell).

For this reason I'm humbly asking for backports for the features introduced in 2.10 to allow the
usage of these features in projects while still having no maintenance problems compiling for older
versions.

I have also already searched for and located an issue [SI-6694][1] which was unfortunately closed
prematurely without much discussion.


[1]: https://issues.scala-lang.org/browse/SI-6694


&lt;/pre&gt;</description>
    <dc:creator>wookietreiber</dc:creator>
    <dc:date>2013-05-24T14:27:00</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29439">
    <title>Re: Study on security and safety in functional programming languages</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29439</link>
    <description>&lt;pre&gt;
Hello guys,

I was the writer of the report (the Scala part). Actually, it was done
almost two years ago, but it is only made public now, so that's explain
the old version of Scala/JVM.

Also note that the format and some recommandation were dictated by a
previour report done on Java / JVM securiy model, so if some things
seems strange, it may come from that.

All in all, if you have any question, please ask !

Cheers,

&lt;/pre&gt;</description>
    <dc:creator>Francois</dc:creator>
    <dc:date>2013-05-24T10:44:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29438">
    <title>Re: Study on security and safety in functional programming languages</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29438</link>
    <description>&lt;pre&gt;Thank you very much!

I think some of the issues could at least be converted into a compiler 
warning (e. g. “Warning 17: primary constructor code may be spread all over 
the class definition ”).

Bye,

Simon

&lt;/pre&gt;</description>
    <dc:creator>Simon Ochsenreither</dc:creator>
    <dc:date>2013-05-24T10:32:58</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29437">
    <title>Study on security and safety in functional programming languages</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29437</link>
    <description>&lt;pre&gt;Hi all,

For those of you that understand french, an interesting study on security and safety in functional programming languages was published by ANSSI (French national agency for information security) [1]. The study presents 7 functional languages: Scala, OCaml, F#, Haskell, LISP, Scheme and Erlang and analyses 3 of them: Scala, OCaml and F#

For Scala, the analysis focuses on two aspects:
 - the development environment and its impact on security
 - the constructs and their impact on security and safety

Of course, this report for Scala relates to a previous study on the Java platform [2], which is not repeated here.

The evaluated version is Scala in its version 2.8.1 on the Oracle HotSpot JVM in its version 1.6.25, which is quite old and some points raised are no relevant anymore (e.g. catching `Throwable`). Many warnings and advices are actually good practices already given by the coding guidelines. Some other points are only relevant when dealing with applications in which security is critical (well, t&lt;/pre&gt;</description>
    <dc:creator>Lucas Satabin</dc:creator>
    <dc:date>2013-05-24T10:24:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29435">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29435</link>
    <description>&lt;pre&gt;

Define rare.


But should we penalize every use case of scala.util.Try ?

Penalize in what way? Penalize heap and stack abuse?



Data corruption?

Cheers,
√





&lt;/pre&gt;</description>
    <dc:creator>√iktor Ҡlang</dc:creator>
    <dc:date>2013-05-22T19:26:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29434">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29434</link>
    <description>&lt;pre&gt;I guess OOME and SOE could leave vm in inconsistent state in some rare 
cases. 
Obviously even Exception thrown from user code can potentially leave it in 
this state and we can't assume that it's safe to proceed..
But should we penalize every use case of scala.util.Try ?
What is the worst thing that could happen if Try (and other users of 
NonFatal) was catching OOME and SOE?

Thanks, Aleh.

On Wednesday, May 22, 2013 3:35:15 AM UTC+3, √iktor Klang wrote:

&lt;/pre&gt;</description>
    <dc:creator>Aleh Aleshka</dc:creator>
    <dc:date>2013-05-22T19:18:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29433">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29433</link>
    <description>&lt;pre&gt;Can you give the name and the versions of the VMs in question?

&lt;/pre&gt;</description>
    <dc:creator>Simon Ochsenreither</dc:creator>
    <dc:date>2013-05-22T15:55:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.scala/29432">
    <title>Re: OutOfMemoryError considered fatal?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.scala/29432</link>
    <description>&lt;pre&gt;aha! finally I found a reproducer that works on both JVMs that I tried.

Acquired by One n: 94 -- must be zero
SOE in Two &amp;lt; at &amp;gt; level 178 caught &amp;lt; at &amp;gt; 178; sum: 1275
Two entering sub: iteration 34783
Acquired by Two n: 44
SOE in One &amp;lt; at &amp;gt; level 228 caught &amp;lt; at &amp;gt; 228; sum: 1275
One entering sub: iteration 34783
Acquired by One n: 93
SOE in Two &amp;lt; at &amp;gt; level 179 caught &amp;lt; at &amp;gt; 179; sum: 1275
Two entering sub: iteration 34784
Acquired by Two n: 44

The trick is to make the lock on which synchronization occurs fat.

If you are curious, I can paste the reproducer; but I wanted just to make a
point that no JVM is likely to be immune to this problem and we can't say
it is a bug in one JVM.


Alex



2013/5/22 Björn Antonsson &amp;lt;bjorn.antonsson&amp;lt; at &amp;gt;typesafe.com&amp;gt;


&lt;/pre&gt;</description>
    <dc:creator>Sassa Nf</dc:creator>
    <dc:date>2013-05-22T15:29:02</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lang.scala">
    <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</link>
  </textinput>
</rdf:RDF>
