<div dir="auto">init $ tail [1,2,3]</div><div dir="auto">= init (tail ([1,2,3]))    -- a la Lisp</div><div dir="auto"><br></div><div dir="auto">Now, functional programming is awesomest at abstractions. What if we could abstract out "init (tail"? </div><div dir="auto"><br></div><div dir="auto">Then we could write </div><div dir="auto"><br></div><div dir="auto">chopEnds = init (tail</div><div dir="auto"><br></div><div dir="auto">But that looks weird. It's only got the left half of a parens pair!</div><div dir="auto"><br></div><div dir="auto">Does that explain why you should not expect the same result?</div><div dir="auto"><br></div><div dir="auto">A separate question is why the compiler even type-checks "init $ tail" in the first place. What do you think is going on there?</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 26, 2021 at 1:16 AM Lawrence Bottorff <<a href="mailto:borgauf@gmail.com">borgauf@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">I've got this<div><br></div><div>> init $ tail [1,2,3]<br></div><div>[2]<br></div><div><br></div><div>and this</div><div><br></div><div>> chopEnds = init $ tail<br></div><div>> chopEnds [1,2,3]</div><div>[1,2]<br></div><div><br></div><div>What happened? Why is it not just init $ tail [1,2,3] ?</div><div><br></div><div>This works fine </div><div><br></div><div>> chopEnds2 = init . tail</div><div>> chopEnds2 [1,2,3]</div><div>[2]<br></div><div><br></div><div>What am I missing?</div><div><br></div><div>LB</div></div>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">-- Kim-Ee</div>