git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
More hlint & remove report file
a647c78Gary Burgess
report.htmldeleted−1498
@@ -1,1498 +0,0 @@
1−<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2−<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3−<head>
4−<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
5−<title>HLint Report</title>
6−<script type='text/javascript'>
7−
8−/* == Algorithm for show/unshow ==
9− Each hint/file is given a number, hint# or file#
10− When we say showOnly with a class name we add the rules to
11− the css #content div {display:none}, #content div.className {display:block}
12− When going back to showAll we remove these results
13−*/
14−
15−// CSS MANIPULATION //
16−
17−function deleteRules(n)
18−{
19− var css = document.styleSheets[0];
20− for (var i = 0; i < n; i++)
21− css.deleteRule(css.cssRules.length-1);
22−}
23−
24−function insertRule(s)
25−{
26− var css = document.styleSheets[0];
27− css.insertRule(s, css.cssRules.length);
28−}
29−
30−// SHOW/HIDE LOGIC //
31−
32−var last = "";
33−
34−function show(id)
35−{
36− if (id == last) return;
37− if (id == "")
38− {
39− deleteRules(3);
40− insertRule(".all {font-weight: bold;}");
41− }
42− else
43− {
44− if (last == "")
45− {
46− deleteRules(1);
47− insertRule("#content div {display:none;}");
48− }
49− else
50− {
51− deleteRules(2);
52− }
53− insertRule("#content div." + id + " {display:block;}");
54− insertRule("#" + id + "{font-weight:bold;}");
55− }
56−
57− last = id;
58−}
59−
60−</script>
61−<style type="text/css">
62−/* These rules are manipulated by the script.
63− The commented form is how it looks with an id selected */
64−
65−.all {font-weight: bold;} /* #content div {display:none;} */
66− /* #content div.id {display:block;} */
67− /* #id {font-weight: bold;} */
68−
69−</style>
70−<style type="text/css">
71−/* See http://www.webreference.com/programming/css_frames/ */
72−body {
73− margin:0;
74− border:0;
75− padding:0;
76− height:100%;
77− max-height:100%;
78− font-family: sans-serif;
79− font-size:76%;
80− overflow: hidden;
81−}
82−
83−#leftbar {
84− position:absolute;
85− top:0px;
86− left:0px;
87− width: 215px;
88− bottom: 0px;
89− overflow:auto;
90− background:rgb(202,223,255);
91− margin: 10px;
92− padding-top: 0;
93− padding-left: 7px;
94− padding-right: 7px;
95− -moz-border-radius: 5px;
96− -webkit-border-radius: 5px;
97−
98− display:none; /* Override if script present */
99−}
100−
101−#content {
102− position:absolute;
103− top:0;
104− bottom:0;
105− right:0;
106− overflow:auto;
107− padding-bottom: 15px;
108− padding-right: 7px;
109−
110− left:10px; /* Override if script present */
111−}
112−
113−#leftbar ul {margin-top: 0px; padding-left: 15px;}
114−#leftbar p {margin-bottom: 0px;}
115−.note {color: gray; font-size: smaller;}
116−
117−pre {
118− font-family: "lucida console", monospace;
119− padding-left: 15px;
120− margin: 2px;
121−}
122−
123−#content div {
124− margin-bottom: 10px;
125− margin-right: 10px;
126− padding-top: 4px;
127− border-top: 1px solid #ccc;
128−}
129−
130−.script #content {left:250px;}
131−.script #leftbar {display: block;}
132−
133−/* From HsColour */
134−.hs-keyglyph, .hs-layout {color: red;}
135−.hs-keyword {color: blue;}
136−.hs-comment, .hs-comment a {color: green;}
137−.hs-str, .hs-chr {color: teal;}
138−</style>
139−</head>
140−<body>
141−
142−<script type='text/javascript'>
143−document.body.className = "script";
144−</script>
145−
146−<div id="leftbar" valign="top" style="min-width:200px">
147−
148−<p><a class="all" href="javascript:show('')">All hints</a></p>
149−<ul>
150−<li><a id="hint0" href="javascript:show('hint0')">Error: Redundant bracket (1)</a></li>
151−<li><a id="hint1" href="javascript:show('hint1')">Error: Redundant do (4)</a></li>
152−<li><a id="hint2" href="javascript:show('hint2')">Error: Too strict if (1)</a></li>
153−<li><a id="hint3" href="javascript:show('hint3')">Error: Unused LANGUAGE pragma (1)</a></li>
154−<li><a id="hint4" href="javascript:show('hint4')">Error: Use break (1)</a></li>
155−<li><a id="hint5" href="javascript:show('hint5')">Error: Use concatMap (1)</a></li>
156−<li><a id="hint6" href="javascript:show('hint6')">Error: Use unless (1)</a></li>
157−<li><a id="hint7" href="javascript:show('hint7')">Warning: Reduce duplication (5)</a></li>
158−<li><a id="hint8" href="javascript:show('hint8')">Warning: Redundant $ (8)</a></li>
159−<li><a id="hint9" href="javascript:show('hint9')">Warning: Redundant bracket (41)</a></li>
160−<li><a id="hint10" href="javascript:show('hint10')">Warning: Use &lt;$&gt; (29)</a></li>
161−<li><a id="hint11" href="javascript:show('hint11')">Warning: Use String (1)</a></li>
162−<li><a id="hint12" href="javascript:show('hint12')">Warning: Use fromMaybe (2)</a></li>
163−<li><a id="hint13" href="javascript:show('hint13')">Warning: Use if (1)</a></li>
164−<li><a id="hint14" href="javascript:show('hint14')">Warning: Use list literal pattern (1)</a></li>
165−<li><a id="hint15" href="javascript:show('hint15')">Warning: Use record patterns (4)</a></li>
166−<li><a id="hint16" href="javascript:show('hint16')">Warning: Use section (1)</a></li>
167−</ul>
168−
169−<p><a class="all" href="javascript:show('')">All files</a></p>
170−<ul>
171−<li><a id="file0" href="javascript:show('file0')">src/Language/PureScript.hs (3)</a></li>
172−<li><a id="file1" href="javascript:show('file1')">src/Language/PureScript/CodeGen/Externs.hs (2)</a></li>
173−<li><a id="file2" href="javascript:show('file2')">src/Language/PureScript/CodeGen/JS.hs (8)</a></li>
174−<li><a id="file3" href="javascript:show('file3')">src/Language/PureScript/Declarations.hs (33)</a></li>
175−<li><a id="file4" href="javascript:show('file4')">src/Language/PureScript/Errors.hs (1)</a></li>
176−<li><a id="file5" href="javascript:show('file5')">src/Language/PureScript/Optimizer/TCO.hs (1)</a></li>
177−<li><a id="file6" href="javascript:show('file6')">src/Language/PureScript/Optimizer/Unused.hs (1)</a></li>
178−<li><a id="file7" href="javascript:show('file7')">src/Language/PureScript/Parser/Common.hs (2)</a></li>
179−<li><a id="file8" href="javascript:show('file8')">src/Language/PureScript/Parser/Declarations.hs (2)</a></li>
180−<li><a id="file9" href="javascript:show('file9')">src/Language/PureScript/Pretty/JS.hs (13)</a></li>
181−<li><a id="file10" href="javascript:show('file10')">src/Language/PureScript/Pretty/Values.hs (17)</a></li>
182−<li><a id="file11" href="javascript:show('file11')">src/Language/PureScript/Renamer.hs (1)</a></li>
183−<li><a id="file12" href="javascript:show('file12')">src/Language/PureScript/Sugar/DoNotation.hs (2)</a></li>
184−<li><a id="file13" href="javascript:show('file13')">src/Language/PureScript/Sugar/TypeClasses.hs (2)</a></li>
185−<li><a id="file14" href="javascript:show('file14')">src/Language/PureScript/Sugar/TypeDeclarations.hs (1)</a></li>
186−<li><a id="file15" href="javascript:show('file15')">src/Language/PureScript/TypeChecker/Kinds.hs (4)</a></li>
187−<li><a id="file16" href="javascript:show('file16')">src/Language/PureScript/TypeChecker/Monad.hs (1)</a></li>
188−<li><a id="file17" href="javascript:show('file17')">src/Language/PureScript/TypeChecker/Types.hs (8)</a></li>
189−<li><a id="file18" href="javascript:show('file18')">src/Language/PureScript/Types.hs (1)</a></li>
190−</ul>
191−
192−</div>
193−<div id="content" valign="top" width="100%">
194−<p>
195− Report generated by <a href="http://community.haskell.org/~ndm/hlint/">HLint</a>
196−v1.9.4
197− - a tool to suggest improvements to your Haskell code.
198−</p>
199−
200−<div class="hint9 file0">
201−src/Language/PureScript.hs:81:49: Warning: Redundant bracket<br/>
202−Found<br/>
203−<pre><span class='hs-keyword'>if</span> <span class='hs-varid'>optionsNoPrelude</span> <span class='hs-varid'>opts</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>ms</span> <span class='hs-keyword'>else</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>importPrelude</span> <span class='hs-varid'>ms</span><span class='hs-layout'>)</span></pre>
204−Why not<br/>
205−<pre><span class='hs-keyword'>if</span> <span class='hs-varid'>optionsNoPrelude</span> <span class='hs-varid'>opts</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>ms</span> <span class='hs-keyword'>else</span> <span class='hs-varid'>map</span> <span class='hs-varid'>importPrelude</span> <span class='hs-varid'>ms</span></pre>
206−
207−</div>
208−
209−<div class="hint9 file0">
210−src/Language/PureScript.hs:155:65: Warning: Redundant bracket<br/>
211−Found<br/>
212−<pre><span class='hs-keyword'>if</span> <span class='hs-varid'>optionsNoPrelude</span> <span class='hs-varid'>opts</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>map</span> <span class='hs-varid'>snd</span> <span class='hs-varid'>ms</span> <span class='hs-keyword'>else</span>
213− <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>importPrelude</span> <span class='hs-varop'>.</span> <span class='hs-varid'>snd</span><span class='hs-layout'>)</span> <span class='hs-varid'>ms</span><span class='hs-layout'>)</span></pre>
214−Why not<br/>
215−<pre><span class='hs-keyword'>if</span> <span class='hs-varid'>optionsNoPrelude</span> <span class='hs-varid'>opts</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>map</span> <span class='hs-varid'>snd</span> <span class='hs-varid'>ms</span> <span class='hs-keyword'>else</span>
216− <span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>importPrelude</span> <span class='hs-varop'>.</span> <span class='hs-varid'>snd</span><span class='hs-layout'>)</span> <span class='hs-varid'>ms</span></pre>
217−
218−</div>
219−
220−<div class="hint7 file0">
221−src/Language/PureScript.hs:158:9: Warning: Reduce duplication<br/>
222−Found<br/>
223−<pre><span class='hs-definition'>filePath</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>runModuleName</span> <span class='hs-varid'>moduleName'</span>
224−<span class='hs-definition'>jsFile</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>outputDir</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-varid'>filePath</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-str'>"index.js"</span>
225−<span class='hs-definition'>externsFile</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>outputDir</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-varid'>filePath</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-str'>"externs.purs"</span>
226−</pre>
227−Why not<br/>
228−<pre><span class='hs-conid'>Combine</span> <span class='hs-varid'>with</span> <span class='hs-varid'>src</span><span class='hs-varop'>/</span><span class='hs-conid'>Language</span><span class='hs-varop'>/</span><span class='hs-conid'>PureScript</span><span class='hs-varop'>.</span><span class='hs-varid'>hs</span><span class='hs-conop'>:</span><span class='hs-num'>187</span><span class='hs-conop'>:</span><span class='hs-num'>9</span></pre>
229−
230−</div>
231−
232−<div class="hint9 file3">
233−src/Language/PureScript/Declarations.hs:69:13: Warning: Redundant bracket<br/>
234−Found<br/>
235−<pre><span class='hs-layout'>(</span><span class='hs-varid'>sourceName</span> <span class='hs-varid'>sp</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span>
236− <span class='hs-str'>" line "</span> <span class='hs-varop'>++</span>
237− <span class='hs-varid'>show</span> <span class='hs-layout'>(</span><span class='hs-varid'>sourcePosLine</span> <span class='hs-varid'>sp</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>", column "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>show</span> <span class='hs-layout'>(</span><span class='hs-varid'>sourcePosColumn</span> <span class='hs-varid'>sp</span><span class='hs-layout'>)</span></pre>
238−Why not<br/>
239−<pre><span class='hs-definition'>sourceName</span> <span class='hs-varid'>sp</span> <span class='hs-varop'>++</span>
240− <span class='hs-str'>" line "</span> <span class='hs-varop'>++</span>
241− <span class='hs-varid'>show</span> <span class='hs-layout'>(</span><span class='hs-varid'>sourcePosLine</span> <span class='hs-varid'>sp</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>", column "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>show</span> <span class='hs-layout'>(</span><span class='hs-varid'>sourcePosColumn</span> <span class='hs-varid'>sp</span><span class='hs-layout'>)</span></pre>
242−
243−</div>
244−
245−<div class="hint9 file3">
246−src/Language/PureScript/Declarations.hs:605:35: Warning: Redundant bracket<br/>
247−Found<br/>
248−<pre><span class='hs-conid'>BinaryNoParens</span> <span class='hs-varid'>op</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>g'</span> <span class='hs-varid'>v1</span><span class='hs-layout'>)</span></pre>
249−Why not<br/>
250−<pre><span class='hs-conid'>BinaryNoParens</span> <span class='hs-varid'>op</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>g'</span> <span class='hs-varid'>v1</span></pre>
251−
252−</div>
253−
254−<div class="hint9 file3">
255−src/Language/PureScript/Declarations.hs:605:35: Warning: Redundant bracket<br/>
256−Found<br/>
257−<pre><span class='hs-conid'>BinaryNoParens</span> <span class='hs-varid'>op</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>g'</span> <span class='hs-varid'>v1</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;*&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>g'</span> <span class='hs-varid'>v2</span><span class='hs-layout'>)</span></pre>
258−Why not<br/>
259−<pre><span class='hs-conid'>BinaryNoParens</span> <span class='hs-varid'>op</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>g'</span> <span class='hs-varid'>v1</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;*&gt;</span> <span class='hs-varid'>g'</span> <span class='hs-varid'>v2</span></pre>
260−
261−</div>
262−
263−<div class="hint9 file3">
264−src/Language/PureScript/Declarations.hs:669:22: Warning: Redundant bracket<br/>
265−Found<br/>
266−<pre><span class='hs-layout'>(</span><span class='hs-varid'>foldl</span> <span class='hs-layout'>(</span><span class='hs-varop'>&lt;&gt;</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>g</span> <span class='hs-varid'>v</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>f'</span> <span class='hs-varid'>ds</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;&gt;</span> <span class='hs-varid'>g'</span> <span class='hs-varid'>v1</span></pre>
267−Why not<br/>
268−<pre><span class='hs-definition'>foldl</span> <span class='hs-layout'>(</span><span class='hs-varop'>&lt;&gt;</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>g</span> <span class='hs-varid'>v</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>f'</span> <span class='hs-varid'>ds</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;&gt;</span> <span class='hs-varid'>g'</span> <span class='hs-varid'>v1</span></pre>
269−
270−</div>
271−
272−<div class="hint9 file3">
273−src/Language/PureScript/Declarations.hs:709:82: Warning: Redundant bracket<br/>
274−Found<br/>
275−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>val</span></pre>
276−Why not<br/>
277−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>val</span></pre>
278−
279−</div>
280−
281−<div class="hint9 file3">
282−src/Language/PureScript/Declarations.hs:711:75: Warning: Redundant bracket<br/>
283−Found<br/>
284−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>val</span></pre>
285−Why not<br/>
286−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>val</span></pre>
287−
288−</div>
289−
290−<div class="hint9 file3">
291−src/Language/PureScript/Declarations.hs:714:39: Warning: Redundant bracket<br/>
292−Found<br/>
293−<pre><span class='hs-layout'>(</span><span class='hs-varid'>f''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>d1</span></pre>
294−Why not<br/>
295−<pre><span class='hs-definition'>f''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>d1</span></pre>
296−
297−</div>
298−
299−<div class="hint9 file3">
300−src/Language/PureScript/Declarations.hs:719:26: Warning: Redundant bracket<br/>
301−Found<br/>
302−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
303−Why not<br/>
304−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
305−
306−</div>
307−
308−<div class="hint9 file3">
309−src/Language/PureScript/Declarations.hs:720:35: Warning: Redundant bracket<br/>
310−Found<br/>
311−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
312−Why not<br/>
313−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
314−
315−</div>
316−
317−<div class="hint9 file3">
318−src/Language/PureScript/Declarations.hs:720:49: Warning: Redundant bracket<br/>
319−Found<br/>
320−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v2</span></pre>
321−Why not<br/>
322−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v2</span></pre>
323−
324−</div>
325−
326−<div class="hint9 file3">
327−src/Language/PureScript/Declarations.hs:721:22: Warning: Redundant bracket<br/>
328−Found<br/>
329−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
330−Why not<br/>
331−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
332−
333−</div>
334−
335−<div class="hint9 file3">
336−src/Language/PureScript/Declarations.hs:724:51: Warning: Redundant bracket<br/>
337−Found<br/>
338−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
339−Why not<br/>
340−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
341−
342−</div>
343−
344−<div class="hint9 file3">
345−src/Language/PureScript/Declarations.hs:725:26: Warning: Redundant bracket<br/>
346−Found<br/>
347−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
348−Why not<br/>
349−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
350−
351−</div>
352−
353−<div class="hint9 file3">
354−src/Language/PureScript/Declarations.hs:726:44: Warning: Redundant bracket<br/>
355−Found<br/>
356−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>obj</span></pre>
357−Why not<br/>
358−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>obj</span></pre>
359−
360−</div>
361−
362−<div class="hint9 file3">
363−src/Language/PureScript/Declarations.hs:727:21: Warning: Redundant bracket<br/>
364−Found<br/>
365−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
366−Why not<br/>
367−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
368−
369−</div>
370−
371−<div class="hint9 file3">
372−src/Language/PureScript/Declarations.hs:728:22: Warning: Redundant bracket<br/>
373−Found<br/>
374−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
375−Why not<br/>
376−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
377−
378−</div>
379−
380−<div class="hint9 file3">
381−src/Language/PureScript/Declarations.hs:728:36: Warning: Redundant bracket<br/>
382−Found<br/>
383−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v2</span></pre>
384−Why not<br/>
385−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v2</span></pre>
386−
387−</div>
388−
389−<div class="hint9 file3">
390−src/Language/PureScript/Declarations.hs:729:32: Warning: Redundant bracket<br/>
391−Found<br/>
392−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
393−Why not<br/>
394−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
395−
396−</div>
397−
398−<div class="hint9 file3">
399−src/Language/PureScript/Declarations.hs:729:46: Warning: Redundant bracket<br/>
400−Found<br/>
401−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v2</span></pre>
402−Why not<br/>
403−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v2</span></pre>
404−
405−</div>
406−
407−<div class="hint9 file3">
408−src/Language/PureScript/Declarations.hs:729:60: Warning: Redundant bracket<br/>
409−Found<br/>
410−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v3</span></pre>
411−Why not<br/>
412−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v3</span></pre>
413−
414−</div>
415−
416−<div class="hint9 file3">
417−src/Language/PureScript/Declarations.hs:731:30: Warning: Redundant bracket<br/>
418−Found<br/>
419−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
420−Why not<br/>
421−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
422−
423−</div>
424−
425−<div class="hint9 file3">
426−src/Language/PureScript/Declarations.hs:732:22: Warning: Redundant bracket<br/>
427−Found<br/>
428−<pre><span class='hs-layout'>(</span><span class='hs-varid'>foldl</span> <span class='hs-layout'>(</span><span class='hs-varop'>&lt;&gt;</span><span class='hs-layout'>)</span> <span class='hs-varid'>r0</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>f''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>ds</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
429−Why not<br/>
430−<pre><span class='hs-definition'>foldl</span> <span class='hs-layout'>(</span><span class='hs-varop'>&lt;&gt;</span><span class='hs-layout'>)</span> <span class='hs-varid'>r0</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>f''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>ds</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
431−
432−</div>
433−
434−<div class="hint9 file3">
435−src/Language/PureScript/Declarations.hs:732:58: Warning: Redundant bracket<br/>
436−Found<br/>
437−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
438−Why not<br/>
439−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
440−
441−</div>
442−
443−<div class="hint9 file3">
444−src/Language/PureScript/Declarations.hs:734:33: Warning: Redundant bracket<br/>
445−Found<br/>
446−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v1</span></pre>
447−Why not<br/>
448−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v1</span></pre>
449−
450−</div>
451−
452−<div class="hint9 file3">
453−src/Language/PureScript/Declarations.hs:742:29: Warning: Redundant bracket<br/>
454−Found<br/>
455−<pre><span class='hs-layout'>(</span><span class='hs-varid'>h''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>b1</span></pre>
456−Why not<br/>
457−<pre><span class='hs-definition'>h''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>b1</span></pre>
458−
459−</div>
460−
461−<div class="hint9 file3">
462−src/Language/PureScript/Declarations.hs:742:43: Warning: Redundant bracket<br/>
463−Found<br/>
464−<pre><span class='hs-layout'>(</span><span class='hs-varid'>h''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>b2</span></pre>
465−Why not<br/>
466−<pre><span class='hs-definition'>h''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>b2</span></pre>
467−
468−</div>
469−
470−<div class="hint9 file3">
471−src/Language/PureScript/Declarations.hs:743:29: Warning: Redundant bracket<br/>
472−Found<br/>
473−<pre><span class='hs-layout'>(</span><span class='hs-varid'>h''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>b1</span></pre>
474−Why not<br/>
475−<pre><span class='hs-definition'>h''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>b1</span></pre>
476−
477−</div>
478−
479−<div class="hint9 file3">
480−src/Language/PureScript/Declarations.hs:744:34: Warning: Redundant bracket<br/>
481−Found<br/>
482−<pre><span class='hs-layout'>(</span><span class='hs-varid'>h''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>b1</span></pre>
483−Why not<br/>
484−<pre><span class='hs-definition'>h''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>b1</span></pre>
485−
486−</div>
487−
488−<div class="hint9 file3">
489−src/Language/PureScript/Declarations.hs:754:30: Warning: Redundant bracket<br/>
490−Found<br/>
491−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v</span></pre>
492−Why not<br/>
493−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v</span></pre>
494−
495−</div>
496−
497−<div class="hint9 file3">
498−src/Language/PureScript/Declarations.hs:755:32: Warning: Redundant bracket<br/>
499−Found<br/>
500−<pre><span class='hs-layout'>(</span><span class='hs-varid'>h''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>b</span></pre>
501−Why not<br/>
502−<pre><span class='hs-definition'>h''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>b</span></pre>
503−
504−</div>
505−
506−<div class="hint9 file3">
507−src/Language/PureScript/Declarations.hs:755:45: Warning: Redundant bracket<br/>
508−Found<br/>
509−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v</span></pre>
510−Why not<br/>
511−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v</span></pre>
512−
513−</div>
514−
515−<div class="hint9 file3">
516−src/Language/PureScript/Declarations.hs:757:45: Warning: Redundant bracket<br/>
517−Found<br/>
518−<pre><span class='hs-layout'>(</span><span class='hs-varid'>j''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>e1</span></pre>
519−Why not<br/>
520−<pre><span class='hs-definition'>j''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>e1</span></pre>
521−
522−</div>
523−
524−<div class="hint9 file3">
525−src/Language/PureScript/Declarations.hs:790:96: Warning: Redundant bracket<br/>
526−Found<br/>
527−<pre><span class='hs-layout'>(</span><span class='hs-varid'>g''</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-varid'>v</span></pre>
528−Why not<br/>
529−<pre><span class='hs-definition'>g''</span> <span class='hs-varid'>s</span> <span class='hs-varid'>v</span></pre>
530−
531−</div>
532−
533−<div class="hint3 file4">
534−src/Language/PureScript/Errors.hs:15:1: Error: Unused LANGUAGE pragma<br/>
535−Found<br/>
536−<pre><span class='hs-comment'>{-# LANGUAGE GeneralizedNewtypeDeriving, FlexibleContexts #-}</span></pre>
537−Why not<br/>
538−<pre><span class='hs-comment'>{-# LANGUAGE FlexibleContexts #-}</span></pre>
539−
540−</div>
541−
542−<div class="hint13 file11">
543−src/Language/PureScript/Renamer.hs:77:15: Warning: Use if<br/>
544−Found<br/>
545−<pre><span class='hs-keyword'>case</span> <span class='hs-varid'>name</span> <span class='hs-varop'>`</span><span class='hs-conid'>S</span><span class='hs-varop'>.</span><span class='hs-varid'>member</span><span class='hs-varop'>`</span> <span class='hs-varid'>rsUsedNames</span> <span class='hs-varid'>scope</span> <span class='hs-keyword'>of</span>
546− <span class='hs-conid'>True</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>let</span> <span class='hs-varid'>newNames</span>
547− <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Ident</span> <span class='hs-layout'>(</span><span class='hs-varid'>runIdent</span> <span class='hs-varid'>name</span> <span class='hs-varop'>++</span> <span class='hs-str'>"_"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>show</span> <span class='hs-layout'>(</span><span class='hs-varid'>i</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Int</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>i</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-keyglyph'>[</span><span class='hs-num'>1</span> <span class='hs-keyglyph'>..</span><span class='hs-keyglyph'>]</span><span class='hs-keyglyph'>]</span>
548− <span class='hs-conid'>Just</span> <span class='hs-varid'>newName</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>find</span> <span class='hs-layout'>(</span><span class='hs-varop'>`</span><span class='hs-conid'>S</span><span class='hs-varop'>.</span><span class='hs-varid'>notMember</span><span class='hs-varop'>`</span> <span class='hs-varid'>rsUsedNames</span> <span class='hs-varid'>scope</span><span class='hs-layout'>)</span> <span class='hs-varid'>newNames</span>
549− <span class='hs-keyword'>in</span> <span class='hs-varid'>newName</span>
550− <span class='hs-conid'>False</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>name</span></pre>
551−Why not<br/>
552−<pre><span class='hs-keyword'>if</span> <span class='hs-varid'>name</span> <span class='hs-varop'>`</span><span class='hs-conid'>S</span><span class='hs-varop'>.</span><span class='hs-varid'>member</span><span class='hs-varop'>`</span> <span class='hs-varid'>rsUsedNames</span> <span class='hs-varid'>scope</span> <span class='hs-keyword'>then</span>
553− <span class='hs-layout'>(</span><span class='hs-keyword'>let</span> <span class='hs-varid'>newNames</span>
554− <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Ident</span> <span class='hs-layout'>(</span><span class='hs-varid'>runIdent</span> <span class='hs-varid'>name</span> <span class='hs-varop'>++</span> <span class='hs-str'>"_"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>show</span> <span class='hs-layout'>(</span><span class='hs-varid'>i</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Int</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>i</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-keyglyph'>[</span><span class='hs-num'>1</span> <span class='hs-keyglyph'>..</span><span class='hs-keyglyph'>]</span><span class='hs-keyglyph'>]</span>
555− <span class='hs-conid'>Just</span> <span class='hs-varid'>newName</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>find</span> <span class='hs-layout'>(</span><span class='hs-varop'>`</span><span class='hs-conid'>S</span><span class='hs-varop'>.</span><span class='hs-varid'>notMember</span><span class='hs-varop'>`</span> <span class='hs-varid'>rsUsedNames</span> <span class='hs-varid'>scope</span><span class='hs-layout'>)</span> <span class='hs-varid'>newNames</span>
556− <span class='hs-keyword'>in</span> <span class='hs-varid'>newName</span><span class='hs-layout'>)</span>
557− <span class='hs-keyword'>else</span> <span class='hs-varid'>name</span></pre>
558−
559−</div>
560−
561−<div class="hint12 file18">
562−src/Language/PureScript/Types.hs:146:5: Warning: Use fromMaybe<br/>
563−Found<br/>
564−<pre><span class='hs-keyword'>case</span> <span class='hs-varid'>v</span> <span class='hs-varop'>`lookup`</span> <span class='hs-varid'>m</span> <span class='hs-keyword'>of</span>
565− <span class='hs-conid'>Just</span> <span class='hs-varid'>r</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>r</span>
566− <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TypeVar</span> <span class='hs-varid'>v</span></pre>
567−Why not<br/>
568−<pre><span class='hs-definition'>fromMaybe</span> <span class='hs-layout'>(</span><span class='hs-conid'>TypeVar</span> <span class='hs-varid'>v</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>v</span> <span class='hs-varop'>`lookup`</span> <span class='hs-varid'>m</span><span class='hs-layout'>)</span></pre>
569−
570−</div>
571−
572−<div class="hint1 file1">
573−src/Language/PureScript/CodeGen/Externs.hs:56:38: Error: Redundant do<br/>
574−Found<br/>
575−<pre><span class='hs-keyword'>do</span> <span class='hs-keyword'>case</span> <span class='hs-conid'>Qualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>moduleName</span><span class='hs-layout'>)</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>`</span><span class='hs-conid'>M</span><span class='hs-varop'>.</span><span class='hs-varid'>lookup</span><span class='hs-varop'>`</span> <span class='hs-varid'>types</span> <span class='hs-varid'>env</span> <span class='hs-keyword'>of</span>
576− <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>error</span> <span class='hs-varop'>$</span> <span class='hs-varid'>show</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>++</span> <span class='hs-str'>" has no kind in exportToPs"</span>
577− <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-varid'>kind</span><span class='hs-layout'>,</span> <span class='hs-conid'>ExternData</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>tell</span>
578− <span class='hs-keyglyph'>[</span><span class='hs-str'>"foreign import data "</span> <span class='hs-varop'>++</span>
579− <span class='hs-varid'>show</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>++</span> <span class='hs-str'>" :: "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>prettyPrintKind</span> <span class='hs-varid'>kind</span><span class='hs-keyglyph'>]</span>
580− <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-conid'>DataType</span> <span class='hs-varid'>args</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-keyword'>let</span> <span class='hs-varid'>dctors'</span>
581− <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fromMaybe</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>fst</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span> <span class='hs-varid'>dctors</span>
582− <span class='hs-varid'>printDctor</span> <span class='hs-varid'>dctor</span>
583− <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>dctor</span> <span class='hs-varop'>`lookup`</span> <span class='hs-varid'>tys</span> <span class='hs-keyword'>of</span>
584− <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Nothing</span>
585− <span class='hs-conid'>Just</span> <span class='hs-varid'>tyArgs</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Just</span> <span class='hs-varop'>$</span>
586− <span class='hs-varid'>show</span> <span class='hs-varid'>dctor</span> <span class='hs-varop'>++</span>
587− <span class='hs-str'>" "</span> <span class='hs-varop'>++</span>
588− <span class='hs-varid'>unwords</span>
589− <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>prettyPrintTypeAtom</span>
590− <span class='hs-varid'>tyArgs</span><span class='hs-layout'>)</span>
591− <span class='hs-keyword'>let</span> <span class='hs-varid'>dtype</span>
592− <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>if</span>
593− <span class='hs-varid'>length</span> <span class='hs-varid'>dctors'</span> <span class='hs-varop'>==</span> <span class='hs-num'>1</span> <span class='hs-varop'>&amp;&amp;</span>
594− <span class='hs-varid'>isNewtypeConstructor</span> <span class='hs-varid'>env</span>
595− <span class='hs-layout'>(</span><span class='hs-conid'>Qualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>moduleName</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>head</span> <span class='hs-varid'>dctors'</span><span class='hs-layout'>)</span>
596− <span class='hs-keyword'>then</span> <span class='hs-str'>"newtype"</span> <span class='hs-keyword'>else</span> <span class='hs-str'>"data"</span>
597− <span class='hs-varid'>typeName</span>
598− <span class='hs-keyglyph'>=</span> <span class='hs-varid'>prettyPrintType</span> <span class='hs-varop'>$</span>
599− <span class='hs-varid'>foldl</span> <span class='hs-conid'>TypeApp</span>
600− <span class='hs-layout'>(</span><span class='hs-conid'>TypeConstructor</span> <span class='hs-layout'>(</span><span class='hs-conid'>Qualified</span> <span class='hs-conid'>Nothing</span> <span class='hs-varid'>pn</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
601− <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>toTypeVar</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span>
602− <span class='hs-varid'>tell</span>
603− <span class='hs-keyglyph'>[</span><span class='hs-varid'>dtype</span> <span class='hs-varop'>++</span>
604− <span class='hs-str'>" "</span> <span class='hs-varop'>++</span>
605− <span class='hs-varid'>typeName</span> <span class='hs-varop'>++</span>
606− <span class='hs-layout'>(</span><span class='hs-keyword'>if</span> <span class='hs-varid'>null</span> <span class='hs-varid'>dctors'</span> <span class='hs-keyword'>then</span> <span class='hs-str'>""</span> <span class='hs-keyword'>else</span>
607− <span class='hs-str'>" = "</span> <span class='hs-varop'>++</span>
608− <span class='hs-varid'>intercalate</span> <span class='hs-str'>" | "</span>
609− <span class='hs-layout'>(</span><span class='hs-varid'>mapMaybe</span> <span class='hs-varid'>printDctor</span> <span class='hs-varid'>dctors'</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span>
610− <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-conid'>TypeSynonym</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>case</span>
611− <span class='hs-conid'>Qualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>moduleName</span><span class='hs-layout'>)</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>`</span><span class='hs-conid'>M</span><span class='hs-varop'>.</span><span class='hs-varid'>lookup</span><span class='hs-varop'>`</span> <span class='hs-varid'>typeSynonyms</span> <span class='hs-varid'>env</span> <span class='hs-keyword'>of</span>
612− <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>error</span> <span class='hs-varop'>$</span>
613− <span class='hs-varid'>show</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>++</span>
614− <span class='hs-str'>" has no type synonym info in exportToPs"</span>
615− <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-varid'>args</span><span class='hs-layout'>,</span> <span class='hs-varid'>synTy</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>let</span> <span class='hs-varid'>typeName</span>
616− <span class='hs-keyglyph'>=</span> <span class='hs-varid'>prettyPrintType</span> <span class='hs-varop'>$</span>
617− <span class='hs-varid'>foldl</span> <span class='hs-conid'>TypeApp</span>
618− <span class='hs-layout'>(</span><span class='hs-conid'>TypeConstructor</span>
619− <span class='hs-layout'>(</span><span class='hs-conid'>Qualified</span> <span class='hs-conid'>Nothing</span> <span class='hs-varid'>pn</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
620− <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>toTypeVar</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span>
621− <span class='hs-keyword'>in</span>
622− <span class='hs-varid'>tell</span>
623− <span class='hs-keyglyph'>[</span><span class='hs-str'>"type "</span> <span class='hs-varop'>++</span>
624− <span class='hs-varid'>typeName</span> <span class='hs-varop'>++</span>
625− <span class='hs-str'>" = "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>prettyPrintType</span> <span class='hs-varid'>synTy</span><span class='hs-keyglyph'>]</span>
626− <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>error</span> <span class='hs-str'>"Invalid input in exportToPs"</span></pre>
627−Why not<br/>
628−<pre><span class='hs-keyword'>case</span> <span class='hs-conid'>Qualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>moduleName</span><span class='hs-layout'>)</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>`</span><span class='hs-conid'>M</span><span class='hs-varop'>.</span><span class='hs-varid'>lookup</span><span class='hs-varop'>`</span> <span class='hs-varid'>types</span> <span class='hs-varid'>env</span> <span class='hs-keyword'>of</span>
629− <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>error</span> <span class='hs-varop'>$</span> <span class='hs-varid'>show</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>++</span> <span class='hs-str'>" has no kind in exportToPs"</span>
630− <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-varid'>kind</span><span class='hs-layout'>,</span> <span class='hs-conid'>ExternData</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>tell</span>
631− <span class='hs-keyglyph'>[</span><span class='hs-str'>"foreign import data "</span> <span class='hs-varop'>++</span>
632− <span class='hs-varid'>show</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>++</span> <span class='hs-str'>" :: "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>prettyPrintKind</span> <span class='hs-varid'>kind</span><span class='hs-keyglyph'>]</span>
633− <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-conid'>DataType</span> <span class='hs-varid'>args</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-keyword'>let</span> <span class='hs-varid'>dctors'</span>
634− <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fromMaybe</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>fst</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span> <span class='hs-varid'>dctors</span>
635− <span class='hs-varid'>printDctor</span> <span class='hs-varid'>dctor</span>
636− <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>dctor</span> <span class='hs-varop'>`lookup`</span> <span class='hs-varid'>tys</span> <span class='hs-keyword'>of</span>
637− <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Nothing</span>
638− <span class='hs-conid'>Just</span> <span class='hs-varid'>tyArgs</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Just</span> <span class='hs-varop'>$</span>
639− <span class='hs-varid'>show</span> <span class='hs-varid'>dctor</span> <span class='hs-varop'>++</span>
640− <span class='hs-str'>" "</span> <span class='hs-varop'>++</span>
641− <span class='hs-varid'>unwords</span>
642− <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>prettyPrintTypeAtom</span>
643− <span class='hs-varid'>tyArgs</span><span class='hs-layout'>)</span>
644− <span class='hs-keyword'>let</span> <span class='hs-varid'>dtype</span>
645− <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>if</span>
646− <span class='hs-varid'>length</span> <span class='hs-varid'>dctors'</span> <span class='hs-varop'>==</span> <span class='hs-num'>1</span> <span class='hs-varop'>&amp;&amp;</span>
647− <span class='hs-varid'>isNewtypeConstructor</span> <span class='hs-varid'>env</span>
648− <span class='hs-layout'>(</span><span class='hs-conid'>Qualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>moduleName</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>head</span> <span class='hs-varid'>dctors'</span><span class='hs-layout'>)</span>
649− <span class='hs-keyword'>then</span> <span class='hs-str'>"newtype"</span> <span class='hs-keyword'>else</span> <span class='hs-str'>"data"</span>
650− <span class='hs-varid'>typeName</span>
651− <span class='hs-keyglyph'>=</span> <span class='hs-varid'>prettyPrintType</span> <span class='hs-varop'>$</span>
652− <span class='hs-varid'>foldl</span> <span class='hs-conid'>TypeApp</span>
653− <span class='hs-layout'>(</span><span class='hs-conid'>TypeConstructor</span> <span class='hs-layout'>(</span><span class='hs-conid'>Qualified</span> <span class='hs-conid'>Nothing</span> <span class='hs-varid'>pn</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
654− <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>toTypeVar</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span>
655− <span class='hs-varid'>tell</span>
656− <span class='hs-keyglyph'>[</span><span class='hs-varid'>dtype</span> <span class='hs-varop'>++</span>
657− <span class='hs-str'>" "</span> <span class='hs-varop'>++</span>
658− <span class='hs-varid'>typeName</span> <span class='hs-varop'>++</span>
659− <span class='hs-layout'>(</span><span class='hs-keyword'>if</span> <span class='hs-varid'>null</span> <span class='hs-varid'>dctors'</span> <span class='hs-keyword'>then</span> <span class='hs-str'>""</span> <span class='hs-keyword'>else</span>
660− <span class='hs-str'>" = "</span> <span class='hs-varop'>++</span>
661− <span class='hs-varid'>intercalate</span> <span class='hs-str'>" | "</span>
662− <span class='hs-layout'>(</span><span class='hs-varid'>mapMaybe</span> <span class='hs-varid'>printDctor</span> <span class='hs-varid'>dctors'</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span>
663− <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-conid'>TypeSynonym</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>case</span>
664− <span class='hs-conid'>Qualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>moduleName</span><span class='hs-layout'>)</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>`</span><span class='hs-conid'>M</span><span class='hs-varop'>.</span><span class='hs-varid'>lookup</span><span class='hs-varop'>`</span> <span class='hs-varid'>typeSynonyms</span> <span class='hs-varid'>env</span> <span class='hs-keyword'>of</span>
665− <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>error</span> <span class='hs-varop'>$</span>
666− <span class='hs-varid'>show</span> <span class='hs-varid'>pn</span> <span class='hs-varop'>++</span> <span class='hs-str'>" has no type synonym info in exportToPs"</span>
667− <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-varid'>args</span><span class='hs-layout'>,</span> <span class='hs-varid'>synTy</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>let</span> <span class='hs-varid'>typeName</span>
668− <span class='hs-keyglyph'>=</span> <span class='hs-varid'>prettyPrintType</span> <span class='hs-varop'>$</span>
669− <span class='hs-varid'>foldl</span> <span class='hs-conid'>TypeApp</span>
670− <span class='hs-layout'>(</span><span class='hs-conid'>TypeConstructor</span>
671− <span class='hs-layout'>(</span><span class='hs-conid'>Qualified</span> <span class='hs-conid'>Nothing</span> <span class='hs-varid'>pn</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
672− <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varid'>toTypeVar</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span>
673− <span class='hs-keyword'>in</span>
674− <span class='hs-varid'>tell</span>
675− <span class='hs-keyglyph'>[</span><span class='hs-str'>"type "</span> <span class='hs-varop'>++</span>
676− <span class='hs-varid'>typeName</span> <span class='hs-varop'>++</span>
677− <span class='hs-str'>" = "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>prettyPrintType</span> <span class='hs-varid'>synTy</span><span class='hs-keyglyph'>]</span>
678− <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>error</span> <span class='hs-str'>"Invalid input in exportToPs"</span></pre>
679−
680−</div>
681−
682−<div class="hint8 file1">
683−src/Language/PureScript/CodeGen/Externs.hs:100:24: Warning: Redundant $<br/>
684−Found<br/>
685−<pre><span class='hs-definition'>error</span> <span class='hs-varop'>$</span> <span class='hs-str'>"Type class instance has no dictionary in exportToPs"</span></pre>
686−Why not<br/>
687−<pre><span class='hs-definition'>error</span> <span class='hs-str'>"Type class instance has no dictionary in exportToPs"</span></pre>
688−
689−</div>
690−
691−<div class="hint5 file2">
692−src/Language/PureScript/CodeGen/JS.hs:54:19: Error: Use concatMap<br/>
693−Found<br/>
694−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>$</span> <span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varop'>$</span> <span class='hs-varid'>optimize</span> <span class='hs-varid'>opts</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>catMaybes</span> <span class='hs-varid'>jsDecls</span></pre>
695−Why not<br/>
696−<pre><span class='hs-definition'>concatMap</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-varop'>$</span> <span class='hs-varid'>optimize</span> <span class='hs-varid'>opts</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>catMaybes</span> <span class='hs-varid'>jsDecls</span><span class='hs-layout'>)</span></pre>
697−
698−</div>
699−
700−<div class="hint9 file2">
701−src/Language/PureScript/CodeGen/JS.hs:104:44: Warning: Redundant bracket<br/>
702−Found<br/>
703−<pre><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>ProperName</span> <span class='hs-varid'>ctor</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span></pre>
704−Why not<br/>
705−<pre><span class='hs-layout'>(</span><span class='hs-conid'>ProperName</span> <span class='hs-varid'>ctor</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span></pre>
706−
707−</div>
708−
709−<div class="hint8 file2">
710−src/Language/PureScript/CodeGen/JS.hs:105:12: Warning: Redundant $<br/>
711−Found<br/>
712−<pre><span class='hs-conid'>Just</span> <span class='hs-varop'>$</span>
713− <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSVariableIntroduction</span> <span class='hs-varid'>ctor</span>
714− <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varop'>$</span>
715− <span class='hs-conid'>JSObjectLiteral</span>
716− <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-str'>"create"</span><span class='hs-layout'>,</span>
717− <span class='hs-conid'>JSFunction</span> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>[</span><span class='hs-str'>"value"</span><span class='hs-keyglyph'>]</span>
718− <span class='hs-layout'>(</span><span class='hs-conid'>JSBlock</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSReturn</span> <span class='hs-varop'>$</span> <span class='hs-conid'>JSVar</span> <span class='hs-str'>"value"</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span></pre>
719−Why not<br/>
720−<pre><span class='hs-conid'>Just</span>
721− <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSVariableIntroduction</span> <span class='hs-varid'>ctor</span>
722− <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varop'>$</span>
723− <span class='hs-conid'>JSObjectLiteral</span>
724− <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-str'>"create"</span><span class='hs-layout'>,</span>
725− <span class='hs-conid'>JSFunction</span> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>[</span><span class='hs-str'>"value"</span><span class='hs-keyglyph'>]</span>
726− <span class='hs-layout'>(</span><span class='hs-conid'>JSBlock</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSReturn</span> <span class='hs-varop'>$</span> <span class='hs-conid'>JSVar</span> <span class='hs-str'>"value"</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span></pre>
727−
728−</div>
729−
730−<div class="hint1 file2">
731−src/Language/PureScript/CodeGen/JS.hs:111:52: Error: Redundant do<br/>
732−Found<br/>
733−<pre><span class='hs-keyword'>do</span> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span>
734− <span class='hs-conid'>Just</span> <span class='hs-varop'>$</span>
735− <span class='hs-varid'>flip</span> <span class='hs-varid'>concatMap</span> <span class='hs-varid'>ctors</span> <span class='hs-varop'>$</span>
736− <span class='hs-keyglyph'>\</span> <span class='hs-layout'>(</span><span class='hs-varid'>pn</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-conid'>ProperName</span> <span class='hs-varid'>ctor</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
737− <span class='hs-keyword'>let</span> <span class='hs-varid'>propName</span>
738− <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>if</span> <span class='hs-varid'>isNullaryConstructor</span> <span class='hs-varid'>e</span> <span class='hs-layout'>(</span><span class='hs-conid'>Qualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>mp</span><span class='hs-layout'>)</span> <span class='hs-varid'>pn</span><span class='hs-layout'>)</span> <span class='hs-keyword'>then</span> <span class='hs-str'>"value"</span>
739− <span class='hs-keyword'>else</span> <span class='hs-str'>"create"</span>
740− <span class='hs-keyword'>in</span>
741− <span class='hs-keyglyph'>[</span><span class='hs-varid'>makeConstructor</span> <span class='hs-varid'>ctor</span> <span class='hs-layout'>(</span><span class='hs-varid'>length</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
742− <span class='hs-conid'>JSAssignment</span> <span class='hs-layout'>(</span><span class='hs-conid'>JSAccessor</span> <span class='hs-varid'>propName</span> <span class='hs-layout'>(</span><span class='hs-conid'>JSVar</span> <span class='hs-varid'>ctor</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
743− <span class='hs-layout'>(</span><span class='hs-varid'>go</span> <span class='hs-varid'>pn</span> <span class='hs-num'>0</span> <span class='hs-layout'>(</span><span class='hs-varid'>length</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span> <span class='hs-conid'>[]</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span></pre>
744−Why not<br/>
745−<pre><span class='hs-definition'>return</span> <span class='hs-varop'>$</span>
746− <span class='hs-conid'>Just</span> <span class='hs-varop'>$</span>
747− <span class='hs-varid'>flip</span> <span class='hs-varid'>concatMap</span> <span class='hs-varid'>ctors</span> <span class='hs-varop'>$</span>
748− <span class='hs-keyglyph'>\</span> <span class='hs-layout'>(</span><span class='hs-varid'>pn</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-conid'>ProperName</span> <span class='hs-varid'>ctor</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
749− <span class='hs-keyword'>let</span> <span class='hs-varid'>propName</span>
750− <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>if</span> <span class='hs-varid'>isNullaryConstructor</span> <span class='hs-varid'>e</span> <span class='hs-layout'>(</span><span class='hs-conid'>Qualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>mp</span><span class='hs-layout'>)</span> <span class='hs-varid'>pn</span><span class='hs-layout'>)</span> <span class='hs-keyword'>then</span> <span class='hs-str'>"value"</span>
751− <span class='hs-keyword'>else</span> <span class='hs-str'>"create"</span>
752− <span class='hs-keyword'>in</span>
753− <span class='hs-keyglyph'>[</span><span class='hs-varid'>makeConstructor</span> <span class='hs-varid'>ctor</span> <span class='hs-layout'>(</span><span class='hs-varid'>length</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
754− <span class='hs-conid'>JSAssignment</span> <span class='hs-layout'>(</span><span class='hs-conid'>JSAccessor</span> <span class='hs-varid'>propName</span> <span class='hs-layout'>(</span><span class='hs-conid'>JSVar</span> <span class='hs-varid'>ctor</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
755− <span class='hs-layout'>(</span><span class='hs-varid'>go</span> <span class='hs-varid'>pn</span> <span class='hs-num'>0</span> <span class='hs-layout'>(</span><span class='hs-varid'>length</span> <span class='hs-varid'>tys</span><span class='hs-layout'>)</span> <span class='hs-conid'>[]</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span></pre>
756−
757−</div>
758−
759−<div class="hint8 file2">
760−src/Language/PureScript/CodeGen/JS.hs:133:12: Warning: Redundant $<br/>
761−Found<br/>
762−<pre><span class='hs-conid'>Just</span> <span class='hs-varop'>$</span>
763− <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSFunction</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varop'>$</span> <span class='hs-varid'>runProperName</span> <span class='hs-varid'>name</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>identToJs</span> <span class='hs-varop'>`map`</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span>
764− <span class='hs-layout'>(</span><span class='hs-conid'>JSBlock</span> <span class='hs-varop'>$</span> <span class='hs-varid'>assn</span> <span class='hs-varop'>`map`</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span></pre>
765−Why not<br/>
766−<pre><span class='hs-conid'>Just</span>
767− <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSFunction</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varop'>$</span> <span class='hs-varid'>runProperName</span> <span class='hs-varid'>name</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>identToJs</span> <span class='hs-varop'>`map`</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span>
768− <span class='hs-layout'>(</span><span class='hs-conid'>JSBlock</span> <span class='hs-varop'>$</span> <span class='hs-varid'>assn</span> <span class='hs-varop'>`map`</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span></pre>
769−
770−</div>
771−
772−<div class="hint15 file2">
773−src/Language/PureScript/CodeGen/JS.hs:236:18: Warning: Use record patterns<br/>
774−Found<br/>
775−<pre><span class='hs-conid'>TypeClassDictionary</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span></pre>
776−Why not<br/>
777−<pre><span class='hs-conid'>TypeClassDictionary</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span></pre>
778−
779−</div>
780−
781−<div class="hint8 file2">
782−src/Language/PureScript/CodeGen/JS.hs:286:107: Warning: Redundant $<br/>
783−Found<br/>
784−<pre><span class='hs-conid'>JSApp</span> <span class='hs-layout'>(</span><span class='hs-conid'>JSVar</span> <span class='hs-str'>"Error"</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSStringLiteral</span> <span class='hs-str'>"Failed pattern match"</span><span class='hs-keyglyph'>]</span></pre>
785−Why not<br/>
786−<pre><span class='hs-conid'>JSApp</span> <span class='hs-layout'>(</span><span class='hs-conid'>JSVar</span> <span class='hs-str'>"Error"</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSStringLiteral</span> <span class='hs-str'>"Failed pattern match"</span><span class='hs-keyglyph'>]</span></pre>
787−
788−</div>
789−
790−<div class="hint2 file2">
791−src/Language/PureScript/CodeGen/JS.hs:325:3: Error: Too strict if<br/>
792−Found<br/>
793−<pre><span class='hs-keyword'>if</span> <span class='hs-varid'>isOnlyConstructor</span> <span class='hs-varid'>e</span> <span class='hs-varid'>ctor</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-varid'>js</span> <span class='hs-keyword'>else</span>
794− <span class='hs-varid'>return</span>
795− <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSIfElse</span>
796− <span class='hs-layout'>(</span><span class='hs-conid'>JSInstanceOf</span> <span class='hs-layout'>(</span><span class='hs-conid'>JSVar</span> <span class='hs-varid'>varName</span><span class='hs-layout'>)</span>
797− <span class='hs-layout'>(</span><span class='hs-varid'>qualifiedToJS</span> <span class='hs-varid'>m</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ident</span> <span class='hs-varop'>.</span> <span class='hs-varid'>runProperName</span><span class='hs-layout'>)</span> <span class='hs-varid'>ctor</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
798− <span class='hs-layout'>(</span><span class='hs-conid'>JSBlock</span> <span class='hs-varid'>js</span><span class='hs-layout'>)</span>
799− <span class='hs-conid'>Nothing</span><span class='hs-keyglyph'>]</span></pre>
800−Why not<br/>
801−<pre><span class='hs-definition'>return</span>
802− <span class='hs-layout'>(</span><span class='hs-keyword'>if</span> <span class='hs-varid'>isOnlyConstructor</span> <span class='hs-varid'>e</span> <span class='hs-varid'>ctor</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>js</span> <span class='hs-keyword'>else</span>
803− <span class='hs-keyglyph'>[</span><span class='hs-conid'>JSIfElse</span>
804− <span class='hs-layout'>(</span><span class='hs-conid'>JSInstanceOf</span> <span class='hs-layout'>(</span><span class='hs-conid'>JSVar</span> <span class='hs-varid'>varName</span><span class='hs-layout'>)</span>
805− <span class='hs-layout'>(</span><span class='hs-varid'>qualifiedToJS</span> <span class='hs-varid'>m</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ident</span> <span class='hs-varop'>.</span> <span class='hs-varid'>runProperName</span><span class='hs-layout'>)</span> <span class='hs-varid'>ctor</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
806− <span class='hs-layout'>(</span><span class='hs-conid'>JSBlock</span> <span class='hs-varid'>js</span><span class='hs-layout'>)</span>
807− <span class='hs-conid'>Nothing</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span></pre>
808−<span class='note'>Note: increases laziness</span>
809−</div>
810−
811−<div class="hint15 file5">
812−src/Language/PureScript/Optimizer/TCO.hs:102:15: Warning: Use record patterns<br/>
813−Found<br/>
814−<pre><span class='hs-conid'>JSFunction</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span></pre>
815−Why not<br/>
816−<pre><span class='hs-conid'>JSFunction</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span></pre>
817−
818−</div>
819−
820−<div class="hint4 file6">
821−src/Language/PureScript/Optimizer/Unused.hs:32:46: Error: Use break<br/>
822−Found<br/>
823−<pre><span class='hs-definition'>span</span> <span class='hs-layout'>(</span><span class='hs-varid'>not</span> <span class='hs-varop'>.</span> <span class='hs-varid'>isJSReturn</span><span class='hs-layout'>)</span></pre>
824−Why not<br/>
825−<pre><span class='hs-definition'>break</span> <span class='hs-varid'>isJSReturn</span></pre>
826−
827−</div>
828−
829−<div class="hint11 file7">
830−src/Language/PureScript/Parser/Common.hs:60:12: Warning: Use String<br/>
831−Found<br/>
832−<pre><span class='hs-keyglyph'>[</span><span class='hs-conid'>Char</span><span class='hs-keyglyph'>]</span></pre>
833−Why not<br/>
834−<pre><span class='hs-conid'>String</span></pre>
835−
836−</div>
837−
838−<div class="hint9 file7">
839−src/Language/PureScript/Parser/Common.hs:347:19: Warning: Redundant bracket<br/>
840−Found<br/>
841−<pre><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>between</span> <span class='hs-varid'>tick</span> <span class='hs-varid'>tick</span> <span class='hs-layout'>(</span><span class='hs-varid'>parseQualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ident</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>identifier</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;|&gt;</span>
842− <span class='hs-layout'>(</span><span class='hs-varid'>parseQualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Op</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>operator</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span></pre>
843−Why not<br/>
844−<pre><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>between</span> <span class='hs-varid'>tick</span> <span class='hs-varid'>tick</span> <span class='hs-layout'>(</span><span class='hs-varid'>parseQualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ident</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>identifier</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;|&gt;</span>
845− <span class='hs-varid'>parseQualified</span> <span class='hs-layout'>(</span><span class='hs-conid'>Op</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>operator</span><span class='hs-layout'>)</span></pre>
846−
847−</div>
848−
849−<div class="hint7 file8">
850−src/Language/PureScript/Parser/Declarations.hs:109:14: Warning: Reduce duplication<br/>
851−Found<br/>
852−<pre><span class='hs-definition'>deps</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>parens</span>
853− <span class='hs-layout'>(</span><span class='hs-varid'>commaSep1</span>
854− <span class='hs-layout'>(</span><span class='hs-conid'>(,)</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>parseQualified</span> <span class='hs-varid'>properName</span> <span class='hs-varop'>&lt;*&gt;</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>many</span> <span class='hs-varid'>parseTypeAtom</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
855−<span class='hs-definition'>indented</span>
856−<span class='hs-definition'>reservedOp</span> <span class='hs-str'>"=&gt;"</span>
857−<span class='hs-definition'>return</span> <span class='hs-varid'>deps</span>
858−</pre>
859−Why not<br/>
860−<pre><span class='hs-conid'>Combine</span> <span class='hs-varid'>with</span> <span class='hs-varid'>src</span><span class='hs-varop'>/</span><span class='hs-conid'>Language</span><span class='hs-varop'>/</span><span class='hs-conid'>PureScript</span><span class='hs-varop'>/</span><span class='hs-conid'>Parser</span><span class='hs-varop'>/</span><span class='hs-conid'>Declarations</span><span class='hs-varop'>.</span><span class='hs-varid'>hs</span><span class='hs-conop'>:</span><span class='hs-num'>194</span><span class='hs-conop'>:</span><span class='hs-num'>5</span></pre>
861−
862−</div>
863−
864−<div class="hint8 file8">
865−src/Language/PureScript/Parser/Declarations.hs:163:31: Warning: Redundant $<br/>
866−Found<br/>
867−<pre><span class='hs-definition'>indented</span> <span class='hs-varop'>*&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>parens</span> <span class='hs-varop'>$</span> <span class='hs-varid'>commaSep</span> <span class='hs-varid'>parseDeclarationRef</span><span class='hs-layout'>)</span></pre>
868−Why not<br/>
869−<pre><span class='hs-definition'>indented</span> <span class='hs-varop'>*&gt;</span> <span class='hs-varid'>parens</span> <span class='hs-layout'>(</span><span class='hs-varid'>commaSep</span> <span class='hs-varid'>parseDeclarationRef</span><span class='hs-layout'>)</span></pre>
870−
871−</div>
872−
873−<div class="hint10 file9">
874−src/Language/PureScript/Pretty/JS.hs:41:31: Warning: Use &lt;$&gt;<br/>
875−Found<br/>
876−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
877− <span class='hs-varid'>sequence</span>
878− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"[ "</span><span class='hs-layout'>,</span> <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-varid'>intercalate</span> <span class='hs-str'>", "</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>xs</span> <span class='hs-varid'>prettyPrintJS'</span><span class='hs-layout'>,</span>
879− <span class='hs-varid'>return</span> <span class='hs-str'>" ]"</span><span class='hs-keyglyph'>]</span></pre>
880−Why not<br/>
881−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
882− <span class='hs-varid'>sequence</span>
883− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"[ "</span><span class='hs-layout'>,</span> <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-varid'>intercalate</span> <span class='hs-str'>", "</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>xs</span> <span class='hs-varid'>prettyPrintJS'</span><span class='hs-layout'>,</span>
884− <span class='hs-varid'>return</span> <span class='hs-str'>" ]"</span><span class='hs-keyglyph'>]</span></pre>
885−
886−</div>
887−
888−<div class="hint10 file9">
889−src/Language/PureScript/Pretty/JS.hs:43:7: Warning: Use &lt;$&gt;<br/>
890−Found<br/>
891−<pre><span class='hs-definition'>fmap</span> <span class='hs-layout'>(</span><span class='hs-varid'>intercalate</span> <span class='hs-str'>", "</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>xs</span> <span class='hs-varid'>prettyPrintJS'</span></pre>
892−Why not<br/>
893−<pre><span class='hs-definition'>intercalate</span> <span class='hs-str'>", "</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>xs</span> <span class='hs-varid'>prettyPrintJS'</span></pre>
894−
895−</div>
896−
897−<div class="hint10 file9">
898−src/Language/PureScript/Pretty/JS.hs:47:32: Warning: Use &lt;$&gt;<br/>
899−Found<br/>
900−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
901− <span class='hs-varid'>sequence</span>
902− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"{\n"</span><span class='hs-layout'>,</span>
903− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span>
904− <span class='hs-keyword'>do</span> <span class='hs-varid'>jss</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>ps</span> <span class='hs-varop'>$</span>
905− <span class='hs-keyglyph'>\</span> <span class='hs-layout'>(</span><span class='hs-varid'>key</span><span class='hs-layout'>,</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
906− <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>objectPropertyToString</span> <span class='hs-varid'>key</span> <span class='hs-varop'>++</span> <span class='hs-str'>": "</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varop'>$</span>
907− <span class='hs-varid'>value</span>
908− <span class='hs-varid'>indentString</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>currentIndent</span>
909− <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>intercalate</span> <span class='hs-str'>", \n"</span> <span class='hs-varop'>$</span> <span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>indentString</span> <span class='hs-varop'>++</span><span class='hs-layout'>)</span> <span class='hs-varid'>jss</span><span class='hs-layout'>,</span>
910− <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-layout'>,</span> <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"}"</span><span class='hs-keyglyph'>]</span></pre>
911−Why not<br/>
912−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
913− <span class='hs-varid'>sequence</span>
914− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"{\n"</span><span class='hs-layout'>,</span>
915− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span>
916− <span class='hs-keyword'>do</span> <span class='hs-varid'>jss</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>ps</span> <span class='hs-varop'>$</span>
917− <span class='hs-keyglyph'>\</span> <span class='hs-layout'>(</span><span class='hs-varid'>key</span><span class='hs-layout'>,</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
918− <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>objectPropertyToString</span> <span class='hs-varid'>key</span> <span class='hs-varop'>++</span> <span class='hs-str'>": "</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varop'>$</span>
919− <span class='hs-varid'>value</span>
920− <span class='hs-varid'>indentString</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>currentIndent</span>
921− <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>intercalate</span> <span class='hs-str'>", \n"</span> <span class='hs-varop'>$</span> <span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>indentString</span> <span class='hs-varop'>++</span><span class='hs-layout'>)</span> <span class='hs-varid'>jss</span><span class='hs-layout'>,</span>
922− <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-layout'>,</span> <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"}"</span><span class='hs-keyglyph'>]</span></pre>
923−
924−</div>
925−
926−<div class="hint10 file9">
927−src/Language/PureScript/Pretty/JS.hs:61:25: Warning: Use &lt;$&gt;<br/>
928−Found<br/>
929−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
930− <span class='hs-varid'>sequence</span>
931− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"{\n"</span><span class='hs-layout'>,</span> <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyStatements</span> <span class='hs-varid'>sts</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-layout'>,</span>
932− <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"}"</span><span class='hs-keyglyph'>]</span></pre>
933−Why not<br/>
934−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
935− <span class='hs-varid'>sequence</span>
936− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"{\n"</span><span class='hs-layout'>,</span> <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyStatements</span> <span class='hs-varid'>sts</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-layout'>,</span>
937− <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"}"</span><span class='hs-keyglyph'>]</span></pre>
938−
939−</div>
940−
941−<div class="hint10 file9">
942−src/Language/PureScript/Pretty/JS.hs:69:48: Warning: Use &lt;$&gt;<br/>
943−Found<br/>
944−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
945− <span class='hs-varid'>sequence</span>
946− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"var "</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-varid'>ident</span><span class='hs-layout'>,</span>
947− <span class='hs-varid'>maybe</span> <span class='hs-layout'>(</span><span class='hs-varid'>return</span> <span class='hs-str'>""</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-str'>" = "</span> <span class='hs-varop'>++</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>prettyPrintJS'</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
948−Why not<br/>
949−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
950− <span class='hs-varid'>sequence</span>
951− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"var "</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-varid'>ident</span><span class='hs-layout'>,</span>
952− <span class='hs-varid'>maybe</span> <span class='hs-layout'>(</span><span class='hs-varid'>return</span> <span class='hs-str'>""</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-str'>" = "</span> <span class='hs-varop'>++</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>prettyPrintJS'</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
953−
954−</div>
955−
956−<div class="hint10 file9">
957−src/Language/PureScript/Pretty/JS.hs:74:39: Warning: Use &lt;$&gt;<br/>
958−Found<br/>
959−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
960− <span class='hs-varid'>sequence</span>
961− <span class='hs-keyglyph'>[</span><span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>target</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>" = "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
962−Why not<br/>
963−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
964− <span class='hs-varid'>sequence</span>
965− <span class='hs-keyglyph'>[</span><span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>target</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>" = "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
966−
967−</div>
968−
969−<div class="hint10 file9">
970−src/Language/PureScript/Pretty/JS.hs:79:30: Warning: Use &lt;$&gt;<br/>
971−Found<br/>
972−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
973− <span class='hs-varid'>sequence</span>
974− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"while ("</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>cond</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>") "</span><span class='hs-layout'>,</span>
975− <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>sts</span><span class='hs-keyglyph'>]</span></pre>
976−Why not<br/>
977−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
978− <span class='hs-varid'>sequence</span>
979− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"while ("</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>cond</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>") "</span><span class='hs-layout'>,</span>
980− <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>sts</span><span class='hs-keyglyph'>]</span></pre>
981−
982−</div>
983−
984−<div class="hint10 file9">
985−src/Language/PureScript/Pretty/JS.hs:85:39: Warning: Use &lt;$&gt;<br/>
986−Found<br/>
987−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
988− <span class='hs-varid'>sequence</span>
989− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-str'>"for (var "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>" = "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>start</span><span class='hs-layout'>,</span>
990− <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-str'>"; "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>" &lt; "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>end</span><span class='hs-layout'>,</span>
991− <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-str'>"; "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>"++) "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>sts</span><span class='hs-keyglyph'>]</span></pre>
992−Why not<br/>
993−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
994− <span class='hs-varid'>sequence</span>
995− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-str'>"for (var "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>" = "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>start</span><span class='hs-layout'>,</span>
996− <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-str'>"; "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>" &lt; "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>end</span><span class='hs-layout'>,</span>
997− <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-str'>"; "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>"++) "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>sts</span><span class='hs-keyglyph'>]</span></pre>
998−
999−</div>
1000−
1001−<div class="hint10 file9">
1002−src/Language/PureScript/Pretty/JS.hs:93:35: Warning: Use &lt;$&gt;<br/>
1003−Found<br/>
1004−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1005− <span class='hs-varid'>sequence</span>
1006− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-str'>"for (var "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>" in "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>obj</span><span class='hs-layout'>,</span>
1007− <span class='hs-varid'>return</span> <span class='hs-str'>") "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>sts</span><span class='hs-keyglyph'>]</span></pre>
1008−Why not<br/>
1009−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1010− <span class='hs-varid'>sequence</span>
1011− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-str'>"for (var "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>" in "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>obj</span><span class='hs-layout'>,</span>
1012− <span class='hs-varid'>return</span> <span class='hs-str'>") "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>sts</span><span class='hs-keyglyph'>]</span></pre>
1013−
1014−</div>
1015−
1016−<div class="hint10 file9">
1017−src/Language/PureScript/Pretty/JS.hs:99:39: Warning: Use &lt;$&gt;<br/>
1018−Found<br/>
1019−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1020− <span class='hs-varid'>sequence</span>
1021− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"if ("</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>cond</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>") "</span><span class='hs-layout'>,</span>
1022− <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>thens</span><span class='hs-layout'>,</span>
1023− <span class='hs-varid'>maybe</span> <span class='hs-layout'>(</span><span class='hs-varid'>return</span> <span class='hs-str'>""</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-str'>" else "</span> <span class='hs-varop'>++</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>prettyPrintJS'</span><span class='hs-layout'>)</span> <span class='hs-varid'>elses</span><span class='hs-keyglyph'>]</span></pre>
1024−Why not<br/>
1025−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1026− <span class='hs-varid'>sequence</span>
1027− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"if ("</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>cond</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>") "</span><span class='hs-layout'>,</span>
1028− <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>thens</span><span class='hs-layout'>,</span>
1029− <span class='hs-varid'>maybe</span> <span class='hs-layout'>(</span><span class='hs-varid'>return</span> <span class='hs-str'>""</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-str'>" else "</span> <span class='hs-varop'>++</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>prettyPrintJS'</span><span class='hs-layout'>)</span> <span class='hs-varid'>elses</span><span class='hs-keyglyph'>]</span></pre>
1030−
1031−</div>
1032−
1033−<div class="hint10 file9">
1034−src/Language/PureScript/Pretty/JS.hs:106:28: Warning: Use &lt;$&gt;<br/>
1035−Found<br/>
1036−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span> <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"return "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
1037−Why not<br/>
1038−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"return "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
1039−
1040−</div>
1041−
1042−<div class="hint10 file9">
1043−src/Language/PureScript/Pretty/JS.hs:110:27: Warning: Use &lt;$&gt;<br/>
1044−Found<br/>
1045−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span> <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"throw "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
1046−Why not<br/>
1047−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"throw "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
1048−
1049−</div>
1050−
1051−<div class="hint10 file9">
1052−src/Language/PureScript/Pretty/JS.hs:116:28: Warning: Use &lt;$&gt;<br/>
1053−Found<br/>
1054−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span> <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>lbl</span> <span class='hs-varop'>++</span> <span class='hs-str'>": "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>js</span><span class='hs-keyglyph'>]</span></pre>
1055−Why not<br/>
1056−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>lbl</span> <span class='hs-varop'>++</span> <span class='hs-str'>": "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintJS'</span> <span class='hs-varid'>js</span><span class='hs-keyglyph'>]</span></pre>
1057−
1058−</div>
1059−
1060−<div class="hint10 file10">
1061−src/Language/PureScript/Pretty/Values.hs:41:29: Warning: Use &lt;$&gt;<br/>
1062−Found<br/>
1063−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1064− <span class='hs-varid'>sequence</span>
1065− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"[ "</span><span class='hs-layout'>,</span> <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>xs</span><span class='hs-layout'>,</span>
1066− <span class='hs-varid'>return</span> <span class='hs-str'>" ]"</span><span class='hs-keyglyph'>]</span></pre>
1067−Why not<br/>
1068−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1069− <span class='hs-varid'>sequence</span>
1070− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"[ "</span><span class='hs-layout'>,</span> <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>xs</span><span class='hs-layout'>,</span>
1071− <span class='hs-varid'>return</span> <span class='hs-str'>" ]"</span><span class='hs-keyglyph'>]</span></pre>
1072−
1073−</div>
1074−
1075−<div class="hint10 file10">
1076−src/Language/PureScript/Pretty/Values.hs:47:30: Warning: Use &lt;$&gt;<br/>
1077−Found<br/>
1078−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1079− <span class='hs-varid'>sequence</span>
1080− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"{\n"</span><span class='hs-layout'>,</span>
1081− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintObjectProperty</span> <span class='hs-varid'>ps</span><span class='hs-layout'>,</span>
1082− <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-layout'>,</span> <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"}"</span><span class='hs-keyglyph'>]</span></pre>
1083−Why not<br/>
1084−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1085− <span class='hs-varid'>sequence</span>
1086− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"{\n"</span><span class='hs-layout'>,</span>
1087− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintObjectProperty</span> <span class='hs-varid'>ps</span><span class='hs-layout'>,</span>
1088− <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-layout'>,</span> <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"}"</span><span class='hs-keyglyph'>]</span></pre>
1089−
1090−</div>
1091−
1092−<div class="hint10 file10">
1093−src/Language/PureScript/Pretty/Values.hs:54:60: Warning: Use &lt;$&gt;<br/>
1094−Found<br/>
1095−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1096− <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>show</span> <span class='hs-varid'>className</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>"(\n"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>match</span> <span class='hs-varid'>ps</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>")"</span><span class='hs-keyglyph'>]</span></pre>
1097−Why not<br/>
1098−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1099− <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>show</span> <span class='hs-varid'>className</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>"(\n"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>match</span> <span class='hs-varid'>ps</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>")"</span><span class='hs-keyglyph'>]</span></pre>
1100−
1101−</div>
1102−
1103−<div class="hint9 file10">
1104−src/Language/PureScript/Pretty/Values.hs:55:15: Warning: Redundant bracket<br/>
1105−Found<br/>
1106−<pre><span class='hs-layout'>(</span><span class='hs-varid'>show</span> <span class='hs-varid'>className</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>"(\n"</span></pre>
1107−Why not<br/>
1108−<pre><span class='hs-definition'>show</span> <span class='hs-varid'>className</span> <span class='hs-varop'>++</span> <span class='hs-str'>"(\n"</span></pre>
1109−
1110−</div>
1111−
1112−<div class="hint10 file10">
1113−src/Language/PureScript/Pretty/Values.hs:60:33: Warning: Use &lt;$&gt;<br/>
1114−Found<br/>
1115−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1116− <span class='hs-varid'>sequence</span>
1117− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"case "</span><span class='hs-layout'>,</span> <span class='hs-varid'>unwords</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>values</span> <span class='hs-varid'>prettyPrintValue'</span><span class='hs-layout'>,</span>
1118− <span class='hs-varid'>return</span> <span class='hs-str'>" of\n"</span><span class='hs-layout'>,</span>
1119− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintCaseAlternative</span> <span class='hs-varid'>binders</span><span class='hs-layout'>,</span>
1120− <span class='hs-varid'>currentIndent</span><span class='hs-keyglyph'>]</span></pre>
1121−Why not<br/>
1122−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1123− <span class='hs-varid'>sequence</span>
1124− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"case "</span><span class='hs-layout'>,</span> <span class='hs-varid'>unwords</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>values</span> <span class='hs-varid'>prettyPrintValue'</span><span class='hs-layout'>,</span>
1125− <span class='hs-varid'>return</span> <span class='hs-str'>" of\n"</span><span class='hs-layout'>,</span>
1126− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintCaseAlternative</span> <span class='hs-varid'>binders</span><span class='hs-layout'>,</span>
1127− <span class='hs-varid'>currentIndent</span><span class='hs-keyglyph'>]</span></pre>
1128−
1129−</div>
1130−
1131−<div class="hint10 file10">
1132−src/Language/PureScript/Pretty/Values.hs:67:24: Warning: Use &lt;$&gt;<br/>
1133−Found<br/>
1134−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1135− <span class='hs-varid'>sequence</span>
1136− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"let\n"</span><span class='hs-layout'>,</span>
1137− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintDeclaration</span> <span class='hs-varid'>ds</span><span class='hs-layout'>,</span>
1138− <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-layout'>,</span> <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"in "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>val</span><span class='hs-keyglyph'>]</span></pre>
1139−Why not<br/>
1140−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1141− <span class='hs-varid'>sequence</span>
1142− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"let\n"</span><span class='hs-layout'>,</span>
1143− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintDeclaration</span> <span class='hs-varid'>ds</span><span class='hs-layout'>,</span>
1144− <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-layout'>,</span> <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"in "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>val</span><span class='hs-keyglyph'>]</span></pre>
1145−
1146−</div>
1147−
1148−<div class="hint10 file10">
1149−src/Language/PureScript/Pretty/Values.hs:76:20: Warning: Use &lt;$&gt;<br/>
1150−Found<br/>
1151−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1152− <span class='hs-varid'>sequence</span>
1153− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"do "</span><span class='hs-layout'>,</span>
1154− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintDoNotationElement</span> <span class='hs-varid'>els</span><span class='hs-layout'>,</span>
1155− <span class='hs-varid'>currentIndent</span><span class='hs-keyglyph'>]</span></pre>
1156−Why not<br/>
1157−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1158− <span class='hs-varid'>sequence</span>
1159− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"do "</span><span class='hs-layout'>,</span>
1160− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintDoNotationElement</span> <span class='hs-varid'>els</span><span class='hs-layout'>,</span>
1161− <span class='hs-varid'>currentIndent</span><span class='hs-keyglyph'>]</span></pre>
1162−
1163−</div>
1164−
1165−<div class="hint10 file10">
1166−src/Language/PureScript/Pretty/Values.hs:89:68: Warning: Use &lt;$&gt;<br/>
1167−Found<br/>
1168−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1169− <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>show</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>" = "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>val</span><span class='hs-keyglyph'>]</span></pre>
1170−Why not<br/>
1171−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1172− <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>show</span> <span class='hs-varid'>ident</span> <span class='hs-varop'>++</span> <span class='hs-str'>" = "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>val</span><span class='hs-keyglyph'>]</span></pre>
1173−
1174−</div>
1175−
1176−<div class="hint10 file10">
1177−src/Language/PureScript/Pretty/Values.hs:98:3: Warning: Use &lt;$&gt;<br/>
1178−Found<br/>
1179−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1180− <span class='hs-varid'>sequence</span>
1181− <span class='hs-keyglyph'>[</span><span class='hs-varid'>intercalate</span> <span class='hs-str'>", "</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>binders</span> <span class='hs-varid'>prettyPrintBinder'</span><span class='hs-layout'>,</span>
1182− <span class='hs-varid'>prettyPrintResult</span> <span class='hs-varid'>result</span><span class='hs-keyglyph'>]</span></pre>
1183−Why not<br/>
1184−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1185− <span class='hs-varid'>sequence</span>
1186− <span class='hs-keyglyph'>[</span><span class='hs-varid'>intercalate</span> <span class='hs-str'>", "</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>binders</span> <span class='hs-varid'>prettyPrintBinder'</span><span class='hs-layout'>,</span>
1187− <span class='hs-varid'>prettyPrintResult</span> <span class='hs-varid'>result</span><span class='hs-keyglyph'>]</span></pre>
1188−
1189−</div>
1190−
1191−<div class="hint10 file10">
1192−src/Language/PureScript/Pretty/Values.hs:107:5: Warning: Use &lt;$&gt;<br/>
1193−Found<br/>
1194−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1195− <span class='hs-varid'>sequence</span>
1196− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"| "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>grd</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>" -&gt; "</span><span class='hs-layout'>,</span>
1197− <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>val</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-keyglyph'>]</span></pre>
1198−Why not<br/>
1199−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1200− <span class='hs-varid'>sequence</span>
1201− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"| "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>grd</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>" -&gt; "</span><span class='hs-layout'>,</span>
1202− <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>val</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"\n"</span><span class='hs-keyglyph'>]</span></pre>
1203−
1204−</div>
1205−
1206−<div class="hint10 file10">
1207−src/Language/PureScript/Pretty/Values.hs:119:3: Warning: Use &lt;$&gt;<br/>
1208−Found<br/>
1209−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1210− <span class='hs-varid'>sequence</span>
1211− <span class='hs-keyglyph'>[</span><span class='hs-varid'>prettyPrintBinder'</span> <span class='hs-varid'>binder</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>" &lt;- "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>val</span><span class='hs-keyglyph'>]</span></pre>
1212−Why not<br/>
1213−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1214− <span class='hs-varid'>sequence</span>
1215− <span class='hs-keyglyph'>[</span><span class='hs-varid'>prettyPrintBinder'</span> <span class='hs-varid'>binder</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>" &lt;- "</span><span class='hs-layout'>,</span> <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>val</span><span class='hs-keyglyph'>]</span></pre>
1216−
1217−</div>
1218−
1219−<div class="hint10 file10">
1220−src/Language/PureScript/Pretty/Values.hs:125:3: Warning: Use &lt;$&gt;<br/>
1221−Found<br/>
1222−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1223− <span class='hs-varid'>sequence</span>
1224− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"let "</span><span class='hs-layout'>,</span>
1225− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintDeclaration</span> <span class='hs-varid'>ds</span><span class='hs-keyglyph'>]</span></pre>
1226−Why not<br/>
1227−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1228− <span class='hs-varid'>sequence</span>
1229− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"let "</span><span class='hs-layout'>,</span>
1230− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintDeclaration</span> <span class='hs-varid'>ds</span><span class='hs-keyglyph'>]</span></pre>
1231−
1232−</div>
1233−
1234−<div class="hint10 file10">
1235−src/Language/PureScript/Pretty/Values.hs:191:41: Warning: Use &lt;$&gt;<br/>
1236−Found<br/>
1237−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1238− <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>show</span> <span class='hs-varid'>ctor</span> <span class='hs-varop'>++</span> <span class='hs-str'>" "</span><span class='hs-layout'>,</span> <span class='hs-varid'>unwords</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>args</span> <span class='hs-varid'>match</span><span class='hs-keyglyph'>]</span></pre>
1239−Why not<br/>
1240−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1241− <span class='hs-varid'>sequence</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>show</span> <span class='hs-varid'>ctor</span> <span class='hs-varop'>++</span> <span class='hs-str'>" "</span><span class='hs-layout'>,</span> <span class='hs-varid'>unwords</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>args</span> <span class='hs-varid'>match</span><span class='hs-keyglyph'>]</span></pre>
1242−
1243−</div>
1244−
1245−<div class="hint10 file10">
1246−src/Language/PureScript/Pretty/Values.hs:195:29: Warning: Use &lt;$&gt;<br/>
1247−Found<br/>
1248−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1249− <span class='hs-varid'>sequence</span>
1250− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"{\n"</span><span class='hs-layout'>,</span>
1251− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintObjectPropertyBinder</span> <span class='hs-varid'>bs</span><span class='hs-layout'>,</span>
1252− <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"}"</span><span class='hs-keyglyph'>]</span></pre>
1253−Why not<br/>
1254−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1255− <span class='hs-varid'>sequence</span>
1256− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"{\n"</span><span class='hs-layout'>,</span>
1257− <span class='hs-varid'>withIndent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintMany</span> <span class='hs-varid'>prettyPrintObjectPropertyBinder</span> <span class='hs-varid'>bs</span><span class='hs-layout'>,</span>
1258− <span class='hs-varid'>currentIndent</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"}"</span><span class='hs-keyglyph'>]</span></pre>
1259−
1260−</div>
1261−
1262−<div class="hint10 file10">
1263−src/Language/PureScript/Pretty/Values.hs:201:28: Warning: Use &lt;$&gt;<br/>
1264−Found<br/>
1265−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1266− <span class='hs-varid'>sequence</span>
1267− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"["</span><span class='hs-layout'>,</span> <span class='hs-varid'>unwords</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>mapM</span> <span class='hs-varid'>prettyPrintBinder'</span> <span class='hs-varid'>bs</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"]"</span><span class='hs-keyglyph'>]</span></pre>
1268−Why not<br/>
1269−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1270− <span class='hs-varid'>sequence</span>
1271− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-str'>"["</span><span class='hs-layout'>,</span> <span class='hs-varid'>unwords</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>mapM</span> <span class='hs-varid'>prettyPrintBinder'</span> <span class='hs-varid'>bs</span><span class='hs-layout'>,</span> <span class='hs-varid'>return</span> <span class='hs-str'>"]"</span><span class='hs-keyglyph'>]</span></pre>
1272−
1273−</div>
1274−
1275−<div class="hint10 file10">
1276−src/Language/PureScript/Pretty/Values.hs:232:49: Warning: Use &lt;$&gt;<br/>
1277−Found<br/>
1278−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1279− <span class='hs-varid'>sequence</span>
1280− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintObjectKey</span> <span class='hs-varid'>key</span> <span class='hs-varop'>++</span> <span class='hs-str'>": "</span><span class='hs-layout'>,</span>
1281− <span class='hs-varid'>prettyPrintBinder'</span> <span class='hs-varid'>binder</span><span class='hs-keyglyph'>]</span></pre>
1282−Why not<br/>
1283−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1284− <span class='hs-varid'>sequence</span>
1285− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintObjectKey</span> <span class='hs-varid'>key</span> <span class='hs-varop'>++</span> <span class='hs-str'>": "</span><span class='hs-layout'>,</span>
1286− <span class='hs-varid'>prettyPrintBinder'</span> <span class='hs-varid'>binder</span><span class='hs-keyglyph'>]</span></pre>
1287−
1288−</div>
1289−
1290−<div class="hint10 file10">
1291−src/Language/PureScript/Pretty/Values.hs:238:42: Warning: Use &lt;$&gt;<br/>
1292−Found<br/>
1293−<pre><span class='hs-definition'>fmap</span> <span class='hs-varid'>concat</span> <span class='hs-varop'>$</span>
1294− <span class='hs-varid'>sequence</span>
1295− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintObjectKey</span> <span class='hs-varid'>key</span> <span class='hs-varop'>++</span> <span class='hs-str'>": "</span><span class='hs-layout'>,</span>
1296− <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
1297−Why not<br/>
1298−<pre><span class='hs-definition'>concat</span> <span class='hs-varop'>&lt;$&gt;</span>
1299− <span class='hs-varid'>sequence</span>
1300− <span class='hs-keyglyph'>[</span><span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>prettyPrintObjectKey</span> <span class='hs-varid'>key</span> <span class='hs-varop'>++</span> <span class='hs-str'>": "</span><span class='hs-layout'>,</span>
1301− <span class='hs-varid'>prettyPrintValue'</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>]</span></pre>
1302−
1303−</div>
1304−
1305−<div class="hint9 file12">
1306−src/Language/PureScript/Sugar/DoNotation.hs:39:43: Warning: Redundant bracket<br/>
1307−Found<br/>
1308−<pre><span class='hs-layout'>(</span><span class='hs-conid'>PositionedDeclaration</span> <span class='hs-varid'>pos</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;$&gt;</span>
1309− <span class='hs-layout'>(</span><span class='hs-varid'>rethrowWithPosition</span> <span class='hs-varid'>pos</span> <span class='hs-varop'>$</span> <span class='hs-varid'>desugarDo</span> <span class='hs-varid'>d</span><span class='hs-layout'>)</span></pre>
1310−Why not<br/>
1311−<pre><span class='hs-conid'>PositionedDeclaration</span> <span class='hs-varid'>pos</span> <span class='hs-varop'>&lt;$&gt;</span>
1312− <span class='hs-layout'>(</span><span class='hs-varid'>rethrowWithPosition</span> <span class='hs-varid'>pos</span> <span class='hs-varop'>$</span> <span class='hs-varid'>desugarDo</span> <span class='hs-varid'>d</span><span class='hs-layout'>)</span></pre>
1313−
1314−</div>
1315−
1316−<div class="hint8 file12">
1317−src/Language/PureScript/Sugar/DoNotation.hs:39:43: Warning: Redundant $<br/>
1318−Found<br/>
1319−<pre><span class='hs-layout'>(</span><span class='hs-conid'>PositionedDeclaration</span> <span class='hs-varid'>pos</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;$&gt;</span>
1320− <span class='hs-layout'>(</span><span class='hs-varid'>rethrowWithPosition</span> <span class='hs-varid'>pos</span> <span class='hs-varop'>$</span> <span class='hs-varid'>desugarDo</span> <span class='hs-varid'>d</span><span class='hs-layout'>)</span></pre>
1321−Why not<br/>
1322−<pre><span class='hs-layout'>(</span><span class='hs-conid'>PositionedDeclaration</span> <span class='hs-varid'>pos</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;$&gt;</span>
1323− <span class='hs-varid'>rethrowWithPosition</span> <span class='hs-varid'>pos</span> <span class='hs-layout'>(</span><span class='hs-varid'>desugarDo</span> <span class='hs-varid'>d</span><span class='hs-layout'>)</span></pre>
1324−
1325−</div>
1326−
1327−<div class="hint8 file13">
1328−src/Language/PureScript/Sugar/TypeClasses.hs:159:5: Warning: Redundant $<br/>
1329−Found<br/>
1330−<pre><span class='hs-definition'>return</span> <span class='hs-varop'>$</span>
1331− <span class='hs-layout'>(</span><span class='hs-conid'>Nothing</span><span class='hs-layout'>,</span>
1332− <span class='hs-varid'>d</span> <span class='hs-conop'>:</span>
1333− <span class='hs-varid'>typeClassDictionaryDeclaration</span> <span class='hs-varid'>name</span> <span class='hs-varid'>args</span> <span class='hs-varid'>implies</span> <span class='hs-varid'>members</span> <span class='hs-conop'>:</span>
1334− <span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>typeClassMemberToDictionaryAccessor</span> <span class='hs-varid'>mn</span> <span class='hs-varid'>name</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span> <span class='hs-varid'>members</span><span class='hs-layout'>)</span></pre>
1335−Why not<br/>
1336−<pre><span class='hs-definition'>return</span>
1337− <span class='hs-layout'>(</span><span class='hs-conid'>Nothing</span><span class='hs-layout'>,</span>
1338− <span class='hs-varid'>d</span> <span class='hs-conop'>:</span>
1339− <span class='hs-varid'>typeClassDictionaryDeclaration</span> <span class='hs-varid'>name</span> <span class='hs-varid'>args</span> <span class='hs-varid'>implies</span> <span class='hs-varid'>members</span> <span class='hs-conop'>:</span>
1340− <span class='hs-varid'>map</span> <span class='hs-layout'>(</span><span class='hs-varid'>typeClassMemberToDictionaryAccessor</span> <span class='hs-varid'>mn</span> <span class='hs-varid'>name</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span> <span class='hs-varid'>members</span><span class='hs-layout'>)</span></pre>
1341−
1342−</div>
1343−
1344−<div class="hint8 file13">
1345−src/Language/PureScript/Sugar/TypeClasses.hs:164:5: Warning: Redundant $<br/>
1346−Found<br/>
1347−<pre><span class='hs-definition'>return</span> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-varid'>expRef</span> <span class='hs-varid'>name</span> <span class='hs-varid'>className</span> <span class='hs-varid'>tys</span><span class='hs-layout'>,</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>d</span><span class='hs-layout'>,</span> <span class='hs-varid'>dictDecl</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span></pre>
1348−Why not<br/>
1349−<pre><span class='hs-definition'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>expRef</span> <span class='hs-varid'>name</span> <span class='hs-varid'>className</span> <span class='hs-varid'>tys</span><span class='hs-layout'>,</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>d</span><span class='hs-layout'>,</span> <span class='hs-varid'>dictDecl</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span></pre>
1350−
1351−</div>
1352−
1353−<div class="hint14 file14">
1354−src/Language/PureScript/Sugar/TypeDeclarations.hs:59:25: Warning: Use list literal pattern<br/>
1355−Found<br/>
1356−<pre><span class='hs-layout'>(</span><span class='hs-conid'>TypeDeclaration</span> <span class='hs-varid'>name</span> <span class='hs-keyword'>_</span> <span class='hs-conop'>:</span> <span class='hs-conid'>[]</span><span class='hs-layout'>)</span></pre>
1357−Why not<br/>
1358−<pre><span class='hs-keyglyph'>[</span><span class='hs-conid'>TypeDeclaration</span> <span class='hs-varid'>name</span> <span class='hs-keyword'>_</span><span class='hs-keyglyph'>]</span></pre>
1359−
1360−</div>
1361−
1362−<div class="hint12 file15">
1363−src/Language/PureScript/TypeChecker/Kinds.hs:52:25: Warning: Use fromMaybe<br/>
1364−Found<br/>
1365−<pre><span class='hs-keyword'>case</span> <span class='hs-conid'>H</span><span class='hs-varop'>.</span><span class='hs-varid'>lookup</span> <span class='hs-varid'>u</span> <span class='hs-layout'>(</span><span class='hs-varid'>runSubstitution</span> <span class='hs-varid'>sub</span><span class='hs-layout'>)</span> <span class='hs-keyword'>of</span>
1366− <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>t</span>
1367− <span class='hs-conid'>Just</span> <span class='hs-varid'>t'</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>t'</span></pre>
1368−Why not<br/>
1369−<pre><span class='hs-definition'>fromMaybe</span> <span class='hs-varid'>t</span> <span class='hs-layout'>(</span><span class='hs-conid'>H</span><span class='hs-varop'>.</span><span class='hs-varid'>lookup</span> <span class='hs-varid'>u</span> <span class='hs-layout'>(</span><span class='hs-varid'>runSubstitution</span> <span class='hs-varid'>sub</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span></pre>
1370−
1371−</div>
1372−
1373−<div class="hint0 file15">
1374−src/Language/PureScript/TypeChecker/Kinds.hs:127:63: Error: Redundant bracket<br/>
1375−Found<br/>
1376−<pre><span class='hs-layout'>(</span><span class='hs-conid'>Check</span><span class='hs-layout'>)</span></pre>
1377−Why not<br/>
1378−<pre><span class='hs-conid'>Check</span></pre>
1379−
1380−</div>
1381−
1382−<div class="hint6 file15">
1383−src/Language/PureScript/TypeChecker/Kinds.hs:133:3: Error: Use unless<br/>
1384−Found<br/>
1385−<pre><span class='hs-definition'>when</span> <span class='hs-layout'>(</span><span class='hs-varid'>not</span> <span class='hs-varid'>isData</span><span class='hs-layout'>)</span></pre>
1386−Why not<br/>
1387−<pre><span class='hs-definition'>unless</span> <span class='hs-varid'>isData</span></pre>
1388−
1389−</div>
1390−
1391−<div class="hint1 file15">
1392−src/Language/PureScript/TypeChecker/Kinds.hs:133:23: Error: Redundant do<br/>
1393−Found<br/>
1394−<pre><span class='hs-keyword'>do</span> <span class='hs-varid'>tyCon</span> <span class='hs-varop'>=?=</span> <span class='hs-varid'>foldr</span> <span class='hs-conid'>FunKind</span> <span class='hs-layout'>(</span><span class='hs-varid'>head</span> <span class='hs-varid'>ks</span><span class='hs-layout'>)</span> <span class='hs-varid'>kargs</span></pre>
1395−Why not<br/>
1396−<pre><span class='hs-definition'>tyCon</span> <span class='hs-varop'>=?=</span> <span class='hs-varid'>foldr</span> <span class='hs-conid'>FunKind</span> <span class='hs-layout'>(</span><span class='hs-varid'>head</span> <span class='hs-varid'>ks</span><span class='hs-layout'>)</span> <span class='hs-varid'>kargs</span></pre>
1397−
1398−</div>
1399−
1400−<div class="hint7 file16">
1401−src/Language/PureScript/TypeChecker/Monad.hs:45:3: Warning: Reduce duplication<br/>
1402−Found<br/>
1403−<pre><span class='hs-definition'>a</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>action</span>
1404−<span class='hs-definition'>modify</span> <span class='hs-varop'>$</span>
1405− <span class='hs-keyglyph'>\</span> <span class='hs-varid'>st</span> <span class='hs-keyglyph'>-&gt;</span>
1406− <span class='hs-varid'>st</span><span class='hs-layout'>{</span><span class='hs-varid'>checkEnv</span> <span class='hs-keyglyph'>=</span> <span class='hs-layout'>(</span><span class='hs-varid'>checkEnv</span> <span class='hs-varid'>st</span><span class='hs-layout'>)</span><span class='hs-layout'>{</span><span class='hs-varid'>names</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>names</span> <span class='hs-varop'>.</span> <span class='hs-varid'>checkEnv</span> <span class='hs-varop'>$</span> <span class='hs-varid'>orig</span><span class='hs-layout'>}</span><span class='hs-layout'>}</span>
1407−<span class='hs-definition'>return</span> <span class='hs-varid'>a</span>
1408−</pre>
1409−Why not<br/>
1410−<pre><span class='hs-conid'>Combine</span> <span class='hs-varid'>with</span> <span class='hs-varid'>src</span><span class='hs-varop'>/</span><span class='hs-conid'>Language</span><span class='hs-varop'>/</span><span class='hs-conid'>PureScript</span><span class='hs-varop'>/</span><span class='hs-conid'>TypeChecker</span><span class='hs-varop'>/</span><span class='hs-conid'>Monad</span><span class='hs-varop'>.</span><span class='hs-varid'>hs</span><span class='hs-conop'>:</span><span class='hs-num'>99</span><span class='hs-conop'>:</span><span class='hs-num'>3</span></pre>
1411−
1412−</div>
1413−
1414−<div class="hint7 file17">
1415−src/Language/PureScript/TypeChecker/Types.hs:133:3: Warning: Reduce duplication<br/>
1416−Found<br/>
1417−<pre><span class='hs-definition'>kind</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>liftCheck</span> <span class='hs-varop'>$</span> <span class='hs-varid'>kindOf</span> <span class='hs-varid'>moduleName</span> <span class='hs-varid'>ty</span>
1418−<span class='hs-definition'>guardWith</span>
1419− <span class='hs-layout'>(</span><span class='hs-varid'>strMsg</span> <span class='hs-varop'>$</span> <span class='hs-str'>"Expected type of kind *, was "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>prettyPrintKind</span> <span class='hs-varid'>kind</span><span class='hs-layout'>)</span>
1420− <span class='hs-varop'>$</span> <span class='hs-varid'>kind</span> <span class='hs-varop'>==</span> <span class='hs-conid'>Star</span>
1421−<span class='hs-definition'>ty'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>introduceSkolemScope</span> <span class='hs-varop'>&lt;=&lt;</span> <span class='hs-varid'>replaceAllTypeSynonyms</span> <span class='hs-varop'>$</span> <span class='hs-varid'>ty</span>
1422−</pre>
1423−Why not<br/>
1424−<pre><span class='hs-conid'>Combine</span> <span class='hs-varid'>with</span> <span class='hs-varid'>src</span><span class='hs-varop'>/</span><span class='hs-conid'>Language</span><span class='hs-varop'>/</span><span class='hs-conid'>PureScript</span><span class='hs-varop'>/</span><span class='hs-conid'>TypeChecker</span><span class='hs-varop'>/</span><span class='hs-conid'>Types</span><span class='hs-varop'>.</span><span class='hs-varid'>hs</span><span class='hs-conop'>:</span><span class='hs-num'>285</span><span class='hs-conop'>:</span><span class='hs-num'>3</span></pre>
1425−
1426−</div>
1427−
1428−<div class="hint9 file17">
1429−src/Language/PureScript/TypeChecker/Types.hs:152:12: Warning: Redundant bracket<br/>
1430−Found<br/>
1431−<pre><span class='hs-layout'>(</span><span class='hs-conid'>Ident</span><span class='hs-layout'>,</span> <span class='hs-conid'>Expr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>Either</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ident</span><span class='hs-layout'>,</span> <span class='hs-conid'>Expr</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ident</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-conid'>Expr</span><span class='hs-layout'>,</span> <span class='hs-conid'>Type</span><span class='hs-layout'>,</span> <span class='hs-conid'>Bool</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span></pre>
1432−Why not<br/>
1433−<pre><span class='hs-layout'>(</span><span class='hs-conid'>Ident</span><span class='hs-layout'>,</span> <span class='hs-conid'>Expr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Either</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ident</span><span class='hs-layout'>,</span> <span class='hs-conid'>Expr</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ident</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-conid'>Expr</span><span class='hs-layout'>,</span> <span class='hs-conid'>Type</span><span class='hs-layout'>,</span> <span class='hs-conid'>Bool</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span></pre>
1434−
1435−</div>
1436−
1437−<div class="hint7 file17">
1438−src/Language/PureScript/TypeChecker/Types.hs:284:3: Warning: Reduce duplication<br/>
1439−Found<br/>
1440−<pre><span class='hs-conid'>Just</span> <span class='hs-varid'>moduleName</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>checkCurrentModule</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>get</span>
1441−<span class='hs-definition'>kind</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>liftCheck</span> <span class='hs-varop'>$</span> <span class='hs-varid'>kindOf</span> <span class='hs-varid'>moduleName</span> <span class='hs-varid'>ty</span>
1442−<span class='hs-definition'>guardWith</span>
1443− <span class='hs-layout'>(</span><span class='hs-varid'>strMsg</span> <span class='hs-varop'>$</span> <span class='hs-str'>"Expected type of kind *, was "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>prettyPrintKind</span> <span class='hs-varid'>kind</span><span class='hs-layout'>)</span>
1444− <span class='hs-varop'>$</span> <span class='hs-varid'>kind</span> <span class='hs-varop'>==</span> <span class='hs-conid'>Star</span>
1445−</pre>
1446−Why not<br/>
1447−<pre><span class='hs-conid'>Combine</span> <span class='hs-varid'>with</span> <span class='hs-varid'>src</span><span class='hs-varop'>/</span><span class='hs-conid'>Language</span><span class='hs-varop'>/</span><span class='hs-conid'>PureScript</span><span class='hs-varop'>/</span><span class='hs-conid'>TypeChecker</span><span class='hs-varop'>/</span><span class='hs-conid'>Types</span><span class='hs-varop'>.</span><span class='hs-varid'>hs</span><span class='hs-conop'>:</span><span class='hs-num'>296</span><span class='hs-conop'>:</span><span class='hs-num'>3</span></pre>
1448−
1449−</div>
1450−
1451−<div class="hint9 file17">
1452−src/Language/PureScript/TypeChecker/Types.hs:318:3: Warning: Redundant bracket<br/>
1453−Found<br/>
1454−<pre><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>d'</span> <span class='hs-conop'>:</span> <span class='hs-varid'>ds'</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>val'</span><span class='hs-layout'>)</span></pre>
1455−Why not<br/>
1456−<pre><span class='hs-layout'>(</span><span class='hs-varid'>d'</span> <span class='hs-conop'>:</span> <span class='hs-varid'>ds'</span><span class='hs-layout'>,</span> <span class='hs-varid'>val'</span><span class='hs-layout'>)</span></pre>
1457−
1458−</div>
1459−
1460−<div class="hint16 file17">
1461−src/Language/PureScript/TypeChecker/Types.hs:550:44: Warning: Use section<br/>
1462−Found<br/>
1463−<pre><span class='hs-layout'>(</span><span class='hs-varid'>flip</span> <span class='hs-varid'>check</span> <span class='hs-varid'>ty</span><span class='hs-layout'>)</span></pre>
1464−Why not<br/>
1465−<pre><span class='hs-layout'>(</span><span class='hs-varop'>`check`</span> <span class='hs-varid'>ty</span><span class='hs-layout'>)</span></pre>
1466−
1467−</div>
1468−
1469−<div class="hint15 file17">
1470−src/Language/PureScript/TypeChecker/Types.hs:578:13: Warning: Use record patterns<br/>
1471−Found<br/>
1472−<pre><span class='hs-conid'>Skolem</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span></pre>
1473−Why not<br/>
1474−<pre><span class='hs-conid'>Skolem</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span></pre>
1475−
1476−</div>
1477−
1478−<div class="hint1 file17">
1479−src/Language/PureScript/TypeChecker/Types.hs:641:58: Error: Redundant do<br/>
1480−Found<br/>
1481−<pre><span class='hs-keyword'>do</span> <span class='hs-varid'>checkFunctionApplication</span> <span class='hs-varid'>fn</span> <span class='hs-varid'>ty</span> <span class='hs-varid'>arg</span> <span class='hs-varid'>ret</span></pre>
1482−Why not<br/>
1483−<pre><span class='hs-definition'>checkFunctionApplication</span> <span class='hs-varid'>fn</span> <span class='hs-varid'>ty</span> <span class='hs-varid'>arg</span> <span class='hs-varid'>ret</span></pre>
1484−
1485−</div>
1486−
1487−<div class="hint15 file17">
1488−src/Language/PureScript/TypeChecker/Types.hs:646:41: Warning: Use record patterns<br/>
1489−Found<br/>
1490−<pre><span class='hs-conid'>TypeClassDictionary</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span></pre>
1491−Why not<br/>
1492−<pre><span class='hs-conid'>TypeClassDictionary</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span></pre>
1493−
1494−</div>
1495−
1496−</div>
1497−</body>
1498−</html>
src/Language/PureScript/TypeChecker/Kinds.hs+4−8
@@ -22,6 +22,7 @@ module Language.PureScript.TypeChecker.Kinds (
22 kindsOfAll
22 kindsOfAll
23) where
23) where
24
24
25+import Data.Maybe (fromMaybe)
25import Data.Monoid ((<>))
26import Data.Monoid ((<>))
26import qualified Data.HashMap.Strict as H
27import qualified Data.HashMap.Strict as H
27import qualified Data.Map as M
28import qualified Data.Map as M
@@ -49,9 +50,7 @@ instance Partial Kind where
49 go _ = []
50 go _ = []
50 ($?) sub = everywhereOnKinds go
51 ($?) sub = everywhereOnKinds go
51 where
52 where
52− go t@(KUnknown u) = case H.lookup u (runSubstitution sub) of
53+ go t@(KUnknown u) = fromMaybe t $ H.lookup u (runSubstitution sub)
53− Nothing -> t
54− Just t' -> t'
55 go other = other
54 go other = other
56
55
57instance Unifiable Check Kind where
56instance Unifiable Check Kind where
@@ -124,13 +123,13 @@ kindsOfAll moduleName syns tys = fmap tidyUp . liftUnify $ do
124-- |
123-- |
125-- Solve the set of kind constraints associated with the data constructors for a type constructor
124-- Solve the set of kind constraints associated with the data constructors for a type constructor
126--
125--
127−solveTypes :: Bool -> [Type] -> [Kind] -> Kind -> UnifyT Kind (Check) Kind
126+solveTypes :: Bool -> [Type] -> [Kind] -> Kind -> UnifyT Kind Check Kind
128solveTypes isData ts kargs tyCon = do
127solveTypes isData ts kargs tyCon = do
129 ks <- mapM infer ts
128 ks <- mapM infer ts
130 when isData $ do
129 when isData $ do
131 tyCon =?= foldr FunKind Star kargs
130 tyCon =?= foldr FunKind Star kargs
132 forM_ ks $ \k -> k =?= Star
131 forM_ ks $ \k -> k =?= Star
133− when (not isData) $ do
132+ unless isData $
134 tyCon =?= foldr FunKind (head ks) kargs
133 tyCon =?= foldr FunKind (head ks) kargs
135 return tyCon
134 return tyCon
136
135
@@ -190,6 +189,3 @@ infer' (KindedType ty k) = do
190 k =?= k'
189 k =?= k'
191 return k'
190 return k'
192infer' _ = error "Invalid argument to infer"
191infer' _ = error "Invalid argument to infer"
193−
194−
195−