<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-20934</id>
	<title>Nabble - Scala Programming Language</title>
	<updated>2009-11-11T20:14:47Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Scala-Programming-Language-f20934.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Scala-Programming-Language-f20934.html" />
	<subtitle type="html">&lt;a href=&quot;http://www.scala-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Scala&lt;/a&gt;&amp;nbsp;is a modern multi-paradigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages.
&lt;br&gt;&lt;b&gt;Scala&lt;/b&gt;&amp;nbsp;is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits. Class abstractions are extended by subclassing and a flexible mixin-based composition mechanism as a clean replacement for multiple inheritance.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26313181</id>
	<title>Re: Why does this compile?</title>
	<published>2009-11-11T20:14:47Z</published>
	<updated>2009-11-11T20:14:47Z</updated>
	<author>
		<name>Nils Kilden-Pedersen</name>
	</author>
	<content type="html">&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 9:56 PM, Brian Maso &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26313181&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brian@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Irregardless of how its implemented on the JVM, I wouldn&amp;#39;t think you should be allowed to have these two method signatures in the same class. Clearly there would be an ambiguity -- what type should &amp;quot;f&amp;quot; be here? It can&amp;#39;t be inferred.&lt;br&gt;


&lt;br&gt;val f = bar(5);&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;Is it ambiguous? Isn&amp;#39;t a trailing underscore *required* for currying?&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---User-f30217.html&quot; embed=&quot;fixTarget[30217]&quot; target=&quot;_top&quot; &gt;Scala - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Why-does-this-compile--tp26311749p26313181.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26313060</id>
	<title>Re: Why does this compile?</title>
	<published>2009-11-11T19:56:08Z</published>
	<updated>2009-11-11T19:56:08Z</updated>
	<author>
		<name>Brian Maso</name>
	</author>
	<content type="html">Irregardless of how its implemented on the JVM, I wouldn&amp;#39;t think you should be allowed to have these two method signatures in the same class. Clearly there would be an ambiguity -- what type should &amp;quot;f&amp;quot; be here? It can&amp;#39;t be inferred.&lt;br&gt;
&lt;br&gt;val f = bar(5);&lt;br&gt;&lt;br&gt;I guess someone will have to dig in to the Scala lang spec to prove it is/is not allowed.&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Brian Maso&lt;br&gt;(949) 395-8551&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26313060&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brian@...&lt;/a&gt;&lt;br&gt;
twitter: @bmaso&lt;br&gt;skype: brian.maso&lt;br&gt;LinkedIn: &lt;a href=&quot;http://www.linkedin.com/in/brianmaso&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.linkedin.com/in/brianmaso&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 6:17 PM, Rex Kerr &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26313060&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ichoran@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;I suspect that it compiles because the second one merges the multiple parameter lists to&lt;div class=&quot;im&quot;&gt;
&lt;br&gt;  def bar(i:Int , f:Float)&lt;br&gt;&lt;/div&gt;which is a valid overloading of bar.&lt;br&gt;&lt;br&gt;Unfortunately, the compiler is then confused because it likes to be able to convert this to&lt;br&gt;
  bar: (i:Int) =&amp;gt; ( (f:Float)=&amp;gt;Unit )&lt;br&gt;by creating a class like so:&lt;br&gt;  class F(i:Int) { def apply(f:Float) = bar(i,f) }&lt;br&gt;i.e. by converting the parameter lists to separate function applications.&lt;br&gt;&lt;br&gt;But now it&amp;#39;s faced with two valid interpretations of bar(i:Int), which is what you see when you write the code, and which is what might make you think that it shouldn&amp;#39;t compile.&lt;br&gt;

&lt;br&gt;(On the .class file side, though, I&amp;#39;d think that&lt;div class=&quot;im&quot;&gt;&lt;br&gt;  def bar(i:Int) (f:Float) = println(i*f)&lt;br&gt;  def bar(i:Int,f:Float) = println(i+f)&lt;br&gt;&lt;/div&gt;would be the one that conflicts, however; how does Scala keep this straight?)&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;
&lt;br&gt;  --Rex&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div class=&quot;im&quot;&gt;On Wed, Nov 11, 2009 at 8:04 PM, Nils Kilden-Pedersen &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26313060&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nilskp@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Someone please explain to my feeble mind why this compiles:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;object Foo {&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  def bar(i: Int) = println(i)&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;



&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  def bar(i: Int) (f: Float) = println(i*f)&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;}&lt;/span&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---User-f30217.html&quot; embed=&quot;fixTarget[30217]&quot; target=&quot;_top&quot; &gt;Scala - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Why-does-this-compile--tp26311749p26313060.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26312968</id>
	<title>Re: Why does this compile?</title>
	<published>2009-11-11T19:43:33Z</published>
	<updated>2009-11-11T19:43:33Z</updated>
	<author>
		<name>Nils Kilden-Pedersen</name>
	</author>
	<content type="html">&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 7:36 PM, Dean Wampler &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26312968&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;deanwampler@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Looks like a bug to me, as there appears to be no way to reference the second definition without an &amp;quot;ambiguous reference&amp;quot; error.&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Actually neither can be referenced, at least on 2.8 trunk. &lt;br&gt;

&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---User-f30217.html&quot; embed=&quot;fixTarget[30217]&quot; target=&quot;_top&quot; &gt;Scala - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Why-does-this-compile--tp26311749p26312968.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26312331</id>
	<title>Re: Why does this compile?</title>
	<published>2009-11-11T18:17:47Z</published>
	<updated>2009-11-11T18:17:47Z</updated>
	<author>
		<name>Rex Kerr-2</name>
	</author>
	<content type="html">I suspect that it compiles because the second one merges the multiple parameter lists to&lt;br&gt;  def bar(i:Int , f:Float)&lt;br&gt;which is a valid overloading of bar.&lt;br&gt;&lt;br&gt;Unfortunately, the compiler is then confused because it likes to be able to convert this to&lt;br&gt;
  bar: (i:Int) =&amp;gt; ( (f:Float)=&amp;gt;Unit )&lt;br&gt;by creating a class like so:&lt;br&gt;  class F(i:Int) { def apply(f:Float) = bar(i,f) }&lt;br&gt;i.e. by converting the parameter lists to separate function applications.&lt;br&gt;&lt;br&gt;But now it&amp;#39;s faced with two valid interpretations of bar(i:Int), which is what you see when you write the code, and which is what might make you think that it shouldn&amp;#39;t compile.&lt;br&gt;
&lt;br&gt;(On the .class file side, though, I&amp;#39;d think that&lt;br&gt;  def bar(i:Int) (f:Float) = println(i*f)&lt;br&gt;  def bar(i:Int,f:Float) = println(i+f)&lt;br&gt;would be the one that conflicts, however; how does Scala keep this straight?)&lt;br&gt;
&lt;br&gt;  --Rex&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 8:04 PM, Nils Kilden-Pedersen &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26312331&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nilskp@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Someone please explain to my feeble mind why this compiles:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;object Foo {&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  def bar(i: Int) = println(i)&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;


&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  def bar(i: Int) (f: Float) = println(i*f)&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;}&lt;/span&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---User-f30217.html&quot; embed=&quot;fixTarget[30217]&quot; target=&quot;_top&quot; &gt;Scala - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Why-does-this-compile--tp26311749p26312331.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26312198</id>
	<title>Re: XmlResponse with cookies</title>
	<published>2009-11-11T18:01:10Z</published>
	<updated>2009-11-11T18:01:10Z</updated>
	<author>
		<name>Atsuhiko Yamanaka-2</name>
	</author>
	<content type="html">&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;On Wed, Nov 11, 2009 at 7:30 PM, Timothy Perrett
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26312198&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;timothy@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Wouldn't a more appropriate idiom be to use overloaded apply methods in a companion object?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That is:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; def apply(node: NodeSeq): XmlResponse
&lt;br&gt;&amp;gt; def apply(node: NodeSeq, cookies: List[HTTPCookie]): XmlResponse
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thoughts?
&lt;br&gt;&lt;br&gt;As for further enhancements, I prefer named and default arguments to
&lt;br&gt;several apply methods. &amp;nbsp;For example,
&lt;br&gt;&lt;br&gt;case class XmlResponse(xml: Node,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;docType:Box[String] = Empty,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;code:Int = 200,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cookies:List[HTTPCookie] = Nil)
&lt;br&gt;extends NodeResponse {
&lt;br&gt;&amp;nbsp; def headers = List(&amp;quot;Content-Type&amp;quot; -&amp;gt; &amp;quot;text/xml; charset=utf-8&amp;quot;
&lt;br&gt;&amp;nbsp; def out = xml
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;and we will have
&lt;br&gt;&amp;nbsp; XmlResponse(&amp;lt;foo /&amp;gt;, cookies = S.responseCookies)
&lt;br&gt;&lt;br&gt;Of course, it must wait for Liftweb 1.1 release.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Sincerely,
&lt;br&gt;--
&lt;br&gt;Atsuhiko Yamanaka
&lt;br&gt;JCraft,Inc.
&lt;br&gt;1-14-20 HONCHO AOBA-KU,
&lt;br&gt;SENDAI, MIYAGI 980-0014 Japan.
&lt;br&gt;Tel +81-22-723-2150
&lt;br&gt;&amp;nbsp; &amp;nbsp; +1-415-578-3454
&lt;br&gt;Skype callto://jcraft/
&lt;br&gt;Twitter: &lt;a href=&quot;http://twitter.com/ymnk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/ymnk&lt;/a&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26312198&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26312198&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/XmlResponse-with-cookies-tp26299043p26312198.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26312013</id>
	<title>Re: Why does this compile?</title>
	<published>2009-11-11T17:36:36Z</published>
	<updated>2009-11-11T17:36:36Z</updated>
	<author>
		<name>Dean Wampler-2</name>
	</author>
	<content type="html">Looks like a bug to me, as there appears to be no way to reference the second definition without an &amp;quot;ambiguous reference&amp;quot; error.&lt;div&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 7:04 PM, Nils Kilden-Pedersen &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26312013&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nilskp@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;Someone please explain to my feeble mind why this compiles:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family:courier new,monospace&quot;&gt;object Foo {&lt;/span&gt;&lt;br style=&quot;font-family:courier new,monospace&quot;&gt;
&lt;span style=&quot;font-family:courier new,monospace&quot;&gt;  def bar(i: Int) = println(i)&lt;/span&gt;&lt;br style=&quot;font-family:courier new,monospace&quot;&gt;

&lt;span style=&quot;font-family:courier new,monospace&quot;&gt;  def bar(i: Int) (f: Float) = println(i*f)&lt;/span&gt;&lt;br style=&quot;font-family:courier new,monospace&quot;&gt;&lt;span style=&quot;font-family:courier new,monospace&quot;&gt;}&lt;/span&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Dean Wampler&lt;br&gt;coauthor of &amp;quot;Programming Scala&amp;quot; (O&amp;#39;Reilly)&lt;br&gt;-  &lt;a href=&quot;http://programmingscala.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://programmingscala.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;twitter: @deanwampler, @chicagoscala&lt;br&gt;
blog: &lt;a href=&quot;http://blog.polyglotprogramming.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.polyglotprogramming.com&lt;/a&gt;&lt;br&gt;Chicago-Area Scala Enthusiasts (CASE):&lt;br&gt;-  &lt;a href=&quot;http://groups.google.com/group/chicagoscala&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/chicagoscala&lt;/a&gt;&lt;br&gt;
-  &lt;a href=&quot;http://www.meetup.com/chicagoscala/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.meetup.com/chicagoscala/&lt;/a&gt; (Meetings)&lt;br&gt;&lt;a href=&quot;http://www.linkedin.com/in/deanwampler&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.linkedin.com/in/deanwampler&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.polyglotprogramming.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.polyglotprogramming.com&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://aquarium.rubyforge.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://aquarium.rubyforge.org&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.contract4j.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.contract4j.org&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---User-f30217.html&quot; embed=&quot;fixTarget[30217]&quot; target=&quot;_top&quot; &gt;Scala - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Why-does-this-compile--tp26311749p26312013.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26311749</id>
	<title>Why does this compile?</title>
	<published>2009-11-11T17:04:52Z</published>
	<updated>2009-11-11T17:04:52Z</updated>
	<author>
		<name>Nils Kilden-Pedersen</name>
	</author>
	<content type="html">Someone please explain to my feeble mind why this compiles:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;object Foo {&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  def bar(i: Int) = println(i)&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;

&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  def bar(i: Int) (f: Float) = println(i*f)&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;}&lt;/span&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---User-f30217.html&quot; embed=&quot;fixTarget[30217]&quot; target=&quot;_top&quot; &gt;Scala - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Why-does-this-compile--tp26311749p26311749.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26311341</id>
	<title>Re: How to use Box</title>
	<published>2009-11-11T16:28:32Z</published>
	<updated>2009-11-11T16:28:32Z</updated>
	<author>
		<name>Naftoli Gugenheim</name>
	</author>
	<content type="html">&lt;br&gt;What do you want to happen if you call &amp;quot;value&amp;quot; on an Empty?
&lt;br&gt;&lt;br&gt;-------------------------------------
&lt;br&gt;Ferdinand Chan&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311341&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;uniquefer@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&lt;br&gt;Wondering what's the normal practice of using a Box. As a Java
&lt;br&gt;developer, I always want to get the boxed value by a method named
&lt;br&gt;&amp;quot;Value&amp;quot; like
&lt;br&gt;&lt;br&gt;val optionalContent = Full(&amp;quot;This is optional&amp;quot;)
&lt;br&gt;&lt;br&gt;Log.info( &amp;quot; The optional content is &amp;quot; + optionalContent.value)
&lt;br&gt;&lt;br&gt;But I know its not a valid way to do so in lift ( same for Option in
&lt;br&gt;Scala)
&lt;br&gt;&lt;br&gt;From the book programming in Scala , there's an example
&lt;br&gt;&lt;br&gt;val withDefault: Option[Int] =&amp;gt; Int = {
&lt;br&gt;case Some(x) =&amp;gt; x
&lt;br&gt;case None =&amp;gt; 0
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;which suggest the use of match to retrieve the value of the boxed
&lt;br&gt;content. It make sense to me and I'm totally agree with the advantage
&lt;br&gt;of using match + option (Box) combination.
&lt;br&gt;&lt;br&gt;However, as a newbie to Scala, I'm so tempted to use something
&lt;br&gt;like .Value to retrieve the box value .
&lt;br&gt;&lt;br&gt;So, what's the normal way to use Box ?? Could someone kindly provide
&lt;br&gt;some example on how to use ? I tried to look through some source code
&lt;br&gt;of Lift but its not easy for a newbie :)
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311341&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311341&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-use-Box-tp26310073p26311341.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26311194</id>
	<title>Re: 503 for url: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</title>
	<published>2009-11-11T16:07:48Z</published>
	<updated>2009-11-11T16:07:48Z</updated>
	<author>
		<name>chris9955</name>
	</author>
	<content type="html">&lt;br&gt;Sorry for what may seem like a stupid question, but I am very new to
&lt;br&gt;scala/lift.
&lt;br&gt;&lt;br&gt;PCDataXmlParser solved my issue with w3 dtd but I am now getting a
&lt;br&gt;parse error when I get a http stream.
&lt;br&gt;&lt;br&gt;:96:5: '&amp;lt;' not allowed in attrib valuegoogle_ad_type =
&lt;br&gt;&amp;quot;text_image&amp;quot;; &amp;nbsp; &amp;nbsp;^
&lt;br&gt;Exception in thread &amp;quot;main&amp;quot; java.lang.ExceptionInInitializerError
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ca.ctrlspace.loveItHateItWeb.xml.UpcDatabaseFeed.main
&lt;br&gt;(UpcDatabaseFeed.scala)
&lt;br&gt;Caused by: java.lang.IllegalArgumentException: line 97 does not exist
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at scala.io.Source.getLine(Source.scala:280)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at scala.io.Source.report(Source.scala:368)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at scala.io.Source.reportError(Source.scala:355)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at scala.io.Source.reportError(Source.scala:344)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at scala.xml.parsing.MarkupParser$class.reportSyntaxError
&lt;br&gt;(MarkupParser.scala:1113)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at net.liftweb.util.PCDataXmlParser.reportSyntaxError
&lt;br&gt;(PCDataMarkupParser.scala:91)
&lt;br&gt;&lt;br&gt;it looks like the following is causing this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;!--
&lt;br&gt;google_ad_client = &amp;quot;pub-2938286402422382&amp;quot;;
&lt;br&gt;google_ad_width = 160;
&lt;br&gt;google_ad_height = 600;
&lt;br&gt;google_ad_format = &amp;quot;160x600_as&amp;quot;;
&lt;br&gt;google_ad_type = &amp;quot;text_image&amp;quot;;
&lt;br&gt;google_ad_channel = &amp;quot;&amp;quot;;
&lt;br&gt;google_color_border = &amp;quot;ffffff&amp;quot;;
&lt;br&gt;google_color_bg = &amp;quot;ffffff&amp;quot;;
&lt;br&gt;google_color_link = &amp;quot;0000cc&amp;quot;;
&lt;br&gt;google_color_url = &amp;quot;0000cc&amp;quot;;
&lt;br&gt;google_color_text = &amp;quot;000000&amp;quot;;
&lt;br&gt;//--&amp;gt;&amp;lt;/script&amp;gt;
&lt;br&gt;&lt;br&gt;Is it possible to ask PCDataXmlParser not to grab certain xml
&lt;br&gt;elements?
&lt;br&gt;What is the proper way to use PCDataXmlParser?
&lt;br&gt;&lt;br&gt;As an aside why does PCDataXmlParser not give the w3 dtd exception?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Chris.
&lt;br&gt;&lt;br&gt;On Nov 9, 11:33 pm, David Pollak &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311194&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;feeder.of.the.be...@...&lt;/a&gt;&amp;gt;
&lt;br&gt;wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; It's not an issue of Lift's output working with XML.load, it's an issue of
&lt;br&gt;&amp;gt; the W3C blocking the Java libraries.  This has nothing to do with Lift or
&lt;br&gt;&amp;gt; the XML Lift emits.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If you want to parse XML and not run into that problem, use
&lt;br&gt;&amp;gt; net.liftweb.util.PCDataXmlParser
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Mon, Nov 9, 2009 at 7:11 PM, Alex Black &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311194&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a...@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I read these two:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&lt;a href=&quot;http://old.nabble.com/Exception-loading-XML-with-DTD-td25213294.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Exception-loading-XML-with-DTD-td25213294.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&lt;a href=&quot;http://stackoverflow.com/questions/1096285/is-scala-java-not-respecti&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://stackoverflow.com/questions/1096285/is-scala-java-not-respecti&lt;/a&gt;...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Not sure what the answer is, some ugly work arounds are presented...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Presumably Lift's XML output *should* work with XML.Load?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; - Alex
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Nov 9, 10:01 pm, Naftoli Gugenheim &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311194&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;naftoli...@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Don't know but it's been asked so you should be able to search for it;
&lt;br&gt;&amp;gt; &amp;gt; I'm not sure whether on this list or scala-user or both.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; -------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Alex Black&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311194&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a...@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Exception:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; java.io.IOException: Server returned HTTP response code: 503 for URL:
&lt;br&gt;&amp;gt; &amp;gt;&lt;a href=&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at sun.net.www.protocol.http.HttpURLConnection.getInputStream
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (HttpURLConnection.java:1313)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XMLEntityManager.java:677)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XMLEntityManager.java:1315)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XMLEntityManager.java:1282)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XMLDTDScannerImpl.java:283)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; $DTDDriver.dispatch(XMLDocumentScannerImpl.java:1193)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; $DTDDriver.next(XMLDocumentScannerImpl.java:1090)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; $PrologDriver.next(XMLDocumentScannerImpl.java:1003)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XMLDocumentScannerImpl.java:648)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scan Document
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XMLDocumentFragmentScannerImpl.java:510)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XML11Configuration.java:807)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XML11Configuration.java:737)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (XMLParser.java:107)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (AbstractSAXParser.java:1205)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; $JAXPSAXParser.parse(SAXParserImpl.java:522)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; scala.xml.parsing.FactoryAdapter.loadXML(FactoryAdapter.scala:292)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at scala.xml.parsing.NoBindingFactoryAdapter.loadXML
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (NoBindingFactoryAdapter.scala:60)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at scala.xml.XML$.load(XML.scala:72)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; com.snapsort.dataServer.api.ServerTest$$anonfun$testBasic$1.apply
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (ServerTest.scala:16)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; com.snapsort.dataServer.api.ServerTest$$anonfun$testBasic$1.apply
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (ServerTest.scala:14)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at com.snapsort.common.Using$.apply(Using.scala:12)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; com.snapsort.dataServer.api.ServerTest.testBasic(ServerTest.scala:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 14)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at sun.reflect.NativeMethodAccessorImpl.invoke
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (NativeMethodAccessorImpl.java:39)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at sun.reflect.DelegatingMethodAccessorImpl.invoke
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (DelegatingMethodAccessorImpl.java:25)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at java.lang.reflect.Method.invoke(Method.java:597)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at junit.framework.TestCase.runTest(TestCase.java:168)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at junit.framework.TestCase.runBare(TestCase.java:134)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at junit.framework.TestResult$1.protect(TestResult.java:110)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at junit.framework.TestResult.runProtected(TestResult.java:128)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at junit.framework.TestResult.run(TestResult.java:113)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at junit.framework.TestCase.run(TestCase.java:124)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at junit.framework.TestSuite.runTest(TestSuite.java:232)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at junit.framework.TestSuite.run(TestSuite.java:227)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at org.junit.internal.runners.JUnit38ClassRunner.run
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (JUnit38ClassRunner.java:83)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (JUnit4TestReference.java:46)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at org.eclipse.jdt.internal.junit.runner.TestExecution.run
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (TestExecution.java:38)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (RemoteTestRunner.java:467)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt; &amp;gt; org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (RemoteTestRunner.java:683)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (RemoteTestRunner.java:390)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (RemoteTestRunner.java:197)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; On Nov 9, 9:43 pm, Alex Black &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311194&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a...@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Hi, I'm attempting to write a basic unit test for a webservice I'm
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; implementing in Lift, by test looks like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;       val foo = XML.load(&amp;quot;&lt;a href=&quot;http://localhost:8080&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost:8080&lt;/a&gt;&amp;quot;)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I'm getting an exception I assume because the XML parser is trying to
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; download the DTD and is getting denied.  Whats the best way to work
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; around this?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; - Alex
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Lift, the simply functional web frameworkhttp://liftweb.net
&lt;br&gt;&amp;gt; Beginning Scalahttp://www.apress.com/book/view/1430219890
&lt;br&gt;&amp;gt; Follow me:&lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;&amp;gt; Surf the harmonics
&lt;/div&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311194&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311194&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/503-for-url%3A-http%3A--www.w3.org-TR-xhtml1-DTD-xhtml1-transitional.dtd-tp26277448p26311194.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26311156</id>
	<title>ReviewBoard upgrade</title>
	<published>2009-11-11T16:06:09Z</published>
	<updated>2009-11-11T16:06:09Z</updated>
	<author>
		<name>Derek Chen-Becker-4</name>
	</author>
	<content type="html">I&amp;#39;ll be working in the morning (US Mountain time) on upgrading ReviewBoard, just in case anyone notices any hiccups.&lt;br&gt;&lt;br&gt;Derek&lt;br&gt;&lt;br&gt;
--~--~---------~--~----~------------~-------~--~----~&lt;br&gt;
You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group. &lt;br&gt; To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311156&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt; &lt;br&gt; To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311156&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt; &lt;br&gt; For more options, visit this group at http://groups.google.com/group/liftweb?hl=en&lt;br&gt;
-~----------~----~----~----~------~----~------~--~---&lt;br&gt;
&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ReviewBoard-upgrade-tp26311156p26311156.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310899</id>
	<title>Re: New Milestone coming soon</title>
	<published>2009-11-11T15:40:24Z</published>
	<updated>2009-11-11T15:40:24Z</updated>
	<author>
		<name>Jim McBeath-4</name>
	</author>
	<content type="html">&lt;br&gt;OracleDriver doesn't work with CRUDify when attempting to view a
&lt;br&gt;list of entries, it gets an SQL error due to use of LIMIT/OFFSET,
&lt;br&gt;which Oracle does not support. &amp;nbsp;Defining brokenLimit_? = true
&lt;br&gt;in OracleDriver makes it work for me. &amp;nbsp;I can do this myself by including
&lt;br&gt;my own copy of Driver.scala, so I don't know if it counts as critical,
&lt;br&gt;but it seems like a pretty localized (and thus low-risk) change.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jim
&lt;br&gt;&lt;br&gt;On Wed, Nov 11, 2009 at 11:54:46AM -0800, David Pollak wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Date: Wed, 11 Nov 2009 11:54:46 -0800
&lt;br&gt;&amp;gt; From: David Pollak &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310899&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;feeder.of.the.bears@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: liftweb &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310899&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Subject: [Lift] New Milestone coming soon
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Folks,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;There are two critical issues with M7:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Issue 164Â &lt;a href=&quot;http://github.com/dpp/liftweb/issues#issue/164&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/dpp/liftweb/issues#issue/164&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Â JSON/Ajax messages do not carry Notices back to the client.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* The Session manager is not initialized properly. Â Basically, this
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;means that sessions will be expired by the web container, but not
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;by Lift and GUIDs that map to functions on the server side are not
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;removed until the session is terminated.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;We're planning to do an M7.1 release later this week (probably Friday).
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;If there are other *critical* defects (stuff that means you can't use
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;M7 in production), please speak now.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Thanks,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;David
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;--
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lift, the simply functional web framework &lt;a href=&quot;http://liftweb.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Beginning Scala &lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apress.com/book/view/1430219890&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Follow me: &lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Surf the harmonics
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;/div&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310899&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310899&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/New-Milestone-coming-soon-tp26307471p26310899.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310833</id>
	<title>Re: ScalaTest in Lift archetypes</title>
	<published>2009-11-11T15:33:27Z</published>
	<updated>2009-11-11T15:33:27Z</updated>
	<author>
		<name>Timothy Perrett</name>
	</author>
	<content type="html">&lt;br&gt;Bill, can I propose you and I get together at devoxx and discuss the &amp;nbsp;
&lt;br&gt;options?
&lt;br&gt;&lt;br&gt;I belive my talk is not long after yours!
&lt;br&gt;&lt;br&gt;Cheers, Tim
&lt;br&gt;&lt;br&gt;Sent from my iPhone
&lt;br&gt;&lt;br&gt;On 11 Nov 2009, at 21:50, Bill Venners &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310833&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bill@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I was talking with David Pollak the other night about putting some
&lt;br&gt;&amp;gt; ScalaTest examples into the Lift archetypes. He said I should post to
&lt;br&gt;&amp;gt; the list. Can anyone out there let me know how we might go about that?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Bill
&lt;br&gt;&amp;gt; ----
&lt;br&gt;&amp;gt; Bill Venners
&lt;br&gt;&amp;gt; Artima, Inc.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.artima.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.artima.com&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310833&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310833&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ScalaTest-in-Lift-archetypes-tp26309271p26310833.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310758</id>
	<title>Re: [scala-tools] VisualVM and Scala</title>
	<published>2009-11-11T15:26:51Z</published>
	<updated>2009-11-11T15:26:51Z</updated>
	<author>
		<name>Tony Sloane</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;&lt;div&gt;On 11/11/2009, at 8:35 PM, Iulian Dragos wrote:&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 5:38 AM, Tony Sloane &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310758&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;inkytonik@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&lt;br&gt;
Profiler Agent Error: with message: Redefinition failed with error 69&lt;br&gt;
Check JVMTI documentation for this error code.&lt;br&gt;
&lt;br&gt;
The JVMTI documentation (&lt;a href=&quot;http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ErrorSection&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ErrorSection&lt;/a&gt;)&lt;br&gt;
says that this error means&lt;br&gt;
&lt;br&gt;
JVMTI_ERROR_NAMES_DONT_MATCH (69)&lt;br&gt;
The class name defined in the new class file is different from the name in the old class object.&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Probably Scala bytecode does not follow some Java naming convention, but otherwise the error message is quite useless. Have you noticed some pattern on those class names? Are they anonymous functions or top-level objects?&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;They appear to be anonymous functions. &amp;nbsp;At least the list printed out seems to include only those. &amp;nbsp;Yet, when I pick one, then look at the original class file and the one written by the profiler agent, they seem to be the same, or at least use the same names. &amp;nbsp;I've run out of time to pursue this at the moment, but later on I may be able to get back to it and see if I can get further.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; padding-left: 1ex; position: static; z-index: auto; &quot;&gt;Each occurrence of this error (and there are many) pops up a dialog box that has to be dismissed manually. &amp;nbsp;Even if the error can be ignored without affecting the profiling results, it's not practical to dismiss it this way, so I'd like to remove the error if possible.&lt;br&gt;

&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;I would file a bug report on VisualVM, it seems like this is not an error the user should be bothered with, especially since things go well from there on. &lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Well, it's not entirely clear that things do go well. &amp;nbsp;Profiling data is produced, but given the errors, who knows exactly which classes are being run.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; padding-left: 1ex; position: static; z-index: auto; &quot;&gt;&lt;br&gt;
Any recommendations for Scala profiling tools?&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;I, and a few others in the Scala team, use YourKit. It's free for open-source projects, and works pretty well.&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks, I will take a look at YourKit.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;cheers,&lt;/div&gt;&lt;div&gt;Tony&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---Tools-f27364.html&quot; embed=&quot;fixTarget[27364]&quot; target=&quot;_top&quot; &gt;Scala - Tools&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-scala-tools--VisualVM-and-Scala-tp26295972p26310758.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310684</id>
	<title>Re: [scala] Proposed Style Guide</title>
	<published>2009-11-11T15:20:42Z</published>
	<updated>2009-11-11T15:20:42Z</updated>
	<author>
		<name>Daniel Spiewak</name>
	</author>
	<content type="html">&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&amp;quot;The Scala language encourages a startling amount of nested scopes and&lt;br&gt;


logical blocks (function values and such).&amp;quot;&lt;br&gt;
&lt;br&gt;
I think this is false. If it happens to be true, you&amp;#39;re not &amp;quot;doing it&lt;br&gt;
properly.&amp;quot;&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;It depends.  Based on my experience, Scala tends to have a lot more nested scopes than either object-oriented languages or functional languages.  I suspect the reason for this is unlike a purely-functional language, Scala functions may consist of numerous statements and expressions; and unlike an object-oriented language, Scala encourages anonymous functions, pattern matching and &amp;quot;blocks as expressions&amp;quot;, all of which tend to push up the number of scopes.  That&amp;#39;s not really &amp;quot;doing it wrong&amp;quot; where Scala is concerned, it&amp;#39;s just using the language in a way which &lt;i&gt;would&lt;/i&gt; be wrong in Java or Haskell.&lt;br&gt;

&lt;br&gt;Daniel&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala-f14147.html&quot; embed=&quot;fixTarget[14147]&quot; target=&quot;_top&quot; &gt;Scala&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-scala--Proposed-Style-Guide-tp26310456p26310684.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310616</id>
	<title>Re: [scala] Proposed Style Guide</title>
	<published>2009-11-11T15:17:10Z</published>
	<updated>2009-11-11T15:17:10Z</updated>
	<author>
		<name>Tony Morris-4</name>
	</author>
	<content type="html">&amp;quot;The Scala language encourages a startling amount of nested scopes and
&lt;br&gt;logical blocks (function values and such).&amp;quot;
&lt;br&gt;&lt;br&gt;I think this is false. If it happens to be true, you're not &amp;quot;doing it
&lt;br&gt;properly.&amp;quot;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Daniel Spiewak wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; One of the things about Scala which has always bugged me is the /lack/
&lt;br&gt;&amp;gt; of an official style guide. &amp;nbsp;There is simply no &amp;quot;right&amp;quot; way of doing
&lt;br&gt;&amp;gt; things, syntactically speaking. &amp;nbsp;Over the years, the Scala community
&lt;br&gt;&amp;gt; has attempted to fill the void (as it were) by defining a set of
&lt;br&gt;&amp;gt; unofficial, word-of-mouth conventions. &amp;nbsp;Things like when to add
&lt;br&gt;&amp;gt; parentheses to no-arg methods or what the preferred function literal
&lt;br&gt;&amp;gt; definition style may be.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This works fine for experienced Scala community members, but newcomers
&lt;br&gt;&amp;gt; to the language are understandably baffled. &amp;nbsp;This also causes a great
&lt;br&gt;&amp;gt; deal of frustration on larger Scala projects with less-experienced
&lt;br&gt;&amp;gt; Scala developers as some code will be stylized in one way, while other
&lt;br&gt;&amp;gt; code will use a different convention.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; A few months ago, I decided that I had run into this problem one too
&lt;br&gt;&amp;gt; many times, and so I took the time (with the generous support of my
&lt;br&gt;&amp;gt; employer) to create a full (-ish) style guide for Scala syntax, naming
&lt;br&gt;&amp;gt; conventions and project management. &amp;nbsp;The guidelines it contains are
&lt;br&gt;&amp;gt; based on what I have heard from the community and do not necessarily
&lt;br&gt;&amp;gt; reflect my own preferences (e.g. function types). &amp;nbsp;When in doubt about
&lt;br&gt;&amp;gt; a particular convention, I have alternately looked at Martin Odersky's
&lt;br&gt;&amp;gt; code or simply relied on my own knowledge of Java, C#, Standard ML and
&lt;br&gt;&amp;gt; Haskell conventions. &amp;nbsp;Comments and criticisms are very welcome.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I would like to submit this guide for adoption by the larger Scala
&lt;br&gt;&amp;gt; community. &amp;nbsp;I know that sounds like I'm trying to foist my opinions on
&lt;br&gt;&amp;gt; everyone else, but I'm really just hoping to get the ball rolling. 
&lt;br&gt;&amp;gt; Ideally, this guide should be used as a starting point from which a
&lt;br&gt;&amp;gt; proper, officially-blessed and better-typeset guide can be fashioned. 
&lt;br&gt;&amp;gt; Until that happens, I'm more than happy to host the guide at Code
&lt;br&gt;&amp;gt; Commit, incorporating any revisions the community as a whole deems
&lt;br&gt;&amp;gt; necessary.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The source for the guide is in reStructuredText, which is easily
&lt;br&gt;&amp;gt; convertible to distributable formats like HTML, LaTeX, TWiki markup
&lt;br&gt;&amp;gt; and more. &amp;nbsp;For convenience, I have compiled the guide to a PDF (using
&lt;br&gt;&amp;gt; rst2newlatex and pdflatex) and uploaded it along with the source. &amp;nbsp;The
&lt;br&gt;&amp;gt; document does not include a license declaration, but you can pretty
&lt;br&gt;&amp;gt; much consider the material to be Public Domain.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Enjoy!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Daniel
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; * &lt;a href=&quot;http://www.codecommit.com/scala-style-guide.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codecommit.com/scala-style-guide.txt&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; * &lt;a href=&quot;http://www.codecommit.com/scala-style-guide.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codecommit.com/scala-style-guide.pdf&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Tony Morris
&lt;br&gt;&lt;a href=&quot;http://tmorris.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://tmorris.net/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala-f14147.html&quot; embed=&quot;fixTarget[14147]&quot; target=&quot;_top&quot; &gt;Scala&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-scala--Proposed-Style-Guide-tp26310456p26310616.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310581</id>
	<title>Re: [scala] Proposed Style Guide</title>
	<published>2009-11-11T15:14:31Z</published>
	<updated>2009-11-11T15:14:31Z</updated>
	<author>
		<name>nuttycom</name>
	</author>
	<content type="html">The package naming conventions section will no longer be quite right
&lt;br&gt;after 2.8, correct? In that one will no longer need to use __root__ so
&lt;br&gt;much in imports - a package declaration will not include each level in
&lt;br&gt;the hierarchy in scope for imports, correct?
&lt;br&gt;&lt;br&gt;Kris
&lt;br&gt;&lt;br&gt;On Wed, Nov 11, 2009 at 4:02 PM, Daniel Spiewak &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310581&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;djspiewak@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; One of the things about Scala which has always bugged me is the lack of an
&lt;br&gt;&amp;gt; official style guide.  There is simply no &amp;quot;right&amp;quot; way of doing things,
&lt;br&gt;&amp;gt; syntactically speaking.  Over the years, the Scala community has attempted
&lt;br&gt;&amp;gt; to fill the void (as it were) by defining a set of unofficial, word-of-mouth
&lt;br&gt;&amp;gt; conventions.  Things like when to add parentheses to no-arg methods or what
&lt;br&gt;&amp;gt; the preferred function literal definition style may be.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This works fine for experienced Scala community members, but newcomers to
&lt;br&gt;&amp;gt; the language are understandably baffled.  This also causes a great deal of
&lt;br&gt;&amp;gt; frustration on larger Scala projects with less-experienced Scala developers
&lt;br&gt;&amp;gt; as some code will be stylized in one way, while other code will use a
&lt;br&gt;&amp;gt; different convention.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; A few months ago, I decided that I had run into this problem one too many
&lt;br&gt;&amp;gt; times, and so I took the time (with the generous support of my employer) to
&lt;br&gt;&amp;gt; create a full (-ish) style guide for Scala syntax, naming conventions and
&lt;br&gt;&amp;gt; project management.  The guidelines it contains are based on what I have
&lt;br&gt;&amp;gt; heard from the community and do not necessarily reflect my own preferences
&lt;br&gt;&amp;gt; (e.g. function types).  When in doubt about a particular convention, I have
&lt;br&gt;&amp;gt; alternately looked at Martin Odersky's code or simply relied on my own
&lt;br&gt;&amp;gt; knowledge of Java, C#, Standard ML and Haskell conventions.  Comments and
&lt;br&gt;&amp;gt; criticisms are very welcome.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I would like to submit this guide for adoption by the larger Scala
&lt;br&gt;&amp;gt; community.  I know that sounds like I'm trying to foist my opinions on
&lt;br&gt;&amp;gt; everyone else, but I'm really just hoping to get the ball rolling.  Ideally,
&lt;br&gt;&amp;gt; this guide should be used as a starting point from which a proper,
&lt;br&gt;&amp;gt; officially-blessed and better-typeset guide can be fashioned.  Until that
&lt;br&gt;&amp;gt; happens, I'm more than happy to host the guide at Code Commit, incorporating
&lt;br&gt;&amp;gt; any revisions the community as a whole deems necessary.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The source for the guide is in reStructuredText, which is easily convertible
&lt;br&gt;&amp;gt; to distributable formats like HTML, LaTeX, TWiki markup and more.  For
&lt;br&gt;&amp;gt; convenience, I have compiled the guide to a PDF (using rst2newlatex and
&lt;br&gt;&amp;gt; pdflatex) and uploaded it along with the source.  The document does not
&lt;br&gt;&amp;gt; include a license declaration, but you can pretty much consider the material
&lt;br&gt;&amp;gt; to be Public Domain.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Enjoy!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Daniel
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.codecommit.com/scala-style-guide.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codecommit.com/scala-style-guide.txt&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.codecommit.com/scala-style-guide.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codecommit.com/scala-style-guide.pdf&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala-f14147.html&quot; embed=&quot;fixTarget[14147]&quot; target=&quot;_top&quot; &gt;Scala&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-scala--Proposed-Style-Guide-tp26310456p26310581.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310456</id>
	<title>[scala] Proposed Style Guide</title>
	<published>2009-11-11T15:02:57Z</published>
	<updated>2009-11-11T15:02:57Z</updated>
	<author>
		<name>Daniel Spiewak</name>
	</author>
	<content type="html">One of the things about Scala which has always bugged me is the &lt;i&gt;lack&lt;/i&gt; of an official style guide.  There is simply no &amp;quot;right&amp;quot; way of doing things, syntactically speaking.  Over the years, the Scala community has attempted to fill the void (as it were) by defining a set of unofficial, word-of-mouth conventions.  Things like when to add parentheses to no-arg methods or what the preferred function literal definition style may be.&lt;br&gt;


&lt;br&gt;This works fine for experienced Scala community members, but newcomers to the language are understandably baffled.  This also causes a great deal of frustration on larger Scala projects with less-experienced Scala developers as some code will be stylized in one way, while other code will use a different convention.&lt;br&gt;


&lt;br&gt;A few months ago, I decided that I had run into this problem one too many times, and so I took the time (with the generous support of my employer) to create a full (-ish) style guide for Scala syntax, naming conventions and project management.  The guidelines it contains are based on what I have heard from the community and do not necessarily reflect my own preferences (e.g. function types).  When in doubt about a particular convention, I have alternately looked at Martin Odersky&amp;#39;s code or simply relied on my own knowledge of Java, C#, Standard ML and Haskell conventions.  Comments and criticisms are very welcome.&lt;br&gt;


&lt;br&gt;I would like to submit this guide for adoption by the larger Scala community.  I know that sounds like I&amp;#39;m trying to foist my opinions on everyone else, but I&amp;#39;m really just hoping to get the ball rolling.  Ideally, this guide should be used as a starting point from which a proper, officially-blessed and better-typeset guide can be fashioned.  Until that happens, I&amp;#39;m more than happy to host the guide at Code Commit, incorporating any revisions the community as a whole deems necessary.&lt;br&gt;


&lt;br&gt;The source for the guide is in reStructuredText, which is easily convertible to distributable formats like HTML, LaTeX, TWiki markup and more.  For convenience, I have compiled the guide to a PDF (using &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;rst2newlatex&lt;/span&gt; and &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;pdflatex&lt;/span&gt;) and uploaded it along with the source.  The document does not include a license declaration, but you can pretty much consider the material to be Public Domain.&lt;br&gt;

&lt;br&gt;Enjoy!&lt;br&gt;
&lt;br&gt;Daniel&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.codecommit.com/scala-style-guide.txt&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codecommit.com/scala-style-guide.txt&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.codecommit.com/scala-style-guide.pdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codecommit.com/scala-style-guide.pdf&lt;/a&gt;&lt;/li&gt;


&lt;/ul&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala-f14147.html&quot; embed=&quot;fixTarget[14147]&quot; target=&quot;_top&quot; &gt;Scala&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-scala--Proposed-Style-Guide-tp26310456p26310456.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310350</id>
	<title>Re: How to use Box</title>
	<published>2009-11-11T14:55:59Z</published>
	<updated>2009-11-11T14:55:59Z</updated>
	<author>
		<name>bearfeeder</name>
	</author>
	<content type="html">&lt;a href=&quot;http://blog.lostlake.org/index.php?/archives/50-The-Scala-Option-class-and-how-lift-uses-it.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.lostlake.org/index.php?/archives/50-The-Scala-Option-class-and-how-lift-uses-it.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;The for comprehension is your friend.&lt;br&gt;
&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 2:40 PM, Ferdinand Chan &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310350&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;uniquefer@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
Wondering what&amp;#39;s the normal practice of using a Box. As a Java&lt;br&gt;
developer, I always want to get the boxed value by a method named&lt;br&gt;
&amp;quot;Value&amp;quot; like&lt;br&gt;
&lt;br&gt;
val optionalContent = Full(&amp;quot;This is optional&amp;quot;)&lt;br&gt;
&lt;br&gt;
Log.info( &amp;quot; The optional content is &amp;quot; + optionalContent.value)&lt;br&gt;
&lt;br&gt;
But I know its not a valid way to do so in lift ( same for Option in&lt;br&gt;
Scala)&lt;br&gt;
&lt;br&gt;
From the book programming in Scala , there&amp;#39;s an example&lt;br&gt;
&lt;br&gt;
val withDefault: Option[Int] =&amp;gt; Int = {&lt;br&gt;
case Some(x) =&amp;gt; x&lt;br&gt;
case None =&amp;gt; 0&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
which suggest the use of match to retrieve the value of the boxed&lt;br&gt;
content. It make sense to me and I&amp;#39;m totally agree with the advantage&lt;br&gt;
of using match + option (Box) combination.&lt;br&gt;
&lt;br&gt;
However, as a newbie to Scala, I&amp;#39;m so tempted to use something&lt;br&gt;
like .Value to retrieve the box value .&lt;br&gt;
&lt;br&gt;
So, what&amp;#39;s the normal way to use Box ?? Could someone kindly provide&lt;br&gt;
some example on how to use ? I tried to look through some source code&lt;br&gt;
of Lift but its not easy for a newbie :)&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Lift, the simply functional web framework &lt;a href=&quot;http://liftweb.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;Beginning Scala &lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apress.com/book/view/1430219890&lt;/a&gt;&lt;br&gt;
Follow me: &lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;Surf the harmonics&lt;br&gt;
&lt;br&gt;
--~--~---------~--~----~------------~-------~--~----~&lt;br&gt;
You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group. &lt;br&gt; To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310350&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt; &lt;br&gt; To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310350&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt; &lt;br&gt; For more options, visit this group at http://groups.google.com/group/liftweb?hl=en&lt;br&gt;
-~----------~----~----~----~------~----~------~--~---&lt;br&gt;
&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-use-Box-tp26310073p26310350.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26310073</id>
	<title>How to use Box</title>
	<published>2009-11-11T14:40:28Z</published>
	<updated>2009-11-11T14:40:28Z</updated>
	<author>
		<name>Ferdinand Chan-2</name>
	</author>
	<content type="html">&lt;br&gt;Wondering what's the normal practice of using a Box. As a Java
&lt;br&gt;developer, I always want to get the boxed value by a method named
&lt;br&gt;&amp;quot;Value&amp;quot; like
&lt;br&gt;&lt;br&gt;val optionalContent = Full(&amp;quot;This is optional&amp;quot;)
&lt;br&gt;&lt;br&gt;Log.info( &amp;quot; The optional content is &amp;quot; + optionalContent.value)
&lt;br&gt;&lt;br&gt;But I know its not a valid way to do so in lift ( same for Option in
&lt;br&gt;Scala)
&lt;br&gt;&lt;br&gt;From the book programming in Scala , there's an example
&lt;br&gt;&lt;br&gt;val withDefault: Option[Int] =&amp;gt; Int = {
&lt;br&gt;case Some(x) =&amp;gt; x
&lt;br&gt;case None =&amp;gt; 0
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;which suggest the use of match to retrieve the value of the boxed
&lt;br&gt;content. It make sense to me and I'm totally agree with the advantage
&lt;br&gt;of using match + option (Box) combination.
&lt;br&gt;&lt;br&gt;However, as a newbie to Scala, I'm so tempted to use something
&lt;br&gt;like .Value to retrieve the box value .
&lt;br&gt;&lt;br&gt;So, what's the normal way to use Box ?? Could someone kindly provide
&lt;br&gt;some example on how to use ? I tried to look through some source code
&lt;br&gt;of Lift but its not easy for a newbie :)
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310073&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26310073&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-use-Box-tp26310073p26310073.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26309271</id>
	<title>ScalaTest in Lift archetypes</title>
	<published>2009-11-11T13:50:23Z</published>
	<updated>2009-11-11T13:50:23Z</updated>
	<author>
		<name>Bill Venners-3</name>
	</author>
	<content type="html">&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;I was talking with David Pollak the other night about putting some
&lt;br&gt;ScalaTest examples into the Lift archetypes. He said I should post to
&lt;br&gt;the list. Can anyone out there let me know how we might go about that?
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;Bill
&lt;br&gt;----
&lt;br&gt;Bill Venners
&lt;br&gt;Artima, Inc.
&lt;br&gt;&lt;a href=&quot;http://www.artima.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.artima.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26309271&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26309271&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ScalaTest-in-Lift-archetypes-tp26309271p26309271.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26308194</id>
	<title>Re: form input tag name values changed when moving from M6 to M7</title>
	<published>2009-11-11T12:40:47Z</published>
	<updated>2009-11-11T12:40:47Z</updated>
	<author>
		<name>ben-274</name>
	</author>
	<content type="html">&lt;br&gt;Thanks for the reply David. Below is some code which might suit both
&lt;br&gt;our requirements ...
&lt;br&gt;&lt;br&gt;&amp;nbsp; def locateFirstUserStackElement(stack: Array[StackTraceElement]) :
&lt;br&gt;StackTraceElement = {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stack.foreach(element =&amp;gt; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!element.toString.startsWith(&amp;quot;net.liftweb&amp;quot;)) return
&lt;br&gt;element
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stack(0)
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; def formFuncName: String = if (Props.testMode) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; val bump: Long = ((_formGroup.is openOr 0) + 1000L) * 10000L
&lt;br&gt;&amp;nbsp; &amp;nbsp; val num: Int = formItemNumber.is
&lt;br&gt;&amp;nbsp; &amp;nbsp; formItemNumber.set(num + 1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; import _root_.java.text._
&lt;br&gt;&amp;nbsp; &amp;nbsp; val prefix: String = new DecimalFormat(&amp;quot;00000000000000000&amp;quot;).format
&lt;br&gt;(bump + num)
&lt;br&gt;&amp;nbsp; &amp;nbsp; //M7 - &amp;quot;f&amp;quot; + prefix + &amp;quot;_&amp;quot; + Helpers.hashHex((new
&lt;br&gt;Exception).getStackTrace.toList.take(10).map(_.toString).mkString
&lt;br&gt;(&amp;quot;,&amp;quot;)))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;quot;f&amp;quot; + prefix + &amp;quot;_&amp;quot; +Helpers.hashHex(locateFirstUserStackElement
&lt;br&gt;(new Exception().getStackTrace).getClassName)
&lt;br&gt;&amp;nbsp; } else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; _formGroup.is match {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; case Full(x) =&amp;gt; Helpers.nextFuncName(x.toLong * 10000L)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; case _ =&amp;gt; Helpers.nextFuncName
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26308194&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26308194&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/form-input-tag-name-values-changed-when-moving-from-M6-to-M7-tp26218262p26308194.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26307471</id>
	<title>New Milestone coming soon</title>
	<published>2009-11-11T11:54:46Z</published>
	<updated>2009-11-11T11:54:46Z</updated>
	<author>
		<name>bearfeeder</name>
	</author>
	<content type="html">Folks,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;There are two critical issues with M7:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Issue 164 &lt;a href=&quot;http://github.com/dpp/liftweb/issues#issue/164&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/dpp/liftweb/issues#issue/164&lt;/a&gt;  JSON/Ajax messages do not carry Notices back to the client.&lt;/li&gt;
&lt;li&gt;The Session manager is not initialized properly.  Basically, this means that sessions will be expired by the web container, but not by Lift and GUIDs that map to functions on the server side are not removed until the session is terminated.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;We&amp;#39;re planning to do an M7.1 release later this week (probably Friday).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If there are other *critical* defects (stuff that means you can&amp;#39;t use M7 in production), please speak now.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;David&lt;/div&gt;&lt;br&gt;-- &lt;br&gt;Lift, the simply functional web framework &lt;a href=&quot;http://liftweb.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;Beginning Scala &lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apress.com/book/view/1430219890&lt;/a&gt;&lt;br&gt;
Follow me: &lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;Surf the harmonics&lt;br&gt;
&lt;/div&gt;&lt;br&gt;
--~--~---------~--~----~------------~-------~--~----~&lt;br&gt;
You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group. &lt;br&gt; To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26307471&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt; &lt;br&gt; To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26307471&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt; &lt;br&gt; For more options, visit this group at http://groups.google.com/group/liftweb?hl=en&lt;br&gt;
-~----------~----~----~----~------~----~------~--~---&lt;br&gt;
&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/New-Milestone-coming-soon-tp26307471p26307471.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26307452</id>
	<title>Minor Bug? MappedString.valUnique should return one FieldError</title>
	<published>2009-11-11T11:53:26Z</published>
	<updated>2009-11-11T11:53:26Z</updated>
	<author>
		<name>Jonathan Hoffman</name>
	</author>
	<content type="html">&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;I'm currently adding a uniqueness requirement to a field, but there
&lt;br&gt;are duplicate entries (for empty string) in my database already.
&lt;br&gt;Currently valUnique maps each match it found to a FieldError, but
&lt;br&gt;should probably return one FieldError regardless of how many matches
&lt;br&gt;it finds.
&lt;br&gt;&lt;br&gt;- Jon
&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26307452&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26307452&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Minor-Bug--MappedString.valUnique-should-return-one-FieldError-tp26307452p26307452.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26307144</id>
	<title>Re: Case classes as Map key value fail?</title>
	<published>2009-11-11T11:30:52Z</published>
	<updated>2009-11-11T11:30:52Z</updated>
	<author>
		<name>Normen Mueller</name>
	</author>
	<content type="html">On Nov 11, 2009, at 5:55 PM, Paul Phillips &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26307144&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paulp@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wed, Nov 11, 2009 at 05:25:46PM +0100, Normen Müller wrote:
&lt;br&gt;&amp;gt;&amp;gt; Now, I defined a map with key type LocationPath.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; val m: Map[LocationPath, Message)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The weird thing is the following:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; (1) println(m isDefinedAt (Ʈ↘(1)↘(3)))
&lt;br&gt;&amp;gt;&amp;gt; (2) println(m.keys find (_ == Ʈ↘(1)↘(3
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Well, find on the keys just goes through them looking for one which
&lt;br&gt;&amp;gt; returns equals, but isDefinedAt on the map will use the hashCode and
&lt;br&gt;&amp;gt; only look in that bucket. &amp;nbsp;In other words, you have equal objects with
&lt;br&gt;&amp;gt; unequal hashCodes. &amp;nbsp;This is a not-too-surprising bug which I expect is
&lt;br&gt;&amp;gt; related to unicode and the fact that productPrefix (the name of the &amp;nbsp;
&lt;br&gt;&amp;gt; case
&lt;br&gt;&amp;gt; class) is used in the generation of the hash code.
&lt;br&gt;&amp;gt;
&lt;/div&gt;So, I will eliminate Unicode and try again. &amp;nbsp;Right?
&lt;br&gt;&lt;br&gt;&amp;gt; If you could open a ticket that would be great.
&lt;br&gt;&lt;br&gt;I am on the road right now but will do asap.
&lt;br&gt;&lt;br&gt;Thanks for you help!
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;--
&lt;br&gt;Normen Müller
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---User-f30217.html&quot; embed=&quot;fixTarget[30217]&quot; target=&quot;_top&quot; &gt;Scala - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Case-classes-as-Map-key-value-fail--tp26304184p26307144.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26306833</id>
	<title>Re: Template help</title>
	<published>2009-11-11T11:09:39Z</published>
	<updated>2009-11-11T11:09:39Z</updated>
	<author>
		<name>Naftoli Gugenheim</name>
	</author>
	<content type="html">&lt;br&gt;I didn't see Tim's blog post, but another option is to bind in two passes. First bind the outer level: b1:link should become an SHtml.link, preserving the same set of child elements. So here use a NodeSeq function: kids =&amp;gt; SHtml.link(..., kids). Then pass the resulting NodeSeq to a bind invocation that transforms your other elements.
&lt;br&gt;You can place this in one statement, by using one call to bind as the NodeSeq argument to the other call. And you can use the implicit in BindPlus to chain bind calls:
&lt;br&gt;xhtml.bind(&amp;quot;prefix&amp;quot;, bindParams ... ).bind(&amp;quot;pre2&amp;quot;, ...)
&lt;br&gt;That said, I think there is a fundamental, inevitable tension between separation of view and logic, and repetition (not really your point). I tried to address this, as it applies to Mapper fields, to a small extent in ModelView. However if anyone has better ideas of how to do things I'm very interested to hear!
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------
&lt;br&gt;Timothy Perrett&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306833&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;timothy@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&lt;br&gt;Take a look at:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://logji.blogspot.com/2009/09/composable-bindings-in-lift.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://logji.blogspot.com/2009/09/composable-bindings-in-lift.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;and then:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://logji.blogspot.com/2009/10/composable-bindings-in-lift-part-ii.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://logji.blogspot.com/2009/10/composable-bindings-in-lift-part-ii.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Sounds like this could provide a more flexible implementation pattern for your use case.
&lt;br&gt;&lt;br&gt;Cheers, Tim
&lt;br&gt;&lt;br&gt;&lt;br&gt;On 11 Nov 2009, at 18:21, aw wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OK, your suggestion definitely makes the snippet code more readable,
&lt;br&gt;&amp;gt; but I fear I didn't make my point clear because the snippet code still
&lt;br&gt;&amp;gt; is highly coupled with the view layout.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Imagine that I want to change my view from this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/a&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; to this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/a&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This would mean that I need to change my template from:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;b1:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b2:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b2:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b1:link&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; to this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; And then I need to update my code from:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bind(&amp;quot;b1&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b),
&lt;br&gt;&amp;gt; &amp;nbsp; bind(&amp;quot;b2&amp;quot;, kids, &amp;quot;name&amp;quot; -&amp;gt; b.name.is, &amp;quot;description&amp;quot; -&amp;gt;
&lt;br&gt;&amp;gt; b.description.is
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; to something like this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;name&amp;quot; -&amp;gt; b.name.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;description&amp;quot; -&amp;gt; b.description.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My complaint is that reorganizing the view is tending to require code
&lt;br&gt;&amp;gt; changes at the snippet level. &amp;nbsp;And that just doesn't seem right to me.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; At first, I thought that I could leverage the recursive nature of
&lt;br&gt;&amp;gt; snippets. &amp;nbsp;In other words, I thought I could avoid the b1 and b2
&lt;br&gt;&amp;gt; binding keys and simply use b, then when the first round contained
&lt;br&gt;&amp;gt; more b variables to bind, it would recurse. &amp;nbsp;Alas, this didn't work
&lt;br&gt;&amp;gt; (I'm sorry, but I don't recall the error message). &amp;nbsp;But this was what
&lt;br&gt;&amp;gt; I was thinking:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; or this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; and the code would remain this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;name&amp;quot; -&amp;gt; b.name.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;description&amp;quot; -&amp;gt; b.description.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306833&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306833&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Template-help-tp26297741p26306833.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26306616</id>
	<title>Re: Template help</title>
	<published>2009-11-11T10:55:34Z</published>
	<updated>2009-11-11T10:55:34Z</updated>
	<author>
		<name>Jim Barrows</name>
	</author>
	<content type="html">&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 11:21 AM, aw &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306616&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;anthony@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
OK, your suggestion definitely makes the snippet code more readable,&lt;br&gt;
but I fear I didn&amp;#39;t make my point clear because the snippet code still&lt;br&gt;
is highly coupled with the view layout.&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;If this was a MVC type framework, I think you&amp;#39;re point would be valid.  But it isn&amp;#39;t a MVC framework.  The snippet is tightly coupled to the xhtml, because it&amp;#39;s the dynamic part of the xhtml.&lt;br&gt;
&lt;br&gt;The best way to mitigate these kinds of changes is to design the UI first, then build the snippets.   That way, you&amp;#39;re not rearranging as often. &lt;br&gt;See this article for a better understanding: &lt;a href=&quot;http://wiki.liftweb.net/index.php?title=Lift_View_First&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.liftweb.net/index.php?title=Lift_View_First&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
Imagine that I want to change my view from this:&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;&lt;br&gt;
&amp;lt;/a&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;to this:&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;&lt;br&gt;
&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;&lt;br&gt;
&amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;&lt;br&gt;
&lt;/div&gt;    &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;&lt;br&gt;
&amp;lt;/a&amp;gt;&lt;br&gt;
&lt;br&gt;
This would mean that I need to change my template from:&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;lt;b1:link&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b2:name/&amp;gt;&amp;lt;/span&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b2:description/&amp;gt;&amp;lt;/span&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;&lt;br&gt;
&amp;lt;/b1:link&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;to this:&lt;br&gt;
&lt;br&gt;
&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;&lt;br&gt;
&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;&lt;br&gt;
&amp;lt;b:link&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;&lt;br&gt;
&amp;lt;/b:link&amp;gt;&lt;br&gt;
&lt;br&gt;
And then I need to update my code from:&lt;br&gt;
&lt;br&gt;
bind(&amp;quot;b1&amp;quot;, xhtml&amp;quot;,&lt;br&gt;
   &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b),&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;   bind(&amp;quot;b2&amp;quot;, kids, &amp;quot;name&amp;quot; -&amp;gt; &lt;a href=&quot;http://b.name.is&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;b.name.is&lt;/a&gt;, &amp;quot;description&amp;quot; -&amp;gt;&lt;br&gt;
&lt;a href=&quot;http://b.description.is&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;b.description.is&lt;/a&gt;&lt;br&gt;
)))&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;to something like this:&lt;br&gt;
&lt;br&gt;
bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,&lt;br&gt;
   &amp;quot;name&amp;quot; -&amp;gt; &lt;a href=&quot;http://b.name.is&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;b.name.is&lt;/a&gt;,&lt;br&gt;
   &amp;quot;description&amp;quot; -&amp;gt; &lt;a href=&quot;http://b.description.is&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;b.description.is&lt;/a&gt;,&lt;br&gt;
   &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))&lt;br&gt;
)))&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
My complaint is that reorganizing the view is tending to require code&lt;br&gt;
changes at the snippet level.  And that just doesn&amp;#39;t seem right to me.&lt;br&gt;
&lt;br&gt;
At first, I thought that I could leverage the recursive nature of&lt;br&gt;
snippets.  In other words, I thought I could avoid the b1 and b2&lt;br&gt;
binding keys and simply use b, then when the first round contained&lt;br&gt;
more b variables to bind, it would recurse.  Alas, this didn&amp;#39;t work&lt;br&gt;
(I&amp;#39;m sorry, but I don&amp;#39;t recall the error message).  But this was what&lt;br&gt;
I was thinking:&lt;br&gt;
&lt;br&gt;
&amp;lt;b:link&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;&lt;br&gt;
&amp;lt;/b:link&amp;gt;&lt;br&gt;
&lt;br&gt;
or this:&lt;br&gt;
&lt;br&gt;
&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;&lt;br&gt;
&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;&lt;br&gt;
&amp;lt;b:link&amp;gt;&lt;br&gt;
    &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;&lt;br&gt;
&amp;lt;/b:link&amp;gt;&lt;br&gt;
&lt;br&gt;
and the code would remain this:&lt;br&gt;
&lt;br&gt;
bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,&lt;br&gt;
   &amp;quot;name&amp;quot; -&amp;gt; &lt;a href=&quot;http://b.name.is&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;b.name.is&lt;/a&gt;,&lt;br&gt;
   &amp;quot;description&amp;quot; -&amp;gt; &lt;a href=&quot;http://b.description.is&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;b.description.is&lt;/a&gt;,&lt;br&gt;
   &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))&lt;br&gt;
)))&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;James A Barrows&lt;br&gt;&lt;br&gt;
&lt;br&gt;
--~--~---------~--~----~------------~-------~--~----~&lt;br&gt;
You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group. &lt;br&gt; To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306616&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt; &lt;br&gt; To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306616&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt; &lt;br&gt; For more options, visit this group at http://groups.google.com/group/liftweb?hl=en&lt;br&gt;
-~----------~----~----~----~------~----~------~--~---&lt;br&gt;
&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Template-help-tp26297741p26306616.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26306263</id>
	<title>Re: Template help</title>
	<published>2009-11-11T10:32:27Z</published>
	<updated>2009-11-11T10:32:27Z</updated>
	<author>
		<name>Timothy Perrett</name>
	</author>
	<content type="html">&lt;br&gt;Take a look at:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://logji.blogspot.com/2009/09/composable-bindings-in-lift.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://logji.blogspot.com/2009/09/composable-bindings-in-lift.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;and then:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://logji.blogspot.com/2009/10/composable-bindings-in-lift-part-ii.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://logji.blogspot.com/2009/10/composable-bindings-in-lift-part-ii.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Sounds like this could provide a more flexible implementation pattern for your use case.
&lt;br&gt;&lt;br&gt;Cheers, Tim
&lt;br&gt;&lt;br&gt;&lt;br&gt;On 11 Nov 2009, at 18:21, aw wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OK, your suggestion definitely makes the snippet code more readable,
&lt;br&gt;&amp;gt; but I fear I didn't make my point clear because the snippet code still
&lt;br&gt;&amp;gt; is highly coupled with the view layout.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Imagine that I want to change my view from this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/a&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; to this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/a&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This would mean that I need to change my template from:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;b1:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b2:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b2:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b1:link&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; to this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; And then I need to update my code from:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bind(&amp;quot;b1&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b),
&lt;br&gt;&amp;gt; &amp;nbsp; bind(&amp;quot;b2&amp;quot;, kids, &amp;quot;name&amp;quot; -&amp;gt; b.name.is, &amp;quot;description&amp;quot; -&amp;gt;
&lt;br&gt;&amp;gt; b.description.is
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; to something like this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;name&amp;quot; -&amp;gt; b.name.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;description&amp;quot; -&amp;gt; b.description.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My complaint is that reorganizing the view is tending to require code
&lt;br&gt;&amp;gt; changes at the snippet level. &amp;nbsp;And that just doesn't seem right to me.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; At first, I thought that I could leverage the recursive nature of
&lt;br&gt;&amp;gt; snippets. &amp;nbsp;In other words, I thought I could avoid the b1 and b2
&lt;br&gt;&amp;gt; binding keys and simply use b, then when the first round contained
&lt;br&gt;&amp;gt; more b variables to bind, it would recurse. &amp;nbsp;Alas, this didn't work
&lt;br&gt;&amp;gt; (I'm sorry, but I don't recall the error message). &amp;nbsp;But this was what
&lt;br&gt;&amp;gt; I was thinking:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; or this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; and the code would remain this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;name&amp;quot; -&amp;gt; b.name.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;description&amp;quot; -&amp;gt; b.description.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306263&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306263&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Template-help-tp26297741p26306263.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26306123</id>
	<title>Re: Template help</title>
	<published>2009-11-11T10:24:00Z</published>
	<updated>2009-11-11T10:24:00Z</updated>
	<author>
		<name>Ross Mellgren-2</name>
	</author>
	<content type="html">&lt;br&gt;You can do a recursive bind, but you must make it explicit:
&lt;br&gt;&lt;br&gt;def mySnippet(xhtml: NodeSeq): NodeSeq = {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;def doBind(xhtml: NodeSeq): NodeSeq =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bind(&amp;quot;b&amp;quot;, xhtml,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; { (kids: NodeSeq) =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; &amp;nbsp;
&lt;br&gt;clicked(b), doBind(kids)) },
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;name&amp;quot; -&amp;gt; &amp;quot;the name&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;description&amp;quot; -&amp;gt; &amp;quot;the description&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;doBind(xhtml)
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;-Ross
&lt;br&gt;&lt;br&gt;On Nov 11, 2009, at 1:21 PM, aw wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; OK, your suggestion definitely makes the snippet code more readable,
&lt;br&gt;&amp;gt; but I fear I didn't make my point clear because the snippet code still
&lt;br&gt;&amp;gt; is highly coupled with the view layout.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Imagine that I want to change my view from this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/a&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; to this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/a&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This would mean that I need to change my template from:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b1:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b2:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b2:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b1:link&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; to this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And then I need to update my code from:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; bind(&amp;quot;b1&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b),
&lt;br&gt;&amp;gt; &amp;nbsp; bind(&amp;quot;b2&amp;quot;, kids, &amp;quot;name&amp;quot; -&amp;gt; b.name.is, &amp;quot;description&amp;quot; -&amp;gt;
&lt;br&gt;&amp;gt; b.description.is
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; to something like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;name&amp;quot; -&amp;gt; b.name.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;description&amp;quot; -&amp;gt; b.description.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My complaint is that reorganizing the view is tending to require code
&lt;br&gt;&amp;gt; changes at the snippet level. &amp;nbsp;And that just doesn't seem right to me.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At first, I thought that I could leverage the recursive nature of
&lt;br&gt;&amp;gt; snippets. &amp;nbsp;In other words, I thought I could avoid the b1 and b2
&lt;br&gt;&amp;gt; binding keys and simply use b, then when the first round contained
&lt;br&gt;&amp;gt; more b variables to bind, it would recurse. &amp;nbsp;Alas, this didn't work
&lt;br&gt;&amp;gt; (I'm sorry, but I don't recall the error message). &amp;nbsp;But this was what
&lt;br&gt;&amp;gt; I was thinking:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; or this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b:link&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; and the code would remain this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;name&amp;quot; -&amp;gt; b.name.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;description&amp;quot; -&amp;gt; b.description.is,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))
&lt;br&gt;&amp;gt; )))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306123&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306123&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Template-help-tp26297741p26306123.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26306078</id>
	<title>Re: Template help</title>
	<published>2009-11-11T10:21:06Z</published>
	<updated>2009-11-11T10:21:06Z</updated>
	<author>
		<name>AnthonyW</name>
	</author>
	<content type="html">&lt;br&gt;OK, your suggestion definitely makes the snippet code more readable,
&lt;br&gt;but I fear I didn't make my point clear because the snippet code still
&lt;br&gt;is highly coupled with the view layout.
&lt;br&gt;&lt;br&gt;Imagine that I want to change my view from this:
&lt;br&gt;&lt;br&gt;&amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&lt;br&gt;to this:
&lt;br&gt;&lt;br&gt;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&lt;br&gt;This would mean that I need to change my template from:
&lt;br&gt;&lt;br&gt;&amp;lt;b1:link&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b2:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b2:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/b1:link&amp;gt;
&lt;br&gt;&lt;br&gt;to this:
&lt;br&gt;&lt;br&gt;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/b:link&amp;gt;
&lt;br&gt;&lt;br&gt;And then I need to update my code from:
&lt;br&gt;&lt;br&gt;bind(&amp;quot;b1&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b),
&lt;br&gt;&amp;nbsp; &amp;nbsp;bind(&amp;quot;b2&amp;quot;, kids, &amp;quot;name&amp;quot; -&amp;gt; b.name.is, &amp;quot;description&amp;quot; -&amp;gt;
&lt;br&gt;b.description.is
&lt;br&gt;)))
&lt;br&gt;&lt;br&gt;to something like this:
&lt;br&gt;&lt;br&gt;bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;name&amp;quot; -&amp;gt; b.name.is,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;description&amp;quot; -&amp;gt; b.description.is,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))
&lt;br&gt;)))
&lt;br&gt;&lt;br&gt;&lt;br&gt;My complaint is that reorganizing the view is tending to require code
&lt;br&gt;changes at the snippet level. &amp;nbsp;And that just doesn't seem right to me.
&lt;br&gt;&lt;br&gt;At first, I thought that I could leverage the recursive nature of
&lt;br&gt;snippets. &amp;nbsp;In other words, I thought I could avoid the b1 and b2
&lt;br&gt;binding keys and simply use b, then when the first round contained
&lt;br&gt;more b variables to bind, it would recurse. &amp;nbsp;Alas, this didn't work
&lt;br&gt;(I'm sorry, but I don't recall the error message). &amp;nbsp;But this was what
&lt;br&gt;I was thinking:
&lt;br&gt;&lt;br&gt;&amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/b:link&amp;gt;
&lt;br&gt;&lt;br&gt;or this:
&lt;br&gt;&lt;br&gt;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;lt;b:link&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/b:link&amp;gt;
&lt;br&gt;&lt;br&gt;and the code would remain this:
&lt;br&gt;&lt;br&gt;bind(&amp;quot;b&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;name&amp;quot; -&amp;gt; b.name.is,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;description&amp;quot; -&amp;gt; b.description.is,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;next&amp;quot;, () =&amp;gt; clicked(b))
&lt;br&gt;)))
&lt;br&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306078&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26306078&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Template-help-tp26297741p26306078.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26305383</id>
	<title>Re: Template help</title>
	<published>2009-11-11T09:38:48Z</published>
	<updated>2009-11-11T09:38:48Z</updated>
	<author>
		<name>Naftoli Gugenheim</name>
	</author>
	<content type="html">&lt;br&gt;You might need to surround the kids =&amp;gt; ... function with parenthesis.
&lt;br&gt;&lt;br&gt;-------------------------------------
&lt;br&gt;David Pollak&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305383&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;feeder.of.the.bears@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;On Wed, Nov 11, 2009 at 12:35 AM, aw &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305383&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;anthony@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I need to create a snippet sequence that looks something like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;a href=&amp;quot;next&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/a&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The anchor needs to be generated using SHtml.link, and name &amp;
&lt;br&gt;&amp;gt; description need to be bound. &amp;nbsp;As a result, I end up with a template
&lt;br&gt;&amp;gt; sequence like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;b1:link&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;b2:name/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;&amp;lt;b2:description/&amp;gt;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;arrow&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/b1:link&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Then, I need snippet code that does something like:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; bind(&amp;quot;b1&amp;quot;, xhtml,
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;quot;link&amp;quot; -&amp;gt; SHtml.link(S.contextPath, () =&amp;gt; clicked(b), bind(&amp;quot;b2&amp;quot;,
&lt;br&gt;&amp;gt; chooseTemplate(&amp;quot;b1&amp;quot;, &amp;quot;link&amp;quot;, xhtml), &amp;quot;name&amp;quot; -&amp;gt; Text(b.name),
&lt;br&gt;&amp;gt; &amp;quot;description&amp;quot; -&amp;gt; Text(b.description) ))
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Why are you using S.contextPath? &amp;nbsp;But:
&lt;br&gt;&lt;br&gt;bind(&amp;quot;b1&amp;quot;, xhtml&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;link&amp;quot; -&amp;gt; kids =&amp;gt; SHtml.link(&amp;quot;/&amp;quot;, () =&amp;gt; clicked(b),
&lt;br&gt;&amp;nbsp; &amp;nbsp;bind(&amp;quot;b2&amp;quot;, kids, &amp;quot;name&amp;quot; -&amp;gt; b.name.is, &amp;quot;description&amp;quot; -&amp;gt; b.description.is
&lt;br&gt;)))
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yuk... &amp;nbsp;I'm just not happy with this. &amp;nbsp;Sure, I could make it a little
&lt;br&gt;&amp;gt; more readable, but this still seems unnecessarily complex and
&lt;br&gt;&amp;gt; verbose. &amp;nbsp;I also really don't like how the view logic is dictating my
&lt;br&gt;&amp;gt; binding logic. &amp;nbsp;In other words, if I wanted to change my view
&lt;br&gt;&amp;gt; organization, there is a high chance that I also need to change my
&lt;br&gt;&amp;gt; binding logic -- and that just isn't right...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is there a better strategy?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Lift, the simply functional web framework &lt;a href=&quot;http://liftweb.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;Beginning Scala &lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apress.com/book/view/1430219890&lt;/a&gt;&lt;br&gt;Follow me: &lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;Surf the harmonics
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305383&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305383&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Template-help-tp26297741p26305383.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26305311</id>
	<title>Re: AW: right bounded infix notation (was:how to define Operator for {Double * myType}?)</title>
	<published>2009-11-11T09:34:38Z</published>
	<updated>2009-11-11T09:34:38Z</updated>
	<author>
		<name>David Flemström</name>
	</author>
	<content type="html">&lt;br&gt;On Wednesday 11 November 2009 17:46:08 Kubitz, Jörg wrote:
&lt;br&gt;&amp;gt; Hi David,
&lt;br&gt;&amp;gt; Thanks for the detailed reply.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; First, your example shows very well how nasty scala code can be: it takes
&lt;br&gt;&amp;gt; &amp;nbsp;realy hard brain work to understand what it does (at least for me - being
&lt;br&gt;&amp;gt; &amp;nbsp;a non-scla guru). And implementing such a Pattern is not intuitive.
&lt;br&gt;So why do you want to add yet another layer of complexity on top of that?
&lt;br&gt;&lt;br&gt;&amp;gt; Second, &amp;quot;a and b&amp;quot; in your counterexample should simply result in a
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;quot;ambigious definition Error&amp;quot; at compiletime. Its hard to believe that
&lt;br&gt;&amp;gt; &amp;nbsp;anybody produces such code.
&lt;br&gt;You think so? Imagine that there's a class with a &amp;quot;def +(that: AnyRef)&amp;quot; on it, 
&lt;br&gt;that does something like just calling &amp;quot;.toString&amp;quot; on &amp;quot;that&amp;quot;; quite reasonable. &amp;nbsp;
&lt;br&gt;With your approach, it would not be possible to add a &amp;quot;+&amp;quot; method to that class 
&lt;br&gt;by means of reverse methods, since every such method would conflict with the 
&lt;br&gt;original &amp;quot;+&amp;quot; method.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;Justification: Suppose I am the Author of
&lt;br&gt;&amp;gt; &amp;nbsp;Class B. &amp;quot;Inverse&amp;quot; is only needed if I cannot extend the source of Class
&lt;br&gt;&amp;gt; &amp;nbsp;A. If I cannot extend the source of Class A then I am not the author of
&lt;br&gt;&amp;gt; &amp;nbsp;Class A. Since I am not the author of Class A the author of Class A won't
&lt;br&gt;&amp;gt; &amp;nbsp;know my Class B. So the Author of Class A cannot write such a method.
&lt;br&gt;Yes, I understand your problem, but there are multiple solutions for it that 
&lt;br&gt;don't require reverse methods, one being implicit conversions in companion 
&lt;br&gt;objects (that are somewhat inefficient, granted)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The c# solution is also nice (there is also a Java trunk that enables such
&lt;br&gt;&amp;gt; &amp;nbsp;a feature) but I think the function should not need to be defined within a
&lt;br&gt;&amp;gt; &amp;nbsp;Class. If I could write pure function library it would be clearer:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Package stringExtention {
&lt;br&gt;&amp;gt; &amp;nbsp; def myStringMethod(s: string)= ...
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;quot;hallo&amp;quot;.myStringMethod()
&lt;/div&gt;You can already do that by either using 1. companion objects for a related 
&lt;br&gt;class or 2. package objects (Google it). I don't think that package-level 
&lt;br&gt;methods are a good idea, since Scala tries to be an object-oriented language, 
&lt;br&gt;and unless you want such package-level methods to be instantiated as singleton 
&lt;br&gt;function objects, it's not a sustainable solution.
&lt;br&gt;&lt;br&gt;&amp;gt; Nevertheless it would not fix that method &amp;quot;::&amp;quot; arbitrarily has the inverse
&lt;br&gt;&amp;gt; &amp;nbsp;order.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Talking about future: How much is it to extend scalar with either mine or
&lt;br&gt;&amp;gt; &amp;nbsp;your idea?
&lt;br&gt;I think that a good place to ask that would be on the scala-discussion mailing 
&lt;br&gt;list. It's there that discussions about new features are supposed to be, 
&lt;br&gt;anyways.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Jörg
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----Ursprüngliche Nachricht-----
&lt;br&gt;&amp;gt; Von: David Flemström [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305311&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;david.flemstrom@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Gesendet: Mittwoch, 11. November 2009 16:55
&lt;br&gt;&amp;gt; An: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305311&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;scala-user@...&lt;/a&gt;; Kubitz, Jörg
&lt;br&gt;&amp;gt; Betreff: Re: [scala-user] right bounded infix notation (was:how to define
&lt;br&gt;&amp;gt; &amp;nbsp;Operator for {Double * myType}?)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; First, your problem of &amp;quot;nasty implicit type conversion imports&amp;quot;: You can
&lt;br&gt;&amp;gt; always put your implicits in the companion object of your class, and they
&lt;br&gt;&amp;gt; &amp;nbsp;will be loaded automatically, e.g:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; package example {
&lt;br&gt;&amp;gt; &amp;nbsp; object S {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; implicit def int2s(i: Int) = new {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; def method() = println(&amp;quot;s&amp;quot;)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; class S
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; object Program {
&lt;br&gt;&amp;gt; &amp;nbsp; def main(args: Array[String]) = {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; import example._
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; val x = new S
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; x.method()
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Secondly, your language extensions:
&lt;br&gt;&amp;gt; I see many problems with this, one being that the Scala syntax can't be
&lt;br&gt;&amp;gt; changed &amp;quot;just like that&amp;quot;, and another being that your solution brings about
&lt;br&gt;&amp;gt; quite a few syntactical conflicts, like, for example:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; class A {
&lt;br&gt;&amp;gt; &amp;nbsp; def and(b: B) = println(&amp;quot;A&amp;quot;)
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; class B {
&lt;br&gt;&amp;gt; &amp;nbsp; inverse def and(a: A) = println(&amp;quot;B&amp;quot;)
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; object Program {
&lt;br&gt;&amp;gt; &amp;nbsp; def main(args: Array[String]) = {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; val (a, b) = (new A, new B)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; a and b
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I like the idea of adding some mechanic that would allow you to skip
&lt;br&gt;&amp;gt; &amp;nbsp;implicits for some use cases (because implicits are expensive; they
&lt;br&gt;&amp;gt; &amp;nbsp;require a wrapper object to be created), but I don't think that your
&lt;br&gt;&amp;gt; &amp;nbsp;soultion is sustainable.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What would work, as can be seen in the CLI-language C# (some of you might
&lt;br&gt;&amp;gt; &amp;nbsp;have heard about it ;-) ), would be to allow for pure extension methods to
&lt;br&gt;&amp;gt; &amp;nbsp;classes, like so:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; class SomeClass
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; object SomewhereElse {
&lt;br&gt;&amp;gt; &amp;nbsp; def newMethod(this: SomeClass, arg: String) = println(this + &amp;quot; says &amp;quot; +
&lt;br&gt;&amp;gt; &amp;nbsp;arg) }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; object Program {
&lt;br&gt;&amp;gt; &amp;nbsp; def main(args: Array[String]) = {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; import SomewhereElse._
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; val x = new SomeClass
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; x newMethod &amp;quot;Hello&amp;quot; &amp;nbsp;//Compiler transforms this to newMethod(x,
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;quot;Hello&amp;quot;) }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It would be clean and not break any current code, but I don't think that
&lt;br&gt;&amp;gt; something like that will be implemented in the near future (but maybe I
&lt;br&gt;&amp;gt; &amp;nbsp;should write a compiler plugin for it anyways?)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Wednesday 11 November 2009 14:43:15 Kubitz, Jörg wrote:
&lt;br&gt;&amp;gt; &amp;gt; Hi
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I realy don’t like that Methods with &amp;quot;:&amp;quot; as the last character are
&lt;br&gt;&amp;gt; &amp;gt; bounded in the inverse Order (by that implicity you put a domain specific
&lt;br&gt;&amp;gt; &amp;gt; feature into the language). &amp;nbsp;Thats neither intuitive nor documented on
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;&lt;a href=&quot;http://www.scala-lang.org/node/118&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.scala-lang.org/node/118&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On the other side I see the need of inverse bounding and would like to
&lt;br&gt;&amp;gt; &amp;gt; use the inverse bounding as well for my scalar-multiplication &amp;quot;*&amp;quot; to get
&lt;br&gt;&amp;gt; &amp;gt; rid of that nesty implicit type conversion import.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; So my suggestion is that the inverse bounding can (and has to) be
&lt;br&gt;&amp;gt; &amp;gt; declared explicitly Unary Operators would then become a special case
&lt;br&gt;&amp;gt; &amp;gt; (inverse bounded method without parameter)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Instead of
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; def ::[U&amp;gt;:T](x:U):List[U]= new scala.::(x,this)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; def unary_~ : Rational = new Rational(denom, numer)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I would like a explicit definition of inverse bounding like this:
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; inverse def ::[U&amp;gt;:T](x:U):List[U]= new scala.::(x,this)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; inverse def ~ : Rational = new Rational(denom, numer)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Furthermore it would be nice if one could define tenary (or even higher)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;operators in this style: def myif(this)then(y)else(z) : any = if x then
&lt;br&gt;&amp;gt; &amp;gt; y else z
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;def select(this)from(t : table) : ...
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;def insert(this)into(t : table) : ...
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; i.e. &amp;quot;(this)&amp;quot; defines the place of the hidden class instance parameter.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; That’s why I suggest the following syntax for explicit inverse bounding:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;def [U&amp;gt;:T](x:U)::(this) :List[U]= new scala.::(x,this)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;def ~(this) : Rational = new Rational(denom, numer)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Jörg Kubitz
&lt;br&gt;&amp;gt; &amp;gt; -----Ursprüngliche Nachricht-----
&lt;br&gt;&amp;gt; &amp;gt; Von: Kevin Wright [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305311&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kev.lee.wright@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; &amp;gt; Gesendet: Montag, 9. November 2009 17:08
&lt;br&gt;&amp;gt; &amp;gt; An: Kubitz, Jörg
&lt;br&gt;&amp;gt; &amp;gt; Cc: Paul Phillips; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305311&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;scala-user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; Betreff: Re: [scala-user] how to define Operator for {Double * myType}?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; You can use a static import, or put the implicit in the cashflow
&lt;br&gt;&amp;gt; &amp;gt; companion object (I think, this may not work as you're not actually
&lt;br&gt;&amp;gt; &amp;gt; converting to a cashflow, I forget the exact spec)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I also believe that an implicit in the package object (for whatever
&lt;br&gt;&amp;gt; &amp;gt; package contains cashflow) will do the trick under 2.8, though I
&lt;br&gt;&amp;gt; &amp;gt; haven't actually tested this one myself...
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Mon, Nov 9, 2009 at 4:00 PM, Kubitz, Jörg &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305311&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jkubitz@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Thanks, but the compiler does not allow a &amp;quot;implicit&amp;quot; outside a
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; (class)body. So I would have to put the line
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; implicit def num2commute(x: Double) = new { def *(c: cashflow) = c * x
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; in every method that uses a Multiplication? I hope you are kidding me
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; ;)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; -----Ursprüngliche Nachricht-----
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Von: Kevin Wright [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305311&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kev.lee.wright@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Gesendet: Montag, 9. November 2009 16:57
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; An: Paul Phillips
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Cc: Kubitz, Jörg; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305311&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;scala-user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Betreff: Re: [scala-user] how to define Operator for {Double * myType}?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; On Mon, Nov 9, 2009 at 3:46 PM, Paul Phillips &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305311&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paulp@...&lt;/a&gt;&amp;gt; 
&lt;/div&gt;wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; On Mon, Nov 09, 2009 at 04:20:48PM +0100, Kubitz, Jörg wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;&amp;gt; Is there a trait for adding Commutativity? Can such a trait be
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;&amp;gt; implemented in general?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; In general? No. &amp;nbsp;Your problem is that * already exists on Double, and
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; the error of calling that with the wrong type trumps an implicit
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; conversion (maybe that could change, but it feels unlikely.)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Ouch! Looks like we have another candidate for Scala puzzlers...
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; We live and learn :)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; If you pick a fresh operator you can do this, or a more efficient
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; equivalent.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; implicit def num2commute(x: Double) = new { def **(c: cashflow) = c **
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; 2 }
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; Paul Phillips &amp;nbsp; &amp;nbsp; &amp;nbsp;| Every normal man must be tempted at times
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; Stickler &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | to spit on his hands, hoist the black flag,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; Empiricist &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | and begin to slit throats.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; i pull his palp! &amp;nbsp; | &amp;nbsp; &amp;nbsp; -- H. L. Mencken
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---User-f30217.html&quot; embed=&quot;fixTarget[30217]&quot; target=&quot;_top&quot; &gt;Scala - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-to-define-Operator-for-%7BDouble-*-myType%7D--tp26268176p26305311.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26305290</id>
	<title>Re: Issue 164: S.notice, S.error, etc. broken from within AJAX/JSON  calls</title>
	<published>2009-11-11T09:33:32Z</published>
	<updated>2009-11-11T09:33:32Z</updated>
	<author>
		<name>Ross Mellgren-2</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;M7.1 would be extremely helpful to me as I'm trying to move a project into QA and I'm loathe to use a moving target for QA. However, if need be I can stick with a working SNAPSHOT up until M8, if M8 is really coming around first week Dec.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-Ross&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;div&gt;On Nov 11, 2009, at 12:21 PM, David Pollak wrote:&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;It's stuck on review board.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;We're thinking of a M7.1 release because M7 is pretty broken with this issue and the Session-related issue that Harry reported.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 9:18 AM, Ross Mellgren &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305290&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dridus@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;&lt;div style=&quot;word-wrap:break-word&quot;&gt;Hey, any news on when this change will be pushed? I compiled a local copy and verified the fix works with my larger application, but I can't seem to get Maven to consistently keep my copy of 1.1-SNAPSHOT around and not download the new copies from &lt;a href=&quot;http://scala-tools.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;scala-tools.org&lt;/a&gt; (I'm a Maven newbie, so I'm open to the possibility that I suck).&lt;div&gt;
&lt;br&gt;&lt;div&gt;&lt;font color=&quot;#888888&quot;&gt;-Ross&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;On Nov 7, 2009, at 9:52 AM, David Pollak wrote:&lt;/div&gt;&lt;br&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 6, 2009 at 1:26 PM, Ross Mellgren &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305290&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dridus@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex&quot;&gt;
&lt;div style=&quot;word-wrap:break-word&quot;&gt;I can confirm that my app now works correctly. Is there already a date set for M8? Or will this make it in to the M7 post release? I prefer to use milestones this late into dev, to avoid new errors popping up.&lt;/div&gt;

&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;The M7 post-release was only for a particular issue for a particular user and it turns out that their issue was a non-Lift issue.&lt;br&gt;&lt;br&gt;M8 will be out in early December (we target the first Wednesday of the month).&lt;br&gt;

&lt;br&gt;Is you app in production (actual end users using it)?&amp;nbsp; We have a policy of heightened support for production apps and this issue is non-trivial, so it may be work an ancillary release if it's hitting you in production.&lt;br&gt;

&amp;nbsp;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex&quot;&gt;&lt;div style=&quot;word-wrap:break-word&quot;&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;&lt;div&gt;-Ross&lt;/div&gt;
&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;div&gt;On Nov 6, 2009, at 3:38 PM, David Pollak wrote:&lt;/div&gt;&lt;br&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 6, 2009 at 12:37 PM, Ross Mellgren &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305290&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dridus@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex&quot;&gt;
&lt;div style=&quot;word-wrap:break-word&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;On Nov 6, 2009, at 3:24 PM, David Pollak wrote:&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 6, 2009 at 12:03 PM, Ross Mellgren &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305290&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dridus@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;


&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex&quot;&gt;
&lt;div style=&quot;word-wrap:break-word&quot;&gt;Paytronix Systems, Inc.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Centrally hosted gift and loyalty card solution -- standard-ish 2-3 tier, SQL server backend, JBoss (mostly as servlet container) middleware exposing web and web services, custom POS integration software at restaurants. You've probably seen a bunch of our customers.&lt;/div&gt;



&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Right... you told me this already... sorry for forgetting.&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;No problem. My boss (Stefan Kochi) might be sending you an email soon.&lt;/div&gt;&lt;div&gt;&lt;div&gt;


&lt;br&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div&gt;Also, your fix is up in dpp_issue_164 on GitHub.&lt;font color=&quot;#000000&quot;&gt;&lt;font color=&quot;#144fae&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;Thanks! I take it it'll go through the usual review board cycle?&lt;/div&gt;


&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Yes, it's up on review board now, but you can pull the dpp_issue_164 branch and do a local build.&lt;br&gt;&amp;nbsp;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex&quot;&gt;


&lt;div style=&quot;word-wrap:break-word&quot;&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;&lt;div&gt;-Ross&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Lift, the simply functional web framework &lt;a href=&quot;http://liftweb.net/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;


Beginning Scala &lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.apress.com/book/view/1430219890&lt;/a&gt;&lt;br&gt;Follow me: &lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;

Surf the harmonics&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Lift, the simply functional web framework &lt;a href=&quot;http://liftweb.net/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;Beginning Scala &lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.apress.com/book/view/1430219890&lt;/a&gt;&lt;br&gt;

Follow me: &lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;Surf the harmonics&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Lift, the simply functional web framework &lt;a href=&quot;http://liftweb.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;Beginning Scala &lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apress.com/book/view/1430219890&lt;/a&gt;&lt;br&gt;
Follow me: &lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;Surf the harmonics&lt;br&gt;
&lt;/div&gt;&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;
--~--~---------~--~----~------------~-------~--~----~&lt;br&gt;
You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group. &lt;br&gt; To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305290&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt; &lt;br&gt; To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305290&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt; &lt;br&gt; For more options, visit this group at http://groups.google.com/group/liftweb?hl=en&lt;br&gt;
-~----------~----~----~----~------~----~------~--~---&lt;br&gt;
&lt;/body&gt;&lt;/html&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Issue-164%3A-S.notice%2C-S.error%2C-etc.-broken-from-within-AJAX-JSON--calls-tp26305108p26305290.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26305256</id>
	<title>Re: ManyToMany decision</title>
	<published>2009-11-11T09:31:55Z</published>
	<updated>2009-11-11T09:31:55Z</updated>
	<author>
		<name>Naftoli Gugenheim</name>
	</author>
	<content type="html">&lt;br&gt;To clarify: The fundamental purpose of ManyToMany, like OneToMany, is that rather than dealing with &amp;quot;children&amp;quot; of an entity as they are in the database at a given moment, instead, they should have similar semantics to a MappedField: You load it from the database, modify it to your hearts content, and then decide whether you want to save it or not. For example, calling set() on a MappedField does not write immediately to the database, and it's a good thing too--imagine a multi-page form where you can go back and forth to different screens, or a single page form that uses submit buttons that perform some action but you stay on the same page. You don't want the user's changes to go the database unless he clicks &amp;quot;Save.&amp;quot; So too, one often wants to edit a list on one screen. There should be submit buttons to add records, etc., but if you don't click save it shouldn't go to the database.
&lt;br&gt;So MappedOneToMany and MappedManyToMany act as collections, internally keeping track of which records were inserted or removed, but not performing a create or delete until the &amp;quot;field&amp;quot; is saved. So in other words they act as multi-valued fields.
&lt;br&gt;There are two ways MappedManyToMany can do this. It can hold a list of join table records, or child table records. Either way it will have to look up the other at times.
&lt;br&gt;Now in order for saves and deletes on the ManyToMany Mapper to be propagated to the MappedManyToMany fields, it has to have a list of them. The list only gets populated when code references the field, causing it to be initialized and add itself to the list of m-n fields.
&lt;br&gt;So we make all of these proposed changes?
&lt;br&gt;&lt;br&gt;-------------------------------------
&lt;br&gt;Jim Barrows&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305256&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jim.barrows@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;On Tue, Nov 10, 2009 at 2:16 PM, Naftoli Gugenheim &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305256&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;naftoligug@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Hello.
&lt;br&gt;&amp;gt; When I wrote ManyToMany a couple of months ago, I designed it to internally
&lt;br&gt;&amp;gt; hold a collection of join table records, and to act as a collection of
&lt;br&gt;&amp;gt; elements of the child table.
&lt;br&gt;&amp;gt; For example, given Volunteer and VolunteerGroup where volunteers can be in
&lt;br&gt;&amp;gt; multiple groups, Volunteer.volunteerGroups implements a collection of
&lt;br&gt;&amp;gt; VolunteerGroups, but internally it's actually managing a collection of
&lt;br&gt;&amp;gt; VolunteerVolunteerGroups (the join table).
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;I don't think you really need to maintain the pivot table list
&lt;br&gt;(VolunteerVolunteerGroups) at all. &amp;nbsp;If you maintain the Many-to-Many as part
&lt;br&gt;of the object, and use a standard naming convention then you don't really
&lt;br&gt;need this extra list running around. &amp;nbsp;You can still build the SQL correctly
&lt;br&gt;knowing only the objects involved.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The current implementation throws an error (Predef.error) when it tries to
&lt;br&gt;&amp;gt; get the child element via the join record and it doesn't exist. Thus any
&lt;br&gt;&amp;gt; page accessing corrupted data will not display if the error is not caught. I
&lt;br&gt;&amp;gt; plan, G-d willing, to change the implementation to silently skip such
&lt;br&gt;&amp;gt; records.
&lt;br&gt;&amp;gt; But the occurrence that reminded me of the defect also brought another
&lt;br&gt;&amp;gt; point to my attention. To my knowledge Lift's schemifier does not correctly
&lt;br&gt;&amp;gt; generate foreign key constraints for all databases (at least not at the
&lt;br&gt;&amp;gt; point in time it schemified my H2 database... :) ) so we need a way for
&lt;br&gt;&amp;gt; ManyToMany to keep things in sync. ManyToMany helps, to an extent, because
&lt;br&gt;&amp;gt; when its MappedManyToMany members are initialized, it puts them in a list,
&lt;br&gt;&amp;gt; and it propagates saves and deletes. So if you have a ManyToMany Mapper
&lt;br&gt;&amp;gt; instance that contains a MappedManyToMany that has been initialized, and you
&lt;br&gt;&amp;gt; call delete_! on the Mapper, it will delete all the associated join table
&lt;br&gt;&amp;gt; entries. But it's not enough.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;1. That can only happen if both sides of the relationship use
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;MappedManyToMany. Is there some way to enforce this? I was thinking of using
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;a combination of (a) requiring the foreign MetaMapper to extends ManyToMany,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;and (b) when a MappedManyToMany is initialized, it should check that the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;foreign MetaMapper/ManyToMany actually contains a MappedManyToMany referring
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;to the current MappedManyToMany. (a) is not sufficient without (b), and (b)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;has the same problem as #2 below, that objects are lazy.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;I think you're right here. &amp;nbsp;Both sides have to have the mapping.. however I
&lt;br&gt;don't think there is a good clean way to detect this without a compiler
&lt;br&gt;plugin of some kind.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;1. There is a basic problem, which is that since objects are lazy, if
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;you haven't referenced the MappedManyToMany field, delete_! will not be able
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;to propagate to the join entries.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;As you traverse the deleteing side, doesn't the other side get initialized
&lt;br&gt;as well?
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; #2 and #1.b can be solved by using reflection to initialize the
&lt;br&gt;&amp;gt; MappedManyToMany members eagerly, just as MetaMapper does for all
&lt;br&gt;&amp;gt; MappedFields. (MappedManyToMany is not a MappedField.) Now the advantage to
&lt;br&gt;&amp;gt; having them lazy is that if you don't reference them they don't query the
&lt;br&gt;&amp;gt; database. This advantage can be retained though by implementing the
&lt;br&gt;&amp;gt; collection internally to populate lazily, much as MappedOneToMany already
&lt;br&gt;&amp;gt; is.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thoughts?
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;I think your maintaining to much information that can be deduced from the
&lt;br&gt;context.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; &amp;nbsp; Naftoli Gugenheim
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;James A Barrows
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--~--~---------~--~----~------------~-------~--~----~
&lt;br&gt;You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group.
&lt;br&gt;To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305256&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt;
&lt;br&gt;To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305256&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt;
&lt;br&gt;For more options, visit this group at &lt;a href=&quot;http://groups.google.com/group/liftweb?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/liftweb?hl=en&lt;/a&gt;&lt;br&gt;-~----------~----~----~----~------~----~------~--~---
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ManyToMany-decision-tp26291311p26305256.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26305158</id>
	<title>Re: Google's new language, Go</title>
	<published>2009-11-11T09:24:32Z</published>
	<updated>2009-11-11T09:24:32Z</updated>
	<author>
		<name>Ricky Clarkson</name>
	</author>
	<content type="html">Agreed about the standard library and case classes/pattern matching, thanks for pointing out my folly.  I expect that a lazy var would confuse the life out of us.&lt;br&gt;&lt;br&gt;C# and VB provide decent functional abstractions too, at least all of those that you listed.&lt;br&gt;

&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/11 Alex Boisvert &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305158&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.boisvert@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Scala encourages immutability in different ways.  One is providing a set of immutable data structures as part of the standard library.  Another is case classes defaulting to val&amp;#39;s for their arguments.  Tthere&amp;#39;s no equivalent of &amp;quot;lazy val&amp;quot; for var&amp;#39;s.   Providing decent functional abstractions also indirectly encourages immutability (first-class functions, map, folds, reduce, for-comprehensions, ...).  Pattern matching supports scalable decomposition of data structures without resorting to mutability, etc.&lt;br&gt;


&lt;br&gt;I agree there&amp;#39;s more that could be done but  I think there&amp;#39;s a good case for saying that Scala encourages immutability -- at least if you consider other mainstream programming languages as your basis (Java, C/C++/C#, Ruby, Python, Perl, VB, ...).&lt;br&gt;

&lt;font color=&quot;#888888&quot;&gt;
&lt;br&gt;alex&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 8:52 AM, Ricky Clarkson &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305158&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ricky.clarkson@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Scala doesn&amp;#39;t help you to know whether a type is immutable any more than Java does.  val is terser than public final, but other than that it&amp;#39;s not very informative.  The *docs* encourage immutability more than the language does.&lt;br&gt;




&lt;br&gt;Effect systems have been considered, but I think it&amp;#39;s pretty hard to come up with one that makes the OO programmers happy too.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div&gt;2009/11/11 Marcus Downing &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305158&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;marcus@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;




&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;
Ricky Clarkson wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Scala hardly encourages immutability either, so we might be the wrong&lt;br&gt;
&amp;gt; people&lt;br&gt;
&amp;gt; to ask. :)&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Really? I&amp;#39;d say Scala encourages but doesn&amp;#39;t enforce - which is the right&lt;br&gt;
approach. Since learning Scala, I&amp;#39;ve found my code in Java and even in PHP&lt;br&gt;
is more functional in nature (and more reliable because of it).&lt;br&gt;
&lt;div&gt;&lt;br&gt;
&lt;br&gt;
Ricky Clarkson wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I haven&amp;#39;t worked out yet whether it supports type parameters.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;No.&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://old.nabble.com/Google%27s-new-language%2C-Go-tp26302993p26304512.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Google%27s-new-language%2C-Go-tp26302993p26304512.html&lt;/a&gt;&lt;br&gt;
&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Sent from the Scala - Debate mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;-- &lt;br&gt;Ricky Clarkson&lt;br&gt;Java and Scala Programmer, AD Holdings&lt;br&gt;+44 1565 770804&lt;br&gt;Skype: ricky_clarkson&lt;br&gt;Google Talk: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305158&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ricky.clarkson@...&lt;/a&gt;&lt;br&gt;




Google Wave: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305158&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ricky.clarkson@...&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Ricky Clarkson&lt;br&gt;Java and Scala Programmer, AD Holdings&lt;br&gt;+44 1565 770804&lt;br&gt;Skype: ricky_clarkson&lt;br&gt;Google Talk: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305158&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ricky.clarkson@...&lt;/a&gt;&lt;br&gt;

Google Wave: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305158&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ricky.clarkson@...&lt;/a&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Scala---Debate-f30218.html&quot; embed=&quot;fixTarget[30218]&quot; target=&quot;_top&quot; &gt;Scala - Debate&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Google%27s-new-language%2C-Go-tp26302993p26305158.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26305123</id>
	<title>Re: Unit testing a RESTful webservice with Lift</title>
	<published>2009-11-11T09:22:47Z</published>
	<updated>2009-11-11T09:22:47Z</updated>
	<author>
		<name>Alex Black-3</name>
	</author>
	<content type="html">Looks nice.&lt;br&gt;&lt;br&gt;Singleton - ah, yes, that sounds like it will work well, good call.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 11, 2009 at 12:05 PM, David Pollak &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305123&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;feeder.of.the.bears@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div class=&quot;im&quot;&gt;On Wed, Nov 11, 2009 at 7:09 AM, Alex Black &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305123&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
What are you unhappy about? Those tests look pretty simple and slick&lt;br&gt;
to me!&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Yeah, but with this change: &lt;a href=&quot;http://reviewboard.liftweb.net/r/95/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://reviewboard.liftweb.net/r/95/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;You&amp;#39;ll get:&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 11px;&quot;&gt;&lt;pre style=&quot;border: 1px solid rgb(184, 181, 160); margin: 5px 0px 0px; padding: 10px; font-size: 10pt; background-color: rgb(255, 255, 255); white-space: pre-wrap;&quot;&gt;
 &amp;quot;Login&amp;quot; in {
      for{
        login &amp;lt;- post(&amp;quot;/api/login&amp;quot;, &amp;quot;token&amp;quot; -&amp;gt; token) !@ &amp;quot;Failed to log in&amp;quot; if (testSuccess(login))
        status &amp;lt;- login.get(&amp;quot;/api/status&amp;quot;) !@ &amp;quot;Failed to get status&amp;quot; if (testSuccess(status))
      } {
        (status.xml \ &amp;quot;user&amp;quot; \ &amp;quot;@id&amp;quot;).text must_== theUser.id.toString
      }
    }&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;im&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
It looks like the JettyTestServer is a singleton inside the test suite&lt;br&gt;
- what happens if you have another test suite? I think you&amp;#39;d then hit&lt;br&gt;
the same problem that I did, when the second test suite tries to fire&lt;br&gt;
up Jetty it will fail because Lift has already been initialized.&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;The example in ESME is a singleton, but the start method is actually a lazy val, so you can call it from any test, but it will only be triggered once per run per classloader.  Does this give you what you want?  If not, it&amp;#39;ll be some mucking around with multiple classloaders.&lt;/div&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
- Alex&lt;br&gt;
&lt;br&gt;
On Nov 10, 2:25 pm, David Pollak &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305123&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;feeder.of.the.be...@...&lt;/a&gt;&amp;gt;&lt;br&gt;
wrote:&lt;br&gt;
&lt;div&gt;&amp;gt; I&amp;#39;ve just committed simple API test code up to the ESME project.  The key&lt;br&gt;
&amp;gt; pieces are at:&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/sca...http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/sca.&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/sca...http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/sca.&lt;/a&gt;..&lt;br&gt;


&lt;div&gt;&amp;gt;&lt;br&gt;
&amp;gt; After spending 30 minutes with the Lift TestKit, I&amp;#39;m wicked unhappy with&lt;br&gt;
&amp;gt; it... but that will change later today. ;-)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&amp;gt; On Tue, Nov 10, 2009 at 9:51 AM, Alex Black &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305123&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a...@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; My first unit test worked fine, but my second one dies:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; ERROR - Failed to Boot&lt;br&gt;
&amp;gt; &amp;gt; java.lang.IllegalStateException: Cannot modify after boot.&lt;br&gt;
&amp;gt; &amp;gt;        at net.liftweb.http.RulesSeq$class.safe_$qmark(LiftRules.scala:885)&lt;br&gt;
&amp;gt; &amp;gt;        at net.liftweb.http.RulesSeq$class.prepend(LiftRules.scala:892)&lt;br&gt;
&amp;gt; &amp;gt;        at net.liftweb.http.RulesSeq$$anon$3.prepend(LiftRules.scala:872)&lt;br&gt;
&amp;gt; &amp;gt; ....&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Presumably because it has already loaded and started Lift, and my&lt;br&gt;
&amp;gt; &amp;gt; second unit test fires up Jetty again trying to start Lift again which&lt;br&gt;
&amp;gt; &amp;gt; I take it is not supported.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; So, I figure I should either:&lt;br&gt;
&amp;gt; &amp;gt; a. refactor my tests so that I only create one jetty and lift instance&lt;br&gt;
&amp;gt; &amp;gt; ever&lt;br&gt;
&amp;gt; &amp;gt; - this will probably require &amp;#39;resetting&amp;#39; the service somehow to ensure&lt;br&gt;
&amp;gt; &amp;gt; a blank slate between each unit test, not sure how I get a hold of the&lt;br&gt;
&amp;gt; &amp;gt; instance in question for that&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; b. somehow launch jetty/lift differently, or force lift to cleanup?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; On Nov 9, 10:50 pm, Jonathan Ferguson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305123&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;j...@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; We fire up Jetty populate a temp database and then run a batch of tests.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Seems to work well for us.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Jono&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; 2009/11/10 Alex Black &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305123&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a...@...&lt;/a&gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Can anyone suggest some good examples or strategies to use to test a&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; webservice written with Lift?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I&amp;#39;ve started down the path of firing up Jetty in a unit test, then&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; just hitting it with say a GET and checking the response.  Whats a&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; good way of firing up Jetty?  It looks like using ServletTester would&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; be the way to go:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;a href=&quot;http://www.christianschenk.org/blog/testing-web-applications-with-jetty/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.christianschenk.org/blog/testing-web-applications-with-jetty/&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; could that work with Lift?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; - Alex&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; --&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&amp;gt; Lift, the simply functional web frameworkhttp://&lt;a href=&quot;http://liftweb.net&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;liftweb.net&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&amp;gt; Beginning Scalahttp://&lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;www.apress.com/book/view/1430219890&lt;/a&gt;&lt;br&gt;
&lt;div&gt;&amp;gt; Follow me:&lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;
&amp;gt; Surf the harmonics&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;&lt;div class=&quot;im&quot;&gt;Lift, the simply functional web framework &lt;a href=&quot;http://liftweb.net&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;&lt;/div&gt;Beginning Scala &lt;a href=&quot;http://www.apress.com/book/view/1430219890&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.apress.com/book/view/1430219890&lt;/a&gt;&lt;div&gt;
&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
Follow me: &lt;a href=&quot;http://twitter.com/dpp&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/dpp&lt;/a&gt;&lt;br&gt;Surf the harmonics&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;&lt;a href=&quot;http://blog.alexblack.ca&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.alexblack.ca&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://twitter.com/waterlooalex&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/waterlooalex&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
--~--~---------~--~----~------------~-------~--~----~&lt;br&gt;
You received this message because you are subscribed to the Google Groups &amp;quot;Lift&amp;quot; group. &lt;br&gt; To post to this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305123&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb@...&lt;/a&gt; &lt;br&gt; To unsubscribe from this group, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26305123&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liftweb+unsubscribe@...&lt;/a&gt; &lt;br&gt; For more options, visit this group at http://groups.google.com/group/liftweb?hl=en&lt;br&gt;
-~----------~----~----~----~------~----~------~--~---&lt;br&gt;
&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/liftweb-f30586.html&quot; embed=&quot;fixTarget[30586]&quot; target=&quot;_top&quot; &gt;liftweb&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unit-testing-a-RESTful-webservice-with-Lift-tp26277370p26305123.html" />
</entry>

</feed>
