<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-20935</id>
	<title>Nabble - Scala - Lounge</title>
	<updated>2008-01-11T09:26:33Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Scala---Lounge-f20935.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Scala---Lounge-f20935.html" />
	<subtitle type="html">A more relaxed list for questions and discussions about &lt;a href=&quot;http://www.scala-lang.org/community/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Scala&lt;/a&gt;. In particular, the following should go to this list:
&lt;br&gt;&amp;nbsp; &amp;nbsp; * newbie questions.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * trails of discussions that started in scala but become too specialized to be of interest to most readers.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * topics where you suspect that only a few people would be interested.
&lt;br&gt;&lt;br&gt;The forums was made read-only (&lt;a href=&quot;http://www.nabble.com/End-of-scala-lounge-td14754740.html&quot; target=&quot;_top&quot;&gt;details&lt;/a&gt;)</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-14761387</id>
	<title>Re: Easy serialization</title>
	<published>2008-01-11T09:26:33Z</published>
	<updated>2008-01-11T09:26:33Z</updated>
	<author>
		<name>David Bernard-3</name>
	</author>
	<content type="html">Insitu wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; In the process of writing a piece of software, I ran into the problem
&lt;br&gt;&amp;gt; of serializing or interacting with the user/outside world and am
&lt;br&gt;&amp;gt; looking for a scala(tm) way to deal with that. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have a class LSystem which I can initialize using &amp;quot;syntactic sugar&amp;quot;
&lt;br&gt;&amp;gt; like:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; new LSystem(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; 'A' -&amp;gt; &amp;quot;AB&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; 'B' -&amp;gt; &amp;quot;BB&amp;quot;)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I would like to write a small program that read a textual description
&lt;br&gt;&amp;gt; of a l-system and creates a scala object from it. I was thinking of
&lt;br&gt;&amp;gt; at least three possible ways of doing that:
&lt;br&gt;&amp;gt; &amp;nbsp;- write a parser: a bit overkill...
&lt;br&gt;&amp;gt; &amp;nbsp;- lift java serialization (eg. xstream or anything similar): not very
&lt;br&gt;&amp;gt; &amp;nbsp;user friendly
&lt;br&gt;&amp;gt; &amp;nbsp;- use some form dynamic evaluation like in a scala console: I would
&lt;br&gt;&amp;gt; &amp;nbsp;create a l-system object then &amp;quot;evaluate&amp;quot; the rules in its context.
&lt;/div&gt;&lt;br&gt;Write a parser or &amp;quot;dynamic evaluation&amp;quot; are for reading stream -&amp;gt; object
&lt;br&gt;How do you plan to write (object -&amp;gt; stream) ?
&lt;br&gt;&lt;br&gt;I did some quick test and xstream work nicely with case class (write and read).
&lt;br&gt;Why did you say &amp;quot;not user friendly&amp;quot; ?
&lt;br&gt;&lt;br&gt;&amp;gt; Is it possible (and easy) to achieve the latter ? Is there another way
&lt;br&gt;&amp;gt; I might be skipping ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks ,
&lt;br&gt;&lt;br&gt;/davidB
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Easy-serialization-tp14757617p14761387.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14757968</id>
	<title>Re: Easy serialization</title>
	<published>2008-01-11T06:46:42Z</published>
	<updated>2008-01-11T06:46:42Z</updated>
	<author>
		<name>Stanislas Klimoff-2</name>
	</author>
	<content type="html">I&amp;#39;m not sure if that&amp;#39;s what you mean...&lt;br&gt;You should be able to create class LSystem that takes a variable number of LRules in the constructor. LRule class would implement -&amp;gt; method, that sets up the rvalue. You&amp;#39;ll also need an implicit def that converts a string to a LRule.
&lt;br&gt;&lt;br&gt;The only thing that (I believe) you won&amp;#39;t be able to achieve is to use the &amp;#39;symbol&amp;#39; notation. As per my understanding, apostrophe is reserved to represent symbols in Scala.&lt;br&gt;&lt;br&gt;HTH, Stan&lt;br&gt;&lt;br&gt;&lt;div&gt;
&lt;span class=&quot;gmail_quote&quot;&gt;On 1/11/08, &lt;b class=&quot;gmail_sendername&quot;&gt;Insitu&lt;/b&gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14757968&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;abailly@...&lt;/a&gt;&amp;gt; wrote:&lt;/span&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;
Hello,&lt;br&gt;In the process of writing a piece of software, I ran into the problem&lt;br&gt;of serializing or interacting with the user/outside world and am&lt;br&gt;looking for a scala(tm) way to deal with that.&lt;br&gt;&lt;br&gt;I have a class LSystem which I can initialize using &amp;quot;syntactic sugar&amp;quot;
&lt;br&gt;like:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;new LSystem(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;A&amp;#39; -&amp;gt; &amp;quot;AB&amp;quot;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;B&amp;#39; -&amp;gt; &amp;quot;BB&amp;quot;)&lt;br&gt;&lt;br&gt;I would like to write a small program that read a textual description&lt;br&gt;of a l-system and creates a scala object from it. I was thinking of
&lt;br&gt;at least three possible ways of doing that:&lt;br&gt; - write a parser: a bit overkill...&lt;br&gt; - lift java serialization (eg. xstream or anything similar): not very&lt;br&gt; user friendly&lt;br&gt; - use some form dynamic evaluation like in a scala console: I would
&lt;br&gt; create a l-system object then &amp;quot;evaluate&amp;quot; the rules in its context.&lt;br&gt;&lt;br&gt;Is it possible (and easy) to achieve the latter ? Is there another way&lt;br&gt;I might be skipping ?&lt;br&gt;&lt;br&gt;Thanks ,&lt;br&gt;--&lt;br&gt;Arnaud Bailly, PhD
&lt;br&gt;OQube - Software Engineering&lt;br&gt;&lt;a href=&quot;http://www.oqube.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.oqube.com&lt;/a&gt;&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;Best wishes,&lt;br&gt;&amp;nbsp;&amp;nbsp;Stan Klimoff&lt;br&gt;&amp;nbsp;&amp;nbsp;Grid Dynamics Consulting
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Easy-serialization-tp14757617p14757968.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14757617</id>
	<title>Easy serialization</title>
	<published>2008-01-11T06:29:34Z</published>
	<updated>2008-01-11T06:29:34Z</updated>
	<author>
		<name>Arnaud Bailly</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;In the process of writing a piece of software, I ran into the problem
&lt;br&gt;of serializing or interacting with the user/outside world and am
&lt;br&gt;looking for a scala(tm) way to deal with that. 
&lt;br&gt;&lt;br&gt;I have a class LSystem which I can initialize using &amp;quot;syntactic sugar&amp;quot;
&lt;br&gt;like:
&lt;br&gt;&lt;br&gt;&amp;nbsp; new LSystem(
&lt;br&gt;&amp;nbsp; &amp;nbsp; 'A' -&amp;gt; &amp;quot;AB&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; 'B' -&amp;gt; &amp;quot;BB&amp;quot;)
&lt;br&gt;&lt;br&gt;I would like to write a small program that read a textual description
&lt;br&gt;of a l-system and creates a scala object from it. I was thinking of
&lt;br&gt;at least three possible ways of doing that:
&lt;br&gt;&amp;nbsp;- write a parser: a bit overkill...
&lt;br&gt;&amp;nbsp;- lift java serialization (eg. xstream or anything similar): not very
&lt;br&gt;&amp;nbsp;user friendly
&lt;br&gt;&amp;nbsp;- use some form dynamic evaluation like in a scala console: I would
&lt;br&gt;&amp;nbsp;create a l-system object then &amp;quot;evaluate&amp;quot; the rules in its context.
&lt;br&gt;&lt;br&gt;Is it possible (and easy) to achieve the latter ? Is there another way
&lt;br&gt;I might be skipping ?
&lt;br&gt;&lt;br&gt;Thanks ,
&lt;br&gt;-- 
&lt;br&gt;Arnaud Bailly, PhD
&lt;br&gt;OQube - Software Engineering
&lt;br&gt;&lt;a href=&quot;http://www.oqube.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.oqube.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Easy-serialization-tp14757617p14757617.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14754740</id>
	<title>End of scala-lounge</title>
	<published>2008-01-11T03:43:18Z</published>
	<updated>2008-01-11T03:43:18Z</updated>
	<author>
		<name>Martin Odersky</name>
	</author>
	<content type="html">Dear scala-lounge subscriber:
&lt;br&gt;&lt;br&gt;scala-lounge has been split into two new lists:
&lt;br&gt;&lt;br&gt;&amp;nbsp;scala-user &amp;nbsp; &amp;nbsp; &amp;nbsp;for newcomers and questions about programming in Scala
&lt;br&gt;&lt;br&gt;&amp;nbsp;scala-debate &amp;nbsp;for more advanced debates, including any form of
&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; language advocacy.
&lt;br&gt;&lt;br&gt;&amp;nbsp;You have been automatically subscribed to both lists. If you wish to
&lt;br&gt;&amp;nbsp;unsubscribe to either list, here's how to do it:
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;To unsubscribe from scala-user, look here :
&lt;br&gt;&amp;nbsp;&lt;a href=&quot;http://listes.epfl.ch/cgi-bin/doc_en?liste=scala-user&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://listes.epfl.ch/cgi-bin/doc_en?liste=scala-user&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;To unsubscribe from scala-debate, look here :
&lt;br&gt;&amp;nbsp;&lt;a href=&quot;http://listes.epfl.ch/cgi-bin/doc_en?liste=scala-debate&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://listes.epfl.ch/cgi-bin/doc_en?liste=scala-debate&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/End-of-scala-lounge-tp14754740p14754740.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14754523</id>
	<title>Re: Overloaded method/function name annoyances</title>
	<published>2008-01-11T03:27:59Z</published>
	<updated>2008-01-11T03:27:59Z</updated>
	<author>
		<name>Martin Odersky</name>
	</author>
	<content type="html">On Jan 10, 2008 1:19 PM, toivo &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14754523&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tom.tad@...&lt;/a&gt;&amp;gt; wrote:
&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;
&lt;br&gt;&amp;gt; object Annoy1 {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; def paymentInv( isa: double, amount: double, ex: double) = isa *
&lt;br&gt;&amp;gt; amount/1000 * ex
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; def paymentInv = paymentInv( 24, 7000, 0.9)
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Error: &amp;nbsp;overloaded method paymentInv needs result type
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; object Annoy1 {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; def paymentInv( isa: double, amount: double, ex: double) = isa *
&lt;br&gt;&amp;gt; amount/1000 * ex
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; val paymentInv = paymentInv( 24, 7000, 0.9)
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Error: recursive value paymentInv needs type
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Why result type is required?
&lt;br&gt;&amp;gt; And this is not recursive – I am calling different method/function with same
&lt;br&gt;&amp;gt; name but signature is different.
&lt;br&gt;&amp;gt;
&lt;/div&gt;Overloaded methods need an explicit result type because
&lt;br&gt;the result type is one of the things that's used to determine
&lt;br&gt;whether a method alternative is applicable or not. There's only so
&lt;br&gt;much one can do. If someone specifies a complete solution to me (in
&lt;br&gt;the language of the JLS) which is not too complicated and which is
&lt;br&gt;implementable, I'd be happy to implement it.
&lt;br&gt;&lt;br&gt;The ``recursive value'' message is a related, but different story --
&lt;br&gt;here, the compiler found that there exist two paymentInv and tried to
&lt;br&gt;determine the correct alternative. In doing that it needed the type of
&lt;br&gt;the value paymentInv, which gave the recursive value error. (and, just
&lt;br&gt;to respond to a possible objection -- the
&lt;br&gt;value paymentInv cannot be ruled out out of hand because
&lt;br&gt;it might be a function value that is applicable to the three arguments).
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Overloading (using same method name) works only inside same object/class?
&lt;br&gt;&lt;br&gt;Indeed. The compiler will first look up the members based on the rules
&lt;br&gt;of nesting and import precedence. Then, if there are several eligible
&lt;br&gt;members, overloading resolution is applied.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;&amp;nbsp;-- Martin
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Overloaded-method-function-name-annoyances-tp14731190p14754523.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14744074</id>
	<title>Re: Erlang OTP wire protocol implemented in a Java library</title>
	<published>2008-01-10T13:10:57Z</published>
	<updated>2008-01-10T13:10:57Z</updated>
	<author>
		<name>John D. Heintz-3</name>
	</author>
	<content type="html">Interoperation with Erlang is a nice property.
&lt;br&gt;&lt;br&gt;Perhaps JGroups or Jini could be used for service discovery but not
&lt;br&gt;for the message transport?
&lt;br&gt;&lt;br&gt;Erlang has some library support to enable group discovery here in a
&lt;br&gt;&amp;quot;process groups&amp;quot; module &amp;nbsp;&lt;a href=&quot;http://erlang.org/doc/man/pg.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://erlang.org/doc/man/pg.html&lt;/a&gt;, but the
&lt;br&gt;message transport still uses the standard Erlang protocol.
&lt;br&gt;&lt;br&gt;John
&lt;br&gt;&lt;br&gt;On Jan 10, 2008 11:59 AM, Alex Blewitt &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14744074&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.blewitt@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Jan 10, 2008 5:34 PM, Bill Venners &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14744074&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bv-jackrabbit@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; Hi All,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; For building distributed systems on the JVM, I'd also look at Jini. It
&lt;br&gt;&amp;gt; &amp;gt; has nice tools for discovering other nodes, dealing with partial
&lt;br&gt;&amp;gt; &amp;gt; failure, etc. It's now an Apache project. I'm not sure what the
&lt;br&gt;&amp;gt; &amp;gt; requirements or problems are currently with remote Actors, so I'm not
&lt;br&gt;&amp;gt; &amp;gt; sure if Jini would be a good fit, but it is certainly something I'd
&lt;br&gt;&amp;gt; &amp;gt; recommend looking at.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think the key point of using the Erlang format is not 'my format's
&lt;br&gt;&amp;gt; better than yours' but because it offers one thing that the others do
&lt;br&gt;&amp;gt; not: seamless interoperation with Erlang.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Alex.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;John D. Heintz
&lt;br&gt;Principal Consultant
&lt;br&gt;New Aspects of Software
&lt;br&gt;&lt;a href=&quot;http://newaspects.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://newaspects.com&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://johnheintz.blogspot.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://johnheintz.blogspot.com&lt;/a&gt;&lt;br&gt;Austin, TX
&lt;br&gt;(512) 633-1198
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14744074.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14740617</id>
	<title>Re: Erlang OTP wire protocol implemented in a Java library</title>
	<published>2008-01-10T10:31:48Z</published>
	<updated>2008-01-10T10:31:48Z</updated>
	<author>
		<name>Paul LaCrosse</name>
	</author>
	<content type="html">... or even this:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://jgcs.sourceforge.net/_Media/doa-06-13.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jgcs.sourceforge.net/_Media/doa-06-13.pdf&lt;/a&gt;&lt;br&gt;&lt;br&gt;This project is attempting to standardize a group communications API, and (supposedly) already works with JGroups, Appia, and Spread.
&lt;br&gt;&lt;br&gt;Remote actors could even be set up to work as RAIA (redundant array of inexpensive actors), along the lines of RAID and RAIDs (see &lt;a href=&quot;http://sequoia.continuent.org/HomePage&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sequoia.continuent.org/HomePage&lt;/a&gt;&amp;nbsp;- built using jGCS), where any actor of a suitable type could be chosen from one of many available nodes.</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14740617.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14742243</id>
	<title>Re: Erlang OTP wire protocol implemented in a Java library</title>
	<published>2008-01-10T09:59:45Z</published>
	<updated>2008-01-10T09:59:45Z</updated>
	<author>
		<name>Alex Blewitt</name>
	</author>
	<content type="html">On Jan 10, 2008 5:34 PM, Bill Venners &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14742243&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bv-jackrabbit@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Hi All,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For building distributed systems on the JVM, I'd also look at Jini. It
&lt;br&gt;&amp;gt; has nice tools for discovering other nodes, dealing with partial
&lt;br&gt;&amp;gt; failure, etc. It's now an Apache project. I'm not sure what the
&lt;br&gt;&amp;gt; requirements or problems are currently with remote Actors, so I'm not
&lt;br&gt;&amp;gt; sure if Jini would be a good fit, but it is certainly something I'd
&lt;br&gt;&amp;gt; recommend looking at.
&lt;br&gt;&lt;br&gt;I think the key point of using the Erlang format is not 'my format's
&lt;br&gt;better than yours' but because it offers one thing that the others do
&lt;br&gt;not: seamless interoperation with Erlang.
&lt;br&gt;&lt;br&gt;Alex.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14742243.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14739525</id>
	<title>Re: Erlang OTP wire protocol implemented in a Java library</title>
	<published>2008-01-10T09:34:02Z</published>
	<updated>2008-01-10T09:34:02Z</updated>
	<author>
		<name>Bill Venners</name>
	</author>
	<content type="html">Hi All,
&lt;br&gt;&lt;br&gt;For building distributed systems on the JVM, I'd also look at Jini. It &amp;nbsp;
&lt;br&gt;has nice tools for discovering other nodes, dealing with partial &amp;nbsp;
&lt;br&gt;failure, etc. It's now an Apache project. I'm not sure what the &amp;nbsp;
&lt;br&gt;requirements or problems are currently with remote Actors, so I'm not &amp;nbsp;
&lt;br&gt;sure if Jini would be a good fit, but it is certainly something I'd &amp;nbsp;
&lt;br&gt;recommend looking at.
&lt;br&gt;&lt;br&gt;Bill
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Jan 10, 2008, at 10:33 AM, Paul J. LaCrosse wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; David Pollak-2 wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This might be a good transport layer for remote Actors.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Maybe..., how about JGroups for the transport? (http:// 
&lt;br&gt;&amp;gt; www.jgroups.org)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The transport stack is very configurable...
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://www.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14736481.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14736481.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the Scala - Lounge mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14739525.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14738048</id>
	<title>Re: pattern matching on tuples</title>
	<published>2008-01-10T08:15:26Z</published>
	<updated>2008-01-10T08:15:26Z</updated>
	<author>
		<name>Fredrik Roos</name>
	</author>
	<content type="html">On Jan 10, 2008 4:55 PM, Carsten Saager &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14738048&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;csaager@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&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 Jan 10, 2008 4:33 PM, Nazar Stasiv &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14738048&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nstasiv@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; abstract class Shape
&lt;br&gt;&amp;gt; &amp;gt; case class Circle(radius:Int) extends Shape
&lt;br&gt;&amp;gt; &amp;gt; case class Rectangle(width:Int, height:Int) extends Shape
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; def area(shape:Shape):Double = shape match {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case Circle(radius) =&amp;gt; 3.14*radius*radius
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case Rectangle(width, height) =&amp;gt; width*height
&lt;br&gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The code above &amp;nbsp;does pattern matching on of input parameter type
&lt;br&gt;&amp;gt; shape:Shape. In this case it is likely to use tuples to represent data in
&lt;br&gt;&amp;gt; Rectangle and Circle classes.
&lt;br&gt;&amp;gt; &amp;gt; Tuple2[String, Int](&amp;quot;circle&amp;quot;, radius)
&lt;br&gt;&amp;gt; &amp;gt; Tuple3[String, Int, Int](&amp;quot;rectangle&amp;quot;, width, height)
&lt;br&gt;&amp;gt; &amp;gt; So finally I want to write a code which does pattern matching on tuple.
&lt;br&gt;&amp;gt; Here's how it is done with erlang
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; area({rect,Width,Height})-&amp;gt;Width*Height;
&lt;br&gt;&amp;gt; &amp;gt; area({circle,Radius})-&amp;gt;3.14*Radius*Radius.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Is it possible to have something close in scala? &amp;nbsp;To be specific I mean
&lt;br&gt;&amp;gt; this
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; def area(shape:Tuple):Double = shape match {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case (&amp;quot;circle&amp;quot;, radius) =&amp;gt; 3.14*radius*radius
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case (&amp;quot;rectangle&amp;quot;, width, height) =&amp;gt; width*height
&lt;br&gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; use overloading - don't match if the compiler can do it for you:
&lt;br&gt;&amp;gt; def area(shape:Tuple2[String, Int]):Double = 3.14*shape._2*shape_2
&lt;br&gt;&amp;gt; &amp;nbsp;def area(shape:Tuple3[String, Int, Int]):Double = shape._2*shape._3
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; alternatively
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; def area(shape:Product):Double = shape match {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;case Tuple2(&amp;quot;circle&amp;quot;, radius:Double) =&amp;gt; 3.14*radius*radius
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;case Tuple3(&amp;quot;rectangle&amp;quot;, width:Double, height:Double) =&amp;gt; width*height
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; val circle:Tuple2[String, Int]=(&amp;quot;circle&amp;quot;, 10)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;val rect:Tuple3[String, Int, Int]=(&amp;quot;rectangle&amp;quot;, 5, 6)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Console.println (area(circle))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.println (area(rect))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Console.println (area((&amp;quot;rectangle&amp;quot;,3,2)))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; but this is very fragile because of the type you have to define for radius,
&lt;br&gt;&amp;gt; width and height
&lt;/div&gt;&lt;br&gt;Tuples can be created and matched with simple parenthesis, like this:
&lt;br&gt;&lt;br&gt;(&amp;quot;foo&amp;quot;, 42) match { case (s : String, i : Int) =&amp;gt; println(s + &amp;quot;, &amp;quot; + i) }
&lt;br&gt;&lt;br&gt;No need to use the TupleX constructors.
&lt;br&gt;&lt;br&gt;/f
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pattern-matching-on-tuples-tp14736941p14738048.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14737963</id>
	<title>Re: pattern matching on tuples</title>
	<published>2008-01-10T08:10:42Z</published>
	<updated>2008-01-10T08:10:42Z</updated>
	<author>
		<name>Robin Message</name>
	</author>
	<content type="html">I think, for Scala, your first solution is the correct one. A tuple of 2
&lt;br&gt;elements does not have the same type as a tuple of 3 elements, so you
&lt;br&gt;have to go via Product. What's wrong with the code you posted to start
&lt;br&gt;with, using case classes?
&lt;br&gt;&lt;br&gt;Robin
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Jan 10, 2008 4:33 PM, Nazar Stasiv &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14737963&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nstasiv@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abstract class Shape
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case class Circle(radius:Int) extends Shape
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case class Rectangle(width:Int, height:Int) extends Shape
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; def area(shape:Shape):Double = shape match {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case Circle(radius) =&amp;gt; 3.14*radius*radius
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case Rectangle(width, height) =&amp;gt; width*height
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; def area(shape:Product):Double = shape match {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; case Tuple2(&amp;quot;circle&amp;quot;, radius:Double) =&amp;gt; 3.14*radius*radius
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; case Tuple3(&amp;quot;rectangle&amp;quot;, width:Double, height:Double) =&amp;gt;
&lt;br&gt;&amp;gt; width*height
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pattern-matching-on-tuples-tp14736941p14737963.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14737596</id>
	<title>Re: pattern matching on tuples</title>
	<published>2008-01-10T07:55:36Z</published>
	<updated>2008-01-10T07:55:36Z</updated>
	<author>
		<name>csar</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Jan 10, 2008 4:33 PM, Nazar Stasiv &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14737596&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nstasiv@...&lt;/a&gt;&amp;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;
Hello, &lt;br&gt;&lt;br&gt;abstract class Shape&lt;br&gt;case class Circle(radius:Int) extends Shape&lt;br&gt;case class Rectangle(width:Int, height:Int) extends Shape&lt;br&gt;&lt;br&gt;def area(shape:Shape):Double = shape match {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; case Circle(radius) =&amp;gt; 
3.14*radius*radius&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; case Rectangle(width, height) =&amp;gt; width*height&lt;br&gt;}&lt;br&gt;&lt;br&gt;The code above&amp;nbsp; does pattern matching on of input parameter type  shape:Shape. In this case it is likely to use tuples to represent data in Rectangle and Circle classes.
&lt;br&gt;Tuple2[String, Int](&amp;quot;circle&amp;quot;, radius)&lt;br&gt;Tuple3[String, Int, Int](&amp;quot;rectangle&amp;quot;, width, height)&lt;br&gt;So finally I want to write a code which does pattern matching on tuple. Here&amp;#39;s how it is done with erlang
&lt;br&gt;&lt;br&gt;area({rect,Width,Height})-&amp;gt;Width*Height;&lt;br&gt;area({circle,Radius})-&amp;gt;3.14*Radius*Radius.&lt;br&gt;&lt;br&gt;&lt;br&gt;Is it possible to have something close in scala?&amp;nbsp; To be specific I mean this&lt;br&gt;&lt;br&gt;&lt;br&gt;def area(shape:Tuple):Double = shape match {
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; case (&amp;quot;circle&amp;quot;, radius) =&amp;gt; 3.14*radius*radius&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; case (&amp;quot;rectangle&amp;quot;, width, height) =&amp;gt; width*height&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;use overloading - don&amp;#39;t match if the compiler can do it for you:
&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;def area(shape:Tuple2[String, Int]):Double = 3.14*shape._2*shape_2&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 area(shape:Tuple3[String, Int, Int]):Double = shape._2*shape._3&lt;/span&gt;&lt;br&gt;&lt;br&gt;alternatively&lt;br&gt;&lt;br&gt;&amp;nbsp;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt; def area(shape:Product):Double = shape match {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; case Tuple2(&amp;quot;circle&amp;quot;, radius:Double) =&amp;gt; 3.14*radius*radius&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp; case Tuple3(&amp;quot;rectangle&amp;quot;, width:Double, height:Double) =&amp;gt; width*height&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;&amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;
&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; val circle:Tuple2[String, Int]=(&amp;quot;circle&amp;quot;, 10)&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp; val rect:Tuple3[String, Int, Int]=(&amp;quot;rectangle&amp;quot;, 5, 6)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.println (area(circle))&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.println (area(rect))&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.println (area((&amp;quot;rectangle&amp;quot;,3,2)))
&lt;/span&gt;&lt;br&gt;&lt;br&gt;but this is very fragile because of the type you have to define for radius, width and height&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pattern-matching-on-tuples-tp14736941p14737596.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14736941</id>
	<title>pattern matching on tuples</title>
	<published>2008-01-10T07:33:49Z</published>
	<updated>2008-01-10T07:33:49Z</updated>
	<author>
		<name>stan-32</name>
	</author>
	<content type="html">Hello, &lt;br&gt;&lt;br&gt;abstract class Shape&lt;br&gt;case class Circle(radius:Int) extends Shape&lt;br&gt;case class Rectangle(width:Int, height:Int) extends Shape&lt;br&gt;&lt;br&gt;def area(shape:Shape):Double = shape match {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; case Circle(radius) =&amp;gt; 
3.14*radius*radius&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; case Rectangle(width, height) =&amp;gt; width*height&lt;br&gt;}&lt;br&gt;&lt;br&gt;The code above&amp;nbsp; does pattern matching on of input parameter type  shape:Shape. In this case it is likely to use tuples to represent data in Rectangle and Circle classes.
&lt;br&gt;Tuple2[String, Int](&amp;quot;circle&amp;quot;, radius)&lt;br&gt;Tuple3[String, Int, Int](&amp;quot;rectangle&amp;quot;, width, height)&lt;br&gt;So finally I want to write a code which does pattern matching on tuple. Here&amp;#39;s how it is done with erlang
&lt;br&gt;&lt;br&gt;area({rect,Width,Height})-&amp;gt;Width*Height;&lt;br&gt;area({circle,Radius})-&amp;gt;3.14*Radius*Radius.&lt;br&gt;&lt;br&gt;&lt;br&gt;Is it possible to have something close in scala?&amp;nbsp; To be specific I mean this&lt;br&gt;&lt;br&gt;&lt;br&gt;def area(shape:Tuple):Double = shape match {
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; case (&amp;quot;circle&amp;quot;, radius) =&amp;gt; 3.14*radius*radius&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; case (&amp;quot;rectangle&amp;quot;, width, height) =&amp;gt; width*height&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;br&gt;Thank you.&lt;br&gt;Nazar&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pattern-matching-on-tuples-tp14736941p14736941.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14736481</id>
	<title>Re: Erlang OTP wire protocol implemented in a Java library</title>
	<published>2008-01-10T07:33:47Z</published>
	<updated>2008-01-10T07:33:47Z</updated>
	<author>
		<name>Paul LaCrosse</name>
	</author>
	<content type="html">&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;David Pollak-2 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;&lt;a href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang&lt;/a&gt;&lt;br&gt;&lt;br&gt;This might be a good transport layer for remote Actors.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
Maybe..., how about JGroups for the transport? (&lt;a href=&quot;http://www.jgroups.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jgroups.org&lt;/a&gt;)
&lt;br&gt;&lt;br&gt;The transport stack is very configurable...</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14736481.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14735138</id>
	<title>Re: Re: += and +</title>
	<published>2008-01-10T06:09:16Z</published>
	<updated>2008-01-10T06:09:16Z</updated>
	<author>
		<name>Franco Lombardo</name>
	</author>
	<content type="html">&lt;br&gt;&amp;quot;Jamie Webb&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14735138&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;j@...&lt;/a&gt;&amp;gt; wrote
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;...
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://lampsvn.epfl.ch/trac/scala/ticket/92&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lampsvn.epfl.ch/trac/scala/ticket/92&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The behaviour is thanks to Scala's precedence rules. The above
&lt;br&gt;&amp;gt; parenthesises as:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; (s += &amp;quot;B&amp;quot;) + &amp;quot;C&amp;quot;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That is, &amp;quot;B&amp;quot; is appended to s and the result stored back in s, and then
&lt;br&gt;&amp;gt; &amp;quot;C&amp;quot; is appended but that result is discarded.
&lt;/div&gt;&lt;br&gt;Now I understand it. In my poor opinion, this is for sure an issue to fix!
&lt;br&gt;&lt;br&gt;Thanks a lot.
&lt;br&gt;&lt;br&gt;Bye
&lt;br&gt;&lt;br&gt;Franco
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%2B%3D-and-%2B-tp14732254p14735138.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14734266</id>
	<title>Re: Re: += and +</title>
	<published>2008-01-10T05:25:12Z</published>
	<updated>2008-01-10T05:25:12Z</updated>
	<author>
		<name>Jamie Webb-2</name>
	</author>
	<content type="html">On 2008-01-10 14:09:24 Franco Lombardo wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; var s = &amp;quot;A&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; s += &amp;quot;B&amp;quot; + &amp;quot;C&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; println(s)
&lt;br&gt;&amp;gt; &amp;gt; See issue #92.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Please, can you tell me what is issue #92?
&lt;br&gt;&amp;gt; And is there anyone who can explain me the strange behaviour of s +=
&lt;br&gt;&amp;gt; &amp;quot;B&amp;quot; + &amp;quot;C&amp;quot;?
&lt;br&gt;&lt;br&gt;A ticket in the Scala bug tracker:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &lt;a href=&quot;http://lampsvn.epfl.ch/trac/scala/ticket/92&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lampsvn.epfl.ch/trac/scala/ticket/92&lt;/a&gt;&lt;br&gt;&lt;br&gt;The behaviour is thanks to Scala's precedence rules. The above
&lt;br&gt;parenthesises as:
&lt;br&gt;&lt;br&gt;&amp;nbsp; (s += &amp;quot;B&amp;quot;) + &amp;quot;C&amp;quot;
&lt;br&gt;&lt;br&gt;That is, &amp;quot;B&amp;quot; is appended to s and the result stored back in s, and then
&lt;br&gt;&amp;quot;C&amp;quot; is appended but that result is discarded.
&lt;br&gt;&lt;br&gt;/J
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%2B%3D-and-%2B-tp14732254p14734266.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14733931</id>
	<title>Re: += and +</title>
	<published>2008-01-10T05:09:24Z</published>
	<updated>2008-01-10T05:09:24Z</updated>
	<author>
		<name>Franco Lombardo</name>
	</author>
	<content type="html">&amp;gt;&amp;gt; &amp;nbsp; var s = &amp;quot;A&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; s += &amp;quot;B&amp;quot; + &amp;quot;C&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; println(s)
&lt;br&gt;&amp;gt; See issue #92.
&lt;br&gt;&lt;br&gt;Please, can you tell me what is issue #92?
&lt;br&gt;And is there anyone who can explain me the strange behaviour of s += &amp;quot;B&amp;quot; +
&lt;br&gt;&amp;quot;C&amp;quot;?
&lt;br&gt;Thanks a lot.
&lt;br&gt;&lt;br&gt;Bye
&lt;br&gt;&lt;br&gt;Franco
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%2B%3D-and-%2B-tp14732254p14733931.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14733635</id>
	<title>Re: += and +</title>
	<published>2008-01-10T04:51:56Z</published>
	<updated>2008-01-10T04:51:56Z</updated>
	<author>
		<name>Jamie Webb-2</name>
	</author>
	<content type="html">On 2008-01-10 22:16:37 Eric Willigers wrote:
&lt;br&gt;&amp;gt; What do we expect the following to print?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;var s = &amp;quot;A&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;s += &amp;quot;B&amp;quot; + &amp;quot;C&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;println(s)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ABC?
&lt;br&gt;&lt;br&gt;See issue #92.
&lt;br&gt;&lt;br&gt;/J
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%2B%3D-and-%2B-tp14732254p14733635.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14731190</id>
	<title>Overloaded method/function name annoyances</title>
	<published>2008-01-10T04:19:07Z</published>
	<updated>2008-01-10T04:19:07Z</updated>
	<author>
		<name>toivo</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;&lt;br&gt;object Annoy1 {
&lt;br&gt;&lt;br&gt;&amp;nbsp; def paymentInv( isa: double, amount: double, ex: double) = isa * amount/1000 * ex
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; def paymentInv = paymentInv( 24, 7000, 0.9)
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Error: &amp;nbsp;overloaded method paymentInv needs result type
&lt;br&gt;&lt;br&gt;&lt;br&gt;object Annoy1 {
&lt;br&gt;&lt;br&gt;&amp;nbsp; def paymentInv( isa: double, amount: double, ex: double) = isa * amount/1000 * ex
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; val paymentInv = paymentInv( 24, 7000, 0.9)
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Error: recursive value paymentInv needs type
&lt;br&gt;&lt;br&gt;Why result type is required?
&lt;br&gt;And this is not recursive – I am calling different method/function with same name but signature is different.
&lt;br&gt;&lt;br&gt;&lt;br&gt;package von.lab
&lt;br&gt;&lt;br&gt;object calcEngine {
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; def paymentInv( isa: double, amount: double, ex: double) = isa * amount/1000 * ex
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;object Annoy2 {
&lt;br&gt;&lt;br&gt;&amp;nbsp; import von.lab.calcEngine._
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; val paymentInv: double = paymentInv( 24, 7000, 0.9)
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Error: Annoy2.this.paymentInv of type double does not take parameters
&lt;br&gt;&lt;br&gt;Overloading (using same method name) works only inside same object/class?
&lt;br&gt;Different signature is not enough for compiler? 
&lt;br&gt;&lt;br&gt;Am I missing something?
&lt;br&gt;&lt;br&gt;toivo
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Overloaded-method-function-name-annoyances-tp14731190p14731190.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14733075</id>
	<title>Re: += and +</title>
	<published>2008-01-10T04:11:08Z</published>
	<updated>2008-01-10T04:11:08Z</updated>
	<author>
		<name>csar</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Jan 10, 2008 12:16 PM, Eric Willigers &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14733075&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ewilligers@...&lt;/a&gt;&amp;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;
What do we expect the following to print?&lt;br&gt;&lt;br&gt; &amp;nbsp; &amp;nbsp; var s = &amp;quot;A&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; s += &amp;quot;B&amp;quot; + &amp;quot;C&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; println(s)&lt;br&gt;&lt;br&gt;ABC?&lt;br&gt;&lt;br&gt;Do we expect the following to compile?&lt;br&gt;&lt;br&gt; &amp;nbsp; &amp;nbsp; false + &amp;quot;D&amp;quot;
&lt;br&gt; &amp;nbsp; &amp;nbsp; () + &amp;quot;E&amp;quot;&lt;br&gt;&lt;br&gt;No, No?&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;Agree, this is what we see in other (statically typed) languages &lt;br&gt;&lt;/div&gt;&lt;div&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;br&gt;It is nice to be able to write &amp;nbsp;println(n + &amp;quot; ...&amp;quot;)&lt;/blockquote&gt;&lt;div&gt;I agree that it is nice but this is why we have the strange effects above due to the globally available any2stringad&lt;div id=&quot;1fpp&quot; class=&quot;ArwC7c ckChnd&quot;&gt;
d - with infix constructors this could be done much cleaner&amp;nbsp; &lt;br&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;&lt;br&gt;I&amp;#39;ll need to remember to use parens: &amp;nbsp;s += (&amp;quot;B&amp;quot; + &amp;quot;C&amp;quot;)
&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;This horrible as val&amp;nbsp; s = &amp;quot;B&amp;quot;+&amp;quot;C&amp;quot; works fine. &lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%2B%3D-and-%2B-tp14732254p14733075.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14732546</id>
	<title>Re: Erlang OTP wire protocol implemented in a Java library</title>
	<published>2008-01-10T03:35:39Z</published>
	<updated>2008-01-10T03:35:39Z</updated>
	<author>
		<name>Eric Willigers</name>
	</author>
	<content type="html">David Pollak wrote:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Note the conclusion. As Martin has put it, Scala would let him stop 
&lt;br&gt;sitting between two chairs.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14732546.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14732254</id>
	<title>+= and +</title>
	<published>2008-01-10T03:16:37Z</published>
	<updated>2008-01-10T03:16:37Z</updated>
	<author>
		<name>Eric Willigers</name>
	</author>
	<content type="html">What do we expect the following to print?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;var s = &amp;quot;A&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;s += &amp;quot;B&amp;quot; + &amp;quot;C&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;println(s)
&lt;br&gt;&lt;br&gt;ABC?
&lt;br&gt;&lt;br&gt;Do we expect the following to compile?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;false + &amp;quot;D&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;() + &amp;quot;E&amp;quot;
&lt;br&gt;&lt;br&gt;No, No?
&lt;br&gt;&lt;br&gt;Actually it prints AB, and they do compile.
&lt;br&gt;&lt;br&gt;Here's what &amp;nbsp;scalac -Xprint:cleanup &amp;nbsp;tells us:-
&lt;br&gt;&lt;br&gt;s = &amp;quot;A&amp;quot;;
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;scala.this.Predef.any2stringadd({
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;s_=(s().+(&amp;quot;B&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;scala.runtime.BoxedUnit.UNIT
&lt;br&gt;&amp;nbsp; &amp;nbsp;})
&lt;br&gt;}.+(&amp;quot;C&amp;quot;);
&lt;br&gt;scala.this.Predef.println(s());
&lt;br&gt;scala.this.Predef.any2stringadd(scala.Boolean.box(false)).+(&amp;quot;D&amp;quot;);
&lt;br&gt;scala.this.Predef.any2stringadd(scala.runtime.BoxedUnit.UNIT).+(&amp;quot;E&amp;quot;);
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;any2stringadd isn't mentioned in the language spec. &amp;nbsp;What is its 
&lt;br&gt;motivation? To allow &amp;nbsp;any + string &amp;nbsp;just as &amp;nbsp;string + any &amp;nbsp;is allowed?
&lt;br&gt;&lt;br&gt;It is nice to be able to write &amp;nbsp;println(n + &amp;quot; ...&amp;quot;)
&lt;br&gt;&lt;br&gt;I'll need to remember to use parens: &amp;nbsp;s += (&amp;quot;B&amp;quot; + &amp;quot;C&amp;quot;)
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%2B%3D-and-%2B-tp14732254p14732254.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14731861</id>
	<title>Re: Type inference with underscore</title>
	<published>2008-01-10T02:52:19Z</published>
	<updated>2008-01-10T02:52:19Z</updated>
	<author>
		<name>csar</name>
	</author>
	<content type="html">This a limitation of the implicit parameters. The get bound to the next enclosing parens. Here println() which doesn&amp;#39;t provide an argument.&lt;br&gt;&lt;br&gt;It seems that the Scala compiler purges the redundant parens in println (_) so that this acts as println _, which is OK by the rules of implicit params
&lt;br&gt;&lt;br&gt;Carsten&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Jan 10, 2008 9:33 AM, Michael Pradel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14731861&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;michael@...&lt;/a&gt;&amp;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;
Hi,&lt;br&gt;&lt;br&gt;why doesn&amp;#39;t the following compile:&lt;br&gt;&lt;br&gt;object TypeInfer {&lt;br&gt; &amp;nbsp;def main(args: Array[String]) {&lt;br&gt; &amp;nbsp; &amp;nbsp;val l = &amp;quot;a&amp;quot; :: &amp;quot;b&amp;quot; :: &amp;quot;c&amp;quot; :: Nil&lt;br&gt; &amp;nbsp; &amp;nbsp;l.foreach(println(_)) &amp;nbsp; &amp;nbsp; &amp;nbsp;// compiles
&lt;br&gt; &amp;nbsp; &amp;nbsp;l.foreach(println(_ + &amp;quot;xyz&amp;quot;)) &amp;nbsp;// doesn&amp;#39;t compile&lt;br&gt; &amp;nbsp;}&lt;br&gt;}&lt;br&gt;&lt;br&gt;I expected the type of the second _ to be at least as easy to infer as&lt;br&gt;that of the first. However, I get:&lt;br&gt;&lt;br&gt;TypeInfer.scala
:5: error: missing parameter type&lt;br&gt; &amp;nbsp; &amp;nbsp;l.foreach(println(_ + &amp;quot;xyz&amp;quot;)) &amp;nbsp;// doesn&amp;#39;t compile&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;font color=&quot;#888888&quot;&gt;Michael&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Type-inference-with-underscore-tp14729770p14731861.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14730329</id>
	<title>Re: Strange behavior....</title>
	<published>2008-01-10T01:10:34Z</published>
	<updated>2008-01-10T01:10:34Z</updated>
	<author>
		<name>Arnaud Bailly</name>
	</author>
	<content type="html">&lt;br&gt;Hello (and Happy New Year),
&lt;br&gt;I found the reason for my problem. Here is a skeleton code
&lt;br&gt;illustrating the issues, the reason should be obvious from this code ;-):
&lt;br&gt;&lt;br&gt;trait Oracle {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; val outcome : Outcome;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;abstract class AbstractOracle(val f: Option[File]) extends Oracle {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; override val outcome : Outcome = {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f match {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case None &amp;nbsp; &amp;nbsp;=&amp;gt; Error
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case Some(f) =&amp;gt; test(f) &amp;nbsp; // (1)
&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; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; def test(f : File) : Outcome;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;class ConcreteOracle(f1 : Option[File]) extends AbstractOracle(f1) {
&lt;br&gt;&lt;br&gt;&amp;nbsp; var explainFailure : List[Diff] = Nil &amp;nbsp; // (2)
&lt;br&gt;&lt;br&gt;&amp;nbsp; override def test(f : File) : Outcome = {
&lt;br&gt;&amp;nbsp; &amp;nbsp; if(testok(f))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Success
&lt;br&gt;&amp;nbsp; &amp;nbsp; else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; explainFailure = explain(f) &amp;nbsp; // (3)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Failure
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;The problem is that (2) gets called after (1) because the constructor
&lt;br&gt;code of ConcreteOracle is called after its superclasses'. Hence
&lt;br&gt;explainFailure is correctly computed in (3) and reset to Nil in (2).
&lt;br&gt;Some classical trap with OO constructor dispatch...
&lt;br&gt;&lt;br&gt;Everything works fine when I write :
&lt;br&gt;&lt;br&gt;abstract class AbstractOracle(val f: Option[File]) extends Oracle {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; override lazy val outcome : Outcome = {
&lt;br&gt;&lt;br&gt;Then outcome is called only when requested, which does occur after the
&lt;br&gt;constructor sequence has finished. 
&lt;br&gt;&lt;br&gt;BTW, lazy values does not seem to be memoized (according to the
&lt;br&gt;generated bytecode at least) or maybe I missed something. Is there a
&lt;br&gt;deep reason for this ? I think that Haskell's (and maybe OCaml's) lazy
&lt;br&gt;values are memoized which leads to better performances. 
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Arnaud Bailly, PhD
&lt;br&gt;OQube - Software Engineering
&lt;br&gt;&lt;a href=&quot;http://www.oqube.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.oqube.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Strange-behavior....-tp14172985p14730329.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14729770</id>
	<title>Type inference with underscore</title>
	<published>2008-01-10T00:33:07Z</published>
	<updated>2008-01-10T00:33:07Z</updated>
	<author>
		<name>Michael Pradel</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;why doesn't the following compile:
&lt;br&gt;&lt;br&gt;object TypeInfer {
&lt;br&gt;&amp;nbsp; def main(args: Array[String]) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; val l = &amp;quot;a&amp;quot; :: &amp;quot;b&amp;quot; :: &amp;quot;c&amp;quot; :: Nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; l.foreach(println(_)) &amp;nbsp; &amp;nbsp; &amp;nbsp;// compiles
&lt;br&gt;&amp;nbsp; &amp;nbsp; l.foreach(println(_ + &amp;quot;xyz&amp;quot;)) &amp;nbsp;// doesn't compile
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;I expected the type of the second _ to be at least as easy to infer as
&lt;br&gt;that of the first. However, I get:
&lt;br&gt;&lt;br&gt;TypeInfer.scala:5: error: missing parameter type
&lt;br&gt;&amp;nbsp; &amp;nbsp; l.foreach(println(_ + &amp;quot;xyz&amp;quot;)) &amp;nbsp;// doesn't compile
&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Michael
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Type-inference-with-underscore-tp14729770p14729770.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14721407</id>
	<title>Blog posting for Scala newbies</title>
	<published>2008-01-09T13:07:52Z</published>
	<updated>2008-01-09T13:07:52Z</updated>
	<author>
		<name>Paul LaCrosse</name>
	</author>
	<content type="html">&lt;a href=&quot;http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Blog-posting-for-Scala-newbies-tp14721407p14721407.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14719968</id>
	<title>Re: scala erb equivalent?</title>
	<published>2008-01-09T11:24:22Z</published>
	<updated>2008-01-09T11:24:22Z</updated>
	<author>
		<name>Maurice Codik-2</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;&lt;div bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
Second, you could do something like:&lt;br&gt;
&lt;br&gt;
def showIf(test: Boolean)(toShow: =&amp;gt; NodeSeq) = if (test) toShow
else Text(&amp;quot;&amp;quot;)&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;very neat! I still dont know the language enough to realize things like that are doable. thanks. &lt;br&gt;&lt;br&gt;I think Jim&amp;#39;s solution is pretty cool too, and generally useful for simple string interpolation.. maybe something like that would be good to add to scalax/scalaz ?
&lt;br&gt;&lt;br&gt;davidB brings up a good point-- I hadn&amp;#39;t really looked at many of the templating solutions from Java yet.. I&amp;#39;ll take a look at those before trying to roll my own erb-clone (which I might do anyway for fun).
&lt;br&gt;&lt;br&gt;thanks for all the replies!&lt;br&gt; &lt;/div&gt;&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/scala-erb-equivalent--tp14717537p14719968.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14719010</id>
	<title>Re: scala erb equivalent?</title>
	<published>2008-01-09T11:04:11Z</published>
	<updated>2008-01-09T11:04:11Z</updated>
	<author>
		<name>David Bernard-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Scala can use all the templates lib available in the javaworld like velocity, freemarker, stringtemplate,...
&lt;br&gt;Or simple like the code provide by Jim cf Substitutor from commons-lang.
&lt;br&gt;&lt;br&gt;/davidB
&lt;br&gt;&lt;br&gt;Jim Miller wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I use the following function that goes through an imput string and calls 
&lt;br&gt;&amp;gt; a function for every occurrence of #{name}, passing 'name' as the 
&lt;br&gt;&amp;gt; argument to the function.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; import java.util.regex.{Pattern,Matcher}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; def populate (template: String, map : (String) =&amp;gt; String ) : String = {
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; val p = Pattern.compile(&amp;quot;#\\{(.+?)\\}&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; val m = p.matcher(template);
&lt;br&gt;&amp;gt; &amp;nbsp; val sb = new StringBuffer();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; while (m.find()) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; m.appendReplacement(sb, map( m.group(1) ) );
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; m.appendTail(sb);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; return sb.toString()
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Then in practice I do something like:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; populate(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;quot;&amp;quot;XDR.writeInt32(d, #{name}.size() );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for ( #{type} v : #{name} ) { &amp;nbsp;XDR.write( d, v ); }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;quot;&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; tag =&amp;gt; tag match {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case &amp;quot;name&amp;quot; =&amp;gt; &amp;quot;foo&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case &amp;quot;type&amp;quot; =&amp;gt; &amp;quot;bar&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; })
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I do a LOT of code generation with Scala and this function works out 
&lt;br&gt;&amp;gt; very well. &amp;nbsp;The nice thing is that I can do anything I want in the case 
&lt;br&gt;&amp;gt; clauses as long as the result is a string for substituting in the template.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 1/9/08, *Maurice Codik* &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14719010&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mcodik@...&lt;/a&gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14719010&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mcodik@...&lt;/a&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Hey all,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; I'm looking for a library similar to Ruby's ERB for scala: something
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; that I can use to embed scala code in ordinary text, and then have
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; that translated into a scala class I can call into. I know I can get
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; close to this by using { expr } in xml tags, but I'd like something
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; I can use outside of xml documents if I need to.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Does something like this exist already? My google-fu is failing me..
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Thanks!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Maurice
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/scala-erb-equivalent--tp14717537p14719010.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14718972</id>
	<title>Re: scala erb equivalent?</title>
	<published>2008-01-09T10:58:04Z</published>
	<updated>2008-01-09T10:58:04Z</updated>
	<author>
		<name>David Pollak</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html;charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
Maurice,&lt;br&gt;
&lt;br&gt;
Maurice Codik wrote:
&lt;blockquote cite=&quot;mid:1f8bdfe0801091029h35fe843ev6ecbeea6e29e8a1@mail.gmail.com&quot; type=&quot;cite&quot;&gt;A few reasons: &lt;br&gt;
  &lt;br&gt;
- not all documents are xml.&lt;br&gt;
  &lt;br&gt;
- I've run into a few issues with the built in xml support that make it
annoying for use as a templating language for xml. for example, with
simple conditionals:
  &lt;br&gt;
  &lt;br&gt;
object xml {&lt;br&gt;
&amp;nbsp; def main(a:Array[String])
{&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;&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;&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;
  &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; val data = &amp;lt;testing&amp;gt;
  &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; {&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; if (true) {&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; &amp;lt;huh&amp;gt;huh?!&amp;lt;/huh&amp;gt;&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; }&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; }&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;lt;/testing&amp;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;&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;&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;&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;&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;&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;
  &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
Console.println(data)&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;&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;&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;&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;&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;&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;&amp;nbsp;
  &lt;br&gt;
&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
  &lt;br&gt;
only prints: &amp;lt;testing&amp;gt;&amp;lt;/testing&amp;gt;. I can work around this by
adding a dummy else block to that if, but that can get tedious.
  &lt;br&gt;
&lt;/blockquote&gt;
First, this is good practice for remembering that everything in Scala
returns a value, but sometimes the value is of type Unit.&lt;br&gt;
&lt;br&gt;
Second, you could do something like:&lt;br&gt;
&lt;br&gt;
def showIf(test: Boolean)(toShow: =&amp;gt; NodeSeq) = if (test) toShow
else Text(&quot;&quot;)&lt;br&gt;
&lt;br&gt;
Then you could write showIf(true){&amp;lt;huh&amp;gt;huh?!&amp;lt;/huh&amp;gt;}&lt;br&gt;
&lt;br&gt;
&lt;blockquote cite=&quot;mid:1f8bdfe0801091029h35fe843ev6ecbeea6e29e8a1@mail.gmail.com&quot; type=&quot;cite&quot;&gt;&lt;br&gt;
there are also some slightly annoying things, like how it turns self
closing tags to normal tags: &amp;lt;img src=&quot;test.jpg&quot; /&amp;gt; =&amp;gt; &amp;lt;img
..&amp;gt;&amp;lt;/img&amp;gt;&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
There's an XML to String to UTF-8 encoded byte array facility in lift
that &quot;does the right thing&quot;(tm) for XML -&amp;gt; XHTMLish stuff that even
IE 6 is comfortable with.&lt;br&gt;
&lt;blockquote cite=&quot;mid:1f8bdfe0801091029h35fe843ev6ecbeea6e29e8a1@mail.gmail.com&quot; type=&quot;cite&quot;&gt;&lt;br&gt;
  &lt;br&gt;
  &lt;div class=&quot;gmail_quote&quot;&gt;On Jan 9, 2008 9:57 AM, David Pollak &amp;lt;
  &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14718972&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;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;Short
answer: nothing but the built-in XML support.&lt;br&gt;
    &lt;br&gt;
Why is this failing you?
    &lt;div&gt;
    &lt;div class=&quot;Wj3C7c&quot;&gt;&lt;br&gt;
    &lt;br&gt;
    &lt;div&gt;&lt;span class=&quot;gmail_quote&quot;&gt;On 1/9/08, &lt;b class=&quot;gmail_sendername&quot;&gt;Maurice Codik&lt;/b&gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14718972&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mcodik@...&lt;/a&gt;&amp;gt; wrote:&lt;/span&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;Hey
all,&lt;br&gt;
      &lt;br&gt;
I'm looking for a library similar to Ruby's ERB for scala: something
that I can use to embed scala code in ordinary text, and then have that
translated into a scala class I can call into. I know I can get close
to this by using { expr } in xml tags, but I'd like something I can use
outside of xml documents if I need to.
      &lt;br&gt;
      &lt;br&gt;
Does something like this exist already? My google-fu is failing me..&lt;br&gt;
      &lt;br&gt;
Thanks!&lt;br&gt;
      &lt;span&gt;&lt;br&gt;
Maurice&lt;br&gt;
      &lt;br&gt;
      &lt;br&gt;
      &lt;/span&gt;&lt;/blockquote&gt;
    &lt;/div&gt;
    &lt;br&gt;
    &lt;br clear=&quot;all&quot;&gt;
    &lt;br&gt;
    &lt;/div&gt;
    &lt;/div&gt;
    &lt;font color=&quot;#888888&quot;&gt;-- &lt;br&gt;
lift, the secure, simple, powerful web framework &lt;a moz-do-not-send=&quot;true&quot; href=&quot;http://liftweb.net&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://liftweb.net&lt;/a&gt;&lt;br&gt;
Collaborative Task Management &lt;a moz-do-not-send=&quot;true&quot; href=&quot;http://much4.us&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://much4.us
    &lt;/a&gt;&lt;/font&gt;&lt;/blockquote&gt;
  &lt;/div&gt;
  &lt;br&gt;
&lt;/blockquote&gt;
&lt;/body&gt;
&lt;/html&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/scala-erb-equivalent--tp14717537p14718972.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14718547</id>
	<title>Re: scala erb equivalent?</title>
	<published>2008-01-09T10:29:48Z</published>
	<updated>2008-01-09T10:29:48Z</updated>
	<author>
		<name>Maurice Codik-2</name>
	</author>
	<content type="html">A few reasons: &lt;br&gt;&lt;br&gt;- not all documents are xml.&lt;br&gt;&lt;br&gt;- I&amp;#39;ve run into a few issues with the built in xml support that make it annoying for use as a templating language for xml. for example, with simple conditionals:
&lt;br&gt;&lt;br&gt;object xml {&lt;br&gt;&amp;nbsp; def main(a:Array[String]) {&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;&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;&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;  &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; val data = &amp;lt;testing&amp;gt;
&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; {&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; if (true) {&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; &amp;lt;huh&amp;gt;huh?!&amp;lt;/huh&amp;gt;&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; }&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; }&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;lt;/testing&amp;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;&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;&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;&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;&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;&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;  
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.println(data)&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;&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;&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;&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;&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;&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;&amp;nbsp;  &lt;br&gt;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;&lt;br&gt;only prints: &amp;lt;testing&amp;gt;&amp;lt;/testing&amp;gt;. I can work around this by adding a dummy else block to that if, but that can get tedious.
&lt;br&gt;&lt;br&gt;there are also some slightly annoying things, like how it turns self closing tags to normal tags: &amp;lt;img src=&amp;quot;test.jpg&amp;quot; /&amp;gt; =&amp;gt; &amp;lt;img ..&amp;gt;&amp;lt;/img&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Jan 9, 2008 9:57 AM, David Pollak &amp;lt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14718547&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;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;
Short answer: nothing but the built-in XML support.&lt;br&gt;&lt;br&gt;Why is this failing you?&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;Wj3C7c&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div&gt;&lt;span class=&quot;gmail_quote&quot;&gt;On 1/9/08, &lt;b class=&quot;gmail_sendername&quot;&gt;Maurice Codik&lt;/b&gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14718547&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mcodik@...&lt;/a&gt;&amp;gt; wrote:&lt;/span&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;Hey all,&lt;br&gt;&lt;br&gt;I&amp;#39;m looking for a library similar to Ruby&amp;#39;s ERB for scala: something that I can use to embed scala code in ordinary text, and then have that translated into a scala class I can call into. I know I can get close to this by using { expr } in xml tags, but I&amp;#39;d like something I can use outside of xml documents if I need to.
&lt;br&gt;&lt;br&gt;Does something like this exist already? My google-fu is failing me..&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;&lt;span&gt;&lt;br&gt;Maurice&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;-- &lt;br&gt;lift, the secure, simple, powerful 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;Collaborative Task Management 
&lt;a href=&quot;http://much4.us&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://much4.us
&lt;/a&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/scala-erb-equivalent--tp14717537p14718547.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14718452</id>
	<title>Re: scala erb equivalent?</title>
	<published>2008-01-09T10:25:35Z</published>
	<updated>2008-01-09T10:25:35Z</updated>
	<author>
		<name>Jim Miller-12</name>
	</author>
	<content type="html">I use the following function that goes through an imput string and
calls a function for every occurrence of #{name}, passing &amp;#39;name&amp;#39; as the
argument to the function.&lt;br&gt;
&lt;br&gt;
import java.util.regex.{Pattern,Matcher}&lt;br&gt;
&lt;br&gt;
def populate (template: String, map : (String) =&amp;gt; String ) : String = {&lt;br&gt;
&amp;nbsp; &lt;br&gt;
&amp;nbsp; val p = Pattern.compile(&amp;quot;#\\{(.+?)\\}&amp;quot;);&lt;br&gt;
&amp;nbsp; val m = p.matcher(template);&lt;br&gt;
&amp;nbsp; val sb = new StringBuffer();&lt;br&gt;
&lt;br&gt;
&amp;nbsp; while (m.find()) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; m.appendReplacement(sb, map( m.group(1) ) );&lt;br&gt;
&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp; m.appendTail(sb);&lt;br&gt;
&lt;br&gt;
&amp;nbsp; return sb.toString()&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;Then in practice I do something like:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; populate( &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&amp;quot;&amp;quot;XDR.writeInt32(d, #{name}.size() );&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for ( #{type} v : #{name} ) {&amp;nbsp; XDR.write( d, v ); }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&amp;quot;&amp;quot;,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tag =&amp;gt; tag match {&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; case &amp;quot;name&amp;quot; =&amp;gt; &amp;quot;foo&amp;quot;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;type&amp;quot; =&amp;gt; &amp;quot;bar&amp;quot;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br&gt;
&lt;br&gt;
I do a LOT of code generation with Scala and this function works out
very well.&amp;nbsp; The nice thing is that I can do anything I want in the
case clauses as long as the result is a string for substituting in the
template.&lt;br&gt;
&lt;br&gt;&lt;div&gt;&lt;span class=&quot;gmail_quote&quot;&gt;On 1/9/08, &lt;b class=&quot;gmail_sendername&quot;&gt;Maurice Codik&lt;/b&gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14718452&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mcodik@...&lt;/a&gt;&amp;gt; wrote:&lt;/span&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;
Hey all,&lt;br&gt;&lt;br&gt;I&amp;#39;m looking for a library similar to Ruby&amp;#39;s ERB for
scala: something that I can use to embed scala code in ordinary text,
and then have that translated into a scala class I can call into. I
know I can get close to this by using { expr } in xml tags, but I&amp;#39;d
like something I can use outside of xml documents if I need to.
&lt;br&gt;&lt;br&gt;Does something like this exist already? My google-fu is failing me..&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;&lt;span class=&quot;sg&quot;&gt;&lt;br&gt;Maurice&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/scala-erb-equivalent--tp14717537p14718452.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14718330</id>
	<title>Re: By-name parameter oddities</title>
	<published>2008-01-09T10:15:57Z</published>
	<updated>2008-01-09T10:15:57Z</updated>
	<author>
		<name>Blair Zajac</name>
	</author>
	<content type="html">martin odersky wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Jan 9, 2008 1:19 AM, Blair Zajac &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14718330&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;blair@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; 1) I'm guessing the following should be a compile error, given that you cannot
&lt;br&gt;&amp;gt;&amp;gt; return a by-name type:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; abstract class Foo {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;def identity[T](x : =&amp;gt; T) : ( =&amp;gt; T)
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; Right. That should not be permitted.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;-- Martin
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;I've opened a ticket:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lampsvn.epfl.ch/trac/scala/ticket/351&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lampsvn.epfl.ch/trac/scala/ticket/351&lt;/a&gt;&lt;br&gt;&lt;br&gt;Blair
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/By-name-parameter-oddities-tp14702646p14718330.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14718071</id>
	<title>Re: scala erb equivalent?</title>
	<published>2008-01-09T09:57:35Z</published>
	<updated>2008-01-09T09:57:35Z</updated>
	<author>
		<name>bearfeeder</name>
	</author>
	<content type="html">Short answer: nothing but the built-in XML support.&lt;br&gt;&lt;br&gt;Why is this failing you?&lt;br&gt;&lt;br&gt;&lt;div&gt;&lt;span class=&quot;gmail_quote&quot;&gt;On 1/9/08, &lt;b class=&quot;gmail_sendername&quot;&gt;Maurice Codik&lt;/b&gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14718071&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mcodik@...&lt;/a&gt;&amp;gt; wrote:&lt;/span&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;Hey all,&lt;br&gt;&lt;br&gt;I&amp;#39;m looking for a library similar to Ruby&amp;#39;s ERB for scala: something that I can use to embed scala code in ordinary text, and then have that translated into a scala class I can call into. I know I can get close to this by using { expr } in xml tags, but I&amp;#39;d like something I can use outside of xml documents if I need to.
&lt;br&gt;&lt;br&gt;Does something like this exist already? My google-fu is failing me..&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;&lt;span class=&quot;sg&quot;&gt;&lt;br&gt;Maurice&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;/span&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 secure, simple, powerful 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;Collaborative Task Management &lt;a href=&quot;http://much4.us&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://much4.us
&lt;/a&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/scala-erb-equivalent--tp14717537p14718071.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14717537</id>
	<title>scala erb equivalent?</title>
	<published>2008-01-09T09:37:07Z</published>
	<updated>2008-01-09T09:37:07Z</updated>
	<author>
		<name>Maurice Codik-2</name>
	</author>
	<content type="html">Hey all,&lt;br&gt;&lt;br&gt;I&amp;#39;m looking for a library similar to Ruby&amp;#39;s ERB for scala: something that I can use to embed scala code in ordinary text, and then have that translated into a scala class I can call into. I know I can get close to this by using { expr } in xml tags, but I&amp;#39;d like something I can use outside of xml documents if I need to.
&lt;br&gt;&lt;br&gt;Does something like this exist already? My google-fu is failing me..&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;&lt;br&gt;Maurice&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/scala-erb-equivalent--tp14717537p14717537.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14717081</id>
	<title>Erlang OTP wire protocol implemented in a Java library</title>
	<published>2008-01-09T08:59:41Z</published>
	<updated>2008-01-09T08:59:41Z</updated>
	<author>
		<name>David Pollak</name>
	</author>
	<content type="html">&lt;a href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang&lt;/a&gt;&lt;br&gt;&lt;br&gt;This might be a good transport layer for remote Actors.
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Erlang-OTP-wire-protocol-implemented-in-a-Java-library-tp14717081p14717081.html" />
</entry>

</feed>
