Hi, As "now is the time to improve names", I suggest to change the Actor names in lift-common:
SimpleActor -> Receiver SimplestActor -> DefaultReceiver TypedActor -> Actor GenericActor -> BaseActor SimplestGenericActor -> DefaultActor Heiko 2009/11/16 Kris Nuttycombe <[email protected]> > > Hi, all, > > This is just a starting point for debate with a hope of eventual > consensus on something that's ultimately somewhat trivial matter. > Since style is currently a topic of discussion on the main scala-users > list, I thought it an appropriate time to bring it up. > > Lift is one of the most prominent, perhaps the most prominent Scala > applications in current existence, and as such I think it has a > significant role to play in exemplifying good Scala style. At the same > time, Lift has also been developed over the course of its' developers > familiarization with the language, and so it displays some occasional > stylistic warts. At the same time, major changes coming with Scala > 2.8, particularly named & default parameters, may be something we want > to take advantage of in ways that may have a substantial effect on > usability of our APIs. > > I guess my general question is, how does the Lift community want to > deal with the stylistic warts and naming inconsistencies, and how do > we want to go about integrating some of these new features? In some > cases, we may be able to use a strategy of giving some operations new > names and deprecating the old, but in others this might lead to some > really hacky looking APIs since we've already got good names, and > changing their signatures might break a lot of code. Also, what are > the big warts on Lift that ought to be resolved by renames or > named/default parameters? > > Two naming issues that have come up recently in Lift internal > discussions follow: > > First, Alex Boisvert suggested that S.init be renamed to S.doWith to > have more consistency with Req and LiftSession. At least internally, I > think that the consensus was that this wasn't necessarily appropriate. > > Second, I suggested the deprecation of the pattern of using apply() on > AnyVar to provide setter functionality, since to me using something > that looks like function application to do a mutation seems > ill-conceived. My initial suggestion was to piggyback our > functionality on the update() rewriting that is done by Scala, but on > further reflection and David's feedback I realized that this would be > even uglier since you'd have to use myRequestVar() = "foo". So, what > would folks think about defining the symbolic method ":=" on both > AnyVal and within the Mapper framework instead, with the goal of > eventual deprecation of the apply style? > > Thirdly, I would like to propose that any "marker" traits (i.e. traits > that declare no methods) within Lift either be sealed, or have the > relevant methods tailored to the shared functionality they represent > added (or both.) Match errors can be nasty, and sealing the traits > (providing an extension point for users if need be) can help the > compiler help us to eliminate that class of errors. > > Fourth, in compiling the Lift source I see far more warnings related > to type erasure in match statements than I'm strictly comfortable > with. My personal plan is to start working through these and > eliminating them where possible, but in general I think that we as a > community should start running all of our builds with all warnings > enabled, and strive to eliminate them. The Scala type system can be > complicated, but in my experience it is virtually always possible to > avoid such warnings (and type unsafety!) with a bit of extra thought. > The less we subvert the type system, the less likely we are to have > unexpected errors. > > Kris > > --~--~---------~--~----~------------~-------~--~----~ > You received this message because you are subscribed to the Google Groups > "Lift" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<liftweb%[email protected]> > For more options, visit this group at > http://groups.google.com/group/liftweb?hl=en > -~----------~----~----~----~------~----~------~--~--- > > -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/liftweb?hl=.
