<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On May 26, 2011, at 11:00 AM, <a href="mailto:erlang-questions-request@erlang.org">erlang-questions-request@erlang.org</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Send erlang-questions mailing list submissions to<br><span class="Apple-tab-span" style="white-space:pre">      </span><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<br><span class="Apple-tab-span" style="white-space:pre">   </span>http://erlang.org/mailman/listinfo/erlang-questions<br>or, via email, send a message with subject or body 'help' to<br><span class="Apple-tab-span" style="white-space:pre"> </span>erlang-questions-request@erlang.org<br><br>You can reach the person managing the list at<br><span class="Apple-tab-span" style="white-space:pre">      </span>erlang-questions-owner@erlang.org<br><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of erlang-questions digest..."<br><br><br>Today's Topics:<br><br>   1.  Multiple types with the same name in Dialyzer (Anthony Ramine)<br>   2. Re:  Multiple types with the same name in Dialyzer<br>      (Kostis Sagonas)<br>   3. Re:  Erlang/OTP R14B03 has been released (Mazen Harake)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Thu, 26 May 2011 11:24:16 +0200<br>From: Anthony Ramine <nox@dev-extend.eu><br>To: Kostis Sagonas <kostis@cs.ntua.gr><br>Cc: Erlang Questions <erlang-questions@erlang.org><br>Subject: [erlang-questions] Multiple types with the same name in<br><span class="Apple-tab-span" style="white-space:pre">     </span>Dialyzer<br>Message-ID: <96B869B4-4B4A-444F-8294-81C737F61D9B@dev-extend.eu><br>Content-Type: text/plain; charset=us-ascii<br><br>Hi,<br><br>I have a type value/1 defined as `-type value(LabelT) :: ...` and I would<br>like to have a type value/0 with a default LabelT type value like<br>`-type value() :: value(binary())`. The file compiles just fine but Dialyzer<br>complains that "Type value is already defined".<br><br>This exception is thrown from dialyzer_utils:add_new_type/6 [1] because the arity<br>is not a part of a type identity, you can see this in erl_types:type_is_defined/3 [2].<br><br>What I really don't understand is that while the arity is not a part of it, whether<br>the given type is opaque or not is, so you can have both `-type t()` and `-opaque t()`.<br><br>So I have two questions:<br><br>- Is being unable to have both type value/0 and value/1 a bug?<br>- Does being able to have both type t opaque and non-opaque have any purpose?<br><br>Regards,<br><br>[1] https://github.com/erlang/otp/blob/dev/lib/dialyzer/src/dialyzer_utils.erl#L223<br>[2] https://github.com/erlang/otp/blob/dev/lib/hipe/cerl/erl_types.erl#L3984<br><br>--<br>Anthony Ramine<br>Dev:Extend<br>http://dev-extend.eu<br><br><br><br><br><br><br>------------------------------<br><br>Message: 2<br>Date: Thu, 26 May 2011 12:24:58 +0300<br>From: Kostis Sagonas <kostis@cs.ntua.gr><br>To: Anthony Ramine <nox@dev-extend.eu><br>Cc: Erlang Questions <erlang-questions@erlang.org><br>Subject: Re: [erlang-questions] Multiple types with the same name in<br><span class="Apple-tab-span" style="white-space:pre">    </span>Dialyzer<br>Message-ID: <4DDE1C6A.60303@cs.ntua.gr><br>Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br><br>Anthony Ramine wrote:<br><blockquote type="cite">Hi,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I have a type value/1 defined as `-type value(LabelT) :: ...` and I would<br></blockquote><blockquote type="cite">like to have a type value/0 with a default LabelT type value like<br></blockquote><blockquote type="cite">`-type value() :: value(binary())`. The file compiles just fine but Dialyzer<br></blockquote><blockquote type="cite">complains that "Type value is already defined".<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">This exception is thrown from dialyzer_utils:add_new_type/6 [1] because the arity<br></blockquote><blockquote type="cite">is not a part of a type identity, you can see this in erl_types:type_is_defined/3 [2].<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">What I really don't understand is that while the arity is not a part of it, whether<br></blockquote><blockquote type="cite">the given type is opaque or not is, so you can have both `-type t()` and `-opaque t()`.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">So I have two questions:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">- Is being unable to have both type value/0 and value/1 a bug?<br></blockquote><blockquote type="cite">- Does being able to have both type t opaque and non-opaque have any purpose?<br></blockquote><br>Hi Antony,<br><br>We are aware of these issues and we are in the process of fixing them. <br>Unfortunately, they require major surgery...<br><br>Sort answers to your questions:<br><br>  1. No -- just a current limitation that will be lifted soon, I hope.<br>  2. No -- it should be prohibited by erl_lint already; will happen.<br><br>Kostis<br><br><br>------------------------------<br><br>Message: 3<br>Date: Thu, 26 May 2011 11:29:20 +0200<br>From: Mazen Harake <mazen.harake@gmail.com><br>To: "erlang-questions@erlang.org" <erlang-questions@erlang.org><br>Subject: Re: [erlang-questions] Erlang/OTP R14B03 has been released<br>Message-ID: <BANLkTim7FtLViGbPAR9LudoGeFZGXaEWHw@mail.gmail.com><br>Content-Type: text/plain; charset=ISO-8859-1<br><br>Oh.... :( there it is:<br>RUN_ERL_DISABLE_FLOWCNTRL<br><br>I tried to stop this truly horrible shortening of the word "CONTROL"<br>but I guess the damage has been done :P<br><br>Welcoming feature, which shall laugh in our faces every time someone<br>wonders "why isn't it working!?!?" after have misread this as<br>"FLOWCTRL" which would be the more common shortening.<br><br>well well... "it" happens, I guess :)<br><br><br><br>2011/5/25 Bj?rn-Egil Dahlberg <egil@erix.ericsson.se><br><blockquote type="cite"><br></blockquote><blockquote type="cite">Erlang/OTP R14B03 has been released.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">This release is mainly a stabilization of the R14B03 release (but as usual there are some new functionality as well).<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">You can find the README file for the release at<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">http://www.erlang.org/download/otp_src_R14B03.readme<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">The source distribution and binary distribution for Windows can be downloaded from<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">http://www.erlang.org/download/otp_src_R14B03.tar.gz<br></blockquote><blockquote type="cite">http://www.erlang.org/download/otp_win32_R14B03.exe<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Note: To unpack the TAR archive you need a GNU TAR compatible program.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">For installation instructions please read the README file that is part<br></blockquote><blockquote type="cite">of the distribution.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">You can also find the source in the official Erlang/OTP git-repository at GitHub (http://github.com/erlang/otp)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">The on-line documentation can be found at: http://www.erlang.org/doc/<br></blockquote><blockquote type="cite">You can also download the complete HTML documentation or the Unix manual files<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">http://www.erlang.org/download/otp_doc_html_R14B03.tar.gz<br></blockquote><blockquote type="cite">http://www.erlang.org/download/otp_doc_man_R14B03.tar.gz<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">We also want to thank those that sent us patches, suggestions and bug reports.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">The Erlang/OTP Team<br></blockquote><blockquote type="cite">Ericsson AB<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">erlang-questions mailing list<br></blockquote><blockquote type="cite">erlang-questions@erlang.org<br></blockquote><blockquote type="cite">http://erlang.org/mailman/listinfo/erlang-questions<br></blockquote><br><br>------------------------------<br><br>_______________________________________________<br>erlang-questions mailing list<br>erlang-questions@erlang.org<br>http://erlang.org/mailman/listinfo/erlang-questions<br><br><br>End of erlang-questions Digest, Vol 10, Issue 43<br>************************************************<br></div></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div><span class="Apple-style-span" style="font-family: verdana, arial, helvetica, code2000, sans-serif; "><table class="grid" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(0, 0, 0); border-right-color: rgb(0, 0, 0); border-bottom-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; font-family: verdana, arial, helvetica, code2000, sans-serif; font-size: small; margin-top: 0.5em; "><tbody><tr><td style="border-top-color: rgb(0, 0, 0); border-right-color: rgb(0, 0, 0); border-bottom-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3pt; padding-right: 3pt; padding-bottom: 3pt; padding-left: 3pt; "><font class="Apple-style-span" face="'Times New Roman'" size="4"><span class="Apple-style-span" style="font-size: 14px; ">pǝʇɐʇs ǝsıʍɹǝɥʇo ssǝʃun ˙unƃǝsnʃO ˙∀ oʎɐʇuıʞ∀<br><br></span></font></td></tr></tbody></table></span></div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></body></html>