This page is no longer maintained — Please continue to the home page at www.scala-lang.org

First candidate for 2.8.0 beta

19 replies
Antonio Cunei
Joined: 2008-12-16,
User offline. Last seen 3 years 22 weeks ago.

All,

The first candidate for 2.8.0.Beta1 is available for testing. You can
obtain it from the links below, and shortly it will also be available from
the Maven scala-tools.org repository:

http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Be...

This is the first step towards the release of the first beta of 2.8.0;
please try your projects against this initial version and let us know. The
code contained in this candidate, as Martin anticipated, is built without
optimization; we will optimize the code of compiler and libraries as a
subsequent step.

Toni

extempore
Joined: 2008-12-17,
User offline. Last seen 35 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

On Fri, Nov 13, 2009 at 06:33:01PM +0100, Antonio Cunei wrote:
> The first candidate for 2.8.0.Beta1 is available for testing. You can
> obtain it from the links below, and shortly it will also be available
> from the Maven scala-tools.org repository:
>
> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz

Based on the number of people we've seen on IRC who concluded this is a
release candidate for 2.8.0, I think it would be wise to lose the "RC"
from the filenames. People aren't used to thinking in terms of "beta
release candidates" and many have found another way to parse Beta1-RC1.

Since the ship has sailed on whether to use the word Beta, maybe the
next not-quite-Beta1 could be Beta1-preBeta-0.02 or something.

Kevin Wright
Joined: 2009-06-09,
User offline. Last seen 49 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

How about Alpha-1 ?

On Sun, Nov 15, 2009 at 8:20 PM, Paul Phillips wrote:
> On Fri, Nov 13, 2009 at 06:33:01PM +0100, Antonio Cunei wrote:
>> The first candidate for 2.8.0.Beta1 is available for testing. You can
>> obtain it from the links below, and shortly it will also be available
>> from the Maven scala-tools.org repository:
>>
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>
> Based on the number of people we've seen on IRC who concluded this is a
> release candidate for 2.8.0, I think it would be wise to lose the "RC"
> from the filenames.  People aren't used to thinking in terms of "beta
> release candidates" and many have found another way to parse Beta1-RC1.
>
> Since the ship has sailed on whether to use the word Beta, maybe the
> next not-quite-Beta1 could be Beta1-preBeta-0.02 or something.
>
> --
> Paul Phillips      | These are the climbs that apply men's soles.
> Everyman           |
> Empiricist         |
> all hip pupils!    |----------* http://www.improving.org/paulp/ *----------
>

Stepan Koltsov
Joined: 2008-12-20,
User offline. Last seen 42 years 45 weeks ago.
Re: First candidate for 2.8.0 beta

Why have separate distribution for JDK5?

S.

On Fri, Nov 13, 2009 at 20:33, Antonio Cunei wrote:
> All,
>
> The first candidate for 2.8.0.Beta1 is available for testing. You can obtain
> it from the links below, and shortly it will also be available from the
> Maven scala-tools.org repository:
>
> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Be...
>
> This is the first step towards the release of the first beta of 2.8.0;
> please try your projects against this initial version and let us know. The
> code contained in this candidate, as Martin anticipated, is built without
> optimization; we will optimize the code of compiler and libraries as a
> subsequent step.
>
> Toni
>
>

Kevin Wright
Joined: 2009-06-09,
User offline. Last seen 49 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

On Mon, Nov 16, 2009 at 10:41 AM, Stepan Koltsov
wrote:
> Why have separate distribution for JDK5?

Could it be that different source code is required for IO on JDK5 and JDK6?

>
> S.
>
>
> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei wrote:
>> All,
>>
>> The first candidate for 2.8.0.Beta1 is available for testing. You can obtain
>> it from the links below, and shortly it will also be available from the
>> Maven scala-tools.org repository:
>>
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Be...
>>
>> This is the first step towards the release of the first beta of 2.8.0;
>> please try your projects against this initial version and let us know. The
>> code contained in this candidate, as Martin anticipated, is built without
>> optimization; we will optimize the code of compiler and libraries as a
>> subsequent step.
>>
>> Toni
>>
>>
>

Stepan Koltsov
Joined: 2008-12-20,
User offline. Last seen 42 years 45 weeks ago.
Re: First candidate for 2.8.0 beta

On Mon, Nov 16, 2009 at 14:02, Kevin Wright
wrote:
> On Mon, Nov 16, 2009 at 10:41 AM, Stepan Koltsov
> wrote:
>> Why have separate distribution for JDK5?
>
> Could it be that different source code is required for IO on JDK5 and JDK6?

— Current scala library has almost no IO, so I doubt some parts of it
depends on JDK6
— Switching between implementations should happen in runtime, not by
selecting jar

S.

>> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei wrote:
>>> All,
>>>
>>> The first candidate for 2.8.0.Beta1 is available for testing. You can obtain
>>> it from the links below, and shortly it will also be available from the
>>> Maven scala-tools.org repository:
>>>
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Be...
>>>
>>> This is the first step towards the release of the first beta of 2.8.0;
>>> please try your projects against this initial version and let us know. The
>>> code contained in this candidate, as Martin anticipated, is built without
>>> optimization; we will optimize the code of compiler and libraries as a
>>> subsequent step.
>>>
>>> Toni
>>>
>>>
>>
>

Kevin Wright
Joined: 2009-06-09,
User offline. Last seen 49 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

On Mon, Nov 16, 2009 at 11:18 AM, Stepan Koltsov
wrote:
> On Mon, Nov 16, 2009 at 14:02, Kevin Wright
> wrote:
>> On Mon, Nov 16, 2009 at 10:41 AM, Stepan Koltsov
>> wrote:
>>> Why have separate distribution for JDK5?
>>
>> Could it be that different source code is required for IO on JDK5 and JDK6?
>
> — Current scala library has almost no IO, so I doubt some parts of it
> depends on JDK6
> — Switching between implementations should happen in runtime, not by
> selecting jar
>

I have yet to see a way that this can be done, if code calls into
JDK1.6 libraries then it won't compile under JDK 1.5.
Do you propose compiling different classes under different JVMs?

> S.
>
>>> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei wrote:
>>>> All,
>>>>
>>>> The first candidate for 2.8.0.Beta1 is available for testing. You can obtain
>>>> it from the links below, and shortly it will also be available from the
>>>> Maven scala-tools.org repository:
>>>>
>>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Be...
>>>>
>>>> This is the first step towards the release of the first beta of 2.8.0;
>>>> please try your projects against this initial version and let us know. The
>>>> code contained in this candidate, as Martin anticipated, is built without
>>>> optimization; we will optimize the code of compiler and libraries as a
>>>> subsequent step.
>>>>
>>>> Toni
>>>>
>>>>
>>>
>>
>

Ricky Clarkson
Joined: 2008-12-19,
User offline. Last seen 3 years 2 weeks ago.
Re: First candidate for 2.8.0 beta

For one, String.isEmpty is provided by Scala on Java 5, and Java on Java 6.

2009/11/16 Stepan Koltsov :
> Why have separate distribution for JDK5?
>
> S.
>
>
> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei wrote:
>> All,
>>
>> The first candidate for 2.8.0.Beta1 is available for testing. You can obtain
>> it from the links below, and shortly it will also be available from the
>> Maven scala-tools.org repository:
>>
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Be...
>>
>> This is the first step towards the release of the first beta of 2.8.0;
>> please try your projects against this initial version and let us know. The
>> code contained in this candidate, as Martin anticipated, is built without
>> optimization; we will optimize the code of compiler and libraries as a
>> subsequent step.
>>
>> Toni
>>
>>
>

Erik Engbrecht
Joined: 2008-12-19,
User offline. Last seen 3 years 18 weeks ago.
Re: First candidate for 2.8.0 beta
This stuff won't work on JDK5 or IBM's JRE:http://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/actors/scala/actors/threadpool
http://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/actors/scala/actors/Scheduler.scala
On Mon, Nov 16, 2009 at 6:18 AM, Stepan Koltsov <stepan.koltsov@gmail.com> wrote:
On Mon, Nov 16, 2009 at 14:02, Kevin Wright
<kev.lee.wright@googlemail.com> wrote:
> On Mon, Nov 16, 2009 at 10:41 AM, Stepan Koltsov
> <stepan.koltsov@gmail.com> wrote:
>> Why have separate distribution for JDK5?
>
> Could it be that different source code is required for IO on JDK5 and JDK6?

— Current scala library has almost no IO, so I doubt some parts of it
depends on JDK6
— Switching between implementations should happen in runtime, not by
selecting jar


S.

>> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei <antonio.cunei@epfl.ch> wrote:
>>> All,
>>>
>>> The first candidate for 2.8.0.Beta1 is available for testing. You can obtain
>>> it from the links below, and shortly it will also be available from the
>>> Maven scala-tools.org repository:
>>>
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-installer.jar
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-jvm5.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-devel-docs.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-sources.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Beta1-RC1.jar
>>>
>>> This is the first step towards the release of the first beta of 2.8.0;
>>> please try your projects against this initial version and let us know. The
>>> code contained in this candidate, as Martin anticipated, is built without
>>> optimization; we will optimize the code of compiler and libraries as a
>>> subsequent step.
>>>
>>> Toni
>>>
>>>
>>
>



--
http://erikengbrecht.blogspot.com/
Stepan Koltsov
Joined: 2008-12-20,
User offline. Last seen 42 years 45 weeks ago.
Re: First candidate for 2.8.0 beta

On Mon, Nov 16, 2009 at 14:35, Ricky Clarkson wrote:
> For one, String.isEmpty is provided by Scala on Java 5, and Java on Java 6.

Why presence of "isEmpty" in JDK6 causes need of separate jars of scala?

S.

> 2009/11/16 Stepan Koltsov :
>> Why have separate distribution for JDK5?
>>
>> S.
>>
>>
>> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei wrote:
>>> All,
>>>
>>> The first candidate for 2.8.0.Beta1 is available for testing. You can obtain
>>> it from the links below, and shortly it will also be available from the
>>> Maven scala-tools.org repository:
>>>
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Be...
>>>
>>> This is the first step towards the release of the first beta of 2.8.0;
>>> please try your projects against this initial version and let us know. The
>>> code contained in this candidate, as Martin anticipated, is built without
>>> optimization; we will optimize the code of compiler and libraries as a
>>> subsequent step.
>>>
>>> Toni
>>>
>>>
>>
>
>
>
> --
> Ricky Clarkson
> Java and Scala Programmer, AD Holdings
> +44 1565 770804
> Skype: ricky_clarkson
> Google Talk: ricky.clarkson@gmail.com
> Google Wave: ricky.clarkson@googlewave.com
>

Erik Engbrecht
Joined: 2008-12-19,
User offline. Last seen 3 years 18 weeks ago.
Re: First candidate for 2.8.0 beta
In JDK5 String has no isEmpty method, in JDK6 is does.  So if you compile Scala code against JDK5 and try to call String.isEmpty, the compiler will not find it on String and will trigger an implicit conversion to RichString.  This will work fine on both versions.  If you compile against JDK6 the compiler will find the method and generate a call for it, then if you try to run the code using Java 5 the isEmpty method won't be there.  So the source code looks the same on both 5 and 6, but it generates different bytecode.

On Mon, Nov 16, 2009 at 9:51 AM, Stepan Koltsov <stepan.koltsov@gmail.com> wrote:
On Mon, Nov 16, 2009 at 14:35, Ricky Clarkson <ricky.clarkson@gmail.com> wrote:
> For one, String.isEmpty is provided by Scala on Java 5, and Java on Java 6.

Why presence of "isEmpty" in JDK6 causes need of separate jars of scala?

S.


> 2009/11/16 Stepan Koltsov <stepan.koltsov@gmail.com>:
>> Why have separate distribution for JDK5?
>>
>> S.
>>
>>
>> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei <antonio.cunei@epfl.ch> wrote:
>>> All,
>>>
>>> The first candidate for 2.8.0.Beta1 is available for testing. You can obtain
>>> it from the links below, and shortly it will also be available from the
>>> Maven scala-tools.org repository:
>>>
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-installer.jar
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-jvm5.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-devel-docs.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-sources.tgz
>>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Beta1-RC1.jar
>>>
>>> This is the first step towards the release of the first beta of 2.8.0;
>>> please try your projects against this initial version and let us know. The
>>> code contained in this candidate, as Martin anticipated, is built without
>>> optimization; we will optimize the code of compiler and libraries as a
>>> subsequent step.
>>>
>>> Toni
>>>
>>>
>>
>
>
>
> --
> Ricky Clarkson
> Java and Scala Programmer, AD Holdings
> +44 1565 770804
> Skype: ricky_clarkson
> Google Talk: ricky.clarkson@gmail.com
> Google Wave: ricky.clarkson@googlewave.com
>



--
http://erikengbrecht.blogspot.com/
Stepan Koltsov
Joined: 2008-12-20,
User offline. Last seen 42 years 45 weeks ago.
Re: First candidate for 2.8.0 beta

On Mon, Nov 16, 2009 at 18:38, Erik Engbrecht wrote:
> In JDK5 String has no isEmpty method, in JDK6 is does.  So if you compile
> Scala code against JDK5 and try to call String.isEmpty, the compiler will
> not find it on String and will trigger an implicit conversion to
> RichString.  This will work fine on both versions.  If you compile against
> JDK6 the compiler will find the method and generate a call for it, then if
> you try to run the code using Java 5 the isEmpty method won't be there.  So
> the source code looks the same on both 5 and 6, but it generates different
> bytecode.

So, internal scala libraries and scala compiler should not use isEmpty
method to work around this situation.

S.

> On Mon, Nov 16, 2009 at 9:51 AM, Stepan Koltsov
> wrote:
>>
>> On Mon, Nov 16, 2009 at 14:35, Ricky Clarkson
>> wrote:
>> > For one, String.isEmpty is provided by Scala on Java 5, and Java on Java
>> > 6.
>>
>> Why presence of "isEmpty" in JDK6 causes need of separate jars of scala?
>>
>> S.
>>
>>
>> > 2009/11/16 Stepan Koltsov :
>> >> Why have separate distribution for JDK5?
>> >>
>> >> S.
>> >>
>> >>
>> >> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei
>> >> wrote:
>> >>> All,
>> >>>
>> >>> The first candidate for 2.8.0.Beta1 is available for testing. You can
>> >>> obtain
>> >>> it from the links below, and shortly it will also be available from
>> >>> the
>> >>> Maven scala-tools.org repository:
>> >>>
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-...
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Be...
>> >>>
>> >>> This is the first step towards the release of the first beta of 2.8.0;
>> >>> please try your projects against this initial version and let us know.
>> >>> The
>> >>> code contained in this candidate, as Martin anticipated, is built
>> >>> without
>> >>> optimization; we will optimize the code of compiler and libraries as a
>> >>> subsequent step.
>> >>>
>> >>> Toni
>> >>>
>> >>>
>> >>
>> >
>> >
>> >
>> > --
>> > Ricky Clarkson
>> > Java and Scala Programmer, AD Holdings
>> > +44 1565 770804
>> > Skype: ricky_clarkson
>> > Google Talk: ricky.clarkson@gmail.com
>> > Google Wave: ricky.clarkson@googlewave.com
>> >
>
>
>
> --
> http://erikengbrecht.blogspot.com/
>

rytz
Joined: 2008-07-01,
User offline. Last seen 45 weeks 5 days ago.
Re: First candidate for 2.8.0 beta
http://scala-webapps.epfl.ch/hudson/job/scala-nightly-five/40/console

caused by the addition of

  def isEmpty = path.length == 0

to io.Path


On Mon, Nov 16, 2009 at 16:42, Stepan Koltsov <stepan.koltsov@gmail.com> wrote:
On Mon, Nov 16, 2009 at 18:38, Erik Engbrecht <erik.engbrecht@gmail.com> wrote:
> In JDK5 String has no isEmpty method, in JDK6 is does.  So if you compile
> Scala code against JDK5 and try to call String.isEmpty, the compiler will
> not find it on String and will trigger an implicit conversion to
> RichString.  This will work fine on both versions.  If you compile against
> JDK6 the compiler will find the method and generate a call for it, then if
> you try to run the code using Java 5 the isEmpty method won't be there.  So
> the source code looks the same on both 5 and 6, but it generates different
> bytecode.

So, internal scala libraries and scala compiler should not use isEmpty
method to work around this situation.

S.


> On Mon, Nov 16, 2009 at 9:51 AM, Stepan Koltsov <stepan.koltsov@gmail.com>
> wrote:
>>
>> On Mon, Nov 16, 2009 at 14:35, Ricky Clarkson <ricky.clarkson@gmail.com>
>> wrote:
>> > For one, String.isEmpty is provided by Scala on Java 5, and Java on Java
>> > 6.
>>
>> Why presence of "isEmpty" in JDK6 causes need of separate jars of scala?
>>
>> S.
>>
>>
>> > 2009/11/16 Stepan Koltsov <stepan.koltsov@gmail.com>:
>> >> Why have separate distribution for JDK5?
>> >>
>> >> S.
>> >>
>> >>
>> >> On Fri, Nov 13, 2009 at 20:33, Antonio Cunei <antonio.cunei@epfl.ch>
>> >> wrote:
>> >>> All,
>> >>>
>> >>> The first candidate for 2.8.0.Beta1 is available for testing. You can
>> >>> obtain
>> >>> it from the links below, and shortly it will also be available from
>> >>> the
>> >>> Maven scala-tools.org repository:
>> >>>
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.tgz
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1.zip
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-installer.jar
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-jvm5.tgz
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-devel-docs.tgz
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.Beta1-RC1-sources.tgz
>> >>>
>> >>> http://www.scala-lang.org/downloads/distrib/files/scala.library_2.8.0.Beta1-RC1.jar
>> >>>
>> >>> This is the first step towards the release of the first beta of 2.8.0;
>> >>> please try your projects against this initial version and let us know.
>> >>> The
>> >>> code contained in this candidate, as Martin anticipated, is built
>> >>> without
>> >>> optimization; we will optimize the code of compiler and libraries as a
>> >>> subsequent step.
>> >>>
>> >>> Toni
>> >>>
>> >>>
>> >>
>> >
>> >
>> >
>> > --
>> > Ricky Clarkson
>> > Java and Scala Programmer, AD Holdings
>> > +44 1565 770804
>> > Skype: ricky_clarkson
>> > Google Talk: ricky.clarkson@gmail.com
>> > Google Wave: ricky.clarkson@googlewave.com
>> >
>
>
>
> --
> http://erikengbrecht.blogspot.com/
>

milessabin
Joined: 2008-08-11,
User offline. Last seen 33 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

On Tue, Nov 17, 2009 at 7:24 AM, Lukas Rytz wrote:
> http://scala-webapps.epfl.ch/hudson/job/scala-nightly-five/40/console
>
> caused by the addition of
>
>   def isEmpty = path.length == 0
>
> to io.Path

Actually, no, on the contrary, that change carefully avoided using
String.isEmpty. The real culprit has been there for a while.

Cheers,

Miles

milessabin
Joined: 2008-08-11,
User offline. Last seen 33 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

On Tue, Nov 17, 2009 at 8:47 AM, Miles Sabin wrote:
> On Tue, Nov 17, 2009 at 7:24 AM, Lukas Rytz wrote:
>> http://scala-webapps.epfl.ch/hudson/job/scala-nightly-five/40/console
>>
>> caused by the addition of
>>
>>   def isEmpty = path.length == 0
>>
>> to io.Path
>
> Actually, no, on the contrary, that change carefully avoided using
> String.isEmpty. The real culprit has been there for a while.

Ahh ... OK, I misread the error message.

So it seems that the String.isEmpty problem can manifest itself in
more way than just a runtime error ... here it's a compile time error
due to the presence/absence of the method on String leading to the
absence/presence of an extra implicit, in the latter case leading to
the ambiguity reported.

I'm just about to commit a fix which replaces the use of isEmpty here
with _.length == 0, but that only addresses the runtime problem. It
really doesn't feel as though I should be forced to revert the
addition of Path.isEmpty ... it's a perfectly reasonable method with a
perfectly reasonable name.

So what's the right way of dealing with this?

Cheers,

Miles

Kevin Wright
Joined: 2009-06-09,
User offline. Last seen 49 weeks 3 days ago.
Re: First candidate for 2.8.0 beta


On Tue, Nov 17, 2009 at 9:01 AM, Miles Sabin <miles@milessabin.com> wrote:
On Tue, Nov 17, 2009 at 8:47 AM, Miles Sabin <miles@milessabin.com> wrote:
> On Tue, Nov 17, 2009 at 7:24 AM, Lukas Rytz <lukas.rytz@epfl.ch> wrote:
>> http://scala-webapps.epfl.ch/hudson/job/scala-nightly-five/40/console
>>
>> caused by the addition of
>>
>>   def isEmpty = path.length == 0
>>
>> to io.Path
>
> Actually, no, on the contrary, that change carefully avoided using
> String.isEmpty. The real culprit has been there for a while.

Ahh ... OK, I misread the error message.

So it seems that the String.isEmpty problem can manifest itself in
more way than just a runtime error ... here it's a compile time error
due to the presence/absence of the method on String leading to the
absence/presence of an extra implicit, in the latter case leading to
the ambiguity reported.

I'm just about to commit a fix which replaces the use of isEmpty here
with _.length == 0, but that only addresses the runtime problem. It
really doesn't feel as though I should be forced to revert the
addition of Path.isEmpty ... it's a perfectly reasonable method with a
perfectly reasonable name.

So what's the right way of dealing with this?

I don't think there is a "right way"Current scala source has 1.5 and 1.6 code in separate trees which are merged at compile time...
If this is for the IO in incubator, I'd be willing to get my jdk-annotation-plugin completed so long as you're willing to give it a test run...seems only fair, as I test the compiler plugin... :) I could possibly even have something for you today
 
Cheers,


Miles

--
Miles Sabin
tel: +44 (0)7813 944 528
skype:  milessabin
http://www.chuusai.com/
http://twitter.com/milessabin

milessabin
Joined: 2008-08-11,
User offline. Last seen 33 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

On Tue, Nov 17, 2009 at 9:33 AM, Kevin Wright
wrote:
> If this is for the IO in incubator, I'd be willing to get my
> jdk-annotation-plugin completed so long as you're willing to give it a test
> run

No, this is for scala.tools.nsc.io.Path ... but since the code in the
incubator was derived from that it would inherit the same problem if
Path.isEmpty were added.

Cheers,

Miles

Kevin Wright
Joined: 2009-06-09,
User offline. Last seen 49 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

Well the offer's there if you want it.
Of course, I'm going to implement the thing regardless, it's just a
question of when :-)

On Tuesday, November 17, 2009, Miles Sabin wrote:
> On Tue, Nov 17, 2009 at 9:33 AM, Kevin Wright
> wrote:
>> If this is for the IO in incubator, I'd be willing to get my
>> jdk-annotation-plugin completed so long as you're willing to give it a test
>> run
>
> No, this is for scala.tools.nsc.io.Path ... but since the code in the
> incubator was derived from that it would inherit the same problem if
> Path.isEmpty were added.
>
> Cheers,
>
>
> Miles
>
> --
> Miles Sabin
> tel: +44 (0)7813 944 528
> skype:  milessabin
> http://www.chuusai.com/
> http://twitter.com/milessabin
>

odersky
Joined: 2008-07-29,
User offline. Last seen 45 weeks 6 days ago.
Re: First candidate for 2.8.0 beta

On Tue, Nov 17, 2009 at 10:01 AM, Miles Sabin wrote:
> On Tue, Nov 17, 2009 at 8:47 AM, Miles Sabin wrote:
>> On Tue, Nov 17, 2009 at 7:24 AM, Lukas Rytz wrote:
>>> http://scala-webapps.epfl.ch/hudson/job/scala-nightly-five/40/console
>>>
>>> caused by the addition of
>>>
>>>   def isEmpty = path.length == 0
>>>
>>> to io.Path
>>
>> Actually, no, on the contrary, that change carefully avoided using
>> String.isEmpty. The real culprit has been there for a while.
>
> Ahh ... OK, I misread the error message.
>
> So it seems that the String.isEmpty problem can manifest itself in
> more way than just a runtime error ... here it's a compile time error
> due to the presence/absence of the method on String leading to the
> absence/presence of an extra implicit, in the latter case leading to
> the ambiguity reported.
>
> I'm just about to commit a fix which replaces the use of isEmpty here
> with _.length == 0, but that only addresses the runtime problem. It
> really doesn't feel as though I should be forced to revert the
> addition of Path.isEmpty ... it's a perfectly reasonable method with a
> perfectly reasonable name.
>
> So what's the right way of dealing with this?
>
It seems the implicit space is getting overcrowded here. Since isEmpty
is a method on Strings, it seems we need to choose one of three
things:

- avoid all added String methods for paths (that means, all methods in Seq).
- drop the implicit conversion from strings to paths (my favorite, currently)
- make the implicit conversion from strings to paths have even less
priority than the
conversion from strings to wrappedStrings, or stringOps. That means
it would have to
go into something like ReallyLowPritorityConversions. That's my
least favorite solution.

Cheers

extempore
Joined: 2008-12-17,
User offline. Last seen 35 weeks 3 days ago.
Re: First candidate for 2.8.0 beta

On Tue, Nov 17, 2009 at 11:11:41AM +0100, martin odersky wrote:
> - drop the implicit conversion from strings to paths (my favorite,
> currently)

This is no problem with me, as you can see from my comment I anticipated
it might lead to problems (although this isn't the one I'd have seen
coming.)

// not certain these won't be problematic, but looks good so far
implicit def string2path(s: String): Path = apply(s)
implicit def jfile2path(jfile: JFile): Path = apply(jfile)

But it's a shame because from the perspective of Path, the conversion
from String is totally unambiguous, and that's as much as it's trying to
impart. Poor innocent Path isn't interesting in conflicting with
anyone, he just thinks that if a method takes Path you should be able to
pass a String, and val p: Path = "/foo/bar" should work. There's no
reason whatsoever that those usages would conflict with anything, but I
guess there's no way to achieve them without also seeming like Path is
trying to plant its methods on String.

> That means it would have to go into something like
> ReallyLowPritorityConversions.

That sounds like a non-starter, but even the limited ability to control
implicits afforded by the subclass rule has been such a godsend, I bet
that somewhere down the road a redesign will suggest itself which gives
us a means to get what we're after without individual methods like
isEmpty lurching out of nowhere to stab us.

"Scala: How LowPriority Can You Go?"

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland