Lift & Scala 2.7.2-rc1

1 view
Skip to first unread message

Marius

unread,
Sep 13, 2008, 8:47:57 AM9/13/08
to Lift
Hi,

Has anyone tried to compile lift with Scala 2.7.2-rc1 ? I just did and
the only change I had to do was in CometActor

object ActorWatcher extends Actor {
def act = loop {
react {
case Exit(actor, why: Throwable) =>
failureFuncs.foreach(f => tryo(f(actor.asInstanceOf[Actor],
why)))

case _ =>
}
}


... now Exit takes an AbstractActor instead of an Actor and I had to
narrow it down.

Did anyone find out anything else ?

P.S.
I'm not suggesting to switch to 2.7.2 until it i final but I think we
should kind of keep an eye on it ...

Br's,
Marius

David Pollak

unread,
Sep 13, 2008, 9:40:07 AM9/13/08
to lif...@googlegroups.com
Marius,

Jorge has a 2.7.2 branch that he's actively maintaining.

Thanks,

David

Tim Perrett

unread,
Sep 13, 2008, 9:55:00 AM9/13/08
to lif...@googlegroups.com
Oh cool - I tried 2.7.2 the other day and lift bombed massively.
What's the ETA for scala 2.7.2? I guess it would be good to know to
what extent it will affect the lift API when it moves to a proper
release?

Cheers

Tim

David Pollak

unread,
Sep 13, 2008, 9:59:55 AM9/13/08
to lif...@googlegroups.com


Tim Perrett wrote:
Oh cool - I tried 2.7.2 the other day and lift bombed massively.  
What's the ETA for scala 2.7.2? I guess it would be good to know to  
what extent it will affect the lift API when it moves to a proper  
release?
  
As close to not at all as possible.  Jorge can chime in on this, but there'll be little to no change to Lift apps resulting from 2.7.2  The biggest API changes in 2.7.2 are Actor related and Philipp Haller was kind enough to check with me before implementing the breaking changes.

Marius

unread,
Sep 13, 2008, 3:00:45 PM9/13/08
to Lift
Very cool ! ... forgot about that :(

Jorge Ortiz

unread,
Sep 16, 2008, 3:28:10 AM9/16/08
to lif...@googlegroups.com
Hey Folks,

There are indeed two Git branches dedicated to tracking Scala
releases. Right now there are 'scala-snapshot' and 'scala-2.7.2.RC1',
which compile against those respective targets. (Unfortunately there's
a compiler bug in RC1, fixed in the latest nightly, that crashes when
compiling lift-xmpp.) I'll make a 'scala-2.7.2.RC2' branch as soon as
that release is made.

Up until this AbstractActor issue came up, only some minor cosmetic
changes were needed. I believe the two major changes in Scala 2.7.2
(as far as Lift is concerned) are:
1) Java varargs now work just like Scala varargs (this cleaned up
some Lift code a bit)
2) Lowercase types (int, boolean, char, etc) are deprecated in favor
of their uppercase equivalents (Int, Boolean, Char, etc)

As for AbstractActor, it seems cleaner to restrict the type of 'actor'
in the pattern matching statement, like so:

def act = loop {
react {

case Exit(actor: Actor, why: Throwable) =>
failureFuncs.foreach(f => tryo(f(actor, why)))

case _ =>
}
}

I've included the code in the git branches.

--j

Reply all
Reply to author
Forward
0 new messages