<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta name="x_Generator" content="Microsoft Word 15 (filtered medium)">
<style>
<!--
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif}
a:x_link, span.x_MsoHyperlink
        {color:blue;
        text-decoration:underline}
a:x_visited, span.x_MsoHyperlinkFollowed
        {color:#954F72;
        text-decoration:underline}
.x_MsoChpDefault
        {}
div.x_WordSection1
        {}
-->
</style>
<div lang="EN-US" link="blue" vlink="#954F72">
<div class="x_WordSection1">
<p class="x_MsoNormal">Hello</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Why it generates different docs anyway?</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Regards, </p>
<p class="x_MsoNormal">Ilya</p>
<p class="x_MsoNormal"> </p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal" style="border:none; padding:0in"><b>From: </b><a href="mailto:vances@sigscale.org">Vance Shipley</a><br>
<b>Sent: </b>Thursday, January 12, 2017 04:27 PM<br>
<b>To: </b><a href="mailto:erlang-questions@erlang.org">erlang-questions</a><br>
<b>Subject: </b>[erlang-questions] Refactoring for edoc</p>
</div>
<p class="x_MsoNormal"> </p>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">We've recently discovered that edoc generates much nicer documentation<br>
when you write type specifications using `when` such as:<br>
<br>
     -spec example(Number) -> {ok, Result} | {error, Reason}<br>
          when  Number :: pos_integer(), Result = integer(), Reason :: term().<br>
<br>
... rather than the more obvious:<br>
<br>
     -spec example(Number :: pos_integer()) -> {ok, Result ::<br>
integer()} | {error, Reason :: term()}.<br>
<br>
<br>
So the question becomes how can we easily refactor all of our type<br>
specifications to use the former method?  Is there a refactoring too<br>
well suited to this job?<br>
<br>
-- <br>
     -Vance<br>
_______________________________________________<br>
erlang-questions mailing list<br>
erlang-questions@erlang.org<br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div>
</span></font>
</body>
</html>