tag:blogger.com,1999:blog-3857512306503018420.post6300393686008092118..comments2024-03-21T19:58:04.542+00:00Comments on Nattermorphisms: FTP dangersBenhttp://www.blogger.com/profile/05535385464025706733noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-3857512306503018420.post-8926335249525760782022-11-25T12:19:43.864+00:002022-11-25T12:19:43.864+00:00awesome post I must express my gratitude for the i...awesome post I must express my gratitude for the information. I enjoy reading your posts and anticipate more. Visit my pages as well.<br /><a href="https://cu-cricut.com/setup/" rel="nofollow">cricut setup</a><br /><a href="https://setupyourcricut.com/setup/" rel="nofollow">cricut setup</a><br /><a href="https://cricutcomset%C3%B9p.com/setup/" rel="nofollow">cricutsetup</a><br /><a href="https://cricutsetmaker.com/" rel="nofollow">cricut setup</a><br /><a href="https://%C4%8Dricut.com/" rel="nofollow">cricut setup</a><br /><a href="https://cricutcomlogin.us/" rel="nofollow">cricut setup</a>Cricut Com Createhttps://www.blogger.com/profile/15851859581886263870noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-12468913223124421802022-04-08T13:15:47.832+01:002022-04-08T13:15:47.832+01:00This comment has been removed by the author.Cricut Com Createhttps://www.blogger.com/profile/15851859581886263870noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-48991453548726240422022-04-04T10:25:24.782+01:002022-04-04T10:25:24.782+01:00This comment has been removed by the author.Richie Remingtonhttps://www.blogger.com/profile/15030222948617950316noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-12446623665486281422017-03-26T10:24:14.030+01:002017-03-26T10:24:14.030+01:00hackage has prelude-compat : https://hackage.hask...hackage has <b>prelude-compat</b> : https://hackage.haskell.org/package/prelude-compatAnonymoushttps://www.blogger.com/profile/13493485468402629717noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-82069842112327396432015-02-15T06:59:51.915+00:002015-02-15T06:59:51.915+00:00Couldn't you make an identical argument regard...Couldn't you make an identical argument regarding any abstraction over types? If I have a list of String and a list of Double, might I not get confused because the length function works on both of them?Jonathan Merritthttps://www.blogger.com/profile/04902380006444091507noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-28044127368516375692015-02-12T09:03:01.636+00:002015-02-12T09:03:01.636+00:00My favourite part was the "concern that the c...My favourite part was the "concern that the code is more unreadable" lists code that is objectively more readable by the virtues of parametricity.<br /><br />These objections are becoming somewhat hilarious, ignoring the tragedy.Tony Morrishttps://www.blogger.com/profile/17206456907461293947noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-41188088693210474892015-02-11T18:51:03.330+00:002015-02-11T18:51:03.330+00:00I don't agree that the qualified imports work ...I don't agree that the qualified imports work well. To me, for these generic functions, they feel like Java or .NET where everything has to be typed explicitly. But that's a matter of personal taste, I guess.<br /><br />I haven't run into any errors related to polymorphic functions in a monomorphic context, even though we use a polymorphic prelude (even (.) and id are generalized). I do agree that it can take longer to read the code occasionally. IDEs/editors could help here, by showing the type of subexpressions.Erikhttps://www.blogger.com/profile/02568689299691204801noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-53462884051227706152015-02-11T15:10:53.910+00:002015-02-11T15:10:53.910+00:00And pairs, and functions, and IO. And the function...And pairs, and functions, and IO. And the functions can have the same name. If qualified import is too heavy, them lets improve module system.<br /><br />We have a lot of specialized functions for Map, List, Seq etc, and that works well. If you want to abstract over specific container, then use generalized function explicitly. Using generalized functions in monomorphic context may lead to errors.shumhttps://www.blogger.com/profile/18203218193838856826noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-46271522024842600812015-02-11T14:42:39.572+00:002015-02-11T14:42:39.572+00:00Yes. You can always specialize generalized functio...Yes. You can always specialize generalized functions if you want. I'd hate to see specialized functions for all types. The naming alone seems horrible. Also, why Either and Maybe, but not pairs? Functions? IO? It's very confusing when I accidentally fmap over IO instead of the list returned from that action.<br /><br />Realistically, this is either going to be very limited and ad-hoc, or cause an explosion of functions. Just look at the amount of functions with Functor, Applicative, Monad, Foldable or Traversable constraints in the base package, and multiply that by the number of base types like lists, Maybe, Either, pairs, triples, functions, IO, ST etc.Erikhttps://www.blogger.com/profile/02568689299691204801noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-34666229356980427122015-02-11T14:36:00.718+00:002015-02-11T14:36:00.718+00:00Erik, so we remove specialized functions because w...Erik, so we remove specialized functions because we can't add them for all types?<br /><br />(And yes, we should add specialized functions for Either and Maybe IMO)shumhttps://www.blogger.com/profile/18203218193838856826noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-70092669473386150442015-02-11T13:49:58.452+00:002015-02-11T13:49:58.452+00:00So do we add specialized functions for all types t...So do we add specialized functions for all types then? Or is it ok to confuse pairs with Eithers and Maybes, but not with lists?Erikhttps://www.blogger.com/profile/02568689299691204801noreply@blogger.comtag:blogger.com,1999:blog-3857512306503018420.post-8599260306070943502015-02-11T12:36:39.185+00:002015-02-11T12:36:39.185+00:00Hah, I just asked in #haskell-ftp what is wrong wi...Hah, I just asked in #haskell-ftp what is wrong with specialized functions. Here is my preferred example of overgeneralizing: http://lpaste.net/120323shumhttps://www.blogger.com/profile/18203218193838856826noreply@blogger.com