Skip to content

Commit

Permalink
Add better message for Empty collections
Browse files Browse the repository at this point in the history
  • Loading branch information
kamil-adam committed Dec 14, 2022
1 parent 40c4e25 commit 8d47def
Show file tree
Hide file tree
Showing 69 changed files with 107 additions and 103 deletions.
4 changes: 4 additions & 0 deletions docs/developers/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# 📅 Revision history for HelVM Common

## 0.1.1.7 -- 2022-12-14

* Add better message for Empty collections

## 0.1.1.6 -- 2022-09-28

* Add `readFileTextUtf8`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@
<span class="lineno"> 26 </span><span class="decl"><span class="nottickedoff">top s = fst &lt;$&gt; unconsSafe s</span></span>
<span class="lineno"> 27 </span>
<span class="lineno"> 28 </span>unconsSafe :: (MonadSafe m , ListLike full item) =&gt; full -&gt; m (item , full)
<span class="lineno"> 29 </span><span class="decl"><span class="nottickedoff">unconsSafe = liftMaybeOrError &quot;Empty ListLike&quot; . uncons</span></span>
<span class="lineno"> 29 </span><span class="decl"><span class="nottickedoff">unconsSafe = liftMaybeOrError &quot;Empty ListLike for unconsSafe&quot; . uncons</span></span>
<span class="lineno"> 30 </span>
<span class="lineno"> 31 </span>uncons2Safe :: (MonadSafe m , ListLike full item) =&gt; full -&gt; m (item , item , full)
<span class="lineno"> 32 </span><span class="decl"><span class="nottickedoff">uncons2Safe = liftMaybeOrError &quot;Empty ListLike&quot; . uncons2</span></span>
<span class="lineno"> 32 </span><span class="decl"><span class="nottickedoff">uncons2Safe = liftMaybeOrError &quot;Empty ListLike for uncons2Safe&quot; . uncons2</span></span>
<span class="lineno"> 33 </span>
<span class="lineno"> 34 </span>uncons2 :: ListLike full item =&gt; full -&gt; Maybe (item, item, full)
<span class="lineno"> 35 </span><span class="decl"><span class="nottickedoff">uncons2 = uncons2' &lt;=&lt; uncons where</span>
Expand Down
24 changes: 12 additions & 12 deletions docs/reports/helio-test/hpc_index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,40 +7,40 @@
</style>
</head><body><table class="dashboard" width="100%" border=1>
<tr><th rowspan=2><a href="hpc_index.html">module</a></th><th colspan=3><a href="hpc_index_fun.html">Top Level Definitions</a></th><th colspan=3><a href="hpc_index_alt.html">Alternatives</a></th><th colspan=3><a href="hpc_index_exp.html">Expressions</a></th></tr><tr><th>%</th><th colspan=2>covered / total</th><th>%</th><th colspan=2>covered / total</th><th>%</th><th colspan=2>covered / total</th></tr><tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Collections.MapList.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Collections.MapList</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Collections.MapList.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Collections.MapList</a></tt></td>
<td align="right">25%</td><td>10/39</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="25%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">66%</td><td>4/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="66%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">51%</td><td>59/115</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="51%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Collections.SList.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Collections.SList</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Collections.SList.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Collections.SList</a></tt></td>
<td align="right">0%</td><td>0/92</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">-&nbsp;</td><td>0/0</td><td width=100>&nbsp;</td><td align="right">0%</td><td>0/161</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Containers.LLIndexSafe</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Containers.LLIndexSafe</a></tt></td>
<td align="right">0%</td><td>0/7</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/3</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/50</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Containers.LLInsertDef</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Containers.LLInsertDef</a></tt></td>
<td align="right">0%</td><td>0/4</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/46</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Containers.MTInsertDef</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Containers.MTInsertDef</a></tt></td>
<td align="right">0%</td><td>0/4</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/46</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Control.Control.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Control.Control</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Control.Control.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Control.Control</a></tt></td>
<td align="right">0%</td><td>0/12</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/2</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/42</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Control.Logger.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Control.Logger</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Control.Logger.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Control.Logger</a></tt></td>
<td align="right">31%</td><td>6/19</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">-&nbsp;</td><td>0/0</td><td width=100>&nbsp;</td><td align="right">27%</td><td>17/61</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="27%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Control.Message.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Control.Message</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Control.Message.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Control.Message</a></tt></td>
<td align="right">0%</td><td>0/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/2</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/26</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Control.Safe.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Control.Safe</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Control.Safe.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Control.Safe</a></tt></td>
<td align="right">0%</td><td>0/30</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/4</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/108</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Digit.Digits.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Digit.Digits</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Digit.Digits.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Digit.Digits</a></tt></td>
<td align="right">57%</td><td>4/7</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="57%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">100%</td><td>2/2</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">55%</td><td>16/29</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="55%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.Extra.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.Extra</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.Extra.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.Extra</a></tt></td>
<td align="right">0%</td><td>0/16</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/71</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.6-inplace/HelVM.HelIO.ListLikeExtra.hs.html">helio-0.1.1.6-inplace/HelVM.HelIO.ListLikeExtra</a></tt></td>
<td>&nbsp;&nbsp;<tt>module <a href="helio-0.1.1.7-inplace/HelVM.HelIO.ListLikeExtra.hs.html">helio-0.1.1.7-inplace/HelVM.HelIO.ListLikeExtra</a></tt></td>
<td align="right">12%</td><td>1/8</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="12%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/2</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">21%</td><td>9/42</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="21%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr></tr><tr style="background: #e0e0e0">
<th align=left>&nbsp;&nbsp;Program Coverage Total</tt></th>
Expand Down
Loading

0 comments on commit 8d47def

Please sign in to comment.