<div dir="ltr">Hello!<div><br></div><div>To be honest, I always write "fmap" instead of "map" in all my code. Sometimes I change the container I am using, and if I write "map", then I would have to change that "map" to "Something.map" or just "fmap". I know for sure that fmap is going to work in any Functor instance, so I don't have to deal with these things. In some situations (using functions from other classes as well), I only change the type signature of my functions, and the program keeps working as expected, which is awesome.</div>
<div><br></div><div style>Therefore, I support the proposal.</div><div style><br></div><div style>By the way, how strong is the reason "it would be harder to learn"? Is it really that hard to use type classes? I don't think you need any deep math to understand how to work with type classes in Haskell. Even if they are called "Functor" or "Monad", you don't need to know about categories to use them. In fact, any Haskell student faces type classes in some point.</div>
<div style><br></div><div style>In the other hand, I remember that at the beginning somebody showed me that "+" sums integers. And eventually, it worked with floats too. He called this "overloading" and, presented in that way, type classes appeared like something natural in my mind. Can't the same thing been done in this case?</div>
<div style><br></div><div style>Best regards,</div><div style>Daniel Díaz.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 21, 2013 at 11:59 AM, Andrew Butterfield <span dir="ltr"><<a href="mailto:Andrew.Butterfield@scss.tcd.ie" target="_blank">Andrew.Butterfield@scss.tcd.ie</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 21 Jun 2013, at 10:51, Nikita Volkov wrote:<br>
<br>
> Since there's been so many suggestions concerning radically changing the Prelude recently, I'd like to start a poll on a subject.<br>
><br>
> I know that "map" is limited to lists for the beginners, but then we're already making a lot of unbeginnerish changes to Prelude. Also it's not a monad transformer, but just a functor - how can a person learn Haskell without understanding what a Functor is?<br>
<br>
<br>
</div>!!!! No one needs to know what a functor is in order to learn Haskell.<br>
No one needs to know any category theory ideas to learn Haskell.<br>
<br>
Haskell is a very good vehicle to introduce such category-theoretic concepts,<br>
and as someone learns Haskell, learning about Haskell classes(*) such as Functor,<br>
etc, is very important and useful.<br>
<br>
My main reason for this sudden and abrupt response is that I would be worried if<br>
any Prelude re-design was predicated on the idea that Haskell beginners need to understand Functors<br>
- they don't, but hopefully they will learn...<br>
<br>
<br>
(*) as distinct from learning about the category theoretic notion of functor.<br>
<div class="im"><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Libraries mailing list<br>
> <a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
> <a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/mailman/listinfo/libraries</a><br>
<br>
</div>--------------------------------------------------------------------<br>
Andrew Butterfield Tel: +353-1-896-2517 Fax: +353-1-677-2204<br>
Lero@TCD, Head of Foundations & Methods Research Group<br>
Director of Teaching and Learning - Undergraduate,<br>
School of Computer Science and Statistics,<br>
Room G.39, O'Reilly Institute, Trinity College, University of Dublin<br>
<a href="http://www.scss.tcd.ie/Andrew.Butterfield/" target="_blank">http://www.scss.tcd.ie/Andrew.Butterfield/</a><br>
--------------------------------------------------------------------<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br></div>