On Mon, Nov 16, 2009 at 11:59 AM, Kris Nuttycombe <kris.nuttyco...@gmail.com > wrote:
> 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. > Just to clarify, I think DavidP's position was that it's wasn't worth breaking code for this rename and that it wasn't entirely clear that S.doWith() was appropriate given there's also S.initIfUninitted(). Personally, I think S.doWith() and S.doWithUnlessInitted() would be better names but I can appreciate that people want the least amount of breaking changes from one release to another. Deprecation warnings would be good but complexify the codebase in the near term... I don't feel strongly about this either way. Just curious about what other people think with respect to this small but breaking changes. 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? > I'm all for this, including using :=. > 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. > Agreed. > 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. > Agreed. alex --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---