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 <<a href=3D"mailto:[email protected]">adriaan@light= bend.com</a>> 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 <<a href=3D"mailto:[email protected]" class=3D"gmail_msg" target=3D"= _blank">[email protected]</a>> 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><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 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"><<a href=3D"ma= ilto:[email protected]" class=3D"gmail_msg" target=3D"_blank">jducoeur@gma= il.com</a>></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's fair, but = note that the output <i class=3D"gmail_msg">isn't legal Scala</i>.=C2= =A0 The "method created" bit I agree is arguable, but it really i= s kind of weird and confusing that there's no colon before "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 "seemed good e= nough at the time"?</div><div class=3D"gmail_msg"><br class=3D"gmail_m= sg"></div><div class=3D"gmail_msg">I should note that I don't care pass= ionately -- I don'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 "unnecessary clutter"= (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"><<a href=3D"mailto:curoli@gmai= l.com" class=3D"gmail_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"><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"><<a hre= f=3D"mailto:[email protected]" class=3D"gmail_msg" target=3D"_blan= k">[email protected]</a>></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">></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 "foo: (in: String)Int) is supposed to mean. But fr= om a beginner'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" 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" 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_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" 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" 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 /> --001a1143d29c52c733054033a878--