Re: The Scala REPL output is confusing
Adriaan Moors <[email protected]> Mon, 31 Oct 2016 22:46:00 +0000
| Newsgroups | gmane.comp.lang.scala |
|---|---|
| Message-ID | <CA+cgcwbFeJNDHofKRXCAWrKdBz8jhMF=-BREEbJ7KuyMQeRirQ@mail.gmail.com> |
--94eb2c0bad166e7beb054030f919 Content-Type: text/plain; charset=UTF-8 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. --94eb2c0bad166e7beb054030f919 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">I agree the output would be nicer if we printed out the me= thod definition in legal Scala. The current output is just printing the (st= rictly) internal representation of a method type.<div><br></div><div>I woul= d be happy to help to improve this. I believe the logic for the output is h= ere:=C2=A0<a href=3D"https://github.com/scala/scala/blob/2.12.x/src/repl/sc= ala/tools/nsc/interpreter/MemberHandlers.scala#L156">https://github.com/sca= la/scala/blob/2.12.x/src/repl/scala/tools/nsc/interpreter/MemberHandlers.sc= ala#L156</a></div><div><br></div><div>cheers</div><div>adriaan</div></div><= br><div class=3D"gmail_quote"><div dir=3D"ltr">On Mon, Oct 31, 2016 at 2:55= PM Oliver Ruebenacker <<a href=3D"mailto:[email protected]">curoli@gmail= .com</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar= gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr= " 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"><di= v 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 The = line is just:<br class=3D"gmail_msg"><br class=3D"gmail_msg"></div><name= >: <type><br class=3D"gmail_msg"><br class=3D"gmail_msg"></div>=C2= =A0 With "(in: String)Int" being the type of the method. <br clas= s=3D"gmail_msg"><br class=3D"gmail_msg"></div>=C2=A0 This resembles JNI met= hod type notation, where the return type goes directly after the parens, to= o.<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"><br class=3D"gmail_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"gm= ail_msg"><<a href=3D"mailto:[email protected]" class=3D"gmail_msg" targ= et=3D"_blank">[email protected]</a>></span> wrote:<br class=3D"gmail_ms= g"><blockquote class=3D"gmail_quote gmail_msg" style=3D"margin:0 0 0 .8ex;b= order-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr" class=3D"gmail= _msg">(Note that this conversation started over on Gitter, and moved here.)= <div class=3D"gmail_msg"><br class=3D"gmail_msg"></div><div class=3D"gmail_= msg">That's fair, but note that the output <i class=3D"gmail_msg">isn&#= 39;t legal Scala</i>.=C2=A0 The "method created" bit I agree is a= rguable, but it really is kind of weird and confusing that there's no c= olon before "Int" in the output -- the output syntax seems strang= ely arbitrary.=C2=A0 Was there a specific reason for that, or is it just an= old "seemed good enough at the time"?</div><div class=3D"gmail_m= sg"><br class=3D"gmail_msg"></div><div class=3D"gmail_msg">I should note th= at I don't care passionately -- I don't use the REPL much myself.= =C2=A0 But this seems like a pointless roadbump for new users, having the o= utput be almost, but not quite, legal Scala.</div><div class=3D"gmail_msg">= <br class=3D"gmail_msg"></div><div class=3D"gmail_msg">And really, is "= ;unnecessary clutter" (at least in small amounts) actually a problem i= n the REPL?=C2=A0 I would say that clarity is likely a higher priority than= output conciseness...</div></div><div class=3D"m_5691870736931185121HOEnZb= gmail_msg"><div class=3D"m_5691870736931185121h5 gmail_msg"><div class=3D"= gmail_extra gmail_msg"><br class=3D"gmail_msg"><div class=3D"gmail_quote gm= ail_msg">On Mon, Oct 31, 2016 at 4:55 PM, Oliver Ruebenacker <span dir=3D"l= tr" class=3D"gmail_msg"><<a href=3D"mailto:[email protected]" class=3D"gm= ail_msg" target=3D"_blank">[email protected]</a>></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"><div dir=3D"ltr" cl= ass=3D"gmail_msg"><div class=3D"gmail_msg"><div class=3D"gmail_msg"><div cl= ass=3D"gmail_msg"><br class=3D"gmail_msg"></div>=C2=A0=C2=A0=C2=A0=C2=A0 He= llo,<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_5691870736931185121m_38379954= 61070946043h5 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"l= tr" class=3D"gmail_msg"><<a href=3D"mailto:[email protected]" c= lass=3D"gmail_msg" target=3D"_blank">[email protected]</a>></sp= an> wrote:<br class=3D"gmail_msg"><blockquote class=3D"gmail_quote gmail_ms= g" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">= <div dir=3D"ltr" class=3D"gmail_msg">Hi all,<br class=3D"gmail_msg"><br cla= ss=3D"gmail_msg">have you ever noticed how confusing the Scala REPL output = it?<br class=3D"gmail_msg"><br class=3D"gmail_msg"><div style=3D"background= -color:rgb(250,250,250);border-color:rgb(187,187,187);border-style:solid;bo= rder-width:1px" class=3D"m_5691870736931185121m_3837995461070946043m_253220= 2319531310957m_7490866102373541101prettyprint gmail_msg"><code class=3D"m_5= 691870736931185121m_3837995461070946043m_2532202319531310957m_7490866102373= 541101prettyprint gmail_msg"><div class=3D"m_5691870736931185121m_383799546= 1070946043m_2532202319531310957m_7490866102373541101subprettyprint gmail_ms= g"><span style=3D"color:#000" class=3D"m_5691870736931185121m_3837995461070= 946043m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_ms= g">scala</span><span style=3D"color:#660" class=3D"m_5691870736931185121m_3= 837995461070946043m_2532202319531310957m_7490866102373541101styled-by-prett= ify gmail_msg">></span><span style=3D"color:#000" class=3D"m_56918707369= 31185121m_3837995461070946043m_2532202319531310957m_7490866102373541101styl= ed-by-prettify gmail_msg"> </span><span style=3D"color:#008" class=3D"m_569= 1870736931185121m_3837995461070946043m_2532202319531310957m_749086610237354= 1101styled-by-prettify gmail_msg">def</span><span style=3D"color:#000" clas= s=3D"m_5691870736931185121m_3837995461070946043m_2532202319531310957m_74908= 66102373541101styled-by-prettify gmail_msg"> foo</span><span style=3D"color= :#660" class=3D"m_5691870736931185121m_3837995461070946043m_253220231953131= 0957m_7490866102373541101styled-by-prettify gmail_msg">(</span><span style= =3D"color:#008" class=3D"m_5691870736931185121m_3837995461070946043m_253220= 2319531310957m_7490866102373541101styled-by-prettify gmail_msg">in</span><s= pan style=3D"color:#660" class=3D"m_5691870736931185121m_383799546107094604= 3m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg">:<= /span><span style=3D"color:#000" class=3D"m_5691870736931185121m_3837995461= 070946043m_2532202319531310957m_7490866102373541101styled-by-prettify gmail= _msg"> </span><span style=3D"color:#606" class=3D"m_5691870736931185121m_38= 37995461070946043m_2532202319531310957m_7490866102373541101styled-by-pretti= fy gmail_msg">String</span><span style=3D"color:#660" class=3D"m_5691870736= 931185121m_3837995461070946043m_2532202319531310957m_7490866102373541101sty= led-by-prettify gmail_msg">):</span><span style=3D"color:#000" class=3D"m_5= 691870736931185121m_3837995461070946043m_2532202319531310957m_7490866102373= 541101styled-by-prettify gmail_msg"> </span><span style=3D"color:#606" clas= s=3D"m_5691870736931185121m_3837995461070946043m_2532202319531310957m_74908= 66102373541101styled-by-prettify gmail_msg">Int</span><span style=3D"color:= #000" class=3D"m_5691870736931185121m_3837995461070946043m_2532202319531310= 957m_7490866102373541101styled-by-prettify gmail_msg"> </span><span style= =3D"color:#660" class=3D"m_5691870736931185121m_3837995461070946043m_253220= 2319531310957m_7490866102373541101styled-by-prettify gmail_msg">=3D</span><= span style=3D"color:#000" class=3D"m_5691870736931185121m_38379954610709460= 43m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg"> = </span><span style=3D"color:#660" class=3D"m_5691870736931185121m_383799546= 1070946043m_2532202319531310957m_7490866102373541101styled-by-prettify gmai= l_msg">???</span><span style=3D"color:#000" class=3D"m_5691870736931185121m= _3837995461070946043m_2532202319531310957m_7490866102373541101styled-by-pre= ttify gmail_msg"><br class=3D"gmail_msg">foo</span><span style=3D"color:#66= 0" class=3D"m_5691870736931185121m_3837995461070946043m_2532202319531310957= m_7490866102373541101styled-by-prettify gmail_msg">:</span><span style=3D"c= olor:#000" class=3D"m_5691870736931185121m_3837995461070946043m_25322023195= 31310957m_7490866102373541101styled-by-prettify gmail_msg"> </span><span st= yle=3D"color:#660" class=3D"m_5691870736931185121m_3837995461070946043m_253= 2202319531310957m_7490866102373541101styled-by-prettify gmail_msg">(</span>= <span style=3D"color:#008" class=3D"m_5691870736931185121m_3837995461070946= 043m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg">= in</span><span style=3D"color:#660" class=3D"m_5691870736931185121m_3837995= 461070946043m_2532202319531310957m_7490866102373541101styled-by-prettify gm= ail_msg">:</span><span style=3D"color:#000" class=3D"m_5691870736931185121m= _3837995461070946043m_2532202319531310957m_7490866102373541101styled-by-pre= ttify gmail_msg"> </span><span style=3D"color:#606" class=3D"m_569187073693= 1185121m_3837995461070946043m_2532202319531310957m_7490866102373541101style= d-by-prettify gmail_msg">String</span><span style=3D"color:#660" class=3D"m= _5691870736931185121m_3837995461070946043m_2532202319531310957m_74908661023= 73541101styled-by-prettify gmail_msg">)</span><span style=3D"color:#606" cl= ass=3D"m_5691870736931185121m_3837995461070946043m_2532202319531310957m_749= 0866102373541101styled-by-prettify gmail_msg">Int</span><span style=3D"colo= r:#000" class=3D"m_5691870736931185121m_3837995461070946043m_25322023195313= 10957m_7490866102373541101styled-by-prettify gmail_msg"><br class=3D"gmail_= msg"></span></div></code></div><br class=3D"gmail_msg">I have learned what = this "foo: (in: String)Int) is supposed to mean. But from a beginner&#= 39;s perspective I find it puzzling. Instead it should display something li= ke this:<br class=3D"gmail_msg"><span style=3D"color:#000" class=3D"m_56918= 70736931185121m_3837995461070946043m_2532202319531310957m_74908661023735411= 01styled-by-prettify gmail_msg"></span><br class=3D"gmail_msg"><span style= =3D"color:#000" class=3D"m_5691870736931185121m_3837995461070946043m_253220= 2319531310957m_7490866102373541101styled-by-prettify gmail_msg"></span><div= style=3D"background-color:rgb(250,250,250);border-color:rgb(187,187,187);b= order-style:solid;border-width:1px" class=3D"m_5691870736931185121m_3837995= 461070946043m_2532202319531310957m_7490866102373541101prettyprint gmail_msg= "><code class=3D"m_5691870736931185121m_3837995461070946043m_25322023195313= 10957m_7490866102373541101prettyprint gmail_msg"><div class=3D"m_5691870736= 931185121m_3837995461070946043m_2532202319531310957m_7490866102373541101sub= prettyprint gmail_msg"><span style=3D"color:#000" class=3D"m_56918707369311= 85121m_3837995461070946043m_2532202319531310957m_7490866102373541101styled-= by-prettify gmail_msg">method created</span><span style=3D"color:#660" clas= s=3D"m_5691870736931185121m_3837995461070946043m_2532202319531310957m_74908= 66102373541101styled-by-prettify gmail_msg">:</span><span style=3D"color:#0= 00" class=3D"m_5691870736931185121m_3837995461070946043m_253220231953131095= 7m_7490866102373541101styled-by-prettify gmail_msg"> foo</span><span style= =3D"color:#660" class=3D"m_5691870736931185121m_3837995461070946043m_253220= 2319531310957m_7490866102373541101styled-by-prettify gmail_msg">(</span><sp= an style=3D"color:#008" class=3D"m_5691870736931185121m_3837995461070946043= m_2532202319531310957m_7490866102373541101styled-by-prettify gmail_msg">in<= /span><span style=3D"color:#660" class=3D"m_5691870736931185121m_3837995461= 070946043m_2532202319531310957m_7490866102373541101styled-by-prettify gmail= _msg">:</span><span style=3D"color:#000" class=3D"m_5691870736931185121m_38= 37995461070946043m_2532202319531310957m_7490866102373541101styled-by-pretti= fy gmail_msg"> </span><span style=3D"color:#606" class=3D"m_569187073693118= 5121m_3837995461070946043m_2532202319531310957m_7490866102373541101styled-b= y-prettify gmail_msg">String</span><span style=3D"color:#660" class=3D"m_56= 91870736931185121m_3837995461070946043m_2532202319531310957m_74908661023735= 41101styled-by-prettify gmail_msg">):</span><span style=3D"color:#000" clas= s=3D"m_5691870736931185121m_3837995461070946043m_2532202319531310957m_74908= 66102373541101styled-by-prettify gmail_msg"> </span><span style=3D"color:#6= 06" class=3D"m_5691870736931185121m_3837995461070946043m_253220231953131095= 7m_7490866102373541101styled-by-prettify gmail_msg">Int</span><span style= =3D"color:#000" class=3D"m_5691870736931185121m_3837995461070946043m_253220= 2319531310957m_7490866102373541101styled-by-prettify gmail_msg"> <br class= =3D"gmail_msg"></span></div></code></div><code class=3D"m_56918707369311851= 21m_3837995461070946043m_2532202319531310957m_7490866102373541101prettyprin= t gmail_msg"></code><br class=3D"gmail_msg"><code class=3D"m_56918707369311= 85121m_3837995461070946043m_2532202319531310957m_7490866102373541101prettyp= rint gmail_msg"><div class=3D"m_5691870736931185121m_3837995461070946043m_2= 532202319531310957m_7490866102373541101subprettyprint gmail_msg"><span styl= e=3D"color:#000" class=3D"m_5691870736931185121m_3837995461070946043m_25322= 02319531310957m_7490866102373541101styled-by-prettify gmail_msg"></span></d= iv></code>Would someone support/guide me in fixing this?<br class=3D"gmail_= msg"><br class=3D"gmail_msg">Cheers,<br class=3D"gmail_msg">Raphael<span cl= ass=3D"m_5691870736931185121m_3837995461070946043m_2532202319531310957HOEnZ= b gmail_msg"><font color=3D"#888888" class=3D"gmail_msg"><br class=3D"gmail= _msg"><br class=3D"gmail_msg"><br class=3D"gmail_msg"><br class=3D"gmail_ms= g"></font></span></div><span class=3D"m_5691870736931185121m_38379954610709= 46043m_2532202319531310957HOEnZb 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" 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_56= 91870736931185121m_3837995461070946043HOEnZb gmail_msg"><font color=3D"#888= 888" class=3D"gmail_msg">-- <br class=3D"gmail_msg"><div class=3D"m_5691870= 736931185121m_3837995461070946043m_2532202319531310957gmail_signature gmail= _msg" data-smartmail=3D"gmail_signature"><div dir=3D"ltr" class=3D"gmail_ms= g"><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= "><div dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_msg">Oliver Rueb= enacker<br class=3D"gmail_msg"></div><div class=3D"gmail_msg">Senior Softwa= re Engineer, <a href=3D"http://www.type2diabetesgenetics.org/" class=3D"gma= il_msg" target=3D"_blank">Diabetes Portal</a>, <a href=3D"http://www.broadi= nstitute.org/" class=3D"gmail_msg" target=3D"_blank">Broad Institute</a><br= class=3D"gmail_msg"></div><br class=3D"gmail_msg"></div></div></div></div>= </div></div></div></div> </font></span></div><div class=3D"m_5691870736931185121m_383799546107094604= 3HOEnZb gmail_msg"><div class=3D"m_5691870736931185121m_3837995461070946043= h5 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" 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" 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_5691870736931185121gmail_signature gmail_msg" data-smartmail=3D"g= mail_signature"><div dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_ms= g"><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" clas= s=3D"gmail_msg"><div class=3D"gmail_msg">Oliver Ruebenacker<br class=3D"gma= il_msg"></div><div class=3D"gmail_msg">Senior Software Engineer, <a href=3D= "http://www.type2diabetesgenetics.org/" class=3D"gmail_msg" target=3D"_blan= k">Diabetes 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 class=3D"gmail_msg"></div></div></div></div></div></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" 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" 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 /> --94eb2c0bad166e7beb054030f919--