Re: The Scala REPL output is confusing

Naftoli Gugenheim <[email protected]> Tue, 01 Nov 2016 01:58:04 +0000
Newsgroups gmane.comp.lang.scala
Message-ID <CANpg8PBXYGqVro8p60hJzrbOfQsjFapFMj+bMxNWJYqx=0=m5A@mail.gmail.com>
--001a1143d29c52c733054033a878
Content-Type: text/plain; charset=UTF-8

Could this be solved the easiest with scala.meta?

On Mon, Oct 31, 2016, 6:46 PM Adriaan Moors <[email protected]> wrote:

> I agree the output would be nicer if we printed out the method definition
> in legal Scala. The current output is just printing the (strictly) internal
> representation of a method type.
>
> I would be happy to help to improve this. I believe the logic for the
> output is here:
> https://github.com/scala/scala/blob/2.12.x/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala#L156
>
> cheers
> adriaan
>
> On Mon, Oct 31, 2016 at 2:55 PM Oliver Ruebenacker <[email protected]>
> wrote:
>
>
>      Hello,
>
>   The line is just:
>
> <name>: <type>
>
>   With "(in: String)Int" being the type of the method.
>
>   This resembles JNI method type notation, where the return type goes
> directly after the parens, too.
>
>      Best, Oliver
>
> On Mon, Oct 31, 2016 at 5:11 PM, Justin du coeur <[email protected]>
> wrote:
>
> (Note that this conversation started over on Gitter, and moved here.)
>
> That's fair, but note that the output *isn't legal Scala*.  The "method
> created" bit I agree is arguable, but it really is kind of weird and
> confusing that there's no colon before "Int" in the output -- the output
> syntax seems strangely arbitrary.  Was there a specific reason for that, or
> is it just an old "seemed good enough at the time"?
>
> I should note that I don't care passionately -- I don't use the REPL much
> myself.  But this seems like a pointless roadbump for new users, having the
> output be almost, but not quite, legal Scala.
>
> And really, is "unnecessary clutter" (at least in small amounts) actually
> a problem in the REPL?  I would say that clarity is likely a higher
> priority than output conciseness...
>
> On Mon, Oct 31, 2016 at 4:55 PM, Oliver Ruebenacker <[email protected]>
> wrote:
>
>
>      Hello,
>
>   That would add unnecessary clutter. Whoever entered the line knows they
> used def.
>
>      Best, Oliver
>
> On Mon, Oct 31, 2016 at 4:51 PM, Raphael Bosshard <
> [email protected]> wrote:
>
> Hi all,
>
> have you ever noticed how confusing the Scala REPL output it?
>
> scala> def foo(in: String): Int = ???
> foo: (in: String)Int
>
> I have learned what this "foo: (in: String)Int) is supposed to mean. But
> from a beginner's perspective I find it puzzling. Instead it should display
> something like this:
>
> method created: foo(in: String): Int
>
> Would someone support/guide me in fixing this?
>
> Cheers,
> Raphael
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "scala-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Oliver Ruebenacker
> Senior Software Engineer, Diabetes Portal
> <http://www.type2diabetesgenetics.org/>, Broad Institute
> <http://www.broadinstitute.org/>
>
> --
> You received this message because you are subscribed to the Google Groups
> "scala-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "scala-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Oliver Ruebenacker
> Senior Software Engineer, Diabetes Portal
> <http://www.type2diabetesgenetics.org/>, Broad Institute
> <http://www.broadinstitute.org/>
>
> --
> You received this message because you are subscribed to the Google Groups
> "scala-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "scala-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "scala-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

--001a1143d29c52c733054033a878
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p dir=3D"ltr">Could this be solved the easiest with scala.meta?</p>
<br><div class=3D"gmail_quote"><div dir=3D"ltr">On Mon, Oct 31, 2016, 6:46 =
PM Adriaan Moors &lt;<a href=3D"mailto:[email protected]">adriaan@light=
bend.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D=
"ltr" class=3D"gmail_msg">I agree the output would be nicer if we printed o=
ut the method definition in legal Scala. The current output is just printin=
g the (strictly) internal representation of a method type.<div class=3D"gma=
il_msg"><br class=3D"gmail_msg"></div><div class=3D"gmail_msg">I would be h=
appy to help to improve this. I believe the logic for the output is here:=
=C2=A0<a href=3D"https://github.com/scala/scala/blob/2.12.x/src/repl/scala/=
tools/nsc/interpreter/MemberHandlers.scala#L156" class=3D"gmail_msg" target=
=3D"_blank">https://github.com/scala/scala/blob/2.12.x/src/repl/scala/tools=
/nsc/interpreter/MemberHandlers.scala#L156</a></div><div class=3D"gmail_msg=
"><br class=3D"gmail_msg"></div><div class=3D"gmail_msg">cheers</div></div>=
<div dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_msg">adriaan</div>=
</div><br class=3D"gmail_msg"><div class=3D"gmail_quote gmail_msg"><div dir=
=3D"ltr" class=3D"gmail_msg">On Mon, Oct 31, 2016 at 2:55 PM Oliver Ruebena=
cker &lt;<a href=3D"mailto:[email protected]" class=3D"gmail_msg" target=3D"=
_blank">[email protected]</a>&gt; wrote:<br class=3D"gmail_msg"></div><block=
quote class=3D"gmail_quote gmail_msg" style=3D"margin:0 0 0 .8ex;border-lef=
t:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr" class=3D"gmail_msg"><di=
v class=3D"gmail_msg"><div class=3D"gmail_msg"><div class=3D"gmail_msg"><di=
v class=3D"gmail_msg"><div class=3D"gmail_msg"><div class=3D"gmail_msg"><br=
 class=3D"gmail_msg"></div>=C2=A0=C2=A0=C2=A0=C2=A0 Hello,<br class=3D"gmai=
l_msg"><br class=3D"gmail_msg"></div>=C2=A0 The line is just:<br class=3D"g=
mail_msg"><br class=3D"gmail_msg"></div>&lt;name&gt;: &lt;type&gt;<br class=
=3D"gmail_msg"><br class=3D"gmail_msg"></div>=C2=A0 With &quot;(in: String)=
Int&quot; being the type of the method. <br class=3D"gmail_msg"><br class=
=3D"gmail_msg"></div>=C2=A0 This resembles JNI method type notation, where =
the return type goes directly after the parens, too.<br class=3D"gmail_msg"=
><br class=3D"gmail_msg"></div>=C2=A0=C2=A0=C2=A0=C2=A0 Best, Oliver<br cla=
ss=3D"gmail_msg"></div><div class=3D"gmail_extra gmail_msg"><br class=3D"gm=
ail_msg"><div class=3D"gmail_quote gmail_msg">On Mon, Oct 31, 2016 at 5:11 =
PM, Justin du coeur <span dir=3D"ltr" class=3D"gmail_msg">&lt;<a href=3D"ma=
ilto:[email protected]" class=3D"gmail_msg" target=3D"_blank">jducoeur@gma=
il.com</a>&gt;</span> wrote:<br class=3D"gmail_msg"><blockquote class=3D"gm=
ail_quote gmail_msg" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;=
padding-left:1ex"><div dir=3D"ltr" class=3D"gmail_msg">(Note that this conv=
ersation started over on Gitter, and moved here.)<div class=3D"gmail_msg"><=
br class=3D"gmail_msg"></div><div class=3D"gmail_msg">That&#39;s fair, but =
note that the output <i class=3D"gmail_msg">isn&#39;t legal Scala</i>.=C2=
=A0 The &quot;method created&quot; bit I agree is arguable, but it really i=
s kind of weird and confusing that there&#39;s no colon before &quot;Int&qu=
ot; in the output -- the output syntax seems strangely arbitrary.=C2=A0 Was=
 there a specific reason for that, or is it just an old &quot;seemed good e=
nough at the time&quot;?</div><div class=3D"gmail_msg"><br class=3D"gmail_m=
sg"></div><div class=3D"gmail_msg">I should note that I don&#39;t care pass=
ionately -- I don&#39;t use the REPL much myself.=C2=A0 But this seems like=
 a pointless roadbump for new users, having the output be almost, but not q=
uite, legal Scala.</div><div class=3D"gmail_msg"><br class=3D"gmail_msg"></=
div><div class=3D"gmail_msg">And really, is &quot;unnecessary clutter&quot;=
 (at least in small amounts) actually a problem in the REPL?=C2=A0 I would =
say that clarity is likely a higher priority than output conciseness...</di=
v></div><div class=3D"m_4532961769951057168m_5691870736931185121HOEnZb gmai=
l_msg"><div class=3D"m_4532961769951057168m_5691870736931185121h5 gmail_msg=
"><div class=3D"gmail_extra gmail_msg"><br class=3D"gmail_msg"><div class=
=3D"gmail_quote gmail_msg">On Mon, Oct 31, 2016 at 4:55 PM, Oliver Ruebenac=
ker <span dir=3D"ltr" class=3D"gmail_msg">&lt;<a href=3D"mailto:curoli@gmai=
l.com" class=3D"gmail_msg" target=3D"_blank">[email protected]</a>&gt;</span=
> wrote:<br class=3D"gmail_msg"><blockquote class=3D"gmail_quote gmail_msg"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><d=
iv dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_msg"><div class=3D"g=
mail_msg"><div class=3D"gmail_msg"><br class=3D"gmail_msg"></div>=C2=A0=C2=
=A0=C2=A0=C2=A0 Hello,<br class=3D"gmail_msg"><br class=3D"gmail_msg"></div=
>=C2=A0 That would add unnecessary clutter. Whoever entered the line knows =
they used def. <br class=3D"gmail_msg"><br class=3D"gmail_msg"></div>=C2=A0=
=C2=A0=C2=A0=C2=A0 Best, Oliver<br class=3D"gmail_msg"></div><div class=3D"=
gmail_extra gmail_msg"><div class=3D"gmail_msg"><div class=3D"m_45329617699=
51057168m_5691870736931185121m_3837995461070946043h5 gmail_msg"><br class=
=3D"gmail_msg"><div class=3D"gmail_quote gmail_msg">On Mon, Oct 31, 2016 at=
 4:51 PM, Raphael Bosshard <span dir=3D"ltr" class=3D"gmail_msg">&lt;<a hre=
f=3D"mailto:[email protected]" class=3D"gmail_msg" target=3D"_blan=
k">[email protected]</a>&gt;</span> wrote:<br class=3D"gmail_msg">=
<blockquote class=3D"gmail_quote gmail_msg" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr" class=3D"gmail_ms=
g">Hi all,<br class=3D"gmail_msg"><br class=3D"gmail_msg">have you ever not=
iced how confusing the Scala REPL output it?<br class=3D"gmail_msg"><br cla=
ss=3D"gmail_msg"><div style=3D"background-color:rgb(250,250,250);border-col=
or:rgb(187,187,187);border-style:solid;border-width:1px" class=3D"m_4532961=
769951057168m_5691870736931185121m_3837995461070946043m_2532202319531310957=
m_7490866102373541101prettyprint gmail_msg"><code class=3D"m_45329617699510=
57168m_5691870736931185121m_3837995461070946043m_2532202319531310957m_74908=
66102373541101prettyprint gmail_msg"><div class=3D"m_4532961769951057168m_5=
691870736931185121m_3837995461070946043m_2532202319531310957m_7490866102373=
541101subprettyprint gmail_msg"><span style=3D"color:#000" class=3D"m_45329=
61769951057168m_5691870736931185121m_3837995461070946043m_25322023195313109=
57m_7490866102373541101styled-by-prettify gmail_msg">scala</span><span styl=
e=3D"color:#660" class=3D"m_4532961769951057168m_5691870736931185121m_38379=
95461070946043m_2532202319531310957m_7490866102373541101styled-by-prettify =
gmail_msg">&gt;</span><span style=3D"color:#000" class=3D"m_453296176995105=
7168m_5691870736931185121m_3837995461070946043m_2532202319531310957m_749086=
6102373541101styled-by-prettify gmail_msg"> </span><span style=3D"color:#00=
8" class=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043=
m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg">def=
</span><span style=3D"color:#000" class=3D"m_4532961769951057168m_569187073=
6931185121m_3837995461070946043m_2532202319531310957m_7490866102373541101st=
yled-by-prettify gmail_msg"> foo</span><span style=3D"color:#660" class=3D"=
m_4532961769951057168m_5691870736931185121m_3837995461070946043m_2532202319=
531310957m_7490866102373541101styled-by-prettify gmail_msg">(</span><span s=
tyle=3D"color:#008" class=3D"m_4532961769951057168m_5691870736931185121m_38=
37995461070946043m_2532202319531310957m_7490866102373541101styled-by-pretti=
fy gmail_msg">in</span><span style=3D"color:#660" class=3D"m_45329617699510=
57168m_5691870736931185121m_3837995461070946043m_2532202319531310957m_74908=
66102373541101styled-by-prettify gmail_msg">:</span><span style=3D"color:#0=
00" class=3D"m_4532961769951057168m_5691870736931185121m_383799546107094604=
3m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg"> <=
/span><span style=3D"color:#606" class=3D"m_4532961769951057168m_5691870736=
931185121m_3837995461070946043m_2532202319531310957m_7490866102373541101sty=
led-by-prettify gmail_msg">String</span><span style=3D"color:#660" class=3D=
"m_4532961769951057168m_5691870736931185121m_3837995461070946043m_253220231=
9531310957m_7490866102373541101styled-by-prettify gmail_msg">):</span><span=
 style=3D"color:#000" class=3D"m_4532961769951057168m_5691870736931185121m_=
3837995461070946043m_2532202319531310957m_7490866102373541101styled-by-pret=
tify gmail_msg"> </span><span style=3D"color:#606" class=3D"m_4532961769951=
057168m_5691870736931185121m_3837995461070946043m_2532202319531310957m_7490=
866102373541101styled-by-prettify gmail_msg">Int</span><span style=3D"color=
:#000" class=3D"m_4532961769951057168m_5691870736931185121m_383799546107094=
6043m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg"=
> </span><span style=3D"color:#660" class=3D"m_4532961769951057168m_5691870=
736931185121m_3837995461070946043m_2532202319531310957m_7490866102373541101=
styled-by-prettify gmail_msg">=3D</span><span style=3D"color:#000" class=3D=
"m_4532961769951057168m_5691870736931185121m_3837995461070946043m_253220231=
9531310957m_7490866102373541101styled-by-prettify gmail_msg"> </span><span =
style=3D"color:#660" class=3D"m_4532961769951057168m_5691870736931185121m_3=
837995461070946043m_2532202319531310957m_7490866102373541101styled-by-prett=
ify gmail_msg">???</span><span style=3D"color:#000" class=3D"m_453296176995=
1057168m_5691870736931185121m_3837995461070946043m_2532202319531310957m_749=
0866102373541101styled-by-prettify gmail_msg"><br class=3D"gmail_msg">foo</=
span><span style=3D"color:#660" class=3D"m_4532961769951057168m_56918707369=
31185121m_3837995461070946043m_2532202319531310957m_7490866102373541101styl=
ed-by-prettify gmail_msg">:</span><span style=3D"color:#000" class=3D"m_453=
2961769951057168m_5691870736931185121m_3837995461070946043m_253220231953131=
0957m_7490866102373541101styled-by-prettify gmail_msg"> </span><span style=
=3D"color:#660" class=3D"m_4532961769951057168m_5691870736931185121m_383799=
5461070946043m_2532202319531310957m_7490866102373541101styled-by-prettify g=
mail_msg">(</span><span style=3D"color:#008" class=3D"m_4532961769951057168=
m_5691870736931185121m_3837995461070946043m_2532202319531310957m_7490866102=
373541101styled-by-prettify gmail_msg">in</span><span style=3D"color:#660" =
class=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043m_2=
532202319531310957m_7490866102373541101styled-by-prettify gmail_msg">:</spa=
n><span style=3D"color:#000" class=3D"m_4532961769951057168m_56918707369311=
85121m_3837995461070946043m_2532202319531310957m_7490866102373541101styled-=
by-prettify gmail_msg"> </span><span style=3D"color:#606" class=3D"m_453296=
1769951057168m_5691870736931185121m_3837995461070946043m_253220231953131095=
7m_7490866102373541101styled-by-prettify gmail_msg">String</span><span styl=
e=3D"color:#660" class=3D"m_4532961769951057168m_5691870736931185121m_38379=
95461070946043m_2532202319531310957m_7490866102373541101styled-by-prettify =
gmail_msg">)</span><span style=3D"color:#606" class=3D"m_453296176995105716=
8m_5691870736931185121m_3837995461070946043m_2532202319531310957m_749086610=
2373541101styled-by-prettify gmail_msg">Int</span><span style=3D"color:#000=
" class=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043m=
_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg"><br =
class=3D"gmail_msg"></span></div></code></div><br class=3D"gmail_msg">I hav=
e learned what this &quot;foo: (in: String)Int) is supposed to mean. But fr=
om a beginner&#39;s perspective I find it puzzling. Instead it should displ=
ay something like this:<br class=3D"gmail_msg"><span style=3D"color:#000" c=
lass=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043m_25=
32202319531310957m_7490866102373541101styled-by-prettify gmail_msg"></span>=
<br class=3D"gmail_msg"><span style=3D"color:#000" class=3D"m_4532961769951=
057168m_5691870736931185121m_3837995461070946043m_2532202319531310957m_7490=
866102373541101styled-by-prettify gmail_msg"></span><div style=3D"backgroun=
d-color:rgb(250,250,250);border-color:rgb(187,187,187);border-style:solid;b=
order-width:1px" class=3D"m_4532961769951057168m_5691870736931185121m_38379=
95461070946043m_2532202319531310957m_7490866102373541101prettyprint gmail_m=
sg"><code class=3D"m_4532961769951057168m_5691870736931185121m_383799546107=
0946043m_2532202319531310957m_7490866102373541101prettyprint gmail_msg"><di=
v class=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043m=
_2532202319531310957m_7490866102373541101subprettyprint gmail_msg"><span st=
yle=3D"color:#000" class=3D"m_4532961769951057168m_5691870736931185121m_383=
7995461070946043m_2532202319531310957m_7490866102373541101styled-by-prettif=
y gmail_msg">method created</span><span style=3D"color:#660" class=3D"m_453=
2961769951057168m_5691870736931185121m_3837995461070946043m_253220231953131=
0957m_7490866102373541101styled-by-prettify gmail_msg">:</span><span style=
=3D"color:#000" class=3D"m_4532961769951057168m_5691870736931185121m_383799=
5461070946043m_2532202319531310957m_7490866102373541101styled-by-prettify g=
mail_msg"> foo</span><span style=3D"color:#660" class=3D"m_4532961769951057=
168m_5691870736931185121m_3837995461070946043m_2532202319531310957m_7490866=
102373541101styled-by-prettify gmail_msg">(</span><span style=3D"color:#008=
" class=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043m=
_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg">in</=
span><span style=3D"color:#660" class=3D"m_4532961769951057168m_56918707369=
31185121m_3837995461070946043m_2532202319531310957m_7490866102373541101styl=
ed-by-prettify gmail_msg">:</span><span style=3D"color:#000" class=3D"m_453=
2961769951057168m_5691870736931185121m_3837995461070946043m_253220231953131=
0957m_7490866102373541101styled-by-prettify gmail_msg"> </span><span style=
=3D"color:#606" class=3D"m_4532961769951057168m_5691870736931185121m_383799=
5461070946043m_2532202319531310957m_7490866102373541101styled-by-prettify g=
mail_msg">String</span><span style=3D"color:#660" class=3D"m_45329617699510=
57168m_5691870736931185121m_3837995461070946043m_2532202319531310957m_74908=
66102373541101styled-by-prettify gmail_msg">):</span><span style=3D"color:#=
000" class=3D"m_4532961769951057168m_5691870736931185121m_38379954610709460=
43m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg"> =
</span><span style=3D"color:#606" class=3D"m_4532961769951057168m_569187073=
6931185121m_3837995461070946043m_2532202319531310957m_7490866102373541101st=
yled-by-prettify gmail_msg">Int</span><span style=3D"color:#000" class=3D"m=
_4532961769951057168m_5691870736931185121m_3837995461070946043m_25322023195=
31310957m_7490866102373541101styled-by-prettify gmail_msg"> <br class=3D"gm=
ail_msg"></span></div></code></div><code class=3D"m_4532961769951057168m_56=
91870736931185121m_3837995461070946043m_2532202319531310957m_74908661023735=
41101prettyprint gmail_msg"></code><br class=3D"gmail_msg"><code class=3D"m=
_4532961769951057168m_5691870736931185121m_3837995461070946043m_25322023195=
31310957m_7490866102373541101prettyprint gmail_msg"><div class=3D"m_4532961=
769951057168m_5691870736931185121m_3837995461070946043m_2532202319531310957=
m_7490866102373541101subprettyprint gmail_msg"><span style=3D"color:#000" c=
lass=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043m_25=
32202319531310957m_7490866102373541101styled-by-prettify gmail_msg"></span>=
</div></code>Would someone support/guide me in fixing this?<br class=3D"gma=
il_msg"><br class=3D"gmail_msg">Cheers,<br class=3D"gmail_msg">Raphael<span=
 class=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043m_=
2532202319531310957HOEnZb gmail_msg"><font color=3D"#888888" class=3D"gmail=
_msg"><br class=3D"gmail_msg"><br class=3D"gmail_msg"><br class=3D"gmail_ms=
g"><br class=3D"gmail_msg"></font></span></div><span class=3D"m_45329617699=
51057168m_5691870736931185121m_3837995461070946043m_2532202319531310957HOEn=
Zb gmail_msg"><font color=3D"#888888" class=3D"gmail_msg">

<p class=3D"gmail_msg"></p>

-- <br class=3D"gmail_msg">
You received this message because you are subscribed to the Google Groups &=
quot;scala-language&quot; group.<br class=3D"gmail_msg">
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]" clas=
s=3D"gmail_msg" target=3D"_blank">[email protected]=
om</a>.<br class=3D"gmail_msg">
For more options, visit <a href=3D"https://groups.google.com/d/optout" clas=
s=3D"gmail_msg" target=3D"_blank">https://groups.google.com/d/optout</a>.<b=
r class=3D"gmail_msg">
</font></span></blockquote></div><br class=3D"gmail_msg"><br clear=3D"all" =
class=3D"gmail_msg"><br class=3D"gmail_msg"></div></div><span class=3D"m_45=
32961769951057168m_5691870736931185121m_3837995461070946043HOEnZb gmail_msg=
"><font color=3D"#888888" class=3D"gmail_msg">-- <br class=3D"gmail_msg"><d=
iv class=3D"m_4532961769951057168m_5691870736931185121m_3837995461070946043=
m_2532202319531310957gmail_signature gmail_msg" data-smartmail=3D"gmail_sig=
nature"><div dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_msg"><div =
dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_msg"><div dir=3D"ltr" c=
lass=3D"gmail_msg"><div class=3D"gmail_msg"><div dir=3D"ltr" class=3D"gmail=
_msg"><div class=3D"gmail_msg">Oliver Ruebenacker<br class=3D"gmail_msg"></=
div><div class=3D"gmail_msg">Senior Software Engineer, <a href=3D"http://ww=
w.type2diabetesgenetics.org/" class=3D"gmail_msg" target=3D"_blank">Diabete=
s Portal</a>, <a href=3D"http://www.broadinstitute.org/" class=3D"gmail_msg=
" target=3D"_blank">Broad Institute</a><br class=3D"gmail_msg"></div><br cl=
ass=3D"gmail_msg"></div></div></div></div></div></div></div></div>
</font></span></div><div class=3D"m_4532961769951057168m_569187073693118512=
1m_3837995461070946043HOEnZb gmail_msg"><div class=3D"m_4532961769951057168=
m_5691870736931185121m_3837995461070946043h5 gmail_msg">

<p class=3D"gmail_msg"></p>

-- <br class=3D"gmail_msg">
You received this message because you are subscribed to the Google Groups &=
quot;scala-language&quot; group.<br class=3D"gmail_msg">
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]" clas=
s=3D"gmail_msg" target=3D"_blank">[email protected]=
om</a>.<br class=3D"gmail_msg">
For more options, visit <a href=3D"https://groups.google.com/d/optout" clas=
s=3D"gmail_msg" target=3D"_blank">https://groups.google.com/d/optout</a>.<b=
r class=3D"gmail_msg">
</div></div></blockquote></div><br class=3D"gmail_msg"></div>

<p class=3D"gmail_msg"></p>

-- <br class=3D"gmail_msg">
You received this message because you are subscribed to the Google Groups &=
quot;scala-language&quot; group.<br class=3D"gmail_msg">
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]" clas=
s=3D"gmail_msg" target=3D"_blank">[email protected]=
om</a>.<br class=3D"gmail_msg">
For more options, visit <a href=3D"https://groups.google.com/d/optout" clas=
s=3D"gmail_msg" target=3D"_blank">https://groups.google.com/d/optout</a>.<b=
r class=3D"gmail_msg">
</div></div></blockquote></div><br class=3D"gmail_msg"><br clear=3D"all" cl=
ass=3D"gmail_msg"><br class=3D"gmail_msg">-- <br class=3D"gmail_msg"><div c=
lass=3D"m_4532961769951057168m_5691870736931185121gmail_signature gmail_msg=
" data-smartmail=3D"gmail_signature"><div dir=3D"ltr" class=3D"gmail_msg"><=
div class=3D"gmail_msg"><div dir=3D"ltr" class=3D"gmail_msg"><div class=3D"=
gmail_msg"><div dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_msg"><d=
iv dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_msg">Oliver Ruebenac=
ker<br class=3D"gmail_msg"></div><div class=3D"gmail_msg">Senior Software E=
ngineer, <a href=3D"http://www.type2diabetesgenetics.org/" class=3D"gmail_m=
sg" target=3D"_blank">Diabetes Portal</a>, <a href=3D"http://www.broadinsti=
tute.org/" class=3D"gmail_msg" target=3D"_blank">Broad Institute</a><br cla=
ss=3D"gmail_msg"></div><br class=3D"gmail_msg"></div></div></div></div></di=
v></div></div></div>
</div>

<p class=3D"gmail_msg"></p>

-- <br class=3D"gmail_msg">
You received this message because you are subscribed to the Google Groups &=
quot;scala-language&quot; group.<br class=3D"gmail_msg">
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]" clas=
s=3D"gmail_msg" target=3D"_blank">[email protected]=
om</a>.<br class=3D"gmail_msg">
For more options, visit <a href=3D"https://groups.google.com/d/optout" clas=
s=3D"gmail_msg" target=3D"_blank">https://groups.google.com/d/optout</a>.<b=
r class=3D"gmail_msg">
</blockquote></div>

<p class=3D"gmail_msg"></p>

-- <br class=3D"gmail_msg">
You received this message because you are subscribed to the Google Groups &=
quot;scala-language&quot; group.<br class=3D"gmail_msg">
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]" clas=
s=3D"gmail_msg" target=3D"_blank">[email protected]=
om</a>.<br class=3D"gmail_msg">
For more options, visit <a href=3D"https://groups.google.com/d/optout" clas=
s=3D"gmail_msg" target=3D"_blank">https://groups.google.com/d/optout</a>.<b=
r class=3D"gmail_msg">
</blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;scala-language&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]">scal=
[email protected]</a>.<br />
For more options, visit <a href=3D"https://groups.google.com/d/optout">http=
s://groups.google.com/d/optout</a>.<br />

--001a1143d29c52c733054033a878--