Re: [Haskell-cafe] Re: Hoogle and Network.Socket
John Lato jwl...@gmail.com writes: Brandon Allbery wrote: On 2009 Feb 21, at 20:47, Jonathan Cast wrote: On Sat, 2009-02-21 at 07:25 -0700, John A. De Goes wrote: Not showing platform-specific packages by default *might* make package writers more likely to develop cross-platform packages. You're saying a developer would think, oh, I need to test this on windows, or else Hoogle won't index it? I think it is way more likely that not showing platform-specific packages will result in yet another platform-specific library duplicating (the necessary) part of the functionality. On the other hand, displaying platfom-specific libraries might lead to them being more used, and in turn being ported. We've heard many times someone say, I don't know if it works on Windows, never really thought of that. I'd say it. I'd be happy to accept patches for Windows compatibility, but I'm not going to go out and buy an OS, install it, install all the required software and so on - just to tick a checkbox I'm not sure anybody - a potential user of software, that is, not a user of checkboxes - even cares about. I have to second this; I'm a Unix sysadmin, 98% of the time if I'm writing a program it's I write programs to scratch *my* itches. I publish them because there's no reason not to, and hey, if it scratches your itch too, that's great. If you can improve it in some way, that's cool. But until you are the one paying my bills and putting my bread on my table, my responsibility to you stops there. 1. It's often easier (and almost never more difficult) to design for cross-platform support from the beginning than to add it later. I don't entirely agree. I have no particular experience writing cross-platform software, and no way to test it - chances are I'd just mess it up anyway. Better that an expert, with a real need to cater to, do this later on. 2. As of now, the Windows Group seems to be mostly Duncan. And while I greatly appreciate all the time and effort he continues to put into Windows support, he's got a lot to do and could use some help. If you can't help by joining the Windows group, at least you could make your own packages cross-platform. If you care about Windows support, the least you can do is to install my stuff, and mail me the required patches to make it work - or let me know if it works already. As far as I know, none of those 80% of users even know I exist. 3. It contributes to the Avoid success at all costs mantra often attributed to Haskell. [...] 4. Cross-platform concerns are something that responsible developers need to consider, just like localization and i18n. I.e., why *shouldn't* you think of that? I don't consider those other two either, for about the same reasons. I don't need it for the software I'm writing, and I have no reason to believe anybody else does either. I suppose that one might think that my views here are quite selfish. Where's the community spirit? Where is social responsibility? In a way you'd be right, but I also think that if you start *imposing* this kind of responsibility and community spirit, you'd start to se less free software out there. The cost of releasing software is low, but hell, if I'm going to be flamed for it, the cost of *not* releasing it is not any higher. -k -- If I haven't seen further, it is by standing in the footprints of giants ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
Am Donnerstag, 26. Februar 2009 13:41 schrieb John Lato: I didn't phrase this well. In the context of my argument, design for cross-platform meant avoid platform-limiting choices in the absence of any compelling reasons otherwise, which really isn't the same. Could we sum that up as: Do not knowingly make your code unportable unless you have a good reason to? Are there any objections to that maxim? Peace, Daniel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
Daniel provided the wisdom: Do not knowingly make your code unportable unless you have a good reason to Are there any objections to that maxim? Thanks for bringing some sanity back. I notice very few people have bothered to comment on the wiki page Neil has setup. Incase anyone has fogotten - this was originally about what packages hoogle should search and which options should be available (and which should be default) for returning platform specific results. Platform specifity: The suggestion of platform specific flags, which I now support, seems to be dominante. The only alternate I recall is showing all results catagorized by platform (with 'portable' being on top) - perhaps that could be displayed if there are zero results that are portable. Default packages searched: I've yet to hear anyone say we should search anything less than the Haskell Platform by default. I also don't think anyone has spoke ill of a +hackage flag. Thomas ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On Feb 25, 2009, at 7:49 PM, Achim Schneider wrote: John A. De Goes j...@n-brain.net wrote: The problem is that PL research is probably not going to stop evolving in our lifetimes. Yes, that research needs a venue, but why should it be Haskell? Haskell is a good language and it's time to start benefiting from the research that's already gone into it. That means some tradeoffs. Why shouldn't it be Haskell? More, why *can't* it be Haskell. Haskell is already constrained by backwards compatibility, which limits future directions. Partial functions and dependent typing do not seem to play well together, for instance. Moreover, look at the packages being uploaded to Hackage: they're almost all trying to do useful stuff. The direction of Haskell has already changed, and I don't see it reverting to its old course. Not really, look at e.g. type families, which give you much of the power dependently typed languages give you while saying nah, not yet to the question of how to deal with non-terminating typechecking. *Some*, not *much*, and there are dependently typed languages that have guaranteed terminating type checking. About the H' progress... It's hard to tell how many drops are needed to make a bucket overflow, especially if you've got no idea what the bucket looks like. What certainly isn't happening is people taking a house, trying to overflow a badly leaking bucket. As far as I know, H' was supposed to be completed many years ago. Likely, it won't be completed for many more years. H2 is probably more than a decade away, if it happens at all. Regards, John A. De Goes N-BRAIN, Inc. The Evolution of Collaboration http://www.n-brain.net|877-376-2724 x 101 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On Thu, 2009-02-26 at 13:52 +0100, Daniel Fischer wrote: Am Donnerstag, 26. Februar 2009 13:41 schrieb John Lato: I didn't phrase this well. In the context of my argument, design for cross-platform meant avoid platform-limiting choices in the absence of any compelling reasons otherwise, which really isn't the same. Could we sum that up as: Do not knowingly make your code unportable unless you have a good reason to? Are there any objections to that maxim? Actually, yes. But it's quite off-topic, not just as per thread but as per mailing list. jcc ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On Thu, 2009-02-26 at 06:30 -0700, John A. De Goes wrote: On Feb 25, 2009, at 7:49 PM, Achim Schneider wrote: John A. De Goes j...@n-brain.net wrote: The problem is that PL research is probably not going to stop evolving in our lifetimes. Yes, that research needs a venue, but why should it be Haskell? Haskell is a good language and it's time to start benefiting from the research that's already gone into it. That means some tradeoffs. Why shouldn't it be Haskell? More, why *can't* it be Haskell. Haskell is already constrained by backwards compatibility, which limits future directions. Partial functions and dependent typing do not seem to play well together, for instance. Moreover, look at the packages being uploaded to Hackage: they're almost all trying to do useful stuff. The direction of Haskell has already changed, and I don't see it reverting to its old course. Not really, look at e.g. type families, which give you much of the power dependently typed languages give you while saying nah, not yet to the question of how to deal with non-terminating typechecking. *Some*, not *much*, and there are dependently typed languages that have guaranteed terminating type checking. About the H' progress... It's hard to tell how many drops are needed to make a bucket overflow, especially if you've got no idea what the bucket looks like. What certainly isn't happening is people taking a house, trying to overflow a badly leaking bucket. As far as I know, H' was supposed to be completed many years ago. Likely, it won't be completed for many more years. H2 is probably more than a decade away, if it happens at all. Here's to hoping it doesn't. Practical languages, when they change, *never* improve. And that's going from study (although not experience!) of 40 years of history. jcc ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On Thu, Feb 26, 2009 at 1:21 PM, Thomas DuBuisson thomas.dubuis...@gmail.com wrote: Daniel provided the wisdom: Do not knowingly make your code unportable unless you have a good reason to Are there any objections to that maxim? Thanks for bringing some sanity back. I notice very few people have bothered to comment on the wiki page Neil has setup. Incase anyone has fogotten - this was originally about what packages hoogle should search and which options should be available (and which should be default) for returning platform specific results. Yes, thanks for dragging this back on topic. I am sorry for my contribution to moving so far away from it. Platform specifity: The suggestion of platform specific flags, which I now support, seems to be dominante. The only alternate I recall is showing all results catagorized by platform (with 'portable' being on top) - perhaps that could be displayed if there are zero results that are portable. Default packages searched: I've yet to hear anyone say we should search anything less than the Haskell Platform by default. I also don't think anyone has spoke ill of a +hackage flag. I would agree with Haskell Platform as default search, and also with a +hackage flag. I would also support platform-specific flags if they were simple to implement. John Lato ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On Wed, 2009-02-25 at 10:23 +, John Lato wrote: 4. Cross-platform concerns are something that responsible developers need to consider, just like localization and i18n. I.e., why *shouldn't* you think of that? Sorry, wtf? I have a *responsibility* to design software for a miserably poorly-designed God-awful platform I'd have to pay *extra* for, and even then couldn't get source to or *fix* if I found a bug? No. You don't control me, to the best of my knowledge you haven't done squat for me, and by trying to force me to develop to *that* platform you are actively attempting to harm me. *plonk* jcc ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] Re: Hoogle and Network.Socket
Jonathan Cast wrote: On Wed, 2009-02-25 at 10:23 +, John Lato wrote: 4. Cross-platform concerns are something that responsible developers need to consider, just like localization and i18n. I.e., why *shouldn't* you think of that? Sorry, wtf? I have a *responsibility* to design software for a miserably poorly-designed God-awful platform I'd have to pay *extra* for, and even then couldn't get source to or *fix* if I found a bug? I think there's a distinction between actively trying to support a specific platform, and simply trying to work in a cross-platform way, i.e. using the appropriate cross-platform APIs and packages where possible. Other people will already have done the work of making those things work on a specific platform, and if they don't work the issue can be raised with those people rather than you. No. You don't control me, to the best of my knowledge you haven't done squat for me, and by trying to force me to develop to *that* platform you are actively attempting to harm me. *plonk* Please could you moderate your tone? The original post wasn't aimed at you personally, it just expressed a general opinion about development practices, and certainly made no mention of forcing you or anyone else to do anything. By making it personal and expressing your response in rather intemperate language, you are adding more heat than light. In addition, the original subject of this thread is Hoogle, and if we take your comments in that context (and I do realise that your comments may have been generic rather than specific to Hoogle), then you have the choice of not using it at all, in which case you are not affected at all by its design choices; but if you do use it then the author certainly has done something for you, and his feeling that people should be encouraged to use cross-platform APIs where possible should certainly be accorded some respect. Cheers, Ganesh === Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html === ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On 2009 Feb 25, at 5:23, John Lato wrote: Brandon Allbery wrote: I have to second this; I'm a Unix sysadmin, 98% of the time if I'm writing a program it's for Unix *and* requires POSIX APIxs, and even if it could apply to Windows the program needed there would be very significantly different. And we have a Windows group for that. 2. As of now, the Windows Group seems to be mostly Duncan. And Wrong Windows group: Duncan doesn't work for us. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH PGP.sig Description: This is a digitally signed message part ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On Wed, Feb 25, 2009 at 4:45 PM, Brandon S. Allbery KF8NH allb...@ece.cmu.edu wrote: On 2009 Feb 25, at 5:23, John Lato wrote: Brandon Allbery wrote: I have to second this; I'm a Unix sysadmin, 98% of the time if I'm writing a program it's for Unix *and* requires POSIX APIxs, and even if it could apply to Windows the program needed there would be very significantly different. And we have a Windows group for that. 2. As of now, the Windows Group seems to be mostly Duncan. And Wrong Windows group: Duncan doesn't work for us. Sorry, I misunderstood you. I thought you meant a Windows group within the Haskell community, not within your company. Honestly, what I wrote wasn't directed at you. As I mentioned before, writing code as a Unix sysadmin has very different priorities than writing for many other problem domains. Most of your code wouldn't make sense outside a Unix context, whereas bytestrings, tries, or graph libraries would. Cheers, John Lato ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On Wed, Feb 25, 2009 at 3:49 PM, Jonathan Cast jonathancc...@fastmail.fm wrote: On Wed, 2009-02-25 at 10:23 +, John Lato wrote: 4. Cross-platform concerns are something that responsible developers need to consider, just like localization and i18n. I.e., why *shouldn't* you think of that? Sorry, wtf? I have a *responsibility* to design software for a miserably poorly-designed God-awful platform I'd have to pay *extra* for, and even then couldn't get source to or *fix* if I found a bug? No. You don't control me, to the best of my knowledge you haven't done squat for me, and by trying to force me to develop to *that* platform you are actively attempting to harm me. I'm not trying to force you (or anyone else) to do anything. All I'm saying is that, as a developer, you should consider that your unix-dependent software will never reach over 80% of the computer users available. Now, I don't know anything about what sort of software you write, maybe your market segment is big iron so you've already made a decision to ignore Windows. Maybe you hate Windows so much you want to deprive its users of your code. I honestly don't care. As a former ASP.Net developer, I can assure you I have no love for MS. By responsible developer, I meant accountable for decisions made during development. It's fine to say you don't know if your code doesn't run on Windows because you've made a decision to not support it (or actively work against it, as the case may be). It's not fine to say you don't know because you never thought about it. Cheers, John Lato ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
It's a chicken-egg thing. A Linux or OS X developer tries Haskell and finds he can write useful programs right away, with a minimum of fuss. But a Windows user tries Haskell and finds he has access to very few of the really good libraries, and even the cross-platform libraries won't build without substantial effort. As a result, I bet it's easier for a Linux or OS X developer to like Haskell than a Windows developer. I use OS X exclusively myself, but I'll ensure my first published Haskell library is cross-platform compatible, because I think it's good for the community. The more people using Haskell, the more libraries that will be written, the more bugs that will be fixed, the more creativity that will be poured into development of libraries and the language itself. Regards, John A. De Goes N-BRAIN, Inc. The Evolution of Collaboration http://www.n-brain.net|877-376-2724 x 101 On Feb 25, 2009, at 5:29 PM, Achim Schneider wrote: John Lato jwl...@gmail.com wrote: I really don't see anything wrong with using Hoogle to increase awareness (although I would appreciate it if platform-specific packages were searched as an option). You won't hear me argue against it, in fact, I argued in favour of it. Increasing awareness of cross-platform solutions, as well as providing them, is a very different thing than demanding cross-platform support. If 80% of all computer users use Windows, there shouldn't be any problems recruiting a decent number of volunteers to care about Haskell's Windoze support, should there? -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
On Wed, 2009-02-25 at 17:54 -0700, John A. De Goes wrote: It's a chicken-egg thing. A Linux or OS X developer tries Haskell and finds he can write useful programs right away, with a minimum of fuss. But a Windows user tries Haskell and finds he has access to very few of the really good libraries, and even the cross-platform libraries won't build without substantial effort. As a result, I bet it's easier for a Linux or OS X developer to like Haskell than a Windows developer. I use OS X exclusively myself, but I'll ensure my first published Haskell library is cross-platform compatible, because I think it's good for the community. The more people using Haskell, the more libraries that will be written, the more bugs that will be fixed, the more creativity that will be poured into development of libraries and the language itself. I don't think this is founded in experience. The experience of the last 5 years is that the more people use Haskell, the more important backward-compatibility concerns become, and the harder it becomes for Haskell to continue evolving. Creativity being poured into a language doesn't do much good if the result is the language moving sideways, still less the language growing sideways. jcc ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
I don't think it's that black and white. At the lower end, when the language is controlled by a few, there's not much innovation poured into the language or libraries, and there are no tools to support development. As the community grows, you see much more innovation in language and libraries, and maybe a few primitive tools. With much greater, the community demands backward compatibility, so the language itself may only evolve in highly constrained ways (ways that are usually detrimental to consistency), but the library space explodes with innovation, and the tools become extremely powerful. Personally, I'd be happy to see that explosion of innovation in the library and tool spaces, even if it means the language itself stops evolving (for the most part). It will make it a lot easier do use Haskell commercially, and the innovators in the language space will find or invent a new target to keep themselves occupied. Regards, John A. De Goes N-BRAIN, Inc. The Evolution of Collaboration http://www.n-brain.net|877-376-2724 x 101 On Feb 25, 2009, at 5:52 PM, Jonathan Cast wrote: On Wed, 2009-02-25 at 17:54 -0700, John A. De Goes wrote: It's a chicken-egg thing. A Linux or OS X developer tries Haskell and finds he can write useful programs right away, with a minimum of fuss. But a Windows user tries Haskell and finds he has access to very few of the really good libraries, and even the cross-platform libraries won't build without substantial effort. As a result, I bet it's easier for a Linux or OS X developer to like Haskell than a Windows developer. I use OS X exclusively myself, but I'll ensure my first published Haskell library is cross-platform compatible, because I think it's good for the community. The more people using Haskell, the more libraries that will be written, the more bugs that will be fixed, the more creativity that will be poured into development of libraries and the language itself. I don't think this is founded in experience. The experience of the last 5 years is that the more people use Haskell, the more important backward-compatibility concerns become, and the harder it becomes for Haskell to continue evolving. Creativity being poured into a language doesn't do much good if the result is the language moving sideways, still less the language growing sideways. jcc ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
The problem is that PL research is probably not going to stop evolving in our lifetimes. Yes, that research needs a venue, but why should it be Haskell? Haskell is a good language and it's time to start benefiting from the research that's already gone into it. That means some tradeoffs. Haskell is already behind state-of-the art in PL research and it seems unlikely to catch up (witness the slow evolution of Haskell' and the non-existent progress on Haskell2). Of course, I could be wrong. Regards, John A. De Goes N-BRAIN, Inc. The Evolution of Collaboration http://www.n-brain.net|877-376-2724 x 101 On Feb 25, 2009, at 6:19 PM, Achim Schneider wrote: John A. De Goes j...@n-brain.net wrote: Personally, I'd be happy to see that explosion of innovation in the library and tool spaces, even if it means the language itself stops evolving (for the most part). It will make it a lot easier do use Haskell commercially, and the innovators in the language space will find or invent a new target to keep themselves occupied. And this is why we must avoid success: It would mean instant failure. There are already enough hype-languages around, there's not too much of a point to add one to them. Haskell won't stop evolving and (conservatively) keeping up with PL research until that's done, or Dependent Typing is well-understood, whatever comes first. -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hoogle and Network.Socket
Achim Schneider wrote: Thomas DuBuisson thomas.dubuis...@gmail.com wrote: I still prefer showing all platform results sorted into separate sections with headers, but understand that I am in the minority. You aren't alone. Labelling them prominently with POSIX, UNIX, Linux, *BSD, OSX resp. Windoze is a Good Thing: That way, noone has to dig into package docs. Show N more results specific to platform Foo-links would be a good idea, too. Indeed, you are not alone. Though, I think it might be easier to have an icon next to the search hits, rather than segregating by platform--- since segregating/sectioning runs counter to relevance ranking. Of course icons clutter things up (though we can be innovative about what icon means and use them to colorize text or similar; since we have so few of them). But then there's a whole literature on clustered search engines that we could delve into for UI considerations (clustered-search folks tend to care about such things). The main point is that I think even arch/os/compiler-specific packages should be searched by default and simply annotated as being platform-specific, rather than requiring flags (a hitherto undocumented feature). Cookies should be used to facilitate or suppress such platform specificities (with a URL interface to adjust the cookie). Lacking a wiki account, ~wren ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe